From 2a04cc683c4fa02d35f4017d282e51d7538dab79 Mon Sep 17 00:00:00 2001 From: eurias-stripe <114543737+eurias-stripe@users.noreply.github.com> Date: Tue, 20 Dec 2022 12:55:37 -0800 Subject: [PATCH] Use tuist to generate xcode projects (#2102) * [WIP] First pass at generating projects with tuist * Second pass * Second pass * Merge * Update settings * Fix some tests * Regenerate project files * More updates to fix tests * Addressing comments * Set CODE_SIGN_IDENTITY in tests * Attempt to fix tests * Regenerate project * Fix remaining workflows * Fix config typos * Add docs to helper functions * Update after rebase * Revert removed @_spi * Remove unused test * Remove empty test files/targets * Fix stubbed network test case --- .package.resolved | 34 + BuildConfigurations/Project-Debug.xcconfig | 3 + BuildConfigurations/Project-Release.xcconfig | 3 + BuildConfigurations/Project-Shared.xcconfig | 10 + .../StripeiOS Tests-Debug.xcconfig | 1 + .../StripeiOS Tests-Shared.xcconfig | 3 +- BuildConfigurations/StripeiOS-Shared.xcconfig | 2 +- .../AppClipExample.xcodeproj/project.pbxproj | 973 +++--- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcschemes/AppClipExample.xcscheme | 39 +- .../xcschemes/AppClipExampleClip.xcscheme | 127 + .../AppClipExampleClipTests.swift | 36 - .../AppClipExampleClipTests}/Info.plist | 0 .../AppClipExampleClipUITests.swift | 42 - ...AppClipExampleClipUITestsLaunchTests.swift | 32 - .../AppClipExampleClipUITests}/Info.plist | 0 .../AppClipExample-Debug.xcconfig | 12 + .../AppClipExample-Release.xcconfig | 11 + .../AppClipExample-Shared.xcconfig | 15 + .../AppClipExampleClip-Debug.xcconfig | 12 + .../AppClipExampleClip-Release.xcconfig | 11 + .../AppClipExampleClip-Shared.xcconfig | 17 + .../AppClipExampleClipTests-Debug.xcconfig | 12 + .../AppClipExampleClipTests-Release.xcconfig | 11 + .../AppClipExampleClipTests-Shared.xcconfig | 15 + .../AppClipExampleClipUITests-Debug.xcconfig | 12 + ...AppClipExampleClipUITests-Release.xcconfig | 11 + .../AppClipExampleClipUITests-Shared.xcconfig | 15 + .../AppClipExampleTests-iOS-Debug.xcconfig | 12 + .../AppClipExampleTests-iOS-Release.xcconfig | 11 + .../AppClipExampleTests-iOS-Shared.xcconfig | 14 + .../AppClipExample}/Info.plist | 0 Example/AppClipExample/Project.swift | 132 + .../AppClipExample/Tests iOS}/Info.plist | 0 .../AppClipExample/Tests iOS/Tests_iOS.swift | 42 - .../Tests iOS/Tests_iOSLaunchTests.swift | 28 - .../AppClipExample/Tests macOS}/Info.plist | 0 .../Tests macOS/Tests_macOS.swift | 42 - .../Tests macOS/Tests_macOSLaunchTests.swift | 32 - .../project.pbxproj | 702 ++-- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcschemes/Basic Integration.xcscheme | 30 +- .../contents.xcworkspacedata | 13 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../AppIcon.appiconset/Contents.json | 0 .../LaunchImage.launchimage/Contents.json | 0 .../llamas.imageset/Contents.json | 0 .../llamas.imageset/llamas.jpg | Bin .../llamas.imageset/llamas@2x.jpg | Bin .../de.lproj/Localizable.strings | 0 .../en.lproj/Localizable.strings | 0 .../es.lproj/Localizable.strings | 0 .../fi.lproj/Localizable.strings | 0 .../fil.lproj/Localizable.strings | 0 .../fr.lproj/Localizable.strings | 0 .../hr.lproj/Localizable.strings | 0 .../it.lproj/Localizable.strings | 0 .../ja.lproj/Localizable.strings | 0 .../nb.lproj/Localizable.strings | 0 .../nl.lproj/Localizable.strings | 0 .../zh-Hans.lproj/Localizable.strings | 0 .../BasicIntegration-Debug.xcconfig | 12 + .../BasicIntegration-Release.xcconfig | 12 + .../BasicIntegration-Shared.xcconfig | 10 + .../BasicIntegrationUITests-Debug.xcconfig | 12 + .../BasicIntegrationUITests-Release.xcconfig | 12 + .../BasicIntegrationUITests-Shared.xcconfig | 10 + Example/Basic Integration/Project.swift | 74 + ...rdImageVerification-Example-Debug.xcconfig | 12 + ...ImageVerification-Example-Release.xcconfig | 12 + ...dImageVerification-Example-Shared.xcconfig | 13 + ...Verification-ExampleUITests-Debug.xcconfig | 12 + ...rification-ExampleUITests-Release.xcconfig | 12 + ...erification-ExampleUITests-Shared.xcconfig | 13 + .../project.pbxproj | 575 ++-- .../contents.xcworkspacedata | 0 .../CardImageVerification Example.xcscheme | 34 +- .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin .../Icon-App-83.5x83.5@2x.png | Bin .../AppIcon.appiconset/ItunesArtwork@2x.png | Bin .../Assets.xcassets/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 .../Base.lproj/Main.storyboard | 0 .../es.lproj/LaunchScreen.strings | 0 .../{ => Resources}/es.lproj/Main.strings | 0 .../Project.swift | 83 + ...inancialConnections-Example-Debug.xcconfig | 12 + ...ancialConnections-Example-Release.xcconfig | 12 + ...nancialConnections-Example-Shared.xcconfig | 16 + .../project.pbxproj | 393 +-- .../contents.xcworkspacedata | 0 .../FinancialConnections Example.xcscheme | 18 +- .../Project.swift | 57 + ...dentityVerification-Example-Debug.xcconfig | 12 + ...ntityVerification-Example-Release.xcconfig | 12 + ...entityVerification-Example-Shared.xcconfig | 16 + .../project.pbxproj | 773 ++--- .../contents.xcworkspacedata | 7 + .../IdentityVerification Example.xcscheme | 18 +- .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin .../Icon-App-83.5x83.5@2x.png | Bin .../AppIcon.appiconset/ItunesArtwork@2x.png | Bin .../BackArrow.imageset/BackArrow.png | Bin .../BackArrow.imageset/BackArrow@2x.png | Bin .../BackArrow.imageset/BackArrow@3x.png | Bin .../BackArrow.imageset/Contents.json | 0 .../Background.imageset/Background.png | Bin .../Background.imageset/Background@2x.png | Bin .../Background.imageset/Background@3x.png | Bin .../Background.imageset/Contents.json | 0 .../BrandColor.colorset/Contents.json | 0 .../BrandLogo.imageset/Contents.json | 0 .../BrandLogo.imageset/Rocket Rides.png | Bin .../BrandLogo.imageset/Rocket Rides@2x.png | Bin .../BrandLogo.imageset/Rocket Rides@3x.png | Bin .../Assets.xcassets/Contents.json | 0 .../logo_image.imageset/Contents.json | 0 .../logo_image.imageset/logo_image.png | Bin .../logo_image.imageset/logo_image@2x.png | Bin .../logo_image.imageset/logo_image@3x.png | Bin .../Base.lproj/LaunchScreen.storyboard | 0 .../Base.lproj/Main.storyboard | 0 .../bg-BG.lproj/LaunchScreen.strings | 0 .../{ => Resources}/bg-BG.lproj/Main.strings | 0 .../ca-ES.lproj/LaunchScreen.strings | 0 .../{ => Resources}/ca-ES.lproj/Main.strings | 0 .../cs-CZ.lproj/LaunchScreen.strings | 0 .../{ => Resources}/cs-CZ.lproj/Main.strings | 0 .../da.lproj/LaunchScreen.strings | 0 .../{ => Resources}/da.lproj/Main.strings | 0 .../de.lproj/LaunchScreen.strings | 0 .../{ => Resources}/de.lproj/Main.strings | 0 .../el-GR.lproj/LaunchScreen.strings | 0 .../{ => Resources}/el-GR.lproj/Main.strings | 0 .../en-GB.lproj/LaunchScreen.strings | 0 .../{ => Resources}/en-GB.lproj/Main.strings | 0 .../es-419.lproj/LaunchScreen.strings | 0 .../{ => Resources}/es-419.lproj/Main.strings | 0 .../es.lproj/LaunchScreen.strings | 0 .../{ => Resources}/es.lproj/Main.strings | 0 .../et-EE.lproj/LaunchScreen.strings | 0 .../{ => Resources}/et-EE.lproj/Main.strings | 0 .../fi.lproj/LaunchScreen.strings | 0 .../{ => Resources}/fi.lproj/Main.strings | 0 .../fil.lproj/LaunchScreen.strings | 0 .../{ => Resources}/fil.lproj/Main.strings | 0 .../fr-CA.lproj/LaunchScreen.strings | 0 .../{ => Resources}/fr-CA.lproj/Main.strings | 0 .../fr.lproj/LaunchScreen.strings | 0 .../{ => Resources}/fr.lproj/Main.strings | 0 .../hr.lproj/LaunchScreen.strings | 0 .../{ => Resources}/hr.lproj/Main.strings | 0 .../hu.lproj/LaunchScreen.strings | 0 .../{ => Resources}/hu.lproj/Main.strings | 0 .../id.lproj/LaunchScreen.strings | 0 .../{ => Resources}/id.lproj/Main.strings | 0 .../it.lproj/LaunchScreen.strings | 0 .../{ => Resources}/it.lproj/Main.strings | 0 .../ja.lproj/LaunchScreen.strings | 0 .../{ => Resources}/ja.lproj/Main.strings | 0 .../ko.lproj/LaunchScreen.strings | 0 .../{ => Resources}/ko.lproj/Main.strings | 0 .../lt-LT.lproj/LaunchScreen.strings | 0 .../{ => Resources}/lt-LT.lproj/Main.strings | 0 .../lv-LV.lproj/LaunchScreen.strings | 0 .../{ => Resources}/lv-LV.lproj/Main.strings | 0 .../ms-MY.lproj/LaunchScreen.strings | 0 .../{ => Resources}/ms-MY.lproj/Main.strings | 0 .../mt.lproj/LaunchScreen.strings | 0 .../{ => Resources}/mt.lproj/Main.strings | 0 .../nb.lproj/LaunchScreen.strings | 0 .../{ => Resources}/nb.lproj/Main.strings | 0 .../nl.lproj/LaunchScreen.strings | 0 .../{ => Resources}/nl.lproj/Main.strings | 0 .../nn-NO.lproj/LaunchScreen.strings | 0 .../{ => Resources}/nn-NO.lproj/Main.strings | 0 .../pl-PL.lproj/LaunchScreen.strings | 0 .../{ => Resources}/pl-PL.lproj/Main.strings | 0 .../pt-BR.lproj/LaunchScreen.strings | 0 .../{ => Resources}/pt-BR.lproj/Main.strings | 0 .../pt-PT.lproj/LaunchScreen.strings | 0 .../{ => Resources}/pt-PT.lproj/Main.strings | 0 .../ro-RO.lproj/LaunchScreen.strings | 0 .../{ => Resources}/ro-RO.lproj/Main.strings | 0 .../ru.lproj/LaunchScreen.strings | 0 .../{ => Resources}/ru.lproj/Main.strings | 0 .../sk-SK.lproj/LaunchScreen.strings | 0 .../{ => Resources}/sk-SK.lproj/Main.strings | 0 .../sl-SI.lproj/LaunchScreen.strings | 0 .../{ => Resources}/sl-SI.lproj/Main.strings | 0 .../sv.lproj/LaunchScreen.strings | 0 .../{ => Resources}/sv.lproj/Main.strings | 0 .../tr.lproj/LaunchScreen.strings | 0 .../{ => Resources}/tr.lproj/Main.strings | 0 .../vi.lproj/LaunchScreen.strings | 0 .../{ => Resources}/vi.lproj/Main.strings | 0 .../zh-HK.lproj/LaunchScreen.strings | 0 .../{ => Resources}/zh-HK.lproj/Main.strings | 0 .../zh-Hans.lproj/LaunchScreen.strings | 0 .../zh-Hans.lproj/Main.strings | 0 .../zh-Hant.lproj/LaunchScreen.strings | 0 .../zh-Hant.lproj/Main.strings | 0 .../Project.swift | 52 + .../Non-Card-Payment-Examples-Debug.xcconfig | 10 + ...Non-Card-Payment-Examples-Release.xcconfig | 12 + .../Non-Card-Payment-Examples-Shared.xcconfig | 14 + .../project.pbxproj | 827 ++--- .../Non-Card Payment Examples.xcscheme | 51 +- .../BrowseExamplesViewController.m | 2 +- .../AppIcon.appiconset/Contents.json | 0 .../Images.xcassets/Contents.json | 0 .../LaunchImage.launchimage/Contents.json | 0 .../de.lproj/Localizable.strings | 0 .../en.lproj/Localizable.strings | 0 .../es.lproj/Localizable.strings | 0 .../fi.lproj/Localizable.strings | 0 .../fr.lproj/Localizable.strings | 0 .../it.lproj/Localizable.strings | 0 .../ja.lproj/Localizable.strings | 0 .../nb.lproj/Localizable.strings | 0 .../nl.lproj/Localizable.strings | 0 .../zh-Hans.lproj/Localizable.strings | 0 .../Non-Card Payment Examples/Project.swift | 69 + .../PaymentSheet-Example-Debug.xcconfig | 12 + .../PaymentSheet-Example-Release.xcconfig | 12 + .../PaymentSheet-Example-Shared.xcconfig | 13 + ...lizationScreenshotGenerator-Debug.xcconfig | 12 + ...zationScreenshotGenerator-Release.xcconfig | 12 + ...izationScreenshotGenerator-Shared.xcconfig | 13 + .../PaymentSheetUITest-Debug.xcconfig | 12 + .../PaymentSheetUITest-Release.xcconfig | 12 + .../PaymentSheetUITest-Shared.xcconfig | 13 + .../project.pbxproj | 1189 +++---- .../contents.xcworkspacedata | 7 + .../xcschemes/PaymentSheet Example.xcscheme | 88 +- ...etLocalizationScreenshotGenerator.xcscheme | 52 - .../AppDelegate.swift | 0 .../ExampleCheckoutViewController.swift | 0 .../ExampleCustomCheckoutViewController.swift | 0 .../ExampleSwiftUICustomPaymentFlow.swift | 0 .../ExampleSwiftUIPaymentSheet.swift | 0 .../ExampleSwiftUIViews.swift | 0 .../{PaymentSheet Example => }/Info.plist | 0 .../PaymentSheetTestPlayground.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../paymentsheetexample-1024.png | Bin .../paymentsheetexample-120.png | Bin .../paymentsheetexample-121.png | Bin .../paymentsheetexample-152.png | Bin .../paymentsheetexample-167.png | Bin .../paymentsheetexample-180.png | Bin .../paymentsheetexample-20.png | Bin .../paymentsheetexample-29.png | Bin .../paymentsheetexample-40.png | Bin .../paymentsheetexample-41.png | Bin .../paymentsheetexample-42.png | Bin .../paymentsheetexample-58.png | Bin .../paymentsheetexample-59.png | Bin .../paymentsheetexample-60.png | Bin .../paymentsheetexample-76.png | Bin .../paymentsheetexample-80.png | Bin .../paymentsheetexample-81.png | Bin .../paymentsheetexample-87.png | Bin .../Assets.xcassets/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 .../Base.lproj/Main.storyboard | 0 .../bg-BG.lproj/LaunchScreen.strings | 0 .../bg-BG.lproj/Main.strings | 0 .../ca-ES.lproj/LaunchScreen.strings | 0 .../ca-ES.lproj/Main.strings | 0 .../cs-CZ.lproj/LaunchScreen.strings | 0 .../cs-CZ.lproj/Main.strings | 0 .../da.lproj/LaunchScreen.strings | 0 .../da.lproj/Main.strings | 0 .../de.lproj/LaunchScreen.strings | 0 .../de.lproj/Main.strings | 0 .../el-GR.lproj/LaunchScreen.strings | 0 .../el-GR.lproj/Main.strings | 0 .../en-GB.lproj/LaunchScreen.strings | 0 .../en-GB.lproj/Main.strings | 0 .../es-419.lproj/LaunchScreen.strings | 0 .../es-419.lproj/Main.strings | 0 .../es.lproj/LaunchScreen.strings | 0 .../es.lproj/Main.strings | 0 .../et-EE.lproj/LaunchScreen.strings | 0 .../et-EE.lproj/Main.strings | 0 .../fi.lproj/LaunchScreen.strings | 0 .../fi.lproj/Main.strings | 0 .../fil.lproj/LaunchScreen.strings | 0 .../fil.lproj/Main.strings | 0 .../fr-CA.lproj/LaunchScreen.strings | 0 .../fr-CA.lproj/Main.strings | 0 .../fr.lproj/LaunchScreen.strings | 0 .../fr.lproj/Main.strings | 0 .../hr.lproj/LaunchScreen.strings | 0 .../hr.lproj/Main.strings | 0 .../hu.lproj/LaunchScreen.strings | 0 .../hu.lproj/Main.strings | 0 .../id.lproj/LaunchScreen.strings | 0 .../id.lproj/Main.strings | 0 .../it.lproj/LaunchScreen.strings | 0 .../it.lproj/Main.strings | 0 .../ja.lproj/LaunchScreen.strings | 0 .../ja.lproj/Main.strings | 0 .../ko.lproj/LaunchScreen.strings | 0 .../ko.lproj/Main.strings | 0 .../lt-LT.lproj/LaunchScreen.strings | 0 .../lt-LT.lproj/Main.strings | 0 .../lv-LV.lproj/LaunchScreen.strings | 0 .../lv-LV.lproj/Main.strings | 0 .../ms-MY.lproj/LaunchScreen.strings | 0 .../ms-MY.lproj/Main.strings | 0 .../mt.lproj/LaunchScreen.strings | 0 .../mt.lproj/Main.strings | 0 .../nb.lproj/LaunchScreen.strings | 0 .../nb.lproj/Main.strings | 0 .../nl.lproj/LaunchScreen.strings | 0 .../nl.lproj/Main.strings | 0 .../nn-NO.lproj/LaunchScreen.strings | 0 .../nn-NO.lproj/Main.strings | 0 .../pl-PL.lproj/LaunchScreen.strings | 0 .../pl-PL.lproj/Main.strings | 0 .../pt-BR.lproj/LaunchScreen.strings | 0 .../pt-BR.lproj/Main.strings | 0 .../pt-PT.lproj/LaunchScreen.strings | 0 .../pt-PT.lproj/Main.strings | 0 .../ro-RO.lproj/LaunchScreen.strings | 0 .../ro-RO.lproj/Main.strings | 0 .../ru.lproj/LaunchScreen.strings | 0 .../ru.lproj/Main.strings | 0 .../sk-SK.lproj/LaunchScreen.strings | 0 .../sk-SK.lproj/Main.strings | 0 .../sl-SI.lproj/LaunchScreen.strings | 0 .../sl-SI.lproj/Main.strings | 0 .../sv.lproj/LaunchScreen.strings | 0 .../sv.lproj/Main.strings | 0 .../tr.lproj/LaunchScreen.strings | 0 .../tr.lproj/Main.strings | 0 .../vi.lproj/LaunchScreen.strings | 0 .../vi.lproj/Main.strings | 0 .../zh-HK.lproj/LaunchScreen.strings | 0 .../zh-HK.lproj/Main.strings | 0 .../zh-Hans.lproj/LaunchScreen.strings | 0 .../zh-Hans.lproj/Main.strings | 0 .../zh-Hant.lproj/LaunchScreen.strings | 0 .../zh-Hant.lproj/Main.strings | 0 .../SceneDelegate.swift | 0 .../ViewController.swift | 0 ...SheetLocalizationScreenshotGenerator.swift | 2 +- Example/PaymentSheet Example/Project.swift | 116 + .../UI-Examples-Debug.xcconfig | 12 + .../UI-Examples-Release.xcconfig | 12 + .../UI-Examples-Shared.xcconfig | 11 + Example/UI Examples/Project.swift | 56 + .../UI Examples.xcodeproj/project.pbxproj | 512 ++- .../contents.xcworkspacedata | 2 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcschemes/UI Examples.xcscheme | 41 +- .../contents.xcworkspacedata | 13 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../AppIcon.appiconset/Contents.json | 0 .../de.lproj/Localizable.strings | 0 .../en.lproj/Localizable.strings | 0 .../es.lproj/Localizable.strings | 0 .../fi.lproj/Localizable.strings | 0 .../fr.lproj/Localizable.strings | 0 .../it.lproj/Localizable.strings | 0 .../ja.lproj/Localizable.strings | 0 .../nb.lproj/Localizable.strings | 0 .../nl.lproj/Localizable.strings | 0 .../zh-Hans.lproj/Localizable.strings | 0 .../AUBECSDebitFormViewController.swift | 0 .../{ => Source}/AppDelegate.swift | 0 .../{ => Source}/BrowseViewController.swift | 0 .../CardFieldViewController.swift | 0 .../Source}/CardFormViewController.swift | 0 .../{ => Source}/MockCustomerContext.swift | 0 ...PaymentMethodMessagingViewController.swift | 0 .../Source}/SwiftUICardFormView.swift | 0 .../{ => Source}/ThemeViewController.swift | 0 .../Stripe UI Examples.entitlements | 5 +- .../project.pbxproj | 617 ---- .../Base.lproj/LaunchScreen.storyboard | 25 - .../project.pbxproj | 663 ---- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - Package.swift | 5 +- Stripe.podspec | 4 +- Stripe.xcodeproj/project.pbxproj | 3028 ---------------- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../.tuist-generated | 0 Stripe.xcworkspace/contents.xcworkspacedata | 87 +- .../xcshareddata/Stripe.xccheckout | 53 - .../xcshareddata/WorkspaceSettings.xcsettings | 2 +- .../xcschemes/AllStripeFrameworks.xcscheme | 56 +- .../AllStripeFrameworksCatalyst.xcscheme | 66 +- .../Stripe Tests-Debug.xcconfig | 8 + .../Stripe Tests-Release.xcconfig | 8 + .../BuildConfigurations/Stripe-Debug.xcconfig | 7 + .../Stripe-Release.xcconfig | 7 + Stripe/Project.swift | 142 + Stripe/Stripe.xcodeproj/project.pbxproj | 2567 ++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/xcschemes/StripeiOS.xcscheme | 83 + .../xcschemes/StripeiOSTestHostApp.xcscheme | 45 +- Stripe/{ => StripeiOS}/Info.plist | 0 .../Cards/stp_card_form_amex_cvc@3x.png | Bin .../Images/Cards/stp_card_form_back@3x.png | Bin .../Images/Cards/stp_card_form_front@3x.png | Bin .../Images/FPX/stp_bank_fpx_affin_bank@3x.png | Bin .../FPX/stp_bank_fpx_alliance_bank@3x.png | Bin .../Images/FPX/stp_bank_fpx_ambank@3x.png | Bin .../Images/FPX/stp_bank_fpx_bank_islam@3x.png | Bin .../FPX/stp_bank_fpx_bank_muamalat@3x.png | Bin .../FPX/stp_bank_fpx_bank_rakyat@3x.png | Bin .../Images/FPX/stp_bank_fpx_bsn@3x.png | Bin .../Images/FPX/stp_bank_fpx_cimb@3x.png | Bin .../FPX/stp_bank_fpx_hong_leong_bank@3x.png | Bin .../Images/FPX/stp_bank_fpx_hsbc@3x.png | Bin .../Images/FPX/stp_bank_fpx_kfh@3x.png | Bin .../Images/FPX/stp_bank_fpx_maybank2e@3x.png | Bin .../Images/FPX/stp_bank_fpx_maybank2u@3x.png | Bin .../Images/FPX/stp_bank_fpx_ocbc@3x.png | Bin .../FPX/stp_bank_fpx_public_bank@3x.png | Bin .../Images/FPX/stp_bank_fpx_rhb@3x.png | Bin .../stp_bank_fpx_standard_chartered@3x.png | Bin .../Images/FPX/stp_bank_fpx_uob@3x.png | Bin .../Images/FPX/stp_fpx_big_logo@3x.png | Bin .../Resources/Images/FPX/stp_fpx_logo@3x.png | Bin .../Resources/Images/stp_icon_add@3x.png | Bin .../Resources/Images/stp_icon_bank@3x.png | Bin .../Images/stp_icon_checkmark@3x.png | Bin .../Resources/Images/stp_shipping_form@3x.png | Bin .../bg-BG.lproj/Localizable.strings | 0 .../ca-ES.lproj/Localizable.strings | 0 .../cs-CZ.lproj/Localizable.strings | 0 .../da.lproj/Localizable.strings | 0 .../de.lproj/Localizable.strings | 0 .../el-GR.lproj/Localizable.strings | 0 .../en-GB.lproj/Localizable.strings | 0 .../en.lproj/Localizable.strings | 0 .../es-419.lproj/Localizable.strings | 0 .../es.lproj/Localizable.strings | 0 .../et-EE.lproj/Localizable.strings | 0 .../fi.lproj/Localizable.strings | 0 .../fil.lproj/Localizable.strings | 0 .../fr-CA.lproj/Localizable.strings | 0 .../fr.lproj/Localizable.strings | 0 .../hr.lproj/Localizable.strings | 0 .../hu.lproj/Localizable.strings | 0 .../id.lproj/Localizable.strings | 0 .../it.lproj/Localizable.strings | 0 .../ja.lproj/Localizable.strings | 0 .../ko.lproj/Localizable.strings | 0 .../lt-LT.lproj/Localizable.strings | 0 .../lv-LV.lproj/Localizable.strings | 0 .../ms-MY.lproj/Localizable.strings | 0 .../mt.lproj/Localizable.strings | 0 .../nb.lproj/Localizable.strings | 0 .../nl.lproj/Localizable.strings | 0 .../nn-NO.lproj/Localizable.strings | 0 .../pl-PL.lproj/Localizable.strings | 0 .../pt-BR.lproj/Localizable.strings | 0 .../pt-PT.lproj/Localizable.strings | 0 .../ro-RO.lproj/Localizable.strings | 0 .../ru.lproj/Localizable.strings | 0 .../sk-SK.lproj/Localizable.strings | 0 .../sl-SI.lproj/Localizable.strings | 0 .../sv.lproj/Localizable.strings | 0 .../tk.lproj/Localizable.strings | 0 .../tr.lproj/Localizable.strings | 0 .../vi.lproj/Localizable.strings | 0 .../zh-HK.lproj/Localizable.strings | 0 .../zh-Hans.lproj/Localizable.strings | 0 .../zh-Hant.lproj/Localizable.strings | 0 .../Enums+CustomStringConvertible.swift | 2 + ...PKAddPaymentPassRequest+Stripe_Error.swift | 0 ...rizationViewController+Stripe_Blocks.swift | 0 .../Source}/STPAPIClient+BasicUI.swift | 0 .../STPAPIClient+PushProvisioning.swift | 0 .../Source}/STPAddCardViewController.swift | 0 .../Source}/STPAddress+BasicUI.swift | 0 .../STPAddressFieldTableViewCell.swift | 0 .../Source}/STPAddressViewModel.swift | 0 .../Source}/STPAnalyticsClient+BasicUI.swift | 0 .../Source}/STPAnalyticsClient+Payments.swift | 0 .../Source}/STPApplePayContextDelegate.swift | 0 .../Source}/STPApplePayPaymentOption.swift | 0 .../Source}/STPBackendAPIAdapter.swift | 0 .../STPBankSelectionTableViewCell.swift | 0 .../STPBankSelectionViewController.swift | 0 Stripe/{ => StripeiOS/Source}/STPBlocks.swift | 0 .../Source}/STPCameraView.swift | 0 .../Source}/STPCard+BasicUI.swift | 0 .../Source}/STPCardScanner.swift | 0 .../Source}/STPCardScannerTableViewCell.swift | 0 .../Source}/STPCardValidationState.swift | 0 .../Source}/STPCoreScrollViewController.swift | 0 .../Source}/STPCoreTableViewController.swift | 0 .../Source}/STPCoreViewController.swift | 0 .../Source}/STPCustomerContext.swift | 0 .../Source}/STPEphemeralKey.swift | 0 .../Source}/STPEphemeralKeyManager.swift | 0 .../Source}/STPEphemeralKeyProvider.swift | 0 .../Source}/STPFPXBankStatusResponse.swift | 0 .../STPFakeAddPaymentPassViewController.swift | 0 .../Source}/STPImageLibrary.swift | 0 ...PIntentActionLinkAuthenticateAccount.swift | 0 .../Source}/STPLocalizedString.swift | 0 .../STPPaymentActivityIndicatorView.swift | 0 .../Source}/STPPaymentCardTextFieldCell.swift | 0 .../Source}/STPPaymentConfiguration.swift | 0 .../Source}/STPPaymentContext.swift | 0 .../STPPaymentContextAmountModel.swift | 0 .../STPPaymentIntentParams+BasicUI.swift | 0 .../Source}/STPPaymentMethod+BasicUI.swift | 0 .../STPPaymentMethodParams+BasicUI.swift | 0 .../Source}/STPPaymentOption.swift | 0 .../STPPaymentOptionTableViewCell.swift | 0 .../Source}/STPPaymentOptionTuple.swift | 0 ...PaymentOptionsInternalViewController.swift | 0 .../STPPaymentOptionsViewController.swift | 0 .../Source}/STPPaymentResult.swift | 0 .../Source}/STPPinManagementService.swift | 0 .../{ => StripeiOS/Source}/STPPromise.swift | 0 .../Source}/STPPushProvisioningContext.swift | 0 .../Source}/STPPushProvisioningDetails.swift | 0 .../STPPushProvisioningDetailsParams.swift | 0 .../Source}/STPSectionHeaderView.swift | 0 .../STPShippingAddressViewController.swift | 0 .../STPShippingMethodTableViewCell.swift | 0 .../STPShippingMethodsViewController.swift | 0 .../Source}/STPSource+BasicUI.swift | 0 Stripe/{ => StripeiOS/Source}/STPTheme.swift | 0 .../Source}/STPUserInformation.swift | 0 .../Source}/String+Localized.swift | 0 .../Source}/Stripe+Exports.swift | 0 .../Source}/StripeBundleLocator.swift | 0 .../Source}/UIBarButtonItem+Stripe.swift | 0 .../UINavigationBar+Stripe_Theme.swift | 0 ...vigationController+Stripe_Completion.swift | 0 .../UITableViewCell+Stripe_Borders.swift | 0 .../UIToolbar+Stripe_InputAccessory.swift | 0 .../Source}/UIView+Helpers.swift | 0 .../UIView+Stripe_FirstResponder.swift | 0 .../UIView+Stripe_SafeAreaBounds.swift | 0 ...ewController+Stripe_KeyboardAvoiding.swift | 0 ...ontroller+Stripe_NavigationItemProxy.swift | 0 ...ntroller+Stripe_ParentViewController.swift | 0 .../Source}/UserDefaults+Stripe.swift | 0 .../StripeiOS/Stripe-umbrella.h | 0 Stripe/{ => StripeiOS}/Stripe.modulemap | 0 .../StripeiOSAppHostedTests}/Info.plist | 0 .../LinkSecureCookieStoreTests.swift | 0 .../StripeiOSTestHostApp}/AppDelegate.swift | 0 .../StripeiOSTestHostApp}/Info.plist | 0 .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../Resources}/Assets.xcassets/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 .../Resources}/Base.lproj/Main.storyboard | 0 .../ViewController.swift | 0 Stripe/StripeiOSTests.xctestplan | 40 + .../StripeiOSTests}/APIRequestTest.swift | 0 .../AddressViewControllerSnapshotTests.swift | 3 +- ...erpayPriceBreakdownViewSnapshotTests.swift | 0 .../AnalyticsHelperTests.swift | 0 ...oCompleteViewControllerSnapshotTests.swift | 0 .../ButtonLinkSnapshotTests.swift | 0 .../StripeiOSTests}/CardExpiryDateTests.swift | 0 .../CircularButtonSnapshotTests.swift | 0 .../ConfirmButtonSnapshotTests.swift | 0 .../StripeiOSTests}/ConfirmButtonTests.swift | 0 .../ConsumerSessionTests.swift | 0 ...napshotTestCase+STPViewControllerLoading.h | 0 ...napshotTestCase+STPViewControllerLoading.m | 0 ...hotTestCase+STPViewControllerLoading.swift | 0 .../FormSpecProviderTest.swift | 0 .../FraudDetectionDataTest.swift | 0 .../StripeiOSTests}/ImageTest.swift | 0 .../StripeiOSTests}/Info.plist | 0 .../StripeiOSTests}/KlarnaHelperTest.swift | 0 .../LinkAccountServiceTests.swift | 0 .../LinkBadgeViewSnapshotTest.swift | 0 .../LinkCardEditElementSnapshotTests.swift | 0 .../LinkInMemoryCookieStoreTests.swift | 0 ...LinkInlineSignupElementSnapshotTests.swift | 0 ...InstantDebitMandateViewSnapshotTests.swift | 0 .../LinkLegalTermsViewSnapshotTests.swift | 0 .../LinkNavigationBarSnapshotTests.swift | 0 .../LinkNoticeViewSnapshotTests.swift | 0 ...LinkPaymentMethodPickerSnapshotTests.swift | 0 .../LinkSignupViewModelTests.swift | 0 .../StripeiOSTests}/LinkStubs.swift | 0 .../LinkToastSnapshotTests.swift | 0 .../LinkVerificationViewSnapshotTests.swift | 2 +- .../MKPlacemark+PaymentSheetTests.swift | 0 .../StripeiOSTests}/NSArray+StripeTest.swift | 1 + .../NSDecimalNumber+StripeTest.swift | 1 + .../NSDictionary+StripeTest.swift | 1 + .../StripeiOSTests}/NSLocale+STPSwizzling.h | 0 .../StripeiOSTests}/NSLocale+STPSwizzling.m | 0 .../StripeiOSTests}/NSString+StripeTest.swift | 2 + .../NSURLComponents_StripeTest.swift | 2 + .../OneTimeCodeTextFieldSnapshotTests.swift | 0 .../OneTimeCodeTextFieldTests.swift | 0 .../OperationDebouncerTests.swift | 0 .../PKPayment+StripeTest.swift | 0 .../PayWithLinkButtonSnapshotTests.swift | 0 ...kViewController-WalletViewModelTests.swift | 0 .../StripeiOSTests}/PaymentAnalyticTest.swift | 0 ...entMethodMessagingViewFunctionalTest.swift | 0 ...mentMethodMessagingViewSnapshotTests.swift | 0 .../PaymentSheet+APITest.swift | 0 ...tSheet+PaymentMethodAvailabilityTest.swift | 10 +- .../PaymentSheetAddressTests.swift | 1 + .../PaymentSheetFormFactoryTest.swift | 0 .../PaymentSheetLinkAccountTests.swift | 0 .../PaymentSheetPaymentMethodTypeTest.swift | 0 .../PaymentSheetTestUtils.swift | 0 .../PaymentTypeCellSnapshotTests.swift | 0 .../StripeiOSTests/Resources}/3DSSource.json | 0 .../Resources}/AlipaySource.json | 0 .../Resources}/ApplePayPaymentMethod.json | 0 .../Resources}/BacsDebitPaymentMethod.json | 0 .../Resources}/BancontactSource.json | 0 .../Resources}/BankAccount.json | 0 .../StripeiOSTests/Resources}/Card.json | 0 .../Resources}/CardPaymentMethod.json | 0 .../StripeiOSTests/Resources}/CardSource.json | 0 .../StripeiOSTests/Resources}/Customer.json | 0 .../StripeiOSTests/Resources}/EPSSource.json | 0 .../Resources}/EphemeralKey.json | 0 .../StripeiOSTests/Resources}/FileUpload.json | 0 .../Resources}/GiropaySource.json | 0 .../Resources/Images.xcassets}/Contents.json | 0 .../MockFiles/paymentIntentResponse.json | 0 .../Resources}/MultibancoSource.json | 0 .../StripeiOSTests/Resources}/P24Source.json | 0 .../Resources}/PaymentIntent.json | 0 .../Resources}/SEPADebitSource.json | 0 .../Resources}/SetupIntent.json | 0 .../Resources}/SofortSource.json | 0 .../Resources}/WeChatPaySource.json | 0 .../Resources}/iDEALSource.json | 0 .../get_content_0.tail | 2 +- .../get_content_0.tail | 2 +- .../post_v1_tokens_0.tail | 0 .../post_v1_tokens_0.tail | 0 .../post_v1_tokens_0.tail | 0 .../post_create_payment_intent_0.tail | 0 .../post_v1_3ds2_authenticate_2.tail | 0 ...pi_3KgG1XFY0qyl6XeW1TLgmwD3_confirm_1.tail | 0 .../post_v1_payment_methods_0.tail | 0 .../get_v1_issuing_cards_ic_token_pin_0.tail | 0 .../get_v1_issuing_cards_ic_token_pin_0.tail | 0 .../post_v1_issuing_cards_ic_token_pin_0.tail | 0 ...K91WoXa9u_push_provisioning_details_0.tail | 0 .../Resources}/stp_test_upload_image.jpeg | Bin .../RotatingCardBrandsViewSnapshotTests.swift | 0 .../RotatingCardBrandsViewTests.swift | 0 .../STPAPIClientNetworkBridgeTest.m | 0 .../STPAPIClientStubbedTest.swift | 0 .../StripeiOSTests}/STPAPIClientTest.swift | 0 .../STPAPISettingsBridgeTest.m | 0 .../STPAUBECSDebitFormViewSnapshotTests.swift | 0 .../STPAUBECSFormViewModelTests.swift | 0 ...dCardViewControllerLocalizationTests.swift | 0 .../STPAddCardViewControllerTest.swift | 0 .../StripeiOSTests}/STPAddressTests.m | 0 .../STPAddressViewModelTest.swift | 0 .../STPAnalyticsClientPaymentSheetTest.swift | 0 .../STPAnalyticsClientPaymentsTest.swift | 0 .../STPApplePayContextFunctionalTest.m | 0 ...PApplePayContextFunctionalTestExtras.swift | 0 .../STPApplePayContextTest.swift | 0 .../STPApplePayFunctionalTest.swift | 0 .../STPApplePayPaymentOptionTest.m | 0 .../StripeiOSTests}/STPApplePayTest.m | 0 .../StripeiOSTests}/STPApplePayTest.swift | 0 ...BECSDebitAccountNumberValidatorTests.swift | 0 .../STPBSBNumberValidatorTests.swift | 0 .../STPBankAccountFunctionalTest.m | 0 .../STPBankAccountParamsTest.m | 0 .../StripeiOSTests}/STPBankAccountTest.m | 0 .../StripeiOSTests}/STPBinRangeTest.swift | 0 .../StripeiOSTests}/STPBlocks.h | 0 .../STPCardBINMetadataTests.swift | 0 .../StripeiOSTests}/STPCardBrandTest.m | 0 ...PCardCVCInputTextFieldFormatterTests.swift | 0 ...TPCardCVCInputTextFieldSnapshotTests.swift | 0 .../STPCardCVCInputTextFieldTests.swift | 0 ...PCardCVCInputTextFieldValidatorTests.swift | 0 ...rdExpiryInputTextFieldFormatterTests.swift | 0 ...ardExpiryInputTextFieldSnapshotTests.swift | 0 ...rdExpiryInputTextFieldValidatorTests.swift | 0 .../STPCardFormViewSnapshotTests.swift | 0 .../STPCardFormViewTests.swift | 0 .../StripeiOSTests}/STPCardFunctionalTest.m | 0 ...rdNumberInputTextFieldFormatterTests.swift | 0 ...ardNumberInputTextFieldSnapshotTests.swift | 0 ...rdNumberInputTextFieldValidatorTests.swift | 0 .../StripeiOSTests}/STPCardParamsTest.m | 0 .../StripeiOSTests}/STPCardTest.swift | 0 .../STPCardValidatorTest.swift | 0 .../StripeiOSTests}/STPCertTest.swift | 0 .../STPConfirmCardOptionsTest.m | 0 .../STPConfirmPaymentMethodOptionsTest.m | 0 .../STPConnectAccountAddressTest.m | 0 .../STPConnectAccountFunctionalTest.m | 0 .../STPConnectAccountParamsTest.m | 0 ...CountryPickerInputFieldSnapshotTests.swift | 0 .../STPCustomerContextTest.swift | 0 .../StripeiOSTests}/STPCustomerTest.m | 0 .../StripeiOSTests}/STPE2ETest.swift | 0 .../STPEphemeralKeyManagerTest.m | 0 .../StripeiOSTests}/STPEphemeralKeyTest.swift | 0 .../StripeiOSTests}/STPErrorBridgeTest.m | 0 .../StripeiOSTests}/STPFPXBankBrandTest.m | 0 .../StripeiOSTests}/STPFileFunctionalTest.m | 0 .../StripeiOSTests}/STPFileTest.m | 0 .../StripeiOSTests}/STPFixtures.h | 0 .../StripeiOSTests}/STPFixtures.m | 0 ...ingPlaceholderTextFieldSnapshotTests.swift | 0 .../StripeiOSTests}/STPFormEncoderTest.swift | 0 .../STPFormTextFieldTest.swift | 0 .../STPFormViewSnapshotTests.swift | 0 ...GenericInputPickerFieldSnapshotTests.swift | 0 ...GenericInputPickerFieldValidatorTest.swift | 0 ...TPGenericInputTextFieldSnapshotTests.swift | 0 .../StripeiOSTests}/STPImageLibraryTest.swift | 0 .../STPInputTextFieldFormatterTests.swift | 0 .../STPInputTextFieldValidatorTests.swift | 0 ...IntentActionAlipayHandleRedirectTest.swift | 0 .../StripeiOSTests}/STPIntentActionTest.m | 0 .../STPIntentActionTypeTest.swift | 0 ...tentActionWeChatPayRedirectToAppTest.swift | 0 .../STPIntentWithPreferencesTest.swift | 0 ...STPLabeledFormTextFieldViewSnapshotTests.m | 0 ...dMultiFormTextFieldViewSnapshotTests.swift | 0 ...PMandateCustomerAcceptanceParamsTest.swift | 0 .../STPMandateDataParamsTest.swift | 0 .../STPMandateOnlineParamsTest.swift | 0 .../StripeiOSTests}/STPMocks.h | 0 .../StripeiOSTests}/STPMocks.m | 0 .../STPNetworkStubbingTestCase.h | 0 .../STPNetworkStubbingTestCase.m | 0 .../STPNetworkStubbingTestCase.swift | 9 +- ...PNumericDigitInputTextFormatterTests.swift | 0 .../STPNumericStringValidatorTests.swift | 0 .../StripeiOSTests}/STPPIIFunctionalTest.m | 0 .../STPPaymentCardTextFieldTest.m | 0 .../STPPaymentCardTextFieldTestsSwift.swift | 0 ...STPPaymentCardTextFieldViewModelTest.swift | 0 .../STPPaymentConfigurationTest.m | 0 .../STPPaymentContextApplePayTest.swift | 0 .../STPPaymentContextSnapshotTests.m | 0 .../STPPaymentHandlerFunctionalTest.m | 0 .../STPPaymentHandlerTests.swift | 0 .../STPPaymentIntentEnumsTest.swift | 0 .../STPPaymentIntentFunctionalTest.m | 0 .../STPPaymentIntentFunctionalTest.swift | 0 ...STPPaymentIntentLastPaymentErrorTest.swift | 0 .../STPPaymentIntentParamsTest.swift | 0 .../STPPaymentIntentTest.swift | 0 .../STPPaymentMethodAUBECSDebitParamsTests.m | 0 .../STPPaymentMethodAUBECSDebitTests.swift | 0 .../STPPaymentMethodAddressTest.m | 0 .../STPPaymentMethodAffirmParamsTest.swift | 0 .../STPPaymentMethodAffirmTests.swift | 0 ...PPaymentMethodAfterpayClearpayParamsTest.m | 0 .../STPPaymentMethodAfterpayClearpayTest.m | 0 .../STPPaymentMethodBacsDebitTest.m | 0 .../STPPaymentMethodBancontactParamsTests.m | 0 .../STPPaymentMethodBancontactTests.swift | 0 .../STPPaymentMethodBillingDetailsTest.m | 0 .../STPPaymentMethodBoletoParamsTests.swift | 0 .../STPPaymentMethodBoletoTests.swift | 0 .../STPPaymentMethodCardChecksTest.m | 0 .../STPPaymentMethodCardParamsTest.swift | 0 .../STPPaymentMethodCardTest.swift | 0 ...STPPaymentMethodCardWalletMasterpassTest.m | 0 .../STPPaymentMethodCardWalletTest.m | 0 ...PPaymentMethodCardWalletVisaCheckoutTest.m | 0 .../STPPaymentMethodEPSParamsTests.m | 0 .../STPPaymentMethodEPSTests.swift | 0 .../StripeiOSTests}/STPPaymentMethodFPXTest.m | 0 .../STPPaymentMethodFunctionalTest.m | 0 .../STPPaymentMethodGiropayParamsTests.m | 0 .../STPPaymentMethodGiropayTests.swift | 0 .../STPPaymentMethodGrabPayParamsTest.m | 0 .../STPPaymentMethodKlarnaParamsTests.swift | 0 .../STPPaymentMethodKlarnaTests.swift | 0 .../STPPaymentMethodNetBankingParamsTest.m | 0 .../STPPaymentMethodNetBankingTests.swift | 0 .../STPPaymentMethodOXXOParamsTests.m | 0 .../STPPaymentMethodOXXOTests.m | 0 .../STPPaymentMethodOptionsTest.swift | 0 .../STPPaymentMethodParamsTest.m | 0 .../STPPaymentMethodPayPalParamsTests.m | 0 .../STPPaymentMethodPayPalTests.m | 0 .../STPPaymentMethodPrzelewy24ParamsTests.m | 0 .../STPPaymentMethodPrzelewy24Tests.swift | 0 .../STPPaymentMethodSEPADebitTest.m | 0 .../STPPaymentMethodSofortParamsTests.m | 0 .../STPPaymentMethodSofortTests.swift | 0 .../STPPaymentMethodTest.swift | 0 .../STPPaymentMethodThreeDSecureUsageTest.m | 0 .../STPPaymentMethodUPIParamsTest.m | 0 .../STPPaymentMethodUPITests.swift | 0 ...MethodUSBankAccountParamsStubbedTest.swift | 0 ...PaymentMethodUSBankAccountParamsTest.swift | 0 .../STPPaymentMethodUSBankAccountTest.swift | 0 .../STPPaymentMethodiDEALTest.m | 0 ...tionsViewControllerLocalizationTests.swift | 0 .../STPPaymentOptionsViewControllerTest.swift | 0 .../STPPhoneNumberValidatorTest.swift | 0 ...TPPinManagementServiceFunctionalTest.swift | 0 ...stalCodeInputTextFieldFormatterTests.swift | 0 ...ostalCodeInputTextFieldSnapshotTests.swift | 0 .../STPPostalCodeInputTextFieldTests.swift | 0 ...stalCodeInputTextFieldValidatorTests.swift | 0 .../STPPostalCodeValidatorTest.swift | 0 ...ushProvisioningDetailsFunctionalTest.swift | 0 .../STPRadarSessionFunctionalTest.swift | 0 .../StripeiOSTests}/STPRedirectContextTest.m | 0 .../STPSTPViewWithSeparatorSnapshotTests.m | 0 .../STPSetupIntentConfirmParamsTest.swift | 0 .../STPSetupIntentFunctionalTest.m | 0 .../STPSetupIntentFunctionalTest.swift | 0 .../STPSetupIntentLastSetupErrorTest.m | 0 .../StripeiOSTests}/STPSetupIntentTest.m | 0 ...dressViewControllerLocalizationTests.swift | 0 ...STPShippingAddressViewControllerTest.swift | 0 ...thodsViewControllerLocalizationTests.swift | 0 .../STPSourceCardDetailsTest.swift | 0 .../StripeiOSTests}/STPSourceFunctionalTest.m | 0 .../StripeiOSTests}/STPSourceOwnerTest.m | 0 .../StripeiOSTests}/STPSourceParamsTest.swift | 0 .../StripeiOSTests}/STPSourceReceiverTest.m | 0 .../StripeiOSTests}/STPSourceRedirectTest.m | 0 .../STPSourceSEPADebitDetailsTest.m | 0 .../StripeiOSTests}/STPSourceTest.m | 0 .../STPSourceVerificationTest.m | 0 ...PStackViewWithSeparatorSnapshotTests.swift | 0 .../StripeiOSTests}/STPStringUtilsTest.m | 0 .../StripeiOSTests}/STPStringUtilsTest.swift | 0 .../StripeiOSTests}/STPSwiftFixtures.swift | 0 .../STPTestAPIClient+Swift.swift | 0 .../StripeiOSTests}/STPTestUtils.h | 0 .../StripeiOSTests}/STPTestUtils.m | 0 .../StripeiOSTests}/STPTestingAPIClient.h | 0 .../StripeiOSTests}/STPTestingAPIClient.m | 0 .../STPTextFieldDelegateProxyTests.swift | 0 .../STPThreeDSButtonCustomizationTest.swift | 0 .../STPThreeDSFooterCustomizationTest.swift | 0 .../STPThreeDSLabelCustomizationTest.swift | 0 ...hreeDSNavigationBarCustomizationTest.swift | 0 ...STPThreeDSSelectionCustomizationTest.swift | 0 ...STPThreeDSTextFieldCustomizationTest.swift | 0 .../STPThreeDSUICustomizationTest.swift | 0 .../StripeiOSTests}/STPTokenTest.m | 0 .../STPUIVCStripeParentViewControllerTests.m | 0 .../StripeiOSTests}/SWHttpTrafficRecorder.h | 0 .../StripeiOSTests}/SWHttpTrafficRecorder.m | 0 .../ServerErrorMapperTest.swift | 0 .../StripeiOSTests}/StripeErrorTest.swift | 0 .../StripeiOSTests}/StripeTests-Prefix.pch | 0 .../StripeiOS Tests-Bridging-Header.h | 0 .../TextFieldElement+CardTest.swift | 0 .../TextFieldElement+IBANTest.swift | 0 .../UINavigationBar+StripeTest.m | 0 .../UserDefaults+StripeTest.swift | 0 .../WalletHeaderViewSnapshotTests.swift | 0 .../Project-Debug.xcconfig | 15 + .../Project-Release.xcconfig | 12 + .../Project-Shared.xcconfig | 63 + .../Stripe3DS2-Debug.xcconfig | 12 + .../Stripe3DS2-Release.xcconfig | 12 + .../Stripe3DS2-Shared.xcconfig | 23 + .../Stripe3DS2DemoUI-Debug.xcconfig | 12 + .../Stripe3DS2DemoUI-Release.xcconfig | 12 + .../Stripe3DS2DemoUI-Shared.xcconfig | 13 + .../Stripe3DS2DemoUITests-Debug.xcconfig | 12 + .../Stripe3DS2DemoUITests-Release.xcconfig | 12 + .../Stripe3DS2DemoUITests-Shared.xcconfig | 13 + .../Stripe3DS2Tests-Debug.xcconfig | 12 + .../Stripe3DS2Tests-Release.xcconfig | 12 + .../Stripe3DS2Tests-Shared.xcconfig | 12 + Stripe3DS2/Project.swift | 126 + .../Stripe3DS2.xcodeproj/project.pbxproj | 3062 ++++++++--------- .../contents.xcworkspacedata | 2 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcschemes/Stripe3DS2.xcscheme | 19 +- .../xcschemes/Stripe3DS2DemoUI.xcscheme | 35 +- .../xcschemes/Stripe3DS2DemoUITests.xcscheme | 52 - .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../STDSAlreadyInitializedException.m | 0 .../STDSAuthenticationRequestParameters.m | 0 .../{ => include}/STDSButtonCustomization.m | 0 .../{ => include}/STDSChallengeParameters.m | 0 .../{ => include}/STDSCompletionEvent.m | 0 .../{ => include}/STDSConfigParameters.m | 0 .../{ => include}/STDSCustomization.m | 0 .../{ => include}/STDSErrorMessage.m | 0 .../Stripe3DS2/{ => include}/STDSException.m | 0 .../{ => include}/STDSFooterCustomization.m | 0 .../{ => include}/STDSInvalidInputException.m | 0 .../{ => include}/STDSJSONEncoder.m | 0 .../{ => include}/STDSLabelCustomization.m | 0 .../STDSNavigationBarCustomization.m | 0 .../STDSNotInitializedException.m | 0 .../{ => include}/STDSProtocolErrorEvent.m | 0 .../{ => include}/STDSRuntimeErrorEvent.m | 0 .../{ => include}/STDSRuntimeException.m | 0 .../STDSSelectionCustomization.m | 0 .../{ => include}/STDSStripe3DS2Error.m | 0 .../{ => include}/STDSSwiftTryCatch.m | 0 .../STDSTextFieldCustomization.m | 0 .../{ => include}/STDSThreeDS2Service.m | 0 .../{ => include}/STDSTransaction.m | 0 .../{ => include}/STDSUICustomization.m | 0 .../Stripe3DS2/{ => include}/STDSWarning.m | 0 .../Stripe3DS2DemoUI/Base.lproj/Info.plist | 45 - .../{bg-BG.lproj => }/Info.plist | 4 +- .../Resources}/acs_challenge.html | 0 .../{ => Sources}/AppDelegate.h | 0 .../{ => Sources}/AppDelegate.m | 0 .../STDSChallengeResponseObject+TestObjects.h | 0 .../STDSChallengeResponseObject+TestObjects.m | 0 .../{ => Sources}/STDSDemoViewController.h | 0 .../{ => Sources}/STDSDemoViewController.m | 0 .../Stripe3DS2DemoUI/{ => Sources}/main.m | 0 .../Stripe3DS2DemoUI/ca-ES.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/cs-CZ.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/el-GR.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/en-GB.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/et-EE.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/fi.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/fil.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/fr-CA.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/fr.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/hr.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/hu.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/id.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/it.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/ja.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/ko.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/lt-LT.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/lv-LV.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/ms-MY.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/mt.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/nb.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/nl.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/nn-NO.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/pl-PL.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/pt-BR.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/pt-PT.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/ro-RO.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/ru.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/sk-SK.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/sl-SI.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/sv.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/tr.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/vi.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/zh-HK.lproj/Info.plist | 45 - .../Stripe3DS2DemoUI/zh-Hans.lproj/Info.plist | 43 - .../Stripe3DS2DemoUI/zh-Hant.lproj/Info.plist | 45 - .../testLoadingAmex_LoadingAmex@2x.png | Bin 37706 -> 0 bytes ...testLoadingDiscover_LoadingDiscover@2x.png | Bin 35976 -> 0 bytes ...LoadingMastercard_LoadingMastercard@2x.png | Bin 35570 -> 0 bytes .../testLoadingVisa_LoadingVisa@2x.png | Bin 36410 -> 0 bytes ...ltiSelectDesign_MultiSelectResponse@2x.png | Bin 94805 -> 0 bytes .../testVerifyOOBDesign_OOBResponse@2x.png | Bin 103840 -> 0 bytes ...leSelectDesign_SingleSelectResponse@2x.png | Bin 83951 -> 0 bytes ...allengeDesign_TextChallengeResponse@2x.png | Bin 86522 -> 0 bytes ...lengeResponseViewControllerSnapshotTests.m | 17 +- StripeApplePay/Project.swift | 15 + .../StripeApplePay.xcodeproj/project.pbxproj | 801 ++--- .../contents.xcworkspacedata | 7 + .../xcschemes/StripeApplePay.xcscheme | 26 +- .../StripeApplePayTestUtils.h | 18 - .../StripeApplePayTests}/Info.plist | 0 .../StripeApplePayTests.swift | 35 - StripeCameraCore/Project.swift | 11 + .../project.pbxproj | 683 ++-- .../contents.xcworkspacedata | 7 + .../xcschemes/StripeCameraCore.xcscheme | 28 +- .../StripeCameraCoreTestUtils.xcscheme | 77 + .../StripeCardScan-Debug.xcconfig | 7 + .../StripeCardScan-Release.xcconfig | 7 + StripeCardScan/Project.swift | 32 + .../StripeCardScan.xcodeproj/project.pbxproj | 1707 +++++---- .../contents.xcworkspacedata | 7 + .../xcschemes/StripeCardScan.xcscheme | 26 +- StripeCore/Project.swift | 13 + .../StripeCore.xcodeproj/project.pbxproj | 1589 +++++---- .../contents.xcworkspacedata | 7 + .../xcschemes/StripeCore.xcscheme | 26 +- .../xcschemes/StripeCoreTestUtils.xcscheme | 45 +- StripeFinancialConnections/Project.swift | 19 + .../project.pbxproj | 2004 ++++++----- .../contents.xcworkspacedata | 7 + .../StripeFinancialConnections.xcscheme | 26 +- StripeIdentity/Project.swift | 20 + .../StripeIdentity.xcodeproj/project.pbxproj | 2376 +++++++------ .../contents.xcworkspacedata | 7 + .../xcschemes/StripeIdentity.xcscheme | 35 +- StripePaymentSheet.podspec | 2 +- StripePaymentSheet/Project.swift | 16 + .../project.pbxproj | 2702 ++++++++------- .../contents.xcworkspacedata | 7 + .../xcschemes/StripePaymentSheet.xcscheme | 26 +- .../StripePaymentSheet/Info.plist | 19 +- .../Analytics/AnalyticsHelper.swift | 0 .../STPAnalyticsClient+Address.swift | 0 .../Analytics/STPAnalyticsClient+LUXE.swift | 0 .../{ => Source}/Categories/Data+SHA256.swift | 0 .../Categories/Date+Distance.swift | 0 .../NSAttributedString+Stripe.swift | 0 .../STPPaymentMethod+PaymentSheet.swift | 0 .../STPPaymentMethodParams+PaymentSheet.swift | 0 .../Categories/String+Localized.swift | 0 .../String+StripePaymentSheet.swift | 0 .../Categories/UserDefaults+Stripe.swift | 0 .../{ => Source}/Helpers/BoolReference.swift | 0 .../Helpers/DefaultPaymentMethodStore.swift | 0 .../{ => Source}/Helpers/Images.swift | 0 .../Helpers/IntentStatusPoller.swift | 0 .../Helpers/PaymentSheetLinkAccount.swift | 0 .../{ => Source}/Helpers/STPCameraView.swift | 0 .../{ => Source}/Helpers/STPCardScanner.swift | 0 .../Helpers/STPImageLibrary.swift | 0 .../Helpers/STPLocalizedString.swift | 0 .../{ => Source}/Helpers/STPStringUtils.swift | 0 .../Helpers/StripePaymentSheet+Exports.swift | 0 .../StripePaymentSheetBundleLocator.swift | 0 .../Link/ConsumerSession+LookupResponse.swift | 0 .../Link/ConsumerSession-SignupResponse.swift | 0 .../API Bindings/Link/ConsumerSession.swift | 0 .../Link/CookieStore/LinkCookieStore.swift | 0 .../CookieStore/LinkInMemoryCookieStore.swift | 0 .../CookieStore/LinkSecureCookieStore.swift | 0 .../API Bindings/Link/PaymentDetails.swift | 0 .../API Bindings/Link/STPAPIClient+Link.swift | 0 .../Link/VerificationSession.swift | 0 .../API Bindings/VO/CardExpiryDate.swift | 0 .../OneTimeCodeTextField-TextStorage.swift | 0 .../Inputs/OneTimeCodeTextField.swift | 0 .../Internal/Basic UI/SeparatorLabel.swift | 0 .../LinkFinancialConnectionsAuthManager.swift | 0 .../Link/Components/Badge/LinkBadgeView.swift | 0 .../NavigationBar/LinkNavigationBar.swift | 0 .../Components/Notice/LinkNoticeView.swift | 0 .../LinkPaymentMethodPicker-AddButton.swift | 0 .../LinkPaymentMethodPicker-Cell.swift | 0 ...kPaymentMethodPicker-CellContentView.swift | 0 .../LinkPaymentMethodPicker-Header.swift | 0 .../LinkPaymentMethodPicker-RadioButton.swift | 0 .../LinkPaymentMethodPicker.swift | 0 .../Link/Components/Toast/LinkToast.swift | 0 ...inkViewController-BaseViewController.swift | 0 ...kViewController-LoaderViewController.swift | 0 ...wController-NewPaymentViewController.swift | 0 ...kViewController-SignUpViewController.swift | 0 ...thLinkViewController-SignUpViewModel.swift | 0 ...ntroller-UpdatePaymentViewController.swift | 0 ...ntroller-VerifyAccountViewController.swift | 0 ...kViewController-WalletViewController.swift | 0 ...thLinkViewController-WalletViewModel.swift | 0 .../PayWithLinkViewController.swift | 0 .../LinkInlineSignupElement.swift | 0 ...LinkInlineSignupView-CheckboxElement.swift | 0 .../InlineSignup/LinkInlineSignupView.swift | 0 .../Link/Elements/LinkCardEditElement.swift | 0 .../Link/Elements/LinkEmailElement.swift | 0 .../Link/Extensions/Button+Link.swift | 0 .../Link/Extensions/ConfirmButton+Link.swift | 0 .../Link/Extensions/FormElement+Link.swift | 0 .../Link/Extensions/Intent+Link.swift | 0 .../PaymentSheet-Configuration+Link.swift | 0 .../Extensions/STPAnalyticsClient+Link.swift | 0 .../Link/Extensions/UIColor+Link.swift | 0 .../{ => Source}/Internal/Link/LinkUI.swift | 0 .../Link/Services/LinkAccountService.swift | 0 .../Internal/Link/Utils/Locale+Link.swift | 0 .../Link/Utils/OperationDebouncer.swift | 0 .../Verification/LinkAccountContext.swift | 0 .../Link/Verification/LinkCookieKey.swift | 0 .../Link/Verification/LinkUtils.swift | 0 .../LinkVerificationController.swift | 0 .../LinkVerificationView-Header.swift | 0 .../LinkVerificationView-LogoutView.swift | 0 .../Verification/LinkVerificationView.swift | 0 ...iewController-PresentationController.swift | 0 .../LinkVerificationViewController.swift | 0 .../LinkInlineSignupViewModel.swift | 0 .../Views/LinkInstantDebitMandateView.swift | 0 .../LinkKeyboardAvoidingScrollView.swift | 0 .../Link/Views/LinkLegalTermsView.swift | 0 .../Link/Views/LinkMoreInfoView.swift | 0 .../AddressViewController+Configuration.swift | 0 .../AddressViewController.swift | 0 .../BottomSheet/BottomSheetPresentable.swift | 0 .../BottomSheetPresentationAnimator.swift | 0 .../BottomSheetPresentationController.swift | 0 .../BottomSheetTransitioningDelegate.swift | 0 .../UIViewController+BottomSheet.swift | 0 .../CardSectionWithScannerElement.swift | 0 .../CardSectionWithScannerView.swift | 0 .../Elements/ConnectionsElement.swift | 0 .../LinkEnabledPaymentMethodElement.swift | 0 .../PaymentMethodElement.swift | 0 .../PaymentMethodElementWrapper.swift | 0 .../TextField/TextFieldElement+Card.swift | 0 .../TextField/TextFieldElement+IBAN.swift | 0 .../PaymentSheet/Error+PaymentSheet.swift | 0 .../{ => Source}/PaymentSheet/Intent.swift | 0 .../PaymentSheet/KlarnaHelper.swift | 0 .../Link/PayWithLinkController.swift | 0 .../Link/PaymentSheet-LinkConfirmOption.swift | 0 .../AddPaymentMethodViewController.swift | 0 .../PaymentMethodTypeCollectionView.swift | 0 .../WalletHeaderView.swift | 0 .../PaymentSheet/PaymentMethodType.swift | 0 .../PaymentSheet/PaymentOption+Images.swift | 0 .../PaymentSheet/PaymentSheet+API.swift | 0 ...ymentSheet+PaymentMethodAvailability.swift | 0 .../PaymentSheet/PaymentSheet+SwiftUI.swift | 0 .../PaymentSheet/PaymentSheet.swift | 0 .../PaymentSheet/PaymentSheetAppearance.swift | 0 .../PaymentSheetConfiguration.swift | 0 .../PaymentSheet/PaymentSheetError.swift | 0 .../PaymentSheetFlowController.swift | 0 .../FormSpec/FormSpec.swift | 0 .../FormSpec/FormSpecPaymentHandler.swift | 0 .../FormSpec/FormSpecProvider.swift | 0 .../PaymentSheetFormFactory+Card.swift | 0 .../PaymentSheetFormFactory+FormSpec.swift | 0 .../PaymentSheetFormFactory+UPI.swift | 0 .../PaymentSheetFormFactory.swift | 0 .../STPAPIClient+PaymentSheet.swift | 0 .../STPAnalyticsClient+PaymentSheet.swift | 0 .../STPApplePayContext+PaymentSheet.swift | 0 ...ntShippingDetailsParams+PaymentSheet.swift | 0 .../SavedPaymentMethodCollectionView.swift | 0 .../SavedPaymentOptionsViewController.swift | 0 .../USBankAccount/BankAccountInfoView.swift | 0 .../USBankAccountPaymentMethodElement.swift | 0 .../AutoComplete/AddressSearchResult.swift | 0 .../AutoCompleteViewController.swift | 0 .../AutoComplete/String+AutoComplete.swift | 0 .../BottomSheet3DS2ViewController.swift | 0 .../BottomSheetViewController.swift | 0 .../ChoosePaymentOptionViewController.swift | 0 .../LoadingViewController.swift | 0 .../PaymentSheetViewController.swift | 0 .../PollingViewController.swift | 0 .../PaymentSheet/Views/AUBECSMandate.swift | 0 .../PaymentSheet/Views/AffirmCopyLabel.swift | 0 .../Views/AfterpayPriceBreakdownView.swift | 0 .../Views/Appearance+FontScaling.swift | 0 .../PaymentSheet/Views/CardScanButton.swift | 0 .../PaymentSheet/Views/CardScanningView.swift | 0 .../PaymentSheet/Views/CircularButton.swift | 0 .../PaymentSheet/Views/ConfirmButton.swift | 0 .../Views/ManualEntryButton.swift | 0 .../Views/PayWithLinkButton.swift | 0 .../Views/RotatingCardBrandsView.swift | 0 .../PaymentSheet/Views/SepaMandateView.swift | 0 .../Views/ShadowedRoundedRectangleView.swift | 0 .../Views/SheetNavigationBar.swift | 0 .../Views/SheetNavigationButton.swift | 0 .../PaymentSheet/Views/TestModeView.swift | 0 .../Views/UIKit+PaymentSheet.swift | 0 .../StripePaymentSheetTests}/Info.plist | 6 +- .../StripePaymentSheetTests.swift | 37 - StripePayments.podspec | 2 +- StripePayments/Project.swift | 13 + .../StripePayments.xcodeproj/project.pbxproj | 2134 ++++++------ .../contents.xcworkspacedata | 7 + .../xcschemes/StripePayments.xcscheme | 26 +- .../StripeAPI+Deprecated.swift | 0 .../StripeApplePay+Import.swift | 0 .../StripeCore+Import.swift | 0 .../Models/ACH/LinkAccountSession.swift | 0 .../ACH/STPCollectBankAccountParams.swift | 0 .../STPConfirmAlipayOptions.swift | 0 .../STPConfirmBLIKOptions.swift | 0 .../STPConfirmCardOptions.swift | 0 .../STPConfirmPaymentMethodOptions.swift | 0 .../STPConfirmUSBankAccountOptions.swift | 0 .../STPConfirmWeChatPayOptions.swift | 0 .../PaymentIntents/STPPaymentIntent.swift | 0 .../STPPaymentIntentAction.swift | 0 .../STPPaymentIntentActionRedirectToURL.swift | 0 .../STPPaymentIntentEnums.swift | 0 .../STPPaymentIntentLastPaymentError.swift | 0 .../STPPaymentIntentParams.swift | 0 .../STPPaymentIntentShippingDetails.swift | 0 ...PPaymentIntentShippingDetailsAddress.swift | 0 ...ntIntentShippingDetailsAddressParams.swift | 0 ...TPPaymentIntentShippingDetailsParams.swift | 0 .../STPPaymentIntentSourceAction.swift | 0 ...ntIntentSourceActionAuthorizeWithURL.swift | 0 .../PaymentMethods/STPPaymentMethod.swift | 0 .../STPPaymentMethodAddress.swift | 0 .../STPPaymentMethodBillingDetails.swift | 0 .../STPPaymentMethodEnums.swift | 0 .../STPPaymentMethodParams.swift | 0 .../Types/STPPaymentMethodAUBECSDebit.swift | 0 .../STPPaymentMethodAUBECSDebitParams.swift | 0 .../Types/STPPaymentMethodAffirm.swift | 0 .../Types/STPPaymentMethodAffirmParams.swift | 0 .../STPPaymentMethodAfterpayClearpay.swift | 0 ...PPaymentMethodAfterpayClearpayParams.swift | 0 .../Types/STPPaymentMethodAlipay.swift | 0 .../Types/STPPaymentMethodAlipayParams.swift | 0 .../Types/STPPaymentMethodBLIK.swift | 0 .../Types/STPPaymentMethodBLIKParams.swift | 0 .../Types/STPPaymentMethodBacsDebit.swift | 0 .../STPPaymentMethodBacsDebitParams.swift | 0 .../Types/STPPaymentMethodBancontact.swift | 0 .../STPPaymentMethodBancontactParams.swift | 0 .../Types/STPPaymentMethodBoleto.swift | 0 .../Types/STPPaymentMethodBoletoParams.swift | 0 .../Types/STPPaymentMethodCard.swift | 0 .../Types/STPPaymentMethodCardChecks.swift | 0 .../Types/STPPaymentMethodCardNetworks.swift | 0 .../Types/STPPaymentMethodCardParams.swift | 0 .../Types/STPPaymentMethodCardPresent.swift | 0 .../Types/STPPaymentMethodCardWallet.swift | 0 ...STPPaymentMethodCardWalletMasterpass.swift | 0 ...PPaymentMethodCardWalletVisaCheckout.swift | 0 .../Types/STPPaymentMethodEPS.swift | 0 .../Types/STPPaymentMethodEPSParams.swift | 0 .../Types/STPPaymentMethodFPX.swift | 0 .../Types/STPPaymentMethodFPXParams.swift | 0 .../Types/STPPaymentMethodGiropay.swift | 0 .../Types/STPPaymentMethodGiropayParams.swift | 0 .../Types/STPPaymentMethodGrabPay.swift | 0 .../Types/STPPaymentMethodGrabPayParams.swift | 0 .../Types/STPPaymentMethodKlarna.swift | 0 .../Types/STPPaymentMethodKlarnaParams.swift | 0 .../Types/STPPaymentMethodLink.swift | 0 .../Types/STPPaymentMethodLinkParams.swift | 0 .../Types/STPPaymentMethodNetBanking.swift | 0 .../STPPaymentMethodNetBankingParams.swift | 0 .../Types/STPPaymentMethodOXXO.swift | 0 .../Types/STPPaymentMethodOXXOParams.swift | 0 .../Types/STPPaymentMethodPayPal.swift | 0 .../Types/STPPaymentMethodPayPalParams.swift | 0 .../Types/STPPaymentMethodPrzelewy24.swift | 0 .../STPPaymentMethodPrzelewy24Params.swift | 0 .../Types/STPPaymentMethodSEPADebit.swift | 0 .../STPPaymentMethodSEPADebitParams.swift | 0 .../Types/STPPaymentMethodSofort.swift | 0 .../Types/STPPaymentMethodSofortParams.swift | 0 .../STPPaymentMethodThreeDSecureUsage.swift | 0 .../Types/STPPaymentMethodUPI.swift | 0 .../Types/STPPaymentMethodUPIParams.swift | 0 .../Types/STPPaymentMethodUSBankAccount.swift | 0 .../STPPaymentMethodUSBankAccountParams.swift | 0 .../Types/STPPaymentMethodWeChatPay.swift | 0 .../STPPaymentMethodWeChatPayParams.swift | 0 .../Types/STPPaymentMethodiDEAL.swift | 0 .../Types/STPPaymentMethodiDEALParams.swift | 0 .../Models/STPAPIResponseDecodable.swift | 0 .../API Bindings/Models/STPAddress.swift | 0 .../API Bindings/Models/STPCardBrand.swift | 0 .../Models/STPConnectAccountAddress.swift | 0 .../STPConnectAccountCompanyParams.swift | 0 .../STPConnectAccountIndividualParams.swift | 0 .../Models/STPConnectAccountParams.swift | 0 .../API Bindings/Models/STPContactField.swift | 0 .../API Bindings/Models/STPCustomer.swift | 0 .../API Bindings/Models/STPFPXBankBrand.swift | 0 .../API Bindings/Models/STPFile.swift | 0 .../Models/STPFormEncodable.swift | 0 .../Models/STPIssuingCardPin.swift | 0 .../API Bindings/Models/STPRadarSession.swift | 0 .../API Bindings/Models/STPToken.swift | 0 .../API Bindings/Models/STPiDEALBank.swift | 0 .../Models/SetupIntents/STPSetupIntent.swift | 0 .../STPSetupIntentConfirmParams.swift | 0 .../SetupIntents/STPSetupIntentEnums.swift | 0 .../STPSetupIntentLastSetupError.swift | 0 .../Models/Shared/LinkSettings.swift | 0 .../Models/Shared/STPIntentAction.swift | 0 .../STPIntentActionAlipayHandleRedirect.swift | 0 .../STPIntentActionBoletoDisplayDetails.swift | 0 .../STPIntentActionOXXODisplayDetails.swift | 0 .../Shared/STPIntentActionRedirectToURL.swift | 0 ...PIntentActionVerifyWithMicrodeposits.swift | 0 ...TPIntentActionWeChatPayRedirectToApp.swift | 0 .../STPMandateCustomerAcceptanceParams.swift | 0 .../Models/Shared/STPMandateDataParams.swift | 0 .../Shared/STPMandateOnlineParams.swift | 0 .../Shared/STPPaymentMethodOptions.swift | 0 .../Models/Sources/STPSource.swift | 0 .../Models/Sources/STPSourceEnums.swift | 0 .../Models/Sources/STPSourceOwner.swift | 0 .../Models/Sources/STPSourceParams.swift | 0 .../Models/Sources/STPSourceProtocol.swift | 0 .../Models/Sources/STPSourceReceiver.swift | 0 .../Models/Sources/STPSourceRedirect.swift | 0 .../Sources/STPSourceVerification.swift | 0 .../Models/Sources/Types/STPBankAccount.swift | 0 .../Sources/Types/STPBankAccountParams.swift | 0 .../Models/Sources/Types/STPCard.swift | 0 .../Models/Sources/Types/STPCardParams.swift | 0 .../Sources/Types/STPKlarnaLineItem.swift | 0 .../Sources/Types/STPSourceCardDetails.swift | 0 .../Types/STPSourceKlarnaDetails.swift | 0 .../Types/STPSourceSEPADebitDetails.swift | 0 .../Types/STPSourceWeChatPayDetails.swift | 0 .../API Bindings/STPAPIClient+ApplePay.swift | 0 .../STPAPIClient+LinkAccountSession.swift | 0 .../API Bindings/STPAPIClient+Payments.swift | 0 .../API Bindings/STPAPIClient+Radar.swift | 0 .../API Bindings/STPRedirectContext.swift | 0 .../Enums+CustomStringConvertible.swift | 0 .../Helpers/STPBINController.swift | 0 .../Helpers/STPBankAccountCollector.swift | 0 .../{ => Source}/Helpers/STPBlocks.swift | 0 .../Helpers/STPCardValidator.swift | 0 .../Helpers/STPLocalizedString.swift | 0 .../STPPaymentConfirmation+SwiftUI.swift | 0 .../Helpers/StripePayments+Export.swift | 0 .../Helpers/StripePaymentsBundleLocator.swift | 0 .../Internal/API Bindings/APIRequest.swift | 0 .../STP3DS2AuthenticateResponse.swift | 0 .../API Bindings/STPEmptyStripeResponse.swift | 0 .../API Bindings/STPFormEncoder.swift | 0 .../STPIntentActionUseStripeSDK.swift | 0 .../STPInternalAPIResponseDecodable.swift | 0 .../STPPaymentMethodListDeserializer.swift | 0 .../API Bindings/STPSourcePoller.swift | 0 .../Analytics/Analytic+Payments.swift | 0 .../STPAnalyticsClient+Payments.swift | 0 .../Internal/Categories/NSArray+Stripe.swift | 0 .../NSDecimalNumber+Stripe_Currency.swift | 0 .../Categories/NSDictionary+Stripe.swift | 0 .../Internal/Categories/NSString+Stripe.swift | 0 .../STPAPIClient+PaymentsCore.swift | 0 .../Helpers/ConnectionsSDKAvailability.swift | 0 .../STPPaymentHandlerActionParams.swift | 0 .../STPAuthenticationContext.swift | 0 .../PaymentHandler/STPPaymentHandler.swift | 0 .../STPThreeDSButtonCustomization.swift | 0 .../STPThreeDSCustomizationSettings.swift | 0 .../STPThreeDSFooterCustomization.swift | 0 .../STPThreeDSLabelCustomization.swift | 0 ...STPThreeDSNavigationBarCustomization.swift | 0 .../STPThreeDSSelectionCustomization.swift | 0 .../STPThreeDSTextFieldCustomization.swift | 0 .../STPThreeDSUICustomization.swift | 0 .../StripePaymentsTests}/Info.plist | 8 +- .../StripePaymentsTests.swift | 38 - StripePaymentsUI.podspec | 2 +- StripePaymentsUI/Project.swift | 14 + .../project.pbxproj | 1566 +++++---- .../contents.xcworkspacedata | 7 + .../xcschemes/StripePaymentsUI.xcscheme | 26 +- .../Enums+CustomStringConvertible.swift | 0 .../STPBECSDebitAccountNumberValidator.swift | 0 .../Helpers/STPBSBNumberValidator.swift | 0 .../Helpers/STPImageLibrary.swift | 0 .../Helpers/STPLocalizedString.swift | 0 .../Helpers/STPPhoneNumberValidator.swift | 0 .../Helpers/STPPostalCodeValidator.swift | 0 .../{ => Source}/Helpers/STPStringUtils.swift | 0 .../Helpers/String+Localized.swift | 0 .../Helpers/StripePayments+Export.swift | 0 .../Helpers/StripePaymentsBundleLocator.swift | 0 .../NSAttributedString+Stripe.swift | 0 .../Internal/Categories/UIButton+Stripe.swift | 0 .../Internal/UI/Views/CardBrandView.swift | 0 .../Card/STPCardCVCInputTextField.swift | 0 .../STPCardCVCInputTextFieldFormatter.swift | 0 .../STPCardCVCInputTextFieldValidator.swift | 0 .../Card/STPCardExpiryInputTextField.swift | 0 ...STPCardExpiryInputTextFieldFormatter.swift | 0 ...STPCardExpiryInputTextFieldValidator.swift | 0 .../Card/STPCardNumberInputTextField.swift | 0 ...STPCardNumberInputTextFieldFormatter.swift | 0 ...STPCardNumberInputTextFieldValidator.swift | 0 .../Card/STPPostalCodeInputTextField.swift | 0 ...STPPostalCodeInputTextFieldFormatter.swift | 0 ...STPPostalCodeInputTextFieldValidator.swift | 0 .../Inputs/STPCountryPickerInputField.swift | 0 .../Inputs/STPGenericInputPickerField.swift | 0 .../Inputs/STPGenericInputTextField.swift | 0 .../UI/Views/Inputs/STPInputTextField.swift | 0 .../Inputs/STPInputTextFieldFormatter.swift | 0 .../Inputs/STPInputTextFieldValidator.swift | 0 .../STPNumericDigitInputTextFormatter.swift | 0 .../UI/Views/STPAUBECSFormViewModel.swift | 0 .../UI/Views/STPCardLoadingIndicator.swift | 0 .../Internal/UI/Views/STPFormTextField.swift | 0 .../Views/STPLabeledFormTextFieldView.swift | 0 .../STPLabeledMultiFormTextFieldView.swift | 0 .../STPPaymentCardTextFieldViewModel.swift | 0 .../UI/Views/STPValidatedTextField.swift | 0 .../UI/Views/STPViewWithSeparator.swift | 0 ...entMethodMessagingView+Configuration.swift | 0 .../PaymentMethodMessagingView.swift | 0 .../STPAUBECSDebitFormView.swift | 0 .../STPCardFormView+SwiftUI.swift | 0 .../UI Components/STPCardFormView.swift | 0 .../STPFloatingPlaceholderTextField.swift | 0 .../STPFormTextFieldContainer.swift | 0 .../UI Components/STPFormView.swift | 0 .../UI Components/STPMultiFormTextField.swift | 0 .../STPPaymentCardTextField+SwiftUI.swift | 0 .../STPPaymentCardTextField.swift | 0 .../StripePaymentsUITests}/Info.plist | 12 +- .../StripePaymentsUITests.swift | 38 - StripeUICore/Project.swift | 16 + .../StripeUICore.xcodeproj/project.pbxproj | 1542 ++++----- .../contents.xcworkspacedata | 7 + .../xcschemes/StripeUICore.xcscheme | 35 +- .../IntegrationTester-Debug.xcconfig | 12 + .../IntegrationTester-Release.xcconfig | 12 + .../IntegrationTester-Shared.xcconfig | 16 + .../IntegrationTesterUITests-Debug.xcconfig | 12 + .../IntegrationTesterUITests-Release.xcconfig | 12 + .../IntegrationTesterUITests-Shared.xcconfig | 13 + .../Project-Debug.xcconfig | 18 + .../Project-Release.xcconfig | 15 + .../Project-Shared.xcconfig | 21 + .../Common}/IntegrationMethods.swift | 8 +- .../project.pbxproj | 663 ++++ .../contents.xcworkspacedata | 7 + .../xcschemes/IntegrationTester.xcscheme | 13 +- .../IntegrationTester/Info.plist | 0 .../IntegrationTester.entitlements | 0 .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../Resources/Assets.xcassets}/Contents.json | 0 .../Preview Assets.xcassets}/Contents.json | 0 .../Source}/HelperViews/HelperViews.swift | 0 .../Source}/HelperViews/PaymentButton.swift | 0 .../Source}/IntegrationTesterApp.swift | 0 .../IntegrationTester/Source}/MainMenu.swift | 1 + .../Source}/Models/ApplePayModel.swift | 0 .../Source}/Models/BackendModel.swift | 1 + .../Source}/Models/PaymentsModels.swift | 1 + .../Source}/Views/AUBECSDebitView.swift | 0 .../Source}/Views/ApplePayView.swift | 0 .../Source}/Views/CardSetupIntentsView.swift | 0 .../Source}/Views/CardView.swift | 0 .../Source}/Views/FPXView.swift | 0 .../Source}/Views/PaymentMethodView.swift | 1 + .../PaymentMethodWithContactInfoView.swift | 1 + .../PaymentMethodWithShippingInfoView.swift | 1 + .../Source}/Views/SEPADebitView.swift | 1 + .../IntegrationTesterUITests/Info.plist | 10 +- .../IntegrationTesterUITests.swift | 1 + Testers/IntegrationTester/Project.swift | 88 + .../LocalizationTester-Debug.xcconfig | 12 + .../LocalizationTester-Release.xcconfig | 12 + .../LocalizationTester-Shared.xcconfig | 13 + .../LocalizationTesterUITests-Debug.xcconfig | 12 + ...LocalizationTesterUITests-Release.xcconfig | 12 + .../LocalizationTesterUITests-Shared.xcconfig | 12 + .../Project-Debug.xcconfig | 16 + .../Project-Release.xcconfig | 13 + .../Project-Shared.xcconfig | 21 + .../project.pbxproj | 573 +++ .../contents.xcworkspacedata | 7 + .../xcschemes/LocalizationTester.xcscheme | 48 +- .../LocalizationTester}/Info.plist | 0 .../AppIcon.appiconset/Contents.json | 0 .../Resources/Assets.xcassets}/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 33 + .../bg-BG.lproj/LaunchScreen.strings | 0 .../ca-ES.lproj/LaunchScreen.strings | 0 .../cs-CZ.lproj/LaunchScreen.strings | 0 .../Resources}/da.lproj/LaunchScreen.strings | 0 .../Resources}/de.lproj/LaunchScreen.strings | 0 .../el-GR.lproj/LaunchScreen.strings | 0 .../en-GB.lproj/LaunchScreen.strings | 0 .../Resources}/en.lproj/LaunchScreen.strings | 0 .../es-419.lproj/LaunchScreen.strings | 0 .../Resources}/es.lproj/LaunchScreen.strings | 0 .../et-EE.lproj/LaunchScreen.strings | 0 .../Resources}/fi.lproj/LaunchScreen.strings | 0 .../Resources}/fil.lproj/LaunchScreen.strings | 0 .../fr-CA.lproj/LaunchScreen.strings | 0 .../Resources}/fr.lproj/LaunchScreen.strings | 0 .../Resources}/hr.lproj/LaunchScreen.strings | 0 .../Resources}/hu.lproj/LaunchScreen.strings | 0 .../Resources}/id.lproj/LaunchScreen.strings | 0 .../Resources}/it.lproj/LaunchScreen.strings | 0 .../Resources}/ja.lproj/LaunchScreen.strings | 0 .../Resources}/ko.lproj/LaunchScreen.strings | 0 .../lt-LT.lproj/LaunchScreen.strings | 0 .../lv-LV.lproj/LaunchScreen.strings | 0 .../ms-MY.lproj/LaunchScreen.strings | 0 .../Resources}/mt.lproj/LaunchScreen.strings | 0 .../Resources}/nb.lproj/LaunchScreen.strings | 0 .../Resources}/nl.lproj/LaunchScreen.strings | 0 .../nn-NO.lproj/LaunchScreen.strings | 0 .../pl-PL.lproj/LaunchScreen.strings | 0 .../pt-BR.lproj/LaunchScreen.strings | 0 .../pt-PT.lproj/LaunchScreen.strings | 0 .../ro-RO.lproj/LaunchScreen.strings | 0 .../Resources}/ru.lproj/LaunchScreen.strings | 0 .../sk-SK.lproj/LaunchScreen.strings | 0 .../sl-SI.lproj/LaunchScreen.strings | 0 .../Resources}/sv.lproj/LaunchScreen.strings | 0 .../Resources}/tr.lproj/LaunchScreen.strings | 0 .../Resources}/vi.lproj/LaunchScreen.strings | 0 .../zh-HK.lproj/LaunchScreen.strings | 0 .../zh-Hans.lproj/LaunchScreen.strings | 0 .../zh-Hant.lproj/LaunchScreen.strings | 0 .../LocalizationTester/Source}/AppDelegate.h | 0 .../LocalizationTester/Source}/AppDelegate.m | 0 .../Source}/MockCustomerContext.h | 0 .../Source}/MockCustomerContext.m | 0 .../Source}/ViewController.h | 0 .../Source}/ViewController.m | 0 .../LocalizationTester/Source}/main.m | 0 .../LocalizationTesterUITests/Info.plist | 0 .../LocalizationTesterUITests.m | 0 Testers/LocalizationTester/Project.swift | 71 + .../testLoadingAmex_LoadingAmex@3x.png | Bin 0 -> 65952 bytes ...testLoadingDiscover_LoadingDiscover@3x.png | Bin 0 -> 93956 bytes ...LoadingMastercard_LoadingMastercard@3x.png | Bin 0 -> 63454 bytes .../testLoadingVisa_LoadingVisa@3x.png | Bin 0 -> 62454 bytes ...ltiSelectDesign_MultiSelectResponse@3x.png | Bin 0 -> 147948 bytes .../testVerifyOOBDesign_OOBResponse@3x.png | Bin 0 -> 165577 bytes ...leSelectDesign_SingleSelectResponse@3x.png | Bin 0 -> 136220 bytes ...allengeDesign_TextChallengeResponse@3x.png | Bin 0 -> 140486 bytes Tests/Tests/PaymentMethodsViewTest.swift | 36 - Tests/Tests/STPGenericStripeObjectTest.m | 27 - .../STPLocalizationUtils+STPTestAdditions.h | 13 - .../STPLocalizationUtils+STPTestAdditions.m | 42 - Tests/Tests/STPPaymentContextApplePayTest.m | 198 -- ...aymentHandlerStubbedMockedFilesTests.swift | 562 --- .../CocoapodsTest.xcodeproj/project.pbxproj | 110 + .../Tuist+Stripe.swift | 440 +++ Workspace.swift | 67 + ci_scripts/test.rb | 8 +- modules.yaml | 4 +- stripe3ds2-support/ci_scripts/run_tests.sh | 2 +- 1575 files changed, 20264 insertions(+), 21841 deletions(-) create mode 100644 .package.resolved delete mode 100644 Example/AppClipExample/AppClipExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Example/AppClipExample/AppClipExample.xcodeproj/xcshareddata/xcschemes/AppClipExampleClip.xcscheme delete mode 100644 Example/AppClipExample/AppClipExampleClipTests/AppClipExampleClipTests.swift rename {LocalizationTester => Example/AppClipExample/AppClipExampleClipTests}/Info.plist (100%) delete mode 100644 Example/AppClipExample/AppClipExampleClipUITests/AppClipExampleClipUITests.swift delete mode 100644 Example/AppClipExample/AppClipExampleClipUITests/AppClipExampleClipUITestsLaunchTests.swift rename {Stripe3DS2/Stripe3DS2DemoUI/da.lproj => Example/AppClipExample/AppClipExampleClipUITests}/Info.plist (100%) create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExample-Debug.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExample-Release.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExample-Shared.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Debug.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Release.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Shared.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Debug.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Release.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Shared.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Debug.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Release.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Shared.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Debug.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Release.xcconfig create mode 100644 Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Shared.xcconfig rename {Stripe3DS2/Stripe3DS2DemoUI/de.lproj => Example/AppClipExample}/Info.plist (100%) create mode 100644 Example/AppClipExample/Project.swift rename {Stripe3DS2/Stripe3DS2DemoUI/en.lproj => Example/AppClipExample/Tests iOS}/Info.plist (100%) delete mode 100644 Example/AppClipExample/Tests iOS/Tests_iOS.swift delete mode 100644 Example/AppClipExample/Tests iOS/Tests_iOSLaunchTests.swift rename {Stripe3DS2/Stripe3DS2DemoUI/es-419.lproj => Example/AppClipExample/Tests macOS}/Info.plist (100%) delete mode 100644 Example/AppClipExample/Tests macOS/Tests_macOS.swift delete mode 100644 Example/AppClipExample/Tests macOS/Tests_macOSLaunchTests.swift delete mode 100644 Example/Basic Integration/Basic Integration.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 Example/Basic Integration/Basic Integration.xcworkspace/contents.xcworkspacedata delete mode 100644 Example/Basic Integration/Basic Integration.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename Example/Basic Integration/Basic Integration/{ => Resources}/Images.xcassets/AppIcon.appiconset/Contents.json (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Images.xcassets/LaunchImage.launchimage/Contents.json (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Images.xcassets/llamas.imageset/Contents.json (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Images.xcassets/llamas.imageset/llamas.jpg (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Images.xcassets/llamas.imageset/llamas@2x.jpg (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/de.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/en.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/es.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/fi.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/fil.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/fr.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/hr.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/it.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/ja.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/nb.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/nl.lproj/Localizable.strings (100%) rename Example/Basic Integration/Basic Integration/{ => Resources}/Localizations/zh-Hans.lproj/Localizable.strings (100%) create mode 100644 Example/Basic Integration/BuildConfigurations/BasicIntegration-Debug.xcconfig create mode 100644 Example/Basic Integration/BuildConfigurations/BasicIntegration-Release.xcconfig create mode 100644 Example/Basic Integration/BuildConfigurations/BasicIntegration-Shared.xcconfig create mode 100644 Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Debug.xcconfig create mode 100644 Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Release.xcconfig create mode 100644 Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Shared.xcconfig create mode 100644 Example/Basic Integration/Project.swift create mode 100644 Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Debug.xcconfig create mode 100644 Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Release.xcconfig create mode 100644 Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Shared.xcconfig create mode 100644 Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Debug.xcconfig create mode 100644 Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Release.xcconfig create mode 100644 Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Shared.xcconfig rename {LocalizationTester/LocalizationTester.xcodeproj => Example/CardImageVerification Example/CardImageVerification Example.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AccentColor.colorset/Contents.json (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Assets.xcassets/Contents.json (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Base.lproj/LaunchScreen.storyboard (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/Base.lproj/Main.storyboard (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/es.lproj/LaunchScreen.strings (100%) rename Example/CardImageVerification Example/CardImageVerification Example/{ => Resources}/es.lproj/Main.strings (100%) create mode 100644 Example/CardImageVerification Example/Project.swift create mode 100644 Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Debug.xcconfig create mode 100644 Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Release.xcconfig create mode 100644 Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Shared.xcconfig rename {Stripe.xcodeproj => Example/FinancialConnections Example/FinancialConnections Example.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) create mode 100644 Example/FinancialConnections Example/Project.swift create mode 100644 Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Debug.xcconfig create mode 100644 Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Release.xcconfig create mode 100644 Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Shared.xcconfig create mode 100644 Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AccentColor.colorset/Contents.json (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/BackArrow.imageset/BackArrow.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/BackArrow.imageset/BackArrow@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/BackArrow.imageset/BackArrow@3x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/BackArrow.imageset/Contents.json (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/Background.imageset/Background.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/Background.imageset/Background@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/Background.imageset/Background@3x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/Background.imageset/Contents.json (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/BrandColor.colorset/Contents.json (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/BrandLogo.imageset/Contents.json (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/BrandLogo.imageset/Rocket Rides.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/BrandLogo.imageset/Rocket Rides@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/BrandLogo.imageset/Rocket Rides@3x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/Contents.json (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/logo_image.imageset/Contents.json (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/logo_image.imageset/logo_image.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/logo_image.imageset/logo_image@2x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Assets.xcassets/logo_image.imageset/logo_image@3x.png (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Base.lproj/LaunchScreen.storyboard (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/Base.lproj/Main.storyboard (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/bg-BG.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/bg-BG.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ca-ES.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ca-ES.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/cs-CZ.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/cs-CZ.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/da.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/da.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/de.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/de.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/el-GR.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/el-GR.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/en-GB.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/en-GB.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/es-419.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/es-419.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/es.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/es.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/et-EE.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/et-EE.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/fi.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/fi.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/fil.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/fil.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/fr-CA.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/fr-CA.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/fr.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/fr.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/hr.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/hr.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/hu.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/hu.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/id.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/id.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/it.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/it.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ja.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ja.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ko.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ko.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/lt-LT.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/lt-LT.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/lv-LV.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/lv-LV.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ms-MY.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ms-MY.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/mt.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/mt.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/nb.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/nb.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/nl.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/nl.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/nn-NO.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/nn-NO.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/pl-PL.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/pl-PL.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/pt-BR.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/pt-BR.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/pt-PT.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/pt-PT.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ro-RO.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ro-RO.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ru.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/ru.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/sk-SK.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/sk-SK.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/sl-SI.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/sl-SI.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/sv.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/sv.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/tr.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/tr.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/vi.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/vi.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/zh-HK.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/zh-HK.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/zh-Hans.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/zh-Hans.lproj/Main.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/zh-Hant.lproj/LaunchScreen.strings (100%) rename Example/IdentityVerification Example/IdentityVerification Example/{ => Resources}/zh-Hant.lproj/Main.strings (100%) create mode 100644 Example/IdentityVerification Example/Project.swift create mode 100644 Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Debug.xcconfig create mode 100644 Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Release.xcconfig create mode 100644 Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Shared.xcconfig rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/Images.xcassets/AppIcon.appiconset/Contents.json (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/Images.xcassets/Contents.json (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/Images.xcassets/LaunchImage.launchimage/Contents.json (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/de.lproj/Localizable.strings (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/en.lproj/Localizable.strings (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/es.lproj/Localizable.strings (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/fi.lproj/Localizable.strings (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/fr.lproj/Localizable.strings (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/it.lproj/Localizable.strings (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/ja.lproj/Localizable.strings (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/nb.lproj/Localizable.strings (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/nl.lproj/Localizable.strings (100%) rename Example/Non-Card Payment Examples/Non-Card Payment Examples/{ => Resources}/zh-Hans.lproj/Localizable.strings (100%) create mode 100644 Example/Non-Card Payment Examples/Project.swift create mode 100644 Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Debug.xcconfig create mode 100644 Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Release.xcconfig create mode 100644 Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Shared.xcconfig create mode 100644 Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Debug.xcconfig create mode 100644 Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Release.xcconfig create mode 100644 Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Shared.xcconfig create mode 100644 Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Debug.xcconfig create mode 100644 Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Release.xcconfig create mode 100644 Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Shared.xcconfig create mode 100644 Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/xcshareddata/xcschemes/PaymentSheetLocalizationScreenshotGenerator.xcscheme rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/AppDelegate.swift (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/ExampleCheckoutViewController.swift (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/ExampleCustomCheckoutViewController.swift (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/ExampleSwiftUICustomPaymentFlow.swift (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/ExampleSwiftUIPaymentSheet.swift (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/ExampleSwiftUIViews.swift (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/Info.plist (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/PaymentSheetTestPlayground.swift (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-1024.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-120.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-121.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-152.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-167.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-180.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-20.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-29.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-40.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-41.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-42.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-58.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-59.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-60.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-76.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-80.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-81.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-87.png (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Assets.xcassets/Contents.json (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Base.lproj/LaunchScreen.storyboard (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/Base.lproj/Main.storyboard (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/bg-BG.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/bg-BG.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ca-ES.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ca-ES.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/cs-CZ.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/cs-CZ.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/da.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/da.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/de.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/de.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/el-GR.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/el-GR.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/en-GB.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/en-GB.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/es-419.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/es-419.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/es.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/es.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/et-EE.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/et-EE.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/fi.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/fi.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/fil.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/fil.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/fr-CA.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/fr-CA.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/fr.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/fr.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/hr.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/hr.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/hu.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/hu.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/id.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/id.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/it.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/it.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ja.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ja.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ko.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ko.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/lt-LT.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/lt-LT.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/lv-LV.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/lv-LV.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ms-MY.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ms-MY.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/mt.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/mt.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/nb.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/nb.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/nl.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/nl.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/nn-NO.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/nn-NO.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/pl-PL.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/pl-PL.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/pt-BR.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/pt-BR.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/pt-PT.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/pt-PT.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ro-RO.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ro-RO.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ru.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/ru.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/sk-SK.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/sk-SK.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/sl-SI.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/sl-SI.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/sv.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/sv.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/tr.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/tr.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/vi.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/vi.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/zh-HK.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/zh-HK.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/zh-Hans.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/zh-Hans.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/zh-Hant.lproj/LaunchScreen.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => Resources}/zh-Hant.lproj/Main.strings (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/SceneDelegate.swift (100%) rename Example/PaymentSheet Example/PaymentSheet Example/{PaymentSheet Example => }/ViewController.swift (100%) create mode 100644 Example/PaymentSheet Example/Project.swift create mode 100644 Example/UI Examples/BuildConfigurations/UI-Examples-Debug.xcconfig create mode 100644 Example/UI Examples/BuildConfigurations/UI-Examples-Release.xcconfig create mode 100644 Example/UI Examples/BuildConfigurations/UI-Examples-Shared.xcconfig create mode 100644 Example/UI Examples/Project.swift delete mode 100644 Example/UI Examples/UI Examples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 Example/UI Examples/UI Examples.xcworkspace/contents.xcworkspacedata delete mode 100644 Example/UI Examples/UI Examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename Example/UI Examples/UI Examples/{ => Resources}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/de.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/en.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/es.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/fi.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/fr.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/it.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/ja.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/nb.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/nl.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Resources}/Localizations/zh-Hans.lproj/Localizable.strings (100%) rename Example/UI Examples/UI Examples/{ => Source}/AUBECSDebitFormViewController.swift (100%) rename Example/UI Examples/UI Examples/{ => Source}/AppDelegate.swift (100%) rename Example/UI Examples/UI Examples/{ => Source}/BrowseViewController.swift (100%) rename Example/UI Examples/UI Examples/{ => Source}/CardFieldViewController.swift (100%) rename Example/UI Examples/{ => UI Examples/Source}/CardFormViewController.swift (100%) rename Example/UI Examples/UI Examples/{ => Source}/MockCustomerContext.swift (100%) rename Example/UI Examples/UI Examples/{ => Source}/PaymentMethodMessagingViewController.swift (100%) rename Example/UI Examples/{ => UI Examples/Source}/SwiftUICardFormView.swift (100%) rename Example/UI Examples/UI Examples/{ => Source}/ThemeViewController.swift (100%) delete mode 100644 IntegrationTester/IntegrationTester.xcodeproj/project.pbxproj delete mode 100644 LocalizationTester/Base.lproj/LaunchScreen.storyboard delete mode 100644 LocalizationTester/LocalizationTester.xcodeproj/project.pbxproj delete mode 100644 LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 Stripe.xcodeproj/project.pbxproj delete mode 100644 Stripe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename Stripe/Resources/Localizations/tk.lproj/Localizable.strings => Stripe.xcworkspace/.tuist-generated (100%) delete mode 100644 Stripe.xcworkspace/xcshareddata/Stripe.xccheckout rename {Stripe.xcodeproj => Stripe.xcworkspace}/xcshareddata/xcschemes/AllStripeFrameworks.xcscheme (84%) rename {Stripe.xcodeproj => Stripe.xcworkspace}/xcshareddata/xcschemes/AllStripeFrameworksCatalyst.xcscheme (83%) create mode 100644 Stripe/BuildConfigurations/Stripe Tests-Debug.xcconfig create mode 100644 Stripe/BuildConfigurations/Stripe Tests-Release.xcconfig create mode 100644 Stripe/BuildConfigurations/Stripe-Debug.xcconfig create mode 100644 Stripe/BuildConfigurations/Stripe-Release.xcconfig create mode 100644 Stripe/Project.swift create mode 100644 Stripe/Stripe.xcodeproj/project.pbxproj create mode 100644 Stripe/Stripe.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/StripeiOS.xcscheme rename Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2-static.xcscheme => Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/StripeiOSTestHostApp.xcscheme (63%) rename Stripe/{ => StripeiOS}/Info.plist (100%) rename Stripe/{ => StripeiOS}/Resources/Images/Cards/stp_card_form_amex_cvc@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/Cards/stp_card_form_back@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/Cards/stp_card_form_front@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_affin_bank@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_alliance_bank@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_ambank@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_bank_islam@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_bank_muamalat@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_bank_rakyat@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_bsn@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_cimb@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_hong_leong_bank@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_hsbc@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_kfh@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_maybank2e@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_maybank2u@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_ocbc@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_public_bank@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_rhb@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_standard_chartered@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_bank_fpx_uob@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_fpx_big_logo@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/FPX/stp_fpx_logo@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/stp_icon_add@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/stp_icon_bank@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/stp_icon_checkmark@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Images/stp_shipping_form@3x.png (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/bg-BG.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/ca-ES.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/cs-CZ.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/da.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/de.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/el-GR.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/en-GB.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/en.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/es-419.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/es.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/et-EE.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/fi.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/fil.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/fr-CA.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/fr.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/hr.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/hu.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/id.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/it.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/ja.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/ko.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/lt-LT.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/lv-LV.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/ms-MY.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/mt.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/nb.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/nl.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/nn-NO.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/pl-PL.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/pt-BR.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/pt-PT.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/ro-RO.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/ru.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/sk-SK.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/sl-SI.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/sv.lproj/Localizable.strings (100%) create mode 100644 Stripe/StripeiOS/Resources/Localizations/tk.lproj/Localizable.strings rename Stripe/{ => StripeiOS}/Resources/Localizations/tr.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/vi.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/zh-HK.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/zh-Hans.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS}/Resources/Localizations/zh-Hant.lproj/Localizable.strings (100%) rename Stripe/{ => StripeiOS/Source}/Enums+CustomStringConvertible.swift (98%) rename Stripe/{ => StripeiOS/Source}/PKAddPaymentPassRequest+Stripe_Error.swift (100%) rename Stripe/{ => StripeiOS/Source}/PKPaymentAuthorizationViewController+Stripe_Blocks.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPAPIClient+BasicUI.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPAPIClient+PushProvisioning.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPAddCardViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPAddress+BasicUI.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPAddressFieldTableViewCell.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPAddressViewModel.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPAnalyticsClient+BasicUI.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPAnalyticsClient+Payments.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPApplePayContextDelegate.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPApplePayPaymentOption.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPBackendAPIAdapter.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPBankSelectionTableViewCell.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPBankSelectionViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPBlocks.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPCameraView.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPCard+BasicUI.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPCardScanner.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPCardScannerTableViewCell.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPCardValidationState.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPCoreScrollViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPCoreTableViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPCoreViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPCustomerContext.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPEphemeralKey.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPEphemeralKeyManager.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPEphemeralKeyProvider.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPFPXBankStatusResponse.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPFakeAddPaymentPassViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPImageLibrary.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPIntentActionLinkAuthenticateAccount.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPLocalizedString.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentActivityIndicatorView.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentCardTextFieldCell.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentConfiguration.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentContext.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentContextAmountModel.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentIntentParams+BasicUI.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentMethod+BasicUI.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentMethodParams+BasicUI.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentOption.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentOptionTableViewCell.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentOptionTuple.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentOptionsInternalViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentOptionsViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPaymentResult.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPinManagementService.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPromise.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPushProvisioningContext.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPushProvisioningDetails.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPPushProvisioningDetailsParams.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPSectionHeaderView.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPShippingAddressViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPShippingMethodTableViewCell.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPShippingMethodsViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPSource+BasicUI.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPTheme.swift (100%) rename Stripe/{ => StripeiOS/Source}/STPUserInformation.swift (100%) rename Stripe/{ => StripeiOS/Source}/String+Localized.swift (100%) rename Stripe/{ => StripeiOS/Source}/Stripe+Exports.swift (100%) rename Stripe/{ => StripeiOS/Source}/StripeBundleLocator.swift (100%) rename Stripe/{ => StripeiOS/Source}/UIBarButtonItem+Stripe.swift (100%) rename Stripe/{ => StripeiOS/Source}/UINavigationBar+Stripe_Theme.swift (100%) rename Stripe/{ => StripeiOS/Source}/UINavigationController+Stripe_Completion.swift (100%) rename Stripe/{ => StripeiOS/Source}/UITableViewCell+Stripe_Borders.swift (100%) rename Stripe/{ => StripeiOS/Source}/UIToolbar+Stripe_InputAccessory.swift (100%) rename Stripe/{ => StripeiOS/Source}/UIView+Helpers.swift (100%) rename Stripe/{ => StripeiOS/Source}/UIView+Stripe_FirstResponder.swift (100%) rename Stripe/{ => StripeiOS/Source}/UIView+Stripe_SafeAreaBounds.swift (100%) rename Stripe/{ => StripeiOS/Source}/UIViewController+Stripe_KeyboardAvoiding.swift (100%) rename Stripe/{ => StripeiOS/Source}/UIViewController+Stripe_NavigationItemProxy.swift (100%) rename Stripe/{ => StripeiOS/Source}/UIViewController+Stripe_ParentViewController.swift (100%) rename Stripe/{ => StripeiOS/Source}/UserDefaults+Stripe.swift (100%) rename Stripe-umbrella.h => Stripe/StripeiOS/Stripe-umbrella.h (100%) rename Stripe/{ => StripeiOS}/Stripe.modulemap (100%) rename {IntegrationTester/IntegrationTesterUITests => Stripe/StripeiOSAppHostedTests}/Info.plist (100%) rename {StripeiOSAppHostedTests => Stripe/StripeiOSAppHostedTests}/LinkSecureCookieStoreTests.swift (100%) rename {StripeiOSTestHostApp => Stripe/StripeiOSTestHostApp}/AppDelegate.swift (100%) rename {StripeiOSTestHostApp => Stripe/StripeiOSTestHostApp}/Info.plist (100%) rename {IntegrationTester/IntegrationTester => Stripe/StripeiOSTestHostApp/Resources}/Assets.xcassets/AccentColor.colorset/Contents.json (100%) rename {IntegrationTester/IntegrationTester => Stripe/StripeiOSTestHostApp/Resources}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {IntegrationTester/IntegrationTester => Stripe/StripeiOSTestHostApp/Resources}/Assets.xcassets/Contents.json (100%) rename {StripeiOSTestHostApp => Stripe/StripeiOSTestHostApp/Resources}/Base.lproj/LaunchScreen.storyboard (100%) rename {StripeiOSTestHostApp => Stripe/StripeiOSTestHostApp/Resources}/Base.lproj/Main.storyboard (100%) rename {StripeiOSTestHostApp => Stripe/StripeiOSTestHostApp}/ViewController.swift (100%) create mode 100644 Stripe/StripeiOSTests.xctestplan rename {Tests/Tests => Stripe/StripeiOSTests}/APIRequestTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/AddressViewControllerSnapshotTests.swift (98%) rename {Tests/Tests => Stripe/StripeiOSTests}/AfterpayPriceBreakdownViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/AnalyticsHelperTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/AutoCompleteViewControllerSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/ButtonLinkSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/CardExpiryDateTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/CircularButtonSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/ConfirmButtonSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/ConfirmButtonTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/ConsumerSessionTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/FBSnapshotTestCase+STPViewControllerLoading.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/FBSnapshotTestCase+STPViewControllerLoading.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/FBSnapshotTestCase+STPViewControllerLoading.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/FormSpecProviderTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/FraudDetectionDataTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/ImageTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/Info.plist (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/KlarnaHelperTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkAccountServiceTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkBadgeViewSnapshotTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkCardEditElementSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkInMemoryCookieStoreTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkInlineSignupElementSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkInstantDebitMandateViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkLegalTermsViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkNavigationBarSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkNoticeViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkPaymentMethodPickerSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkSignupViewModelTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkStubs.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkToastSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/LinkVerificationViewSnapshotTests.swift (98%) rename {Tests/Tests => Stripe/StripeiOSTests}/MKPlacemark+PaymentSheetTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/NSArray+StripeTest.swift (99%) rename {Tests/Tests => Stripe/StripeiOSTests}/NSDecimalNumber+StripeTest.swift (99%) rename {Tests/Tests => Stripe/StripeiOSTests}/NSDictionary+StripeTest.swift (99%) rename {Tests/Tests => Stripe/StripeiOSTests}/NSLocale+STPSwizzling.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/NSLocale+STPSwizzling.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/NSString+StripeTest.swift (99%) rename {Tests/Tests => Stripe/StripeiOSTests}/NSURLComponents_StripeTest.swift (99%) rename {Tests/Tests => Stripe/StripeiOSTests}/OneTimeCodeTextFieldSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/OneTimeCodeTextFieldTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/OperationDebouncerTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PKPayment+StripeTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PayWithLinkButtonSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PayWithLinkViewController-WalletViewModelTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentAnalyticTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentMethodMessagingViewFunctionalTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentMethodMessagingViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentSheet+APITest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentSheet+PaymentMethodAvailabilityTest.swift (98%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentSheetAddressTests.swift (99%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentSheetFormFactoryTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentSheetLinkAccountTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentSheetPaymentMethodTypeTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentSheetTestUtils.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/PaymentTypeCellSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/3DSSource.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/AlipaySource.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/ApplePayPaymentMethod.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/BacsDebitPaymentMethod.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/BancontactSource.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/BankAccount.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/Card.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/CardPaymentMethod.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/CardSource.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/Customer.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/EPSSource.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/EphemeralKey.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/FileUpload.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/GiropaySource.json (100%) rename {LocalizationTester/Assets.xcassets => Stripe/StripeiOSTests/Resources/Images.xcassets}/Contents.json (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/MockFiles/paymentIntentResponse.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/MultibancoSource.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/P24Source.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/PaymentIntent.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/SEPADebitSource.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/SetupIntent.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/SofortSource.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/WeChatPaySource.json (100%) rename {Tests/Tests => Stripe/StripeiOSTests/Resources}/iDEALSource.json (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testCreatesViewFromServerResponse/get_content_0.tail (97%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testInitializingWithBadConfigurationReturnsError/get_content_0.tail (95%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPApplePayFunctionalTest/testCreateSourceWithPayment/post_v1_tokens_0.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPayment/post_v1_tokens_0.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPaymentClassic/post_v1_tokens_0.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_create_payment_intent_0.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_3ds2_authenticate_2.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_payment_intents_pi_3KgG1XFY0qyl6XeW1TLgmwD3_confirm_1.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPPaymentMethodFunctionalTest/testCreateBacsPaymentMethod/post_v1_payment_methods_0.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePin/get_v1_issuing_cards_ic_token_pin_0.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePinWithError/get_v1_issuing_cards_ic_token_pin_0.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testUpdatePin/post_v1_issuing_cards_ic_token_pin_0.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/recorded_network_traffic/STPPushProvisioningDetailsFunctionalTest/testRetrievePushProvisioningDetails/get_v1_issuing_cards_ic_1C0Xig4JYtv6MPZK91WoXa9u_push_provisioning_details_0.tail (100%) rename {Tests => Stripe/StripeiOSTests/Resources}/stp_test_upload_image.jpeg (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/RotatingCardBrandsViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/RotatingCardBrandsViewTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAPIClientNetworkBridgeTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAPIClientStubbedTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAPIClientTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAPISettingsBridgeTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAUBECSDebitFormViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAUBECSFormViewModelTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAddCardViewControllerLocalizationTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAddCardViewControllerTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAddressTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAddressViewModelTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAnalyticsClientPaymentSheetTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPAnalyticsClientPaymentsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPApplePayContextFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPApplePayContextFunctionalTestExtras.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPApplePayContextTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPApplePayFunctionalTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPApplePayPaymentOptionTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPApplePayTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPApplePayTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPBECSDebitAccountNumberValidatorTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPBSBNumberValidatorTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPBankAccountFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPBankAccountParamsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPBankAccountTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPBinRangeTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPBlocks.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardBINMetadataTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardBrandTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardCVCInputTextFieldFormatterTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardCVCInputTextFieldSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardCVCInputTextFieldTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardCVCInputTextFieldValidatorTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardExpiryInputTextFieldFormatterTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardExpiryInputTextFieldSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardExpiryInputTextFieldValidatorTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardFormViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardFormViewTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardNumberInputTextFieldFormatterTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardNumberInputTextFieldSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardNumberInputTextFieldValidatorTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardParamsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCardValidatorTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCertTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPConfirmCardOptionsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPConfirmPaymentMethodOptionsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPConnectAccountAddressTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPConnectAccountFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPConnectAccountParamsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCountryPickerInputFieldSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCustomerContextTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPCustomerTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPE2ETest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPEphemeralKeyManagerTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPEphemeralKeyTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPErrorBridgeTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPFPXBankBrandTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPFileFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPFileTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPFixtures.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPFixtures.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPFloatingPlaceholderTextFieldSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPFormEncoderTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPFormTextFieldTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPFormViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPGenericInputPickerFieldSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPGenericInputPickerFieldValidatorTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPGenericInputTextFieldSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPImageLibraryTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPInputTextFieldFormatterTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPInputTextFieldValidatorTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPIntentActionAlipayHandleRedirectTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPIntentActionTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPIntentActionTypeTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPIntentActionWeChatPayRedirectToAppTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPIntentWithPreferencesTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPLabeledFormTextFieldViewSnapshotTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPLabeledMultiFormTextFieldViewSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPMandateCustomerAcceptanceParamsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPMandateDataParamsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPMandateOnlineParamsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPMocks.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPMocks.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPNetworkStubbingTestCase.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPNetworkStubbingTestCase.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPNetworkStubbingTestCase.swift (94%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPNumericDigitInputTextFormatterTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPNumericStringValidatorTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPIIFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentCardTextFieldTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentCardTextFieldTestsSwift.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentCardTextFieldViewModelTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentConfigurationTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentContextApplePayTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentContextSnapshotTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentHandlerFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentHandlerTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentIntentEnumsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentIntentFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentIntentFunctionalTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentIntentLastPaymentErrorTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentIntentParamsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentIntentTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodAUBECSDebitParamsTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodAUBECSDebitTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodAddressTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodAffirmParamsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodAffirmTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodAfterpayClearpayParamsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodAfterpayClearpayTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodBacsDebitTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodBancontactParamsTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodBancontactTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodBillingDetailsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodBoletoParamsTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodBoletoTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodCardChecksTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodCardParamsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodCardTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodCardWalletMasterpassTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodCardWalletTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodCardWalletVisaCheckoutTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodEPSParamsTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodEPSTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodFPXTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodGiropayParamsTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodGiropayTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodGrabPayParamsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodKlarnaParamsTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodKlarnaTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodNetBankingParamsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodNetBankingTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodOXXOParamsTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodOXXOTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodOptionsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodParamsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodPayPalParamsTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodPayPalTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodPrzelewy24ParamsTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodPrzelewy24Tests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodSEPADebitTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodSofortParamsTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodSofortTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodThreeDSecureUsageTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodUPIParamsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodUPITests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodUSBankAccountParamsStubbedTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodUSBankAccountParamsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodUSBankAccountTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentMethodiDEALTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentOptionsViewControllerLocalizationTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPaymentOptionsViewControllerTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPhoneNumberValidatorTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPinManagementServiceFunctionalTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPostalCodeInputTextFieldFormatterTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPostalCodeInputTextFieldSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPostalCodeInputTextFieldTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPostalCodeInputTextFieldValidatorTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPostalCodeValidatorTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPPushProvisioningDetailsFunctionalTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPRadarSessionFunctionalTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPRedirectContextTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSTPViewWithSeparatorSnapshotTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSetupIntentConfirmParamsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSetupIntentFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSetupIntentFunctionalTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSetupIntentLastSetupErrorTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSetupIntentTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPShippingAddressViewControllerLocalizationTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPShippingAddressViewControllerTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPShippingMethodsViewControllerLocalizationTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSourceCardDetailsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSourceFunctionalTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSourceOwnerTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSourceParamsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSourceReceiverTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSourceRedirectTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSourceSEPADebitDetailsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSourceTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSourceVerificationTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPStackViewWithSeparatorSnapshotTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPStringUtilsTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPStringUtilsTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPSwiftFixtures.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPTestAPIClient+Swift.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPTestUtils.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPTestUtils.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPTestingAPIClient.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPTestingAPIClient.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPTextFieldDelegateProxyTests.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPThreeDSButtonCustomizationTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPThreeDSFooterCustomizationTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPThreeDSLabelCustomizationTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPThreeDSNavigationBarCustomizationTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPThreeDSSelectionCustomizationTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPThreeDSTextFieldCustomizationTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPThreeDSUICustomizationTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPTokenTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/STPUIVCStripeParentViewControllerTests.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/SWHttpTrafficRecorder.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/SWHttpTrafficRecorder.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/ServerErrorMapperTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/StripeErrorTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/StripeTests-Prefix.pch (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/StripeiOS Tests-Bridging-Header.h (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/TextFieldElement+CardTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/TextFieldElement+IBANTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/UINavigationBar+StripeTest.m (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/UserDefaults+StripeTest.swift (100%) rename {Tests/Tests => Stripe/StripeiOSTests}/WalletHeaderViewSnapshotTests.swift (100%) create mode 100644 Stripe3DS2/BuildConfigurations/Project-Debug.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Project-Release.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Project-Shared.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2-Debug.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2-Release.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2-Shared.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Debug.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Release.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Shared.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Debug.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Release.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Shared.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Debug.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Release.xcconfig create mode 100644 Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Shared.xcconfig create mode 100644 Stripe3DS2/Project.swift delete mode 100644 Stripe3DS2/Stripe3DS2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2DemoUITests.xcscheme delete mode 100644 Stripe3DS2/Stripe3DS2.xcworkspace/contents.xcworkspacedata delete mode 100644 Stripe3DS2/Stripe3DS2.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename Stripe3DS2/Stripe3DS2/{ => include}/STDSAlreadyInitializedException.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSAuthenticationRequestParameters.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSButtonCustomization.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSChallengeParameters.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSCompletionEvent.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSConfigParameters.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSCustomization.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSErrorMessage.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSException.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSFooterCustomization.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSInvalidInputException.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSJSONEncoder.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSLabelCustomization.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSNavigationBarCustomization.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSNotInitializedException.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSProtocolErrorEvent.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSRuntimeErrorEvent.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSRuntimeException.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSSelectionCustomization.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSStripe3DS2Error.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSSwiftTryCatch.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSTextFieldCustomization.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSThreeDS2Service.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSTransaction.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSUICustomization.m (100%) rename Stripe3DS2/Stripe3DS2/{ => include}/STDSWarning.m (100%) delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/Base.lproj/Info.plist rename Stripe3DS2/Stripe3DS2DemoUI/{bg-BG.lproj => }/Info.plist (100%) rename Stripe3DS2/{Stripe3DS2DemoUITests => Stripe3DS2DemoUI/Resources}/acs_challenge.html (100%) rename Stripe3DS2/Stripe3DS2DemoUI/{ => Sources}/AppDelegate.h (100%) rename Stripe3DS2/Stripe3DS2DemoUI/{ => Sources}/AppDelegate.m (100%) rename Stripe3DS2/Stripe3DS2DemoUI/{ => Sources}/STDSChallengeResponseObject+TestObjects.h (100%) rename Stripe3DS2/Stripe3DS2DemoUI/{ => Sources}/STDSChallengeResponseObject+TestObjects.m (100%) rename Stripe3DS2/Stripe3DS2DemoUI/{ => Sources}/STDSDemoViewController.h (100%) rename Stripe3DS2/Stripe3DS2DemoUI/{ => Sources}/STDSDemoViewController.m (100%) rename Stripe3DS2/Stripe3DS2DemoUI/{ => Sources}/main.m (100%) delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/ca-ES.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/cs-CZ.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/el-GR.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/en-GB.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/et-EE.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/fi.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/fil.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/fr-CA.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/fr.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/hr.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/hu.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/id.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/it.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/ja.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/ko.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/lt-LT.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/lv-LV.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/ms-MY.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/mt.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/nb.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/nl.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/nn-NO.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/pl-PL.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/pt-BR.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/pt-PT.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/ro-RO.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/ru.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/sk-SK.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/sl-SI.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/sv.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/tr.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/vi.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/zh-HK.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/zh-Hans.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUI/zh-Hant.lproj/Info.plist delete mode 100644 Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingAmex_LoadingAmex@2x.png delete mode 100644 Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingDiscover_LoadingDiscover@2x.png delete mode 100644 Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingMastercard_LoadingMastercard@2x.png delete mode 100644 Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingVisa_LoadingVisa@2x.png delete mode 100644 Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyMultiSelectDesign_MultiSelectResponse@2x.png delete mode 100644 Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyOOBDesign_OOBResponse@2x.png delete mode 100644 Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifySingleSelectDesign_SingleSelectResponse@2x.png delete mode 100644 Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyTextChallengeDesign_TextChallengeResponse@2x.png create mode 100644 StripeApplePay/Project.swift create mode 100644 StripeApplePay/StripeApplePay.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 StripeApplePay/StripeApplePayTestUtils/StripeApplePayTestUtils.h rename {StripeiOSAppHostedTests => StripeApplePay/StripeApplePayTests}/Info.plist (100%) delete mode 100644 StripeApplePay/StripeApplePayTests/StripeApplePayTests.swift create mode 100644 StripeCameraCore/Project.swift create mode 100644 StripeCameraCore/StripeCameraCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 StripeCameraCore/StripeCameraCore.xcodeproj/xcshareddata/xcschemes/StripeCameraCoreTestUtils.xcscheme create mode 100644 StripeCardScan/BuildConfigurations/StripeCardScan-Debug.xcconfig create mode 100644 StripeCardScan/BuildConfigurations/StripeCardScan-Release.xcconfig create mode 100644 StripeCardScan/Project.swift create mode 100644 StripeCardScan/StripeCardScan.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 StripeCore/Project.swift create mode 100644 StripeCore/StripeCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2Tests.xcscheme => StripeCore/StripeCore.xcodeproj/xcshareddata/xcschemes/StripeCoreTestUtils.xcscheme (59%) create mode 100644 StripeFinancialConnections/Project.swift create mode 100644 StripeFinancialConnections/StripeFinancialConnections.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 StripeIdentity/Project.swift create mode 100644 StripeIdentity/StripeIdentity.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 StripePaymentSheet/Project.swift create mode 100644 StripePaymentSheet/StripePaymentSheet.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Analytics/AnalyticsHelper.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Analytics/STPAnalyticsClient+Address.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Analytics/STPAnalyticsClient+LUXE.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Categories/Data+SHA256.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Categories/Date+Distance.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Categories/NSAttributedString+Stripe.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Categories/STPPaymentMethod+PaymentSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Categories/STPPaymentMethodParams+PaymentSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Categories/String+Localized.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Categories/String+StripePaymentSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Categories/UserDefaults+Stripe.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/BoolReference.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/DefaultPaymentMethodStore.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/Images.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/IntentStatusPoller.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/PaymentSheetLinkAccount.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/STPCameraView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/STPCardScanner.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/STPImageLibrary.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/STPLocalizedString.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/STPStringUtils.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/StripePaymentSheet+Exports.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Helpers/StripePaymentSheetBundleLocator.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/Link/ConsumerSession+LookupResponse.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/Link/ConsumerSession-SignupResponse.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/Link/ConsumerSession.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/Link/CookieStore/LinkCookieStore.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/Link/CookieStore/LinkInMemoryCookieStore.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/Link/CookieStore/LinkSecureCookieStore.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/Link/PaymentDetails.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/Link/STPAPIClient+Link.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/Link/VerificationSession.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/API Bindings/VO/CardExpiryDate.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Basic UI/Inputs/OneTimeCodeTextField-TextStorage.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Basic UI/Inputs/OneTimeCodeTextField.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Basic UI/SeparatorLabel.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/ACH/LinkFinancialConnectionsAuthManager.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/Badge/LinkBadgeView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/NavigationBar/LinkNavigationBar.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/Notice/LinkNoticeView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-AddButton.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Cell.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-CellContentView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Header.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-RadioButton.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Components/Toast/LinkToast.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController-BaseViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController-LoaderViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController-NewPaymentViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewModel.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController-UpdatePaymentViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController-VerifyAccountViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController-WalletViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController-WalletViewModel.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Controllers/PayWithLinkViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Elements/InlineSignup/LinkInlineSignupElement.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Elements/InlineSignup/LinkInlineSignupView-CheckboxElement.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Elements/InlineSignup/LinkInlineSignupView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Elements/LinkCardEditElement.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Elements/LinkEmailElement.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Extensions/Button+Link.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Extensions/ConfirmButton+Link.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Extensions/FormElement+Link.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Extensions/Intent+Link.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Extensions/PaymentSheet-Configuration+Link.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Extensions/STPAnalyticsClient+Link.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Extensions/UIColor+Link.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/LinkUI.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Services/LinkAccountService.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Utils/Locale+Link.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Utils/OperationDebouncer.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Verification/LinkAccountContext.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Verification/LinkCookieKey.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Verification/LinkUtils.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Verification/LinkVerificationController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Verification/LinkVerificationView-Header.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Verification/LinkVerificationView-LogoutView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Verification/LinkVerificationView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Verification/LinkVerificationViewController-PresentationController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Verification/LinkVerificationViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/ViewModels/LinkInlineSignupViewModel.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Views/LinkInstantDebitMandateView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Views/LinkKeyboardAvoidingScrollView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Views/LinkLegalTermsView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/Internal/Link/Views/LinkMoreInfoView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/AddressViewController/AddressViewController+Configuration.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/AddressViewController/AddressViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/BottomSheet/BottomSheetPresentable.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/BottomSheet/BottomSheetPresentationAnimator.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/BottomSheet/BottomSheetPresentationController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/BottomSheet/BottomSheetTransitioningDelegate.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/BottomSheet/UIViewController+BottomSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerElement.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Elements/ConnectionsElement.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Elements/LinkEnabledPaymentMethodElement.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElement.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElementWrapper.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Elements/TextField/TextFieldElement+Card.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Elements/TextField/TextFieldElement+IBAN.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Error+PaymentSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Intent.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/KlarnaHelper.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Link/PayWithLinkController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Link/PaymentSheet-LinkConfirmOption.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/New Payment Method Screen/AddPaymentMethodViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/New Payment Method Screen/PaymentMethodTypeCollectionView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/New Payment Method Screen/WalletHeaderView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentMethodType.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentOption+Images.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheet+API.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheet+PaymentMethodAvailability.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheet+SwiftUI.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetAppearance.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetConfiguration.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetError.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetFlowController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpec.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecPaymentHandler.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecProvider.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+Card.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+FormSpec.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+UPI.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/STPAPIClient+PaymentSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/STPAnalyticsClient+PaymentSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/STPApplePayContext+PaymentSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/STPPaymentIntentShippingDetailsParams+PaymentSheet.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Saved Payment Method Screen/SavedPaymentMethodCollectionView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Saved Payment Method Screen/SavedPaymentOptionsViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/USBankAccount/BankAccountInfoView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/USBankAccount/USBankAccountPaymentMethodElement.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/ViewControllers/AutoComplete/AddressSearchResult.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/ViewControllers/AutoComplete/AutoCompleteViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/ViewControllers/AutoComplete/String+AutoComplete.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/ViewControllers/BottomSheet3DS2ViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/ViewControllers/BottomSheetViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/ViewControllers/ChoosePaymentOptionViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/ViewControllers/LoadingViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/ViewControllers/PaymentSheetViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/ViewControllers/PollingViewController.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/AUBECSMandate.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/AffirmCopyLabel.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/AfterpayPriceBreakdownView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/Appearance+FontScaling.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/CardScanButton.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/CardScanningView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/CircularButton.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/ConfirmButton.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/ManualEntryButton.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/PayWithLinkButton.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/RotatingCardBrandsView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/SepaMandateView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/ShadowedRoundedRectangleView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/SheetNavigationBar.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/SheetNavigationButton.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/TestModeView.swift (100%) rename StripePaymentSheet/StripePaymentSheet/{ => Source}/PaymentSheet/Views/UIKit+PaymentSheet.swift (100%) rename {StripeApplePay/StripeApplePayTestUtils => StripePaymentSheet/StripePaymentSheetTests}/Info.plist (85%) delete mode 100644 StripePaymentSheet/StripePaymentSheetTests/StripePaymentSheetTests.swift create mode 100644 StripePayments/Project.swift create mode 100644 StripePayments/StripePayments.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename StripePayments/StripePayments/{ => Source}/API Bindings/Legacy Compatability/StripeAPI+Deprecated.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Legacy Compatability/StripeApplePay+Import.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Legacy Compatability/StripeCore+Import.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/ACH/LinkAccountSession.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/ACH/STPCollectBankAccountParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPConfirmAlipayOptions.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPConfirmBLIKOptions.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPConfirmCardOptions.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPConfirmPaymentMethodOptions.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPConfirmUSBankAccountOptions.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPConfirmWeChatPayOptions.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntent.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentAction.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentActionRedirectToURL.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentEnums.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentLastPaymentError.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetails.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddress.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddressParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceAction.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceActionAuthorizeWithURL.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/STPPaymentMethod.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/STPPaymentMethodAddress.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/STPPaymentMethodBillingDetails.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebit.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebitParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirm.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirmParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpay.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpayParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipay.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipayParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIK.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIKParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebit.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebitParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontact.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontactParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoleto.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoletoParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCard.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardChecks.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardNetworks.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardPresent.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWallet.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletMasterpass.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletVisaCheckout.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPS.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPSParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPX.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPXParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropay.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropayParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPay.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPayParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarna.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarnaParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLink.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLinkParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBanking.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBankingParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXO.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXOParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPal.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPalParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24Params.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebit.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebitParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofort.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofortParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodThreeDSecureUsage.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPI.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPIParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccount.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccountParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPay.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPayParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEAL.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEALParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPAPIResponseDecodable.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPAddress.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPCardBrand.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPConnectAccountAddress.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPConnectAccountCompanyParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPConnectAccountIndividualParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPConnectAccountParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPContactField.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPCustomer.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPFPXBankBrand.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPFile.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPFormEncodable.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPIssuingCardPin.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPRadarSession.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPToken.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/STPiDEALBank.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/SetupIntents/STPSetupIntent.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/SetupIntents/STPSetupIntentConfirmParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/SetupIntents/STPSetupIntentEnums.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/SetupIntents/STPSetupIntentLastSetupError.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/LinkSettings.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPIntentAction.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPIntentActionAlipayHandleRedirect.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPIntentActionBoletoDisplayDetails.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPIntentActionOXXODisplayDetails.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPIntentActionRedirectToURL.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPIntentActionVerifyWithMicrodeposits.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPIntentActionWeChatPayRedirectToApp.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPMandateCustomerAcceptanceParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPMandateDataParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPMandateOnlineParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Shared/STPPaymentMethodOptions.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/STPSource.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/STPSourceEnums.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/STPSourceOwner.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/STPSourceParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/STPSourceProtocol.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/STPSourceReceiver.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/STPSourceRedirect.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/STPSourceVerification.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/Types/STPBankAccount.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/Types/STPBankAccountParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/Types/STPCard.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/Types/STPCardParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/Types/STPKlarnaLineItem.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/Types/STPSourceCardDetails.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/Types/STPSourceKlarnaDetails.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/Types/STPSourceSEPADebitDetails.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/Models/Sources/Types/STPSourceWeChatPayDetails.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/STPAPIClient+ApplePay.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/STPAPIClient+LinkAccountSession.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/STPAPIClient+Payments.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/STPAPIClient+Radar.swift (100%) rename StripePayments/StripePayments/{ => Source}/API Bindings/STPRedirectContext.swift (100%) rename StripePayments/StripePayments/{ => Source}/Categories/Enums+CustomStringConvertible.swift (100%) rename StripePayments/StripePayments/{ => Source}/Helpers/STPBINController.swift (100%) rename StripePayments/StripePayments/{ => Source}/Helpers/STPBankAccountCollector.swift (100%) rename StripePayments/StripePayments/{ => Source}/Helpers/STPBlocks.swift (100%) rename StripePayments/StripePayments/{ => Source}/Helpers/STPCardValidator.swift (100%) rename StripePayments/StripePayments/{ => Source}/Helpers/STPLocalizedString.swift (100%) rename StripePayments/StripePayments/{ => Source}/Helpers/STPPaymentConfirmation+SwiftUI.swift (100%) rename StripePayments/StripePayments/{ => Source}/Helpers/StripePayments+Export.swift (100%) rename StripePayments/StripePayments/{ => Source}/Helpers/StripePaymentsBundleLocator.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/API Bindings/APIRequest.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/API Bindings/STP3DS2AuthenticateResponse.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/API Bindings/STPEmptyStripeResponse.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/API Bindings/STPFormEncoder.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/API Bindings/STPIntentActionUseStripeSDK.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/API Bindings/STPInternalAPIResponseDecodable.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/API Bindings/STPPaymentMethodListDeserializer.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/API Bindings/STPSourcePoller.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/Analytics/Analytic+Payments.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/Analytics/STPAnalyticsClient+Payments.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/Categories/NSArray+Stripe.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/Categories/NSDecimalNumber+Stripe_Currency.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/Categories/NSDictionary+Stripe.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/Categories/NSString+Stripe.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/Categories/STPAPIClient+PaymentsCore.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/Helpers/ConnectionsSDKAvailability.swift (100%) rename StripePayments/StripePayments/{ => Source}/Internal/STPPaymentHandlerActionParams.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPAuthenticationContext.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPPaymentHandler.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPThreeDSButtonCustomization.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPThreeDSCustomizationSettings.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPThreeDSFooterCustomization.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPThreeDSLabelCustomization.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPThreeDSNavigationBarCustomization.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPThreeDSSelectionCustomization.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPThreeDSTextFieldCustomization.swift (100%) rename StripePayments/StripePayments/{ => Source}/PaymentHandler/STPThreeDSUICustomization.swift (100%) rename {Tests/iOS Tests => StripePayments/StripePaymentsTests}/Info.plist (80%) delete mode 100644 StripePayments/StripePaymentsTests/StripePaymentsTests.swift create mode 100644 StripePaymentsUI/Project.swift create mode 100644 StripePaymentsUI/StripePaymentsUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Categories/Enums+CustomStringConvertible.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/STPBECSDebitAccountNumberValidator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/STPBSBNumberValidator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/STPImageLibrary.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/STPLocalizedString.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/STPPhoneNumberValidator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/STPPostalCodeValidator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/STPStringUtils.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/String+Localized.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/StripePayments+Export.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Helpers/StripePaymentsBundleLocator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/Categories/NSAttributedString+Stripe.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/Categories/UIButton+Stripe.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/CardBrandView.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldFormatter.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldValidator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldFormatter.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldValidator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldFormatter.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldValidator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldFormatter.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldValidator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/STPCountryPickerInputField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/STPGenericInputPickerField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/STPGenericInputTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/STPInputTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/STPInputTextFieldFormatter.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/STPInputTextFieldValidator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/Inputs/STPNumericDigitInputTextFormatter.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/STPAUBECSFormViewModel.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/STPCardLoadingIndicator.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/STPFormTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/STPLabeledFormTextFieldView.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/STPLabeledMultiFormTextFieldView.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/STPPaymentCardTextFieldViewModel.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/STPValidatedTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/Internal/UI/Views/STPViewWithSeparator.swift (100%) rename {Stripe => StripePaymentsUI/StripePaymentsUI/Source/UI Components}/PaymentMethodMessagingView+Configuration.swift (100%) rename {Stripe => StripePaymentsUI/StripePaymentsUI/Source/UI Components}/PaymentMethodMessagingView.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/UI Components/STPAUBECSDebitFormView.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/UI Components/STPCardFormView+SwiftUI.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/UI Components/STPCardFormView.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/UI Components/STPFloatingPlaceholderTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/UI Components/STPFormTextFieldContainer.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/UI Components/STPFormView.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/UI Components/STPMultiFormTextField.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/UI Components/STPPaymentCardTextField+SwiftUI.swift (100%) rename StripePaymentsUI/StripePaymentsUI/{ => Source}/UI Components/STPPaymentCardTextField.swift (100%) rename {StripeiOSResources => StripePaymentsUI/StripePaymentsUITests}/Info.plist (69%) delete mode 100644 StripePaymentsUI/StripePaymentsUITests/StripePaymentsUITests.swift create mode 100644 StripeUICore/Project.swift create mode 100644 StripeUICore/StripeUICore.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Debug.xcconfig create mode 100644 Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Release.xcconfig create mode 100644 Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Shared.xcconfig create mode 100644 Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Debug.xcconfig create mode 100644 Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Release.xcconfig create mode 100644 Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Shared.xcconfig create mode 100644 Testers/IntegrationTester/BuildConfigurations/Project-Debug.xcconfig create mode 100644 Testers/IntegrationTester/BuildConfigurations/Project-Release.xcconfig create mode 100644 Testers/IntegrationTester/BuildConfigurations/Project-Shared.xcconfig rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/Common}/IntegrationMethods.swift (95%) create mode 100644 Testers/IntegrationTester/IntegrationTester.xcodeproj/project.pbxproj create mode 100644 Testers/IntegrationTester/IntegrationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename {IntegrationTester => Testers/IntegrationTester}/IntegrationTester.xcodeproj/xcshareddata/xcschemes/IntegrationTester.xcscheme (89%) rename {IntegrationTester => Testers/IntegrationTester}/IntegrationTester/Info.plist (100%) rename {IntegrationTester => Testers/IntegrationTester}/IntegrationTester/IntegrationTester.entitlements (100%) rename {StripeiOSTestHostApp => Testers/IntegrationTester/IntegrationTester/Resources}/Assets.xcassets/AccentColor.colorset/Contents.json (100%) rename {StripeiOSTestHostApp => Testers/IntegrationTester/IntegrationTester/Resources}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {IntegrationTester/IntegrationTester/Preview Content/Preview Assets.xcassets => Testers/IntegrationTester/IntegrationTester/Resources/Assets.xcassets}/Contents.json (100%) rename {StripeiOSTestHostApp/Assets.xcassets => Testers/IntegrationTester/IntegrationTester/Resources/Preview Content/Preview Assets.xcassets}/Contents.json (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/HelperViews/HelperViews.swift (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/HelperViews/PaymentButton.swift (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/IntegrationTesterApp.swift (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/MainMenu.swift (98%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Models/ApplePayModel.swift (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Models/BackendModel.swift (99%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Models/PaymentsModels.swift (98%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Views/AUBECSDebitView.swift (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Views/ApplePayView.swift (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Views/CardSetupIntentsView.swift (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Views/CardView.swift (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Views/FPXView.swift (100%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Views/PaymentMethodView.swift (97%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Views/PaymentMethodWithContactInfoView.swift (98%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Views/PaymentMethodWithShippingInfoView.swift (99%) rename {IntegrationTester/IntegrationTester => Testers/IntegrationTester/IntegrationTester/Source}/Views/SEPADebitView.swift (98%) rename Stripe3DS2/3DS2-Resources-Info.plist => Testers/IntegrationTester/IntegrationTesterUITests/Info.plist (66%) rename {IntegrationTester => Testers/IntegrationTester}/IntegrationTesterUITests/IntegrationTesterUITests.swift (99%) create mode 100644 Testers/IntegrationTester/Project.swift create mode 100644 Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Debug.xcconfig create mode 100644 Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Release.xcconfig create mode 100644 Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Shared.xcconfig create mode 100644 Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Debug.xcconfig create mode 100644 Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Release.xcconfig create mode 100644 Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Shared.xcconfig create mode 100644 Testers/LocalizationTester/BuildConfigurations/Project-Debug.xcconfig create mode 100644 Testers/LocalizationTester/BuildConfigurations/Project-Release.xcconfig create mode 100644 Testers/LocalizationTester/BuildConfigurations/Project-Shared.xcconfig create mode 100644 Testers/LocalizationTester/LocalizationTester.xcodeproj/project.pbxproj create mode 100644 Testers/LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename {LocalizationTester => Testers/LocalizationTester}/LocalizationTester.xcodeproj/xcshareddata/xcschemes/LocalizationTester.xcscheme (64%) rename {Stripe3DS2/Stripe3DS2DemoUI/es.lproj => Testers/LocalizationTester/LocalizationTester}/Info.plist (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {Tests/Tests/Images.xcassets => Testers/LocalizationTester/LocalizationTester/Resources/Assets.xcassets}/Contents.json (100%) create mode 100644 Testers/LocalizationTester/LocalizationTester/Resources/Base.lproj/LaunchScreen.storyboard rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/bg-BG.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/ca-ES.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/cs-CZ.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/da.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/de.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/el-GR.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/en-GB.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/en.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/es-419.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/es.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/et-EE.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/fi.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/fil.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/fr-CA.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/fr.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/hr.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/hu.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/id.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/it.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/ja.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/ko.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/lt-LT.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/lv-LV.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/ms-MY.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/mt.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/nb.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/nl.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/nn-NO.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/pl-PL.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/pt-BR.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/pt-PT.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/ro-RO.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/ru.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/sk-SK.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/sl-SI.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/sv.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/tr.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/vi.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/zh-HK.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/zh-Hans.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Resources}/zh-Hant.lproj/LaunchScreen.strings (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Source}/AppDelegate.h (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Source}/AppDelegate.m (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Source}/MockCustomerContext.h (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Source}/MockCustomerContext.m (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Source}/ViewController.h (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Source}/ViewController.m (100%) rename {LocalizationTester => Testers/LocalizationTester/LocalizationTester/Source}/main.m (100%) rename {LocalizationTester => Testers/LocalizationTester}/LocalizationTesterUITests/Info.plist (100%) rename {LocalizationTester => Testers/LocalizationTester}/LocalizationTesterUITests/LocalizationTesterUITests.m (100%) create mode 100644 Testers/LocalizationTester/Project.swift create mode 100644 Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingAmex_LoadingAmex@3x.png create mode 100644 Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingDiscover_LoadingDiscover@3x.png create mode 100644 Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingMastercard_LoadingMastercard@3x.png create mode 100644 Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingVisa_LoadingVisa@3x.png create mode 100644 Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyMultiSelectDesign_MultiSelectResponse@3x.png create mode 100644 Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyOOBDesign_OOBResponse@3x.png create mode 100644 Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifySingleSelectDesign_SingleSelectResponse@3x.png create mode 100644 Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyTextChallengeDesign_TextChallengeResponse@3x.png delete mode 100644 Tests/Tests/PaymentMethodsViewTest.swift delete mode 100644 Tests/Tests/STPGenericStripeObjectTest.m delete mode 100644 Tests/Tests/STPLocalizationUtils+STPTestAdditions.h delete mode 100644 Tests/Tests/STPLocalizationUtils+STPTestAdditions.m delete mode 100644 Tests/Tests/STPPaymentContextApplePayTest.m delete mode 100644 Tests/Tests/STPPaymentHandlerStubbedMockedFilesTests.swift create mode 100644 Tuist/ProjectDescriptionHelpers/Tuist+Stripe.swift create mode 100644 Workspace.swift diff --git a/.package.resolved b/.package.resolved new file mode 100644 index 00000000000..7258643f88f --- /dev/null +++ b/.package.resolved @@ -0,0 +1,34 @@ +{ + "object": { + "pins": [ + { + "package": "iOSSnapshotTestCase", + "repositoryURL": "https://github.com/uber/ios-snapshot-test-case", + "state": { + "branch": null, + "revision": "7b10770333a961be6e5a41c9ce04b8c6d3990126", + "version": "8.0.0" + } + }, + { + "package": "OCMock", + "repositoryURL": "https://github.com/erikdoe/ocmock", + "state": { + "branch": "master", + "revision": "05cbc9d934e84ad32530fa53fd7d29c7966d5828", + "version": null + } + }, + { + "package": "OHHTTPStubs", + "repositoryURL": "https://github.com/eurias-stripe/OHHTTPStubs", + "state": { + "branch": "master", + "revision": "94cf8e1d9e38b0edd580ddc699dda23a7bf66515", + "version": null + } + } + ] + }, + "version": 1 +} diff --git a/BuildConfigurations/Project-Debug.xcconfig b/BuildConfigurations/Project-Debug.xcconfig index 893a71f7556..f7641608a71 100644 --- a/BuildConfigurations/Project-Debug.xcconfig +++ b/BuildConfigurations/Project-Debug.xcconfig @@ -39,3 +39,6 @@ ONLY_ACTIVE_ARCH = YES ENABLE_TESTABILITY = YES +SWIFT_OPTIMIZATION_LEVEL = -Onone +MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE +SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG \ No newline at end of file diff --git a/BuildConfigurations/Project-Release.xcconfig b/BuildConfigurations/Project-Release.xcconfig index 7ee2591729a..2c3756358ac 100644 --- a/BuildConfigurations/Project-Release.xcconfig +++ b/BuildConfigurations/Project-Release.xcconfig @@ -31,3 +31,6 @@ GCC_PREPROCESSOR_DEFINITIONS = NDEBUG $(STP_EXTRA_PREPROCESSOR_MACROS) VALIDATE_PRODUCT = YES +SWIFT_OPTIMIZATION_LEVEL = -O +SWIFT_COMPILATION_MODE = wholemodule +MTL_ENABLE_DEBUG_INFO = NO diff --git a/BuildConfigurations/Project-Shared.xcconfig b/BuildConfigurations/Project-Shared.xcconfig index 5beb876437f..236a08bc231 100644 --- a/BuildConfigurations/Project-Shared.xcconfig +++ b/BuildConfigurations/Project-Shared.xcconfig @@ -90,6 +90,13 @@ CLANG_WARN_COMMA = YES CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES +CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES + +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES + +CLANG_WARN_OBJC_LITERAL_CONVERSION = YES + +CLANG_ENABLE_OBJC_WEAK = YES // Compiler for C/C++/Objective-C // @@ -167,3 +174,6 @@ WARNING_CFLAGS = -Wall -Wextra -Wundef -Wfloat-equal IPHONEOS_DEPLOYMENT_TARGET = 13.0 APPLICATION_EXTENSION_API_ONLY = NO + +SWIFT_VERSION = 5.0 +MTL_FAST_MATH = YES diff --git a/BuildConfigurations/StripeiOS Tests-Debug.xcconfig b/BuildConfigurations/StripeiOS Tests-Debug.xcconfig index d969b0409b8..a75f0727921 100644 --- a/BuildConfigurations/StripeiOS Tests-Debug.xcconfig +++ b/BuildConfigurations/StripeiOS Tests-Debug.xcconfig @@ -11,3 +11,4 @@ GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 $(inherited) DEBUG_INFORMATION_FORMAT = dwarf SWIFT_ACTIVE_COMPILATION_CONDITIONS[arch=*] = DEBUG $(inherited) +SWIFT_OPTIMIZATION_LEVEL = -Onone diff --git a/BuildConfigurations/StripeiOS Tests-Shared.xcconfig b/BuildConfigurations/StripeiOS Tests-Shared.xcconfig index 6edb8a190cf..68c69c458c6 100644 --- a/BuildConfigurations/StripeiOS Tests-Shared.xcconfig +++ b/BuildConfigurations/StripeiOS Tests-Shared.xcconfig @@ -28,7 +28,6 @@ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR CODE_SIGN_IDENTITY = iPhone Developer - // Framework Search Paths // // This is a list of paths to folders containing frameworks to be searched by the @@ -87,3 +86,5 @@ OTHER_CFLAGS = ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES LIBRARY_SEARCH_PATHS = $(inherited) + +DEFINES_MODULE = YES \ No newline at end of file diff --git a/BuildConfigurations/StripeiOS-Shared.xcconfig b/BuildConfigurations/StripeiOS-Shared.xcconfig index b274c8d21ba..624b68bc15d 100644 --- a/BuildConfigurations/StripeiOS-Shared.xcconfig +++ b/BuildConfigurations/StripeiOS-Shared.xcconfig @@ -30,6 +30,7 @@ CLANG_WARN_ASSIGN_ENUM = YES CLANG_WARN_DOCUMENTATION_COMMENTS = YES CLANG_WARN_UNGUARDED_AVAILABILITY = YES + // Code Signing Identity // // The name ("common name") of a valid code-signing certificate in a keychain within your @@ -111,7 +112,6 @@ INSTALL_PATH = $(LOCAL_LIBRARY_DIR)/Frameworks LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks - // Skip Install // // Activating this setting when deployment locations are used causes the product to be diff --git a/Example/AppClipExample/AppClipExample.xcodeproj/project.pbxproj b/Example/AppClipExample/AppClipExample.xcodeproj/project.pbxproj index 32dba1026b1..e8c1736f3d3 100644 --- a/Example/AppClipExample/AppClipExample.xcodeproj/project.pbxproj +++ b/Example/AppClipExample/AppClipExample.xcodeproj/project.pbxproj @@ -3,102 +3,128 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 3168992B279A093F00FEBDE3 /* ApplePayModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3168992A279A093F00FEBDE3 /* ApplePayModel.swift */; }; - 3168992D279A09A000FEBDE3 /* BackendModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3168992C279A09A000FEBDE3 /* BackendModel.swift */; }; - 3168992F279A0C1200FEBDE3 /* PaymentButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3168992E279A0C1200FEBDE3 /* PaymentButton.swift */; }; - 31689943279A123E00FEBDE3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 31689942279A123E00FEBDE3 /* Assets.xcassets */; }; - 31689946279A123E00FEBDE3 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 31689945279A123E00FEBDE3 /* Preview Assets.xcassets */; }; - 31689952279A123E00FEBDE3 /* AppClipExampleClipTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31689951279A123E00FEBDE3 /* AppClipExampleClipTests.swift */; }; - 3168995C279A123E00FEBDE3 /* AppClipExampleClipUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3168995B279A123E00FEBDE3 /* AppClipExampleClipUITests.swift */; }; - 3168995E279A123F00FEBDE3 /* AppClipExampleClipUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3168995D279A123F00FEBDE3 /* AppClipExampleClipUITestsLaunchTests.swift */; }; - 31689961279A123F00FEBDE3 /* AppClipExampleClip.app in Embed App Clips */ = {isa = PBXBuildFile; fileRef = 3168993C279A123D00FEBDE3 /* AppClipExampleClip.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 3168996C279A125700FEBDE3 /* AppClipExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31FBFDF32789135400AB706D /* AppClipExampleApp.swift */; }; - 3168996D279A125700FEBDE3 /* BackendModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3168992C279A09A000FEBDE3 /* BackendModel.swift */; }; - 3168996E279A125700FEBDE3 /* ApplePayModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3168992A279A093F00FEBDE3 /* ApplePayModel.swift */; }; - 3168996F279A125700FEBDE3 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31FBFDF42789135400AB706D /* ContentView.swift */; }; - 31689970279A125700FEBDE3 /* PaymentButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3168992E279A0C1200FEBDE3 /* PaymentButton.swift */; }; - 31689976279A16AD00FEBDE3 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31689975279A16AD00FEBDE3 /* StripeCore.framework */; }; - 31689977279A16AD00FEBDE3 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31689975279A16AD00FEBDE3 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31689979279A16B200FEBDE3 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31689978279A16B200FEBDE3 /* StripeApplePay.framework */; }; - 3168997A279A16B200FEBDE3 /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31689978279A16B200FEBDE3 /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3168997C279A16B900FEBDE3 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3168997B279A16B900FEBDE3 /* StripeApplePay.framework */; }; - 3168997D279A16B900FEBDE3 /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3168997B279A16B900FEBDE3 /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31689980279A16BD00FEBDE3 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3168997F279A16BD00FEBDE3 /* StripeCore.framework */; }; - 31689981279A16BD00FEBDE3 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3168997F279A16BD00FEBDE3 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31FBFE0C2789135600AB706D /* Tests_iOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31FBFE0B2789135600AB706D /* Tests_iOS.swift */; }; - 31FBFE0E2789135600AB706D /* Tests_iOSLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31FBFE0D2789135600AB706D /* Tests_iOSLaunchTests.swift */; }; - 31FBFE1B2789135600AB706D /* AppClipExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31FBFDF32789135400AB706D /* AppClipExampleApp.swift */; }; - 31FBFE1D2789135700AB706D /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31FBFDF42789135400AB706D /* ContentView.swift */; }; - 31FBFE1F2789135700AB706D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 31FBFDF52789135600AB706D /* Assets.xcassets */; }; + 002AB37F1CEB2A671FE25987 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 756E5D5CB2AE47AB9796F9A8 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 07B25EDF1B807A9AFE1F7AEB /* BackendModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17F704B5A25E6D5269C95964 /* BackendModel.swift */; }; + 0CFBEED684F12B0096153EF9 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 756E5D5CB2AE47AB9796F9A8 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 1D58D3A6F04B068A53B27F73 /* ApplePayModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86EE0AFE515326ADBB9D63E4 /* ApplePayModel.swift */; }; + 33BB12A5897E5783DC05DEFD /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 756E5D5CB2AE47AB9796F9A8 /* StripeCore.framework */; }; + 3A2EE294E127268841000FCB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3932D439D7C2F9F7D1C5812A /* Assets.xcassets */; }; + 543195F43BC3FEF740FB44DF /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C0A4C7B955C33DE75C85832A /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 78B3861C50B56331151BCE15 /* ApplePayModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86EE0AFE515326ADBB9D63E4 /* ApplePayModel.swift */; }; + 7A29727534280B91C0B9BDF7 /* AppClipExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36DBFFFF533A057CB91DD770 /* AppClipExampleApp.swift */; }; + 80A0A95E55A4364ACD8BCDFB /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C0A4C7B955C33DE75C85832A /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 8CFEDE40D5937726D3558808 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 756E5D5CB2AE47AB9796F9A8 /* StripeCore.framework */; }; + 92F2B9E0E01686BAC7805F4F /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEF973233C9E71C139B25674 /* ContentView.swift */; }; + 9DA0A61B181DE220C293A5A0 /* PaymentButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79D5AB492BDDD29A2B7B3EC9 /* PaymentButton.swift */; }; + A867EF1F2FE7DCAFA1C6CBB0 /* BackendModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17F704B5A25E6D5269C95964 /* BackendModel.swift */; }; + AC41799891BB47F756B5C829 /* PaymentButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79D5AB492BDDD29A2B7B3EC9 /* PaymentButton.swift */; }; + BCDBDA39BBF54392CF758AE9 /* AppClipExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36DBFFFF533A057CB91DD770 /* AppClipExampleApp.swift */; }; + BFC82EC4ED5C824458015B96 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7785865DF939EC7FE00923B3 /* Preview Assets.xcassets */; }; + C25C8C8EFF4AD32716D7D98D /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0A4C7B955C33DE75C85832A /* StripeApplePay.framework */; }; + D9F9006AAA76C41F44315600 /* AppClipExampleClip.app in Embed App Clips */ = {isa = PBXBuildFile; fileRef = 8FDB2A87374049BA75496715 /* AppClipExampleClip.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + E1F51EB51C34EDDF0CE0F005 /* AppClip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D73241689160B1EC3894FDD6 /* AppClip.framework */; }; + E31EBD365B001C9C59401F55 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0A4C7B955C33DE75C85832A /* StripeApplePay.framework */; }; + E86C959646005CCBD250D387 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEF973233C9E71C139B25674 /* ContentView.swift */; }; + EF281549070AAC9F91526610 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 51480E1BF51E8CB6C70CA5F1 /* Assets.xcassets */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3168994E279A123E00FEBDE3 /* PBXContainerItemProxy */ = { + 174E3AE2B4F090D0BE74A66A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 31FBFDEE2789135400AB706D /* Project object */; + containerPortal = DADA3A7DA56C705A650B25A1 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3168993B279A123D00FEBDE3; + remoteGlobalIDString = EA48939682BA660D1EF1D35D; remoteInfo = AppClipExampleClip; }; - 31689958279A123E00FEBDE3 /* PBXContainerItemProxy */ = { + 796A6CE57C07EF00DE01B050 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 31FBFDEE2789135400AB706D /* Project object */; + containerPortal = DADA3A7DA56C705A650B25A1 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3168993B279A123D00FEBDE3; - remoteInfo = AppClipExampleClip; + remoteGlobalIDString = 5172E870AD36F11AEEE0C2B2; + remoteInfo = AppClipExample; }; - 3168995F279A123F00FEBDE3 /* PBXContainerItemProxy */ = { + B3173E1A9EE52D3CFB896048 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 31FBFDEE2789135400AB706D /* Project object */; + containerPortal = DADA3A7DA56C705A650B25A1 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3168993B279A123D00FEBDE3; + remoteGlobalIDString = EA48939682BA660D1EF1D35D; remoteInfo = AppClipExampleClip; }; - 31FBFE082789135600AB706D /* PBXContainerItemProxy */ = { + E32B8A95E89CA9A069B92998 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 31FBFDEE2789135400AB706D /* Project object */; + containerPortal = DADA3A7DA56C705A650B25A1 /* Project object */; proxyType = 1; - remoteGlobalIDString = 31FBFDF92789135600AB706D; - remoteInfo = "AppClipExample (iOS)"; + remoteGlobalIDString = EA48939682BA660D1EF1D35D; + remoteInfo = AppClipExampleClip; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - 31689934279A0EA200FEBDE3 /* Embed Frameworks */ = { + 2ACD435BD524FB2FD99BDD80 /* Embed App Clips */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "$(CONTENTS_FOLDER_PATH)/AppClips"; + dstSubfolderSpec = 16; + files = ( + D9F9006AAA76C41F44315600 /* AppClipExampleClip.app in Embed App Clips */, + ); + name = "Embed App Clips"; + runOnlyForDeploymentPostprocessing = 0; + }; + 59705D5537236979178F004A /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 31689977279A16AD00FEBDE3 /* StripeCore.framework in Embed Frameworks */, - 3168997A279A16B200FEBDE3 /* StripeApplePay.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - 31689965279A123F00FEBDE3 /* Embed App Clips */ = { + BCA489AC35B86F942D620A1B /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; - dstPath = "$(CONTENTS_FOLDER_PATH)/AppClips"; - dstSubfolderSpec = 16; + dstPath = ""; + dstSubfolderSpec = 10; files = ( - 31689961279A123F00FEBDE3 /* AppClipExampleClip.app in Embed App Clips */, ); - name = "Embed App Clips"; + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + C42089162A0F570E200D861D /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - 3168997E279A16B900FEBDE3 /* Embed Frameworks */ = { + F4C5952DE2B62C4594DD0580 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 31689981279A16BD00FEBDE3 /* StripeCore.framework in Embed Frameworks */, - 3168997D279A16B900FEBDE3 /* StripeApplePay.framework in Embed Frameworks */, + 543195F43BC3FEF740FB44DF /* StripeApplePay.framework in Embed Frameworks */, + 0CFBEED684F12B0096153EF9 /* StripeCore.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + F78305C7B13BADF74B632714 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 80A0A95E55A4364ACD8BCDFB /* StripeApplePay.framework in Embed Frameworks */, + 002AB37F1CEB2A671FE25987 /* StripeCore.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -106,69 +132,77 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 3168992A279A093F00FEBDE3 /* ApplePayModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ApplePayModel.swift; sourceTree = ""; }; - 3168992C279A09A000FEBDE3 /* BackendModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackendModel.swift; sourceTree = ""; }; - 3168992E279A0C1200FEBDE3 /* PaymentButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentButton.swift; sourceTree = ""; }; - 3168993C279A123D00FEBDE3 /* AppClipExampleClip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AppClipExampleClip.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 31689942279A123E00FEBDE3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 31689945279A123E00FEBDE3 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; - 31689947279A123E00FEBDE3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 31689948279A123E00FEBDE3 /* AppClipExampleClip.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AppClipExampleClip.entitlements; sourceTree = ""; }; - 3168994D279A123E00FEBDE3 /* AppClipExampleClipTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AppClipExampleClipTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 31689951279A123E00FEBDE3 /* AppClipExampleClipTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppClipExampleClipTests.swift; sourceTree = ""; }; - 31689957279A123E00FEBDE3 /* AppClipExampleClipUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AppClipExampleClipUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3168995B279A123E00FEBDE3 /* AppClipExampleClipUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppClipExampleClipUITests.swift; sourceTree = ""; }; - 3168995D279A123F00FEBDE3 /* AppClipExampleClipUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppClipExampleClipUITestsLaunchTests.swift; sourceTree = ""; }; - 31689975279A16AD00FEBDE3 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31689978279A16B200FEBDE3 /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3168997B279A16B900FEBDE3 /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3168997F279A16BD00FEBDE3 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31689982279A170100FEBDE3 /* AppClipExample (iOS).entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "AppClipExample (iOS).entitlements"; sourceTree = ""; }; - 31FBFDF32789135400AB706D /* AppClipExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppClipExampleApp.swift; sourceTree = ""; }; - 31FBFDF42789135400AB706D /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; - 31FBFDF52789135600AB706D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 31FBFDFA2789135600AB706D /* AppClipExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AppClipExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 31FBFE072789135600AB706D /* Tests iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 31FBFE0B2789135600AB706D /* Tests_iOS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_iOS.swift; sourceTree = ""; }; - 31FBFE0D2789135600AB706D /* Tests_iOSLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_iOSLaunchTests.swift; sourceTree = ""; }; - 31FBFE172789135600AB706D /* Tests_macOS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_macOS.swift; sourceTree = ""; }; - 31FBFE192789135600AB706D /* Tests_macOSLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_macOSLaunchTests.swift; sourceTree = ""; }; + 0A6DF2A677294E6EB70CF000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 17F704B5A25E6D5269C95964 /* BackendModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackendModel.swift; sourceTree = ""; }; + 29CCF0C0D077116684FFD209 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 30E442F06D23668D501C8C8E /* AppClipExampleTests-iOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExampleTests-iOS-Release.xcconfig"; sourceTree = ""; }; + 36DBFFFF533A057CB91DD770 /* AppClipExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppClipExampleApp.swift; sourceTree = ""; }; + 3932D439D7C2F9F7D1C5812A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 443909E7DA6C80AD83EDABDB /* AppClipExampleClipUITests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExampleClipUITests-Debug.xcconfig"; sourceTree = ""; }; + 4C8F6C7B0D0923B1BA540BC3 /* AppClipExampleClipTests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExampleClipTests-Release.xcconfig"; sourceTree = ""; }; + 51480E1BF51E8CB6C70CA5F1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 5222A08DC440D011B4E85F8C /* AppClipExampleClipUITests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExampleClipUITests-Release.xcconfig"; sourceTree = ""; }; + 5F447775F516EDF85E4EEC0E /* AppClipExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AppClipExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 67DB18A9B2F0B274C7D864D8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 70027B2F6D7A3AEFAC760B32 /* AppClipExampleClipTests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExampleClipTests-Debug.xcconfig"; sourceTree = ""; }; + 756E5D5CB2AE47AB9796F9A8 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7785865DF939EC7FE00923B3 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 79D5AB492BDDD29A2B7B3EC9 /* PaymentButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentButton.swift; sourceTree = ""; }; + 7B21218CBEB7B215C997B44C /* AppClipExampleTestsiOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AppClipExampleTestsiOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 7C0E2F373CE5D7C9FA554911 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 86EE0AFE515326ADBB9D63E4 /* ApplePayModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplePayModel.swift; sourceTree = ""; }; + 8724AD2252297C4EFF084A7E /* AppClipExampleClipTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AppClipExampleClipTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 8FDB2A87374049BA75496715 /* AppClipExampleClip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AppClipExampleClip.app; sourceTree = BUILT_PRODUCTS_DIR; }; + AEAACD6553AC5D9449CE62BA /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + AF4954F9DF7D3F13773F8C09 /* AppClipExampleClip-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExampleClip-Debug.xcconfig"; sourceTree = ""; }; + BCE8F6EBFD3B9A5C29F4B9B0 /* AppClipExampleClipUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AppClipExampleClipUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + BEB85BD9F60559775AA470A2 /* AppClipExampleTests-iOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExampleTests-iOS-Debug.xcconfig"; sourceTree = ""; }; + BEBA7304F30731960BFED590 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + C0A4C7B955C33DE75C85832A /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CE6C5CDB954EA154B893DF04 /* AppClipExampleClip.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AppClipExampleClip.entitlements; sourceTree = ""; }; + D0E86BA32430563BF29E96BC /* AppClipExample (iOS).entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "AppClipExample (iOS).entitlements"; sourceTree = ""; }; + D73241689160B1EC3894FDD6 /* AppClip.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppClip.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AppClip.framework; sourceTree = DEVELOPER_DIR; }; + DD91FC958226D99379B2DEFB /* AppClipExample-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExample-Debug.xcconfig"; sourceTree = ""; }; + DEF973233C9E71C139B25674 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + E8886339F9F82BE463762B03 /* AppClipExample-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExample-Release.xcconfig"; sourceTree = ""; }; + F22AD92C29237B736ECC75B3 /* AppClipExampleClip-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "AppClipExampleClip-Release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 31689939279A123D00FEBDE3 /* Frameworks */ = { + 3F5FA91DDAD84264F2E9DBE1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 31689980279A16BD00FEBDE3 /* StripeCore.framework in Frameworks */, - 3168997C279A16B900FEBDE3 /* StripeApplePay.framework in Frameworks */, + C25C8C8EFF4AD32716D7D98D /* StripeApplePay.framework in Frameworks */, + 8CFEDE40D5937726D3558808 /* StripeCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3168994A279A123E00FEBDE3 /* Frameworks */ = { + CB112237D66DA2CEDA56DA7E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 31689954279A123E00FEBDE3 /* Frameworks */ = { + DE4348528B24A29FECA19670 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E1F51EB51C34EDDF0CE0F005 /* AppClip.framework in Frameworks */, + E31EBD365B001C9C59401F55 /* StripeApplePay.framework in Frameworks */, + 33BB12A5897E5783DC05DEFD /* StripeCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 31FBFDF72789135600AB706D /* Frameworks */ = { + F475340F78A3B48A0F7D5E33 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 31689976279A16AD00FEBDE3 /* StripeCore.framework in Frameworks */, - 31689979279A16B200FEBDE3 /* StripeApplePay.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 31FBFE042789135600AB706D /* Frameworks */ = { + FC9D4BE2265C79B886243377 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -178,292 +212,306 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 31689930279A0EA100FEBDE3 /* Frameworks */ = { + 147102A5DFEB955422AA2EE6 = { isa = PBXGroup; children = ( - 3168997F279A16BD00FEBDE3 /* StripeCore.framework */, - 3168997B279A16B900FEBDE3 /* StripeApplePay.framework */, - 31689978279A16B200FEBDE3 /* StripeApplePay.framework */, - 31689975279A16AD00FEBDE3 /* StripeCore.framework */, + 4B185B1F44EE5F4D5BC5EFD5 /* Project */, + A39ABB2C7FB01B17AA563E7C /* Frameworks */, + B6570EB574B6F847FEABCEB7 /* Products */, ); - name = Frameworks; sourceTree = ""; }; - 3168993D279A123D00FEBDE3 /* AppClipExampleClip */ = { + 2B6415E0B774FA8AA69E4E13 /* AppClipExampleClipUITests */ = { isa = PBXGroup; children = ( - 31689942279A123E00FEBDE3 /* Assets.xcassets */, - 31689947279A123E00FEBDE3 /* Info.plist */, - 31689948279A123E00FEBDE3 /* AppClipExampleClip.entitlements */, - 31689944279A123E00FEBDE3 /* Preview Content */, + 67DB18A9B2F0B274C7D864D8 /* Info.plist */, ); - path = AppClipExampleClip; + path = AppClipExampleClipUITests; sourceTree = ""; }; - 31689944279A123E00FEBDE3 /* Preview Content */ = { + 2F785AAB04AFD3153B98C9E0 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 31689945279A123E00FEBDE3 /* Preview Assets.xcassets */, - ); - path = "Preview Content"; + DD91FC958226D99379B2DEFB /* AppClipExample-Debug.xcconfig */, + E8886339F9F82BE463762B03 /* AppClipExample-Release.xcconfig */, + AF4954F9DF7D3F13773F8C09 /* AppClipExampleClip-Debug.xcconfig */, + F22AD92C29237B736ECC75B3 /* AppClipExampleClip-Release.xcconfig */, + 70027B2F6D7A3AEFAC760B32 /* AppClipExampleClipTests-Debug.xcconfig */, + 4C8F6C7B0D0923B1BA540BC3 /* AppClipExampleClipTests-Release.xcconfig */, + 443909E7DA6C80AD83EDABDB /* AppClipExampleClipUITests-Debug.xcconfig */, + 5222A08DC440D011B4E85F8C /* AppClipExampleClipUITests-Release.xcconfig */, + BEB85BD9F60559775AA470A2 /* AppClipExampleTests-iOS-Debug.xcconfig */, + 30E442F06D23668D501C8C8E /* AppClipExampleTests-iOS-Release.xcconfig */, + ); + path = BuildConfigurations; + sourceTree = ""; + }; + 4B185B1F44EE5F4D5BC5EFD5 /* Project */ = { + isa = PBXGroup; + children = ( + 9D49AB58947EF99352A2E37C /* AppClipExampleClip */, + CFA793D11B793A3A11EDE704 /* AppClipExampleClipTests */, + 2B6415E0B774FA8AA69E4E13 /* AppClipExampleClipUITests */, + 2F785AAB04AFD3153B98C9E0 /* BuildConfigurations */, + D2B6724F7E4D645A6E4791CE /* BuildConfigurations */, + B5FD68C638102AE2EC771448 /* Shared */, + FF5254A15D574D3330F91F6D /* Tests iOS */, + D0E86BA32430563BF29E96BC /* AppClipExample (iOS).entitlements */, + 29CCF0C0D077116684FFD209 /* Info.plist */, + ); + name = Project; sourceTree = ""; }; - 31689950279A123E00FEBDE3 /* AppClipExampleClipTests */ = { + 9D49AB58947EF99352A2E37C /* AppClipExampleClip */ = { isa = PBXGroup; children = ( - 31689951279A123E00FEBDE3 /* AppClipExampleClipTests.swift */, + A2AB7D7B714456D04346E2AD /* Preview Content */, + CE6C5CDB954EA154B893DF04 /* AppClipExampleClip.entitlements */, + 51480E1BF51E8CB6C70CA5F1 /* Assets.xcassets */, ); - path = AppClipExampleClipTests; + path = AppClipExampleClip; sourceTree = ""; }; - 3168995A279A123E00FEBDE3 /* AppClipExampleClipUITests */ = { + A2AB7D7B714456D04346E2AD /* Preview Content */ = { isa = PBXGroup; children = ( - 3168995B279A123E00FEBDE3 /* AppClipExampleClipUITests.swift */, - 3168995D279A123F00FEBDE3 /* AppClipExampleClipUITestsLaunchTests.swift */, + 7785865DF939EC7FE00923B3 /* Preview Assets.xcassets */, ); - path = AppClipExampleClipUITests; + path = "Preview Content"; sourceTree = ""; }; - 31FBFDED2789135400AB706D = { + A39ABB2C7FB01B17AA563E7C /* Frameworks */ = { isa = PBXGroup; children = ( - 31689982279A170100FEBDE3 /* AppClipExample (iOS).entitlements */, - 31FBFDF22789135400AB706D /* Shared */, - 31FBFE0A2789135600AB706D /* Tests iOS */, - 31FBFE162789135600AB706D /* Tests macOS */, - 3168993D279A123D00FEBDE3 /* AppClipExampleClip */, - 31689950279A123E00FEBDE3 /* AppClipExampleClipTests */, - 3168995A279A123E00FEBDE3 /* AppClipExampleClipUITests */, - 31FBFDFB2789135600AB706D /* Products */, - 31689930279A0EA100FEBDE3 /* Frameworks */, + D73241689160B1EC3894FDD6 /* AppClip.framework */, ); + name = Frameworks; sourceTree = ""; }; - 31FBFDF22789135400AB706D /* Shared */ = { + B5FD68C638102AE2EC771448 /* Shared */ = { isa = PBXGroup; children = ( - 31FBFDF32789135400AB706D /* AppClipExampleApp.swift */, - 3168992C279A09A000FEBDE3 /* BackendModel.swift */, - 3168992A279A093F00FEBDE3 /* ApplePayModel.swift */, - 31FBFDF42789135400AB706D /* ContentView.swift */, - 3168992E279A0C1200FEBDE3 /* PaymentButton.swift */, - 31FBFDF52789135600AB706D /* Assets.xcassets */, + 36DBFFFF533A057CB91DD770 /* AppClipExampleApp.swift */, + 86EE0AFE515326ADBB9D63E4 /* ApplePayModel.swift */, + 3932D439D7C2F9F7D1C5812A /* Assets.xcassets */, + 17F704B5A25E6D5269C95964 /* BackendModel.swift */, + DEF973233C9E71C139B25674 /* ContentView.swift */, + 79D5AB492BDDD29A2B7B3EC9 /* PaymentButton.swift */, ); path = Shared; sourceTree = ""; }; - 31FBFDFB2789135600AB706D /* Products */ = { + B6570EB574B6F847FEABCEB7 /* Products */ = { isa = PBXGroup; children = ( - 31FBFDFA2789135600AB706D /* AppClipExample.app */, - 31FBFE072789135600AB706D /* Tests iOS.xctest */, - 3168993C279A123D00FEBDE3 /* AppClipExampleClip.app */, - 3168994D279A123E00FEBDE3 /* AppClipExampleClipTests.xctest */, - 31689957279A123E00FEBDE3 /* AppClipExampleClipUITests.xctest */, + 5F447775F516EDF85E4EEC0E /* AppClipExample.app */, + 8FDB2A87374049BA75496715 /* AppClipExampleClip.app */, + 8724AD2252297C4EFF084A7E /* AppClipExampleClipTests.xctest */, + BCE8F6EBFD3B9A5C29F4B9B0 /* AppClipExampleClipUITests.xctest */, + 7B21218CBEB7B215C997B44C /* AppClipExampleTestsiOS.xctest */, + C0A4C7B955C33DE75C85832A /* StripeApplePay.framework */, + 756E5D5CB2AE47AB9796F9A8 /* StripeCore.framework */, ); name = Products; sourceTree = ""; }; - 31FBFE0A2789135600AB706D /* Tests iOS */ = { + CFA793D11B793A3A11EDE704 /* AppClipExampleClipTests */ = { isa = PBXGroup; children = ( - 31FBFE0B2789135600AB706D /* Tests_iOS.swift */, - 31FBFE0D2789135600AB706D /* Tests_iOSLaunchTests.swift */, + 0A6DF2A677294E6EB70CF000 /* Info.plist */, ); - path = "Tests iOS"; + path = AppClipExampleClipTests; sourceTree = ""; }; - 31FBFE162789135600AB706D /* Tests macOS */ = { + D2B6724F7E4D645A6E4791CE /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 31FBFE172789135600AB706D /* Tests_macOS.swift */, - 31FBFE192789135600AB706D /* Tests_macOSLaunchTests.swift */, + AEAACD6553AC5D9449CE62BA /* Project-Debug.xcconfig */, + BEBA7304F30731960BFED590 /* Project-Release.xcconfig */, ); - path = "Tests macOS"; + name = BuildConfigurations; + path = ../../BuildConfigurations; + sourceTree = ""; + }; + FF5254A15D574D3330F91F6D /* Tests iOS */ = { + isa = PBXGroup; + children = ( + 7C0E2F373CE5D7C9FA554911 /* Info.plist */, + ); + path = "Tests iOS"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 3168993B279A123D00FEBDE3 /* AppClipExampleClip */ = { + 5172E870AD36F11AEEE0C2B2 /* AppClipExample */ = { isa = PBXNativeTarget; - buildConfigurationList = 31689962279A123F00FEBDE3 /* Build configuration list for PBXNativeTarget "AppClipExampleClip" */; + buildConfigurationList = 4DBCFF14216A2ECF03A62354 /* Build configuration list for PBXNativeTarget "AppClipExample" */; buildPhases = ( - 31689938279A123D00FEBDE3 /* Sources */, - 31689939279A123D00FEBDE3 /* Frameworks */, - 3168993A279A123D00FEBDE3 /* Resources */, - 3168997E279A16B900FEBDE3 /* Embed Frameworks */, + B1B2BF0A585E1BC896A077EC /* Sources */, + C3B3D6248DAD2847B4E560C4 /* Resources */, + 2ACD435BD524FB2FD99BDD80 /* Embed App Clips */, + F78305C7B13BADF74B632714 /* Embed Frameworks */, + 3F5FA91DDAD84264F2E9DBE1 /* Frameworks */, ); buildRules = ( ); dependencies = ( + 9FD5650323F0DA6DEAA326F4 /* PBXTargetDependency */, ); - name = AppClipExampleClip; - productName = AppClipExampleClip; - productReference = 3168993C279A123D00FEBDE3 /* AppClipExampleClip.app */; - productType = "com.apple.product-type.application.on-demand-install-capable"; + name = AppClipExample; + productName = AppClipExample; + productReference = 5F447775F516EDF85E4EEC0E /* AppClipExample.app */; + productType = "com.apple.product-type.application"; }; - 3168994C279A123E00FEBDE3 /* AppClipExampleClipTests */ = { + BD8DCEDEBC31D1D4301EC40D /* AppClipExampleClipTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 31689966279A123F00FEBDE3 /* Build configuration list for PBXNativeTarget "AppClipExampleClipTests" */; + buildConfigurationList = 3F87DF68DA89D981D56AA445 /* Build configuration list for PBXNativeTarget "AppClipExampleClipTests" */; buildPhases = ( - 31689949279A123E00FEBDE3 /* Sources */, - 3168994A279A123E00FEBDE3 /* Frameworks */, - 3168994B279A123E00FEBDE3 /* Resources */, + F81164E6F39A6E1E11D35C26 /* Sources */, + 4CD184CBBA68CDB6D89539EE /* Resources */, + 59705D5537236979178F004A /* Embed Frameworks */, + FC9D4BE2265C79B886243377 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 3168994F279A123E00FEBDE3 /* PBXTargetDependency */, + 7D4E5F6796A701178C04DC74 /* PBXTargetDependency */, ); name = AppClipExampleClipTests; productName = AppClipExampleClipTests; - productReference = 3168994D279A123E00FEBDE3 /* AppClipExampleClipTests.xctest */; + productReference = 8724AD2252297C4EFF084A7E /* AppClipExampleClipTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 31689956279A123E00FEBDE3 /* AppClipExampleClipUITests */ = { + CBC19CEADF0880F5CA6B9A7F /* AppClipExampleClipUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 31689969279A123F00FEBDE3 /* Build configuration list for PBXNativeTarget "AppClipExampleClipUITests" */; + buildConfigurationList = 974A2D2C20EFB8201F0C43A0 /* Build configuration list for PBXNativeTarget "AppClipExampleClipUITests" */; buildPhases = ( - 31689953279A123E00FEBDE3 /* Sources */, - 31689954279A123E00FEBDE3 /* Frameworks */, - 31689955279A123E00FEBDE3 /* Resources */, + 6C1E0A45C4B30C7200C6B2F0 /* Sources */, + 7C823DC59EE6D1F36D908B87 /* Resources */, + BCA489AC35B86F942D620A1B /* Embed Frameworks */, + F475340F78A3B48A0F7D5E33 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 31689959279A123E00FEBDE3 /* PBXTargetDependency */, + 5CD043C1E3DC493D40501124 /* PBXTargetDependency */, ); name = AppClipExampleClipUITests; productName = AppClipExampleClipUITests; - productReference = 31689957279A123E00FEBDE3 /* AppClipExampleClipUITests.xctest */; + productReference = BCE8F6EBFD3B9A5C29F4B9B0 /* AppClipExampleClipUITests.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; - 31FBFDF92789135600AB706D /* AppClipExample (iOS) */ = { + EA48939682BA660D1EF1D35D /* AppClipExampleClip */ = { isa = PBXNativeTarget; - buildConfigurationList = 31FBFE232789135700AB706D /* Build configuration list for PBXNativeTarget "AppClipExample (iOS)" */; + buildConfigurationList = D6A4EFA9A9595789940DB992 /* Build configuration list for PBXNativeTarget "AppClipExampleClip" */; buildPhases = ( - 31FBFDF62789135600AB706D /* Sources */, - 31FBFDF72789135600AB706D /* Frameworks */, - 31FBFDF82789135600AB706D /* Resources */, - 31689934279A0EA200FEBDE3 /* Embed Frameworks */, - 31689965279A123F00FEBDE3 /* Embed App Clips */, + 858E0B6058F9DA70F79517AA /* Sources */, + 53F66C206AB5BAB3A60602F1 /* Resources */, + F4C5952DE2B62C4594DD0580 /* Embed Frameworks */, + DE4348528B24A29FECA19670 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 31689960279A123F00FEBDE3 /* PBXTargetDependency */, ); - name = "AppClipExample (iOS)"; - productName = "AppClipExample (iOS)"; - productReference = 31FBFDFA2789135600AB706D /* AppClipExample.app */; - productType = "com.apple.product-type.application"; + name = AppClipExampleClip; + productName = AppClipExampleClip; + productReference = 8FDB2A87374049BA75496715 /* AppClipExampleClip.app */; + productType = "com.apple.product-type.application.on-demand-install-capable"; }; - 31FBFE062789135600AB706D /* Tests iOS */ = { + F2EAC263F068AD2E112F7309 /* AppClipExampleTests iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 31FBFE292789135700AB706D /* Build configuration list for PBXNativeTarget "Tests iOS" */; + buildConfigurationList = 02099519327A276EE9AFFFB3 /* Build configuration list for PBXNativeTarget "AppClipExampleTests iOS" */; buildPhases = ( - 31FBFE032789135600AB706D /* Sources */, - 31FBFE042789135600AB706D /* Frameworks */, - 31FBFE052789135600AB706D /* Resources */, + 5582A106C30DF855FA343D1B /* Sources */, + CE04CB4C005142B53121F0D2 /* Resources */, + C42089162A0F570E200D861D /* Embed Frameworks */, + CB112237D66DA2CEDA56DA7E /* Frameworks */, ); buildRules = ( ); dependencies = ( - 31FBFE092789135600AB706D /* PBXTargetDependency */, + 7FAEF71D184BCE6EB37670F7 /* PBXTargetDependency */, ); - name = "Tests iOS"; - productName = "Tests iOS"; - productReference = 31FBFE072789135600AB706D /* Tests iOS.xctest */; + name = "AppClipExampleTests iOS"; + productName = AppClipExampleTestsiOS; + productReference = 7B21218CBEB7B215C997B44C /* AppClipExampleTestsiOS.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 31FBFDEE2789135400AB706D /* Project object */ = { + DADA3A7DA56C705A650B25A1 /* Project object */ = { isa = PBXProject; attributes = { - BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1320; - LastUpgradeCheck = 1320; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 3168993B279A123D00FEBDE3 = { - CreatedOnToolsVersion = 13.2.1; + BD8DCEDEBC31D1D4301EC40D = { + TestTargetID = EA48939682BA660D1EF1D35D; }; - 3168994C279A123E00FEBDE3 = { - CreatedOnToolsVersion = 13.2.1; - TestTargetID = 3168993B279A123D00FEBDE3; + CBC19CEADF0880F5CA6B9A7F = { + TestTargetID = EA48939682BA660D1EF1D35D; }; - 31689956279A123E00FEBDE3 = { - CreatedOnToolsVersion = 13.2.1; - TestTargetID = 3168993B279A123D00FEBDE3; - }; - 31FBFDF92789135600AB706D = { - CreatedOnToolsVersion = 13.2.1; - }; - 31FBFE062789135600AB706D = { - CreatedOnToolsVersion = 13.2.1; - TestTargetID = 31FBFDF92789135600AB706D; + F2EAC263F068AD2E112F7309 = { + TestTargetID = 5172E870AD36F11AEEE0C2B2; }; }; }; - buildConfigurationList = 31FBFDF12789135400AB706D /* Build configuration list for PBXProject "AppClipExample" */; - compatibilityVersion = "Xcode 12.0"; + buildConfigurationList = 97FD91B7B7DB944745270C85 /* Build configuration list for PBXProject "AppClipExample" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + en, ); - mainGroup = 31FBFDED2789135400AB706D; - productRefGroup = 31FBFDFB2789135600AB706D /* Products */; + mainGroup = 147102A5DFEB955422AA2EE6; + productRefGroup = B6570EB574B6F847FEABCEB7 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 31FBFDF92789135600AB706D /* AppClipExample (iOS) */, - 31FBFE062789135600AB706D /* Tests iOS */, - 3168993B279A123D00FEBDE3 /* AppClipExampleClip */, - 3168994C279A123E00FEBDE3 /* AppClipExampleClipTests */, - 31689956279A123E00FEBDE3 /* AppClipExampleClipUITests */, + 5172E870AD36F11AEEE0C2B2 /* AppClipExample */, + F2EAC263F068AD2E112F7309 /* AppClipExampleTests iOS */, + EA48939682BA660D1EF1D35D /* AppClipExampleClip */, + BD8DCEDEBC31D1D4301EC40D /* AppClipExampleClipTests */, + CBC19CEADF0880F5CA6B9A7F /* AppClipExampleClipUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 3168993A279A123D00FEBDE3 /* Resources */ = { + 4CD184CBBA68CDB6D89539EE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31689946279A123E00FEBDE3 /* Preview Assets.xcassets in Resources */, - 31689943279A123E00FEBDE3 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3168994B279A123E00FEBDE3 /* Resources */ = { + 53F66C206AB5BAB3A60602F1 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + EF281549070AAC9F91526610 /* Assets.xcassets in Resources */, + BFC82EC4ED5C824458015B96 /* Preview Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 31689955279A123E00FEBDE3 /* Resources */ = { + 7C823DC59EE6D1F36D908B87 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 31FBFDF82789135600AB706D /* Resources */ = { + C3B3D6248DAD2847B4E560C4 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31FBFE1F2789135700AB706D /* Assets.xcassets in Resources */, + 3A2EE294E127268841000FCB /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 31FBFE052789135600AB706D /* Resources */ = { + CE04CB4C005142B53121F0D2 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -473,506 +521,277 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 31689938279A123D00FEBDE3 /* Sources */ = { + 5582A106C30DF855FA343D1B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3168996C279A125700FEBDE3 /* AppClipExampleApp.swift in Sources */, - 3168996D279A125700FEBDE3 /* BackendModel.swift in Sources */, - 3168996E279A125700FEBDE3 /* ApplePayModel.swift in Sources */, - 3168996F279A125700FEBDE3 /* ContentView.swift in Sources */, - 31689970279A125700FEBDE3 /* PaymentButton.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 31689949279A123E00FEBDE3 /* Sources */ = { + 6C1E0A45C4B30C7200C6B2F0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31689952279A123E00FEBDE3 /* AppClipExampleClipTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 31689953279A123E00FEBDE3 /* Sources */ = { + 858E0B6058F9DA70F79517AA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3168995C279A123E00FEBDE3 /* AppClipExampleClipUITests.swift in Sources */, - 3168995E279A123F00FEBDE3 /* AppClipExampleClipUITestsLaunchTests.swift in Sources */, + BCDBDA39BBF54392CF758AE9 /* AppClipExampleApp.swift in Sources */, + 1D58D3A6F04B068A53B27F73 /* ApplePayModel.swift in Sources */, + 07B25EDF1B807A9AFE1F7AEB /* BackendModel.swift in Sources */, + E86C959646005CCBD250D387 /* ContentView.swift in Sources */, + 9DA0A61B181DE220C293A5A0 /* PaymentButton.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 31FBFDF62789135600AB706D /* Sources */ = { + B1B2BF0A585E1BC896A077EC /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31FBFE1D2789135700AB706D /* ContentView.swift in Sources */, - 31FBFE1B2789135600AB706D /* AppClipExampleApp.swift in Sources */, - 3168992D279A09A000FEBDE3 /* BackendModel.swift in Sources */, - 3168992B279A093F00FEBDE3 /* ApplePayModel.swift in Sources */, - 3168992F279A0C1200FEBDE3 /* PaymentButton.swift in Sources */, + 7A29727534280B91C0B9BDF7 /* AppClipExampleApp.swift in Sources */, + 78B3861C50B56331151BCE15 /* ApplePayModel.swift in Sources */, + A867EF1F2FE7DCAFA1C6CBB0 /* BackendModel.swift in Sources */, + 92F2B9E0E01686BAC7805F4F /* ContentView.swift in Sources */, + AC41799891BB47F756B5C829 /* PaymentButton.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 31FBFE032789135600AB706D /* Sources */ = { + F81164E6F39A6E1E11D35C26 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31FBFE0E2789135600AB706D /* Tests_iOSLaunchTests.swift in Sources */, - 31FBFE0C2789135600AB706D /* Tests_iOS.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3168994F279A123E00FEBDE3 /* PBXTargetDependency */ = { + 5CD043C1E3DC493D40501124 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3168993B279A123D00FEBDE3 /* AppClipExampleClip */; - targetProxy = 3168994E279A123E00FEBDE3 /* PBXContainerItemProxy */; + name = AppClipExampleClip; + target = EA48939682BA660D1EF1D35D /* AppClipExampleClip */; + targetProxy = 174E3AE2B4F090D0BE74A66A /* PBXContainerItemProxy */; }; - 31689959279A123E00FEBDE3 /* PBXTargetDependency */ = { + 7D4E5F6796A701178C04DC74 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3168993B279A123D00FEBDE3 /* AppClipExampleClip */; - targetProxy = 31689958279A123E00FEBDE3 /* PBXContainerItemProxy */; + name = AppClipExampleClip; + target = EA48939682BA660D1EF1D35D /* AppClipExampleClip */; + targetProxy = E32B8A95E89CA9A069B92998 /* PBXContainerItemProxy */; }; - 31689960279A123F00FEBDE3 /* PBXTargetDependency */ = { + 7FAEF71D184BCE6EB37670F7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3168993B279A123D00FEBDE3 /* AppClipExampleClip */; - targetProxy = 3168995F279A123F00FEBDE3 /* PBXContainerItemProxy */; + name = AppClipExample; + target = 5172E870AD36F11AEEE0C2B2 /* AppClipExample */; + targetProxy = 796A6CE57C07EF00DE01B050 /* PBXContainerItemProxy */; }; - 31FBFE092789135600AB706D /* PBXTargetDependency */ = { + 9FD5650323F0DA6DEAA326F4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 31FBFDF92789135600AB706D /* AppClipExample (iOS) */; - targetProxy = 31FBFE082789135600AB706D /* PBXContainerItemProxy */; + name = AppClipExampleClip; + target = EA48939682BA660D1EF1D35D /* AppClipExampleClip */; + targetProxy = B3173E1A9EE52D3CFB896048 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 31689963279A123F00FEBDE3 /* Debug */ = { + 0ED58EAF316CD792CC803378 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BEB85BD9F60559775AA470A2 /* AppClipExampleTests-iOS-Debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = AppClipExampleClip/AppClipExampleClip.entitlements; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"AppClipExampleClip/Preview Content\""; - DEVELOPMENT_TEAM = Y28TH9SHX7; - ENABLE_PREVIEWS = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = AppClipExampleClip/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = AppClipExample; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample.Clip; - PRODUCT_NAME = "$(TARGET_NAME)"; + INFOPLIST_FILE = "Tests iOS/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExampleTests; + PRODUCT_NAME = AppClipExampleTestsiOS; SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = AppClipExample; }; name = Debug; }; - 31689964279A123F00FEBDE3 /* Release */ = { + 23245D2CA3740C808FDC8F4E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = AF4954F9DF7D3F13773F8C09 /* AppClipExampleClip-Debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = AppClipExampleClip/AppClipExampleClip.entitlements; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"AppClipExampleClip/Preview Content\""; - DEVELOPMENT_TEAM = Y28TH9SHX7; - ENABLE_PREVIEWS = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = AppClipExampleClip/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = AppClipExample; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; + CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/AppClipExampleClip/AppClipExampleClip.entitlements"; + INFOPLIST_FILE = Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample.Clip; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = AppClipExampleClip; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 68DC98EF24E45819B1842DCE /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E8886339F9F82BE463762B03 /* AppClipExample-Release.xcconfig */; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/AppClipExample (iOS).entitlements"; + INFOPLIST_FILE = Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample; + PRODUCT_NAME = AppClipExample; SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; name = Release; }; - 31689967279A123F00FEBDE3 /* Debug */ = { + 77931DBE2C5F85195651C039 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = F22AD92C29237B736ECC75B3 /* AppClipExampleClip-Release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample.AppClipExampleClipTests; - PRODUCT_NAME = "$(TARGET_NAME)"; + CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/AppClipExampleClip/AppClipExampleClip.entitlements"; + INFOPLIST_FILE = Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample.Clip; + PRODUCT_NAME = AppClipExampleClip; SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AppClipExampleClip.app/AppClipExampleClip"; }; - name = Debug; + name = Release; }; - 31689968279A123F00FEBDE3 /* Release */ = { + 7F201C18ECC0D268147BD2C2 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 70027B2F6D7A3AEFAC760B32 /* AppClipExampleClipTests-Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - MARKETING_VERSION = 1.0; + INFOPLIST_FILE = AppClipExampleClipTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample.AppClipExampleClipTests; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = AppClipExampleClipTests; SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AppClipExampleClip.app/AppClipExampleClip"; - VALIDATE_PRODUCT = YES; + TEST_TARGET_NAME = AppClipExampleClip; }; - name = Release; + name = Debug; }; - 3168996A279A123F00FEBDE3 /* Debug */ = { + 8DF489E5B5371EA7586021F6 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = DD91FC958226D99379B2DEFB /* AppClipExample-Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample.AppClipExampleClipUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; + CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/AppClipExample (iOS).entitlements"; + INFOPLIST_FILE = Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample; + PRODUCT_NAME = AppClipExample; SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = AppClipExampleClip; }; name = Debug; }; - 3168996B279A123F00FEBDE3 /* Release */ = { + B7FB46363406913E975AAAB3 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 5222A08DC440D011B4E85F8C /* AppClipExampleClipUITests-Release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - MARKETING_VERSION = 1.0; + INFOPLIST_FILE = AppClipExampleClipUITests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample.AppClipExampleClipUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = AppClipExampleClipUITests; SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; TEST_TARGET_NAME = AppClipExampleClip; - VALIDATE_PRODUCT = YES; }; name = Release; }; - 31FBFE212789135700AB706D /* Debug */ = { + C019DE1B92D9298B0D6F9EA5 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 4C8F6C7B0D0923B1BA540BC3 /* AppClipExampleClipTests-Release.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_CODE_COVERAGE = NO; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + BUNDLE_LOADER = "$(TEST_HOST)"; + INFOPLIST_FILE = AppClipExampleClipTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample.AppClipExampleClipTests; + PRODUCT_NAME = AppClipExampleClipTests; + SDKROOT = iphoneos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AppClipExampleClip.app/AppClipExampleClip"; + TEST_TARGET_NAME = AppClipExampleClip; }; - name = Debug; + name = Release; }; - 31FBFE222789135700AB706D /* Release */ = { + D4BD43E3E58D45A214635965 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BEBA7304F30731960BFED590 /* Project-Release.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_CODE_COVERAGE = NO; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; }; - 31FBFE242789135700AB706D /* Debug */ = { + E22368A713173FC0671925DC /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = AEAACD6553AC5D9449CE62BA /* Project-Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = "AppClipExample (iOS).entitlements"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y28TH9SHX7; - ENABLE_PREVIEWS = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample; - PRODUCT_NAME = AppClipExample; - SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 31FBFE252789135700AB706D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = "AppClipExample (iOS).entitlements"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y28TH9SHX7; - ENABLE_PREVIEWS = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample; - PRODUCT_NAME = AppClipExample; - SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 31FBFE2A2789135700AB706D /* Debug */ = { + E505F83F7904A5E64CD2F3BA /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 443909E7DA6C80AD83EDABDB /* AppClipExampleClipUITests-Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.Tests-iOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; + INFOPLIST_FILE = AppClipExampleClipUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExample.AppClipExampleClipUITests; + PRODUCT_NAME = AppClipExampleClipUITests; SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = "AppClipExample (iOS)"; + TEST_TARGET_NAME = AppClipExampleClip; }; name = Debug; }; - 31FBFE2B2789135700AB706D /* Release */ = { + E896108FF9FBFFC70FAE0F86 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 30E442F06D23668D501C8C8E /* AppClipExampleTests-iOS-Release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.Tests-iOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; + INFOPLIST_FILE = "Tests iOS/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.AppClipExampleTests; + PRODUCT_NAME = AppClipExampleTestsiOS; SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = "AppClipExample (iOS)"; - VALIDATE_PRODUCT = YES; + TEST_TARGET_NAME = AppClipExample; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 31689962279A123F00FEBDE3 /* Build configuration list for PBXNativeTarget "AppClipExampleClip" */ = { + 02099519327A276EE9AFFFB3 /* Build configuration list for PBXNativeTarget "AppClipExampleTests iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 31689963279A123F00FEBDE3 /* Debug */, - 31689964279A123F00FEBDE3 /* Release */, + 0ED58EAF316CD792CC803378 /* Debug */, + E896108FF9FBFFC70FAE0F86 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 31689966279A123F00FEBDE3 /* Build configuration list for PBXNativeTarget "AppClipExampleClipTests" */ = { + 3F87DF68DA89D981D56AA445 /* Build configuration list for PBXNativeTarget "AppClipExampleClipTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 31689967279A123F00FEBDE3 /* Debug */, - 31689968279A123F00FEBDE3 /* Release */, + 7F201C18ECC0D268147BD2C2 /* Debug */, + C019DE1B92D9298B0D6F9EA5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 31689969279A123F00FEBDE3 /* Build configuration list for PBXNativeTarget "AppClipExampleClipUITests" */ = { + 4DBCFF14216A2ECF03A62354 /* Build configuration list for PBXNativeTarget "AppClipExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3168996A279A123F00FEBDE3 /* Debug */, - 3168996B279A123F00FEBDE3 /* Release */, + 8DF489E5B5371EA7586021F6 /* Debug */, + 68DC98EF24E45819B1842DCE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 31FBFDF12789135400AB706D /* Build configuration list for PBXProject "AppClipExample" */ = { + 974A2D2C20EFB8201F0C43A0 /* Build configuration list for PBXNativeTarget "AppClipExampleClipUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 31FBFE212789135700AB706D /* Debug */, - 31FBFE222789135700AB706D /* Release */, + E505F83F7904A5E64CD2F3BA /* Debug */, + B7FB46363406913E975AAAB3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 31FBFE232789135700AB706D /* Build configuration list for PBXNativeTarget "AppClipExample (iOS)" */ = { + 97FD91B7B7DB944745270C85 /* Build configuration list for PBXProject "AppClipExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - 31FBFE242789135700AB706D /* Debug */, - 31FBFE252789135700AB706D /* Release */, + E22368A713173FC0671925DC /* Debug */, + D4BD43E3E58D45A214635965 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 31FBFE292789135700AB706D /* Build configuration list for PBXNativeTarget "Tests iOS" */ = { + D6A4EFA9A9595789940DB992 /* Build configuration list for PBXNativeTarget "AppClipExampleClip" */ = { isa = XCConfigurationList; buildConfigurations = ( - 31FBFE2A2789135700AB706D /* Debug */, - 31FBFE2B2789135700AB706D /* Release */, + 23245D2CA3740C808FDC8F4E /* Debug */, + 77931DBE2C5F85195651C039 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 31FBFDEE2789135400AB706D /* Project object */; + rootObject = DADA3A7DA56C705A650B25A1 /* Project object */; } diff --git a/Example/AppClipExample/AppClipExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/AppClipExample/AppClipExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/Example/AppClipExample/AppClipExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Example/AppClipExample/AppClipExample.xcodeproj/xcshareddata/xcschemes/AppClipExample.xcscheme b/Example/AppClipExample/AppClipExample.xcodeproj/xcshareddata/xcschemes/AppClipExample.xcscheme index 06bd9825bc1..ccc2d2f9ad3 100644 --- a/Example/AppClipExample/AppClipExample.xcodeproj/xcshareddata/xcschemes/AppClipExample.xcscheme +++ b/Example/AppClipExample/AppClipExample.xcodeproj/xcshareddata/xcschemes/AppClipExample.xcscheme @@ -1,6 +1,6 @@ + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> @@ -42,12 +42,23 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -75,9 +86,9 @@ runnableDebuggingMode = "0"> diff --git a/Example/AppClipExample/AppClipExample.xcodeproj/xcshareddata/xcschemes/AppClipExampleClip.xcscheme b/Example/AppClipExample/AppClipExample.xcodeproj/xcshareddata/xcschemes/AppClipExampleClip.xcscheme new file mode 100644 index 00000000000..1af17c3b7d5 --- /dev/null +++ b/Example/AppClipExample/AppClipExample.xcodeproj/xcshareddata/xcschemes/AppClipExampleClip.xcscheme @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/AppClipExample/AppClipExampleClipTests/AppClipExampleClipTests.swift b/Example/AppClipExample/AppClipExampleClipTests/AppClipExampleClipTests.swift deleted file mode 100644 index 86ae74525b3..00000000000 --- a/Example/AppClipExample/AppClipExampleClipTests/AppClipExampleClipTests.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// AppClipExampleClipTests.swift -// AppClipExampleClipTests -// -// Created by David Estes on 1/20/22. -// - -import XCTest -@testable import AppClipExampleClip - -class AppClipExampleClipTests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - // Any test you write for XCTest can be annotated as throws and async. - // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. - // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. - } - - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/LocalizationTester/Info.plist b/Example/AppClipExample/AppClipExampleClipTests/Info.plist similarity index 100% rename from LocalizationTester/Info.plist rename to Example/AppClipExample/AppClipExampleClipTests/Info.plist diff --git a/Example/AppClipExample/AppClipExampleClipUITests/AppClipExampleClipUITests.swift b/Example/AppClipExample/AppClipExampleClipUITests/AppClipExampleClipUITests.swift deleted file mode 100644 index db41fa74f2c..00000000000 --- a/Example/AppClipExample/AppClipExampleClipUITests/AppClipExampleClipUITests.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// AppClipExampleClipUITests.swift -// AppClipExampleClipUITests -// -// Created by David Estes on 1/20/22. -// - -import XCTest - -class AppClipExampleClipUITests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - - // In UI tests it is usually best to stop immediately when a failure occurs. - continueAfterFailure = false - - // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // UI tests must launch the application that they test. - let app = XCUIApplication() - app.launch() - - // Use recording to get started writing UI tests. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - func testLaunchPerformance() throws { - if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) { - // This measures how long it takes to launch your application. - measure(metrics: [XCTApplicationLaunchMetric()]) { - XCUIApplication().launch() - } - } - } -} diff --git a/Example/AppClipExample/AppClipExampleClipUITests/AppClipExampleClipUITestsLaunchTests.swift b/Example/AppClipExample/AppClipExampleClipUITests/AppClipExampleClipUITestsLaunchTests.swift deleted file mode 100644 index d84960f54c8..00000000000 --- a/Example/AppClipExample/AppClipExampleClipUITests/AppClipExampleClipUITestsLaunchTests.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// AppClipExampleClipUITestsLaunchTests.swift -// AppClipExampleClipUITests -// -// Created by David Estes on 1/20/22. -// - -import XCTest - -class AppClipExampleClipUITestsLaunchTests: XCTestCase { - - override class var runsForEachTargetApplicationUIConfiguration: Bool { - true - } - - override func setUpWithError() throws { - continueAfterFailure = false - } - - func testLaunch() throws { - let app = XCUIApplication() - app.launch() - - // Insert steps here to perform after app launch but before taking a screenshot, - // such as logging into a test account or navigating somewhere in the app - - let attachment = XCTAttachment(screenshot: app.screenshot()) - attachment.name = "Launch Screen" - attachment.lifetime = .keepAlways - add(attachment) - } -} diff --git a/Stripe3DS2/Stripe3DS2DemoUI/da.lproj/Info.plist b/Example/AppClipExample/AppClipExampleClipUITests/Info.plist similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/da.lproj/Info.plist rename to Example/AppClipExample/AppClipExampleClipUITests/Info.plist diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExample-Debug.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExample-Debug.xcconfig new file mode 100644 index 00000000000..6b890e1e2c0 --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExample-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// AppClipExample-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExample-Shared.xcconfig" + +SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG +SWIFT_COMPILATION_MODE = singlefile +SWIFT_OPTIMIZATION_LEVEL = -Onone \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExample-Release.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExample-Release.xcconfig new file mode 100644 index 00000000000..b5e69ae64c0 --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExample-Release.xcconfig @@ -0,0 +1,11 @@ +// +// AppClipExample-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExample-Shared.xcconfig" + +SWIFT_COMPILATION_MODE = wholemodule +SWIFT_OPTIMIZATION_LEVEL = -Owholemodule \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExample-Shared.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExample-Shared.xcconfig new file mode 100644 index 00000000000..994f684a23d --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExample-Shared.xcconfig @@ -0,0 +1,15 @@ +// +// AppClipExample-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +CODE_SIGN_STYLE = Automatic +ENABLE_PREVIEWS = YES +INFOPLIST_FILE = Info.plist +IPHONEOS_DEPLOYMENT_TARGET = 14.5 +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Debug.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Debug.xcconfig new file mode 100644 index 00000000000..723ad6c208c --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// AppClipExampleClip-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExampleClip-Shared.xcconfig" + +SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG +SWIFT_COMPILATION_MODE = singlefile +SWIFT_OPTIMIZATION_LEVEL = -Onone \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Release.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Release.xcconfig new file mode 100644 index 00000000000..7838964c781 --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Release.xcconfig @@ -0,0 +1,11 @@ +// +// AppClipExampleClip-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExampleClip-Shared.xcconfig" + +SWIFT_COMPILATION_MODE = wholemodule +SWIFT_OPTIMIZATION_LEVEL = -Owholemodule \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Shared.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Shared.xcconfig new file mode 100644 index 00000000000..efa9e4c0e25 --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleClip-Shared.xcconfig @@ -0,0 +1,17 @@ +// +// AppClipExampleClip-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +CODE_SIGN_STYLE = Automatic +DEVELOPMENT_ASSET_PATHS = "AppClipExampleClip/Preview Content" +ENABLE_PREVIEWS = YES +IPHONEOS_DEPLOYMENT_TARGET = 14.5 +SDKROOT = iphoneos +TARGETED_DEVICE_FAMILY = 1,2 +TEST_TARGET = AppClipExample +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Debug.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Debug.xcconfig new file mode 100644 index 00000000000..ee93f9acd7a --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// AppClipExampleClipTests-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExampleClipTests-Shared.xcconfig" + +SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG +SWIFT_COMPILATION_MODE = singlefile +SWIFT_OPTIMIZATION_LEVEL = -Onone \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Release.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Release.xcconfig new file mode 100644 index 00000000000..54d9e6a9b3d --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Release.xcconfig @@ -0,0 +1,11 @@ +// +// AppClipExampleClipTests-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExampleClipTests-Shared.xcconfig" + +SWIFT_COMPILATION_MODE = wholemodule +SWIFT_OPTIMIZATION_LEVEL = -Owholemodule \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Shared.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Shared.xcconfig new file mode 100644 index 00000000000..29c208ad27b --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipTests-Shared.xcconfig @@ -0,0 +1,15 @@ +// +// AppClipExampleClipTests-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +BUNDLE_LOADER = $(TEST_HOST) +CODE_SIGN_STYLE = Automatic +IPHONEOS_DEPLOYMENT_TARGET = 14.5 +TARGETED_DEVICE_FAMILY = 1,2 +TEST_TARGET = AppClipExampleClip +TEST_TARGET_NAME = AppClipExampleClip +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Debug.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Debug.xcconfig new file mode 100644 index 00000000000..67ad92c333d --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// AppClipExampleClipUITests-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExampleClipUITests-Shared.xcconfig" + +SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG +SWIFT_COMPILATION_MODE = singlefile +SWIFT_OPTIMIZATION_LEVEL = -Onone \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Release.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Release.xcconfig new file mode 100644 index 00000000000..ca2df7572a9 --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Release.xcconfig @@ -0,0 +1,11 @@ +// +// AppClipExampleClipUITests-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExampleClipUITests-Shared.xcconfig" + +SWIFT_COMPILATION_MODE = wholemodule +SWIFT_OPTIMIZATION_LEVEL = -Owholemodule \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Shared.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Shared.xcconfig new file mode 100644 index 00000000000..29fb6d039c1 --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleClipUITests-Shared.xcconfig @@ -0,0 +1,15 @@ +// +// AppClipExampleClipUITests-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +CODE_SIGN_STYLE = Automatic +IPHONEOS_DEPLOYMENT_TARGET = 14.5 +SWIFT_VERSION = 5.0 +TARGETED_DEVICE_FAMILY = 1,2 +TEST_TARGET = AppClipExampleClipUITests +TEST_TARGET_NAME = AppClipExampleClip +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Debug.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Debug.xcconfig new file mode 100644 index 00000000000..3a5850776f3 --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// AppClipExampleTests-iOS-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExampleTests-iOS-Shared.xcconfig" + +SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG +SWIFT_COMPILATION_MODE = singlefile +SWIFT_OPTIMIZATION_LEVEL = -Onone \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Release.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Release.xcconfig new file mode 100644 index 00000000000..6465d431e68 --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Release.xcconfig @@ -0,0 +1,11 @@ +// +// AppClipExampleTests-iOS-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "AppClipExampleTests-iOS-Shared.xcconfig" + +SWIFT_COMPILATION_MODE = wholemodule +SWIFT_OPTIMIZATION_LEVEL = -Owholemodule \ No newline at end of file diff --git a/Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Shared.xcconfig b/Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Shared.xcconfig new file mode 100644 index 00000000000..02474143f1d --- /dev/null +++ b/Example/AppClipExample/BuildConfigurations/AppClipExampleTests-iOS-Shared.xcconfig @@ -0,0 +1,14 @@ +// +// AppClipExampleTests-iOS-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +CODE_SIGN_STYLE = Automatic +IPHONEOS_DEPLOYMENT_TARGET = 14.5 +TARGETED_DEVICE_FAMILY = 1,2 +TEST_TARGET = AppClipExample +TEST_TARGET_NAME = AppClipExample +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Stripe3DS2/Stripe3DS2DemoUI/de.lproj/Info.plist b/Example/AppClipExample/Info.plist similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/de.lproj/Info.plist rename to Example/AppClipExample/Info.plist diff --git a/Example/AppClipExample/Project.swift b/Example/AppClipExample/Project.swift new file mode 100644 index 00000000000..f4bea4db0ac --- /dev/null +++ b/Example/AppClipExample/Project.swift @@ -0,0 +1,132 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "AppClipExample", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "AppClipExample", + platform: .iOS, + product: .app, + bundleId: "com.stripe.AppClipExample", + infoPlist: "Info.plist", + sources: "Shared/*.swift", + resources: "Shared/Assets.xcassets", + entitlements: "AppClipExample (iOS).entitlements", + dependencies: [ + .target(name: "AppClipExampleClip"), + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/AppClipExample" + ) + ), + Target( + name: "AppClipExampleTests iOS", + platform: .iOS, + product: .uiTests, + productName: "AppClipExampleTestsiOS", + bundleId: "com.stripe.AppClipExampleTests", + infoPlist: "Tests iOS/Info.plist", + sources: "Tests iOS/*.swift", + dependencies: [ + .target(name: "AppClipExample"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/AppClipExampleTests-iOS" + ) + ), + Target( + name: "AppClipExampleClip", + platform: .iOS, + product: .appClip, + bundleId: "com.stripe.AppClipExample.Clip", + infoPlist: "Info.plist", + sources: "Shared/*.swift", + resources: [ + "AppClipExampleClip/Assets.xcassets", + "AppClipExampleClip/Preview Content/**", + ], + entitlements: "AppClipExampleClip/AppClipExampleClip.entitlements", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/AppClipExampleClip" + ) + ), + Target( + name: "AppClipExampleClipTests", + platform: .iOS, + product: .unitTests, + bundleId: "com.stripe.AppClipExample.AppClipExampleClipTests", + infoPlist: "AppClipExampleClipTests/Info.plist", + sources: "AppClipExampleClipTests/*.swift", + dependencies: [ + .target(name: "AppClipExampleClip"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/AppClipExampleClipTests" + ) + ), + Target( + name: "AppClipExampleClipUITests", + platform: .iOS, + product: .uiTests, + bundleId: "com.stripe.AppClipExample.AppClipExampleClipUITests", + infoPlist: "AppClipExampleClipUITests/Info.plist", + sources: "AppClipExampleClipUITests/*.swift", + dependencies: [ + .target(name: "AppClipExampleClip"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/AppClipExampleClipUITests" + ) + ), + ], + schemes: [ + Scheme( + name: "AppClipExample", + buildAction: .buildAction(targets: [ + "AppClipExample", + "AppClipExampleTests iOS", + ]), + testAction: .targets(["AppClipExampleTests iOS"]), + runAction: .runAction(executable: "AppClipExample") + ), + Scheme( + name: "AppClipExampleClip", + buildAction: .buildAction(targets: [ + "AppClipExampleClip", + "AppClipExampleClipTests", + "AppClipExampleClipUITests", + ]), + testAction: .targets([ + "AppClipExampleClipTests", + "AppClipExampleClipUITests", + ]), + runAction: .runAction(executable: "AppClipExampleClip") + ) + ] +) + diff --git a/Stripe3DS2/Stripe3DS2DemoUI/en.lproj/Info.plist b/Example/AppClipExample/Tests iOS/Info.plist similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/en.lproj/Info.plist rename to Example/AppClipExample/Tests iOS/Info.plist diff --git a/Example/AppClipExample/Tests iOS/Tests_iOS.swift b/Example/AppClipExample/Tests iOS/Tests_iOS.swift deleted file mode 100644 index d6a4e8c8a1d..00000000000 --- a/Example/AppClipExample/Tests iOS/Tests_iOS.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// Tests_iOS.swift -// Tests iOS -// -// Created by David Estes on 1/7/22. -// - -import XCTest - -class Tests_iOS: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - - // In UI tests it is usually best to stop immediately when a failure occurs. - continueAfterFailure = false - - // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // UI tests must launch the application that they test. - let app = XCUIApplication() - app.launch() - - // Use recording to get started writing UI tests. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - func testLaunchPerformance() throws { - if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) { - // This measures how long it takes to launch your application. - measure(metrics: [XCTApplicationLaunchMetric()]) { - XCUIApplication().launch() - } - } - } -} diff --git a/Example/AppClipExample/Tests iOS/Tests_iOSLaunchTests.swift b/Example/AppClipExample/Tests iOS/Tests_iOSLaunchTests.swift deleted file mode 100644 index 36aae183d2a..00000000000 --- a/Example/AppClipExample/Tests iOS/Tests_iOSLaunchTests.swift +++ /dev/null @@ -1,28 +0,0 @@ -// -// Tests_iOSLaunchTests.swift -// Tests iOS -// -// Created by David Estes on 1/7/22. -// - -import XCTest - -class Tests_iOSLaunchTests: XCTestCase { - - override func setUpWithError() throws { - continueAfterFailure = false - } - - func testLaunch() throws { - let app = XCUIApplication() - app.launch() - - // Insert steps here to perform after app launch but before taking a screenshot, - // such as logging into a test account or navigating somewhere in the app - - let attachment = XCTAttachment(screenshot: app.screenshot()) - attachment.name = "Launch Screen" - attachment.lifetime = .keepAlways - add(attachment) - } -} diff --git a/Stripe3DS2/Stripe3DS2DemoUI/es-419.lproj/Info.plist b/Example/AppClipExample/Tests macOS/Info.plist similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/es-419.lproj/Info.plist rename to Example/AppClipExample/Tests macOS/Info.plist diff --git a/Example/AppClipExample/Tests macOS/Tests_macOS.swift b/Example/AppClipExample/Tests macOS/Tests_macOS.swift deleted file mode 100644 index 62a6187f96c..00000000000 --- a/Example/AppClipExample/Tests macOS/Tests_macOS.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// Tests_macOS.swift -// Tests macOS -// -// Created by David Estes on 1/7/22. -// - -import XCTest - -class Tests_macOS: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - - // In UI tests it is usually best to stop immediately when a failure occurs. - continueAfterFailure = false - - // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // UI tests must launch the application that they test. - let app = XCUIApplication() - app.launch() - - // Use recording to get started writing UI tests. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - func testLaunchPerformance() throws { - if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) { - // This measures how long it takes to launch your application. - measure(metrics: [XCTApplicationLaunchMetric()]) { - XCUIApplication().launch() - } - } - } -} diff --git a/Example/AppClipExample/Tests macOS/Tests_macOSLaunchTests.swift b/Example/AppClipExample/Tests macOS/Tests_macOSLaunchTests.swift deleted file mode 100644 index 792219c1b0e..00000000000 --- a/Example/AppClipExample/Tests macOS/Tests_macOSLaunchTests.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// Tests_macOSLaunchTests.swift -// Tests macOS -// -// Created by David Estes on 1/7/22. -// - -import XCTest - -class Tests_macOSLaunchTests: XCTestCase { - - override class var runsForEachTargetApplicationUIConfiguration: Bool { - true - } - - override func setUpWithError() throws { - continueAfterFailure = false - } - - func testLaunch() throws { - let app = XCUIApplication() - app.launch() - - // Insert steps here to perform after app launch but before taking a screenshot, - // such as logging into a test account or navigating somewhere in the app - - let attachment = XCTAttachment(screenshot: app.screenshot()) - attachment.name = "Launch Screen" - attachment.lifetime = .keepAlways - add(attachment) - } -} diff --git a/Example/Basic Integration/Basic Integration.xcodeproj/project.pbxproj b/Example/Basic Integration/Basic Integration.xcodeproj/project.pbxproj index 6a19537ec73..6f07ac5a8bd 100644 --- a/Example/Basic Integration/Basic Integration.xcodeproj/project.pbxproj +++ b/Example/Basic Integration/Basic Integration.xcodeproj/project.pbxproj @@ -3,64 +3,74 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 042CA41D1A685E8D00D778E7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042CA4141A685E8D00D778E7 /* AppDelegate.swift */; }; - 042CA4201A685E8D00D778E7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 042CA4191A685E8D00D778E7 /* Images.xcassets */; }; - 04BC29A01CD81D3900318357 /* BrowseProductsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04BC299F1CD81D3900318357 /* BrowseProductsViewController.swift */; }; - 04D0761D1A69E66F00094431 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04D076191A69C14700094431 /* Stripe.framework */; }; - 04D0761E1A69E66F00094431 /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 04D076191A69C14700094431 /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31138EE328DE6805008AF554 /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138EE228DE6805008AF554 /* StripePayments.framework */; }; - 31138EE428DE6805008AF554 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138EE228DE6805008AF554 /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31138EE628DE680A008AF554 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138EE528DE680A008AF554 /* StripePaymentsUI.framework */; }; - 31138EE728DE680A008AF554 /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138EE528DE680A008AF554 /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3137B69E2743808900CE7F5C /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B69D2743808900CE7F5C /* StripeApplePay.framework */; }; - 3137B69F2743808900CE7F5C /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B69D2743808900CE7F5C /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3143AB43230DF738003A54FC /* BasicIntegrationUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3143AB42230DF738003A54FC /* BasicIntegrationUITests.swift */; }; - 31EFEE15258AE4110069BC5F /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31EFEE14258AE4110069BC5F /* Stripe3DS2.framework */; }; - 31EFEE16258AE4110069BC5F /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31EFEE14258AE4110069BC5F /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 362AA09B269E4F02000DE28F /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 362AA09A269E4F02000DE28F /* StripeCore.framework */; }; - 362AA09C269E4F0B000DE28F /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 362AA09A269E4F02000DE28F /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - B67046BB229F0D7E006CB603 /* EmojiCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67046BA229F0D7E006CB603 /* EmojiCell.swift */; }; - B67046BD229F61CF006CB603 /* EmojiCheckoutCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67046BC229F61CF006CB603 /* EmojiCheckoutCell.swift */; }; - B690AC5122A1A52900D3F50A /* UIColor+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = B690AC5022A1A52900D3F50A /* UIColor+Stripe.swift */; }; - C124A18B1CCACAA1007D42EE /* CheckoutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C124A18A1CCACAA1007D42EE /* CheckoutViewController.swift */; }; - C124A18D1CCACC92007D42EE /* CheckoutRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C124A18C1CCACC92007D42EE /* CheckoutRowView.swift */; }; - C13886661F293F9F00380D46 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C13886641F293F9F00380D46 /* Localizable.strings */; }; - C13C24221D14438700F3765E /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C13C24211D14438700F3765E /* SettingsViewController.swift */; }; - C188F2A61CC1A338003A524B /* MyAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = C188F2A51CC1A338003A524B /* MyAPIClient.swift */; }; - C1B83CBD1CCE6C0700F0790B /* Buttons.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1B83CBC1CCE6C0700F0790B /* Buttons.swift */; }; - E6AFFAFA26E9736F0067462F /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAF926E9736F0067462F /* StripeUICore.framework */; }; - E6AFFAFB26E9736F0067462F /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAF926E9736F0067462F /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F1D12FE71F91721600CE68A7 /* PaymentContextFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1D12FE61F91721600CE68A7 /* PaymentContextFooterView.swift */; }; + 18F2D96937E21836280B1DD5 /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5AC3E78B11A26C06A41EA70 /* SettingsViewController.swift */; }; + 194A9CF9412C5FC672EDB287 /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0FA00A0A0326379942A6B4F3 /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 1BE1AFA79BD15F0594E62834 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 178084545BCB7023D506924F /* Stripe.framework */; }; + 2626992668A16B99629FDF57 /* EmojiCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16266620366B4796B76D6704 /* EmojiCell.swift */; }; + 302B36F4292278B94F7BD4F9 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 563C2A3A8DBE67B6E8B0AC56 /* StripePaymentsUI.framework */; }; + 35DDC58480CD9F23C18B75DE /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0FA00A0A0326379942A6B4F3 /* StripeUICore.framework */; }; + 499685D39D80BDA3D077A892 /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B4AFBA6EC723FA693AD56FAF /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 4C16532D68F2ECF2CCCC33E2 /* EmojiCheckoutCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C8E3087C438CC5E1B18E583 /* EmojiCheckoutCell.swift */; }; + 69A015976360609A27FF8140 /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 563C2A3A8DBE67B6E8B0AC56 /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 6D82E95D4D055316E06BC68E /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B4AFBA6EC723FA693AD56FAF /* StripeApplePay.framework */; }; + 6F0B5B91824CDAF050F7C081 /* BasicIntegrationUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D0F7E1AA9B4F8DEF5E58C4 /* BasicIntegrationUITests.swift */; }; + 71FE4A1532AD3AC57D1053CA /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89BEDC3C75E33E904368B700 /* StripePayments.framework */; }; + 905BC2BC86720C40C55CEFB0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC3AB3F1CABED5C18E685A9C /* AppDelegate.swift */; }; + 945FD39EF8215C84A40F4729 /* UIColor+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = B806BF6EF2535B535C9D20CF /* UIColor+Stripe.swift */; }; + 95BDB6149695108CE5FB1EC6 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 022856BC9E9C415CD6330365 /* StripeCore.framework */; }; + 96F453421BB12B7B0A77ECB8 /* CheckoutRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFC1C0217B83E9ED147F38FD /* CheckoutRowView.swift */; }; + 9AB1D32792FD5EA7CB7E60E8 /* CheckoutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EED59A57831214818B852FEE /* CheckoutViewController.swift */; }; + A3AE2A57BBD1A5CCA13441E9 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D9B689B3512CC37D136468E3 /* Localizable.strings */; }; + A9816F70E6D00FB166BB1CAD /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 85B15F69FE8043C1B1D39B8A /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + BC4E5A9E6949F997A6D61B2E /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 022856BC9E9C415CD6330365 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + C3C9A5C39AF92B2BD9A4AC3E /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 178084545BCB7023D506924F /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + C7E6AE8EEBDBD1ADFBE4C36D /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 85B15F69FE8043C1B1D39B8A /* Stripe3DS2.framework */; }; + C91088084410864EA47CA32A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66D166D166C755DFCD4724DF /* Images.xcassets */; }; + E655BDCE91147022D40C912E /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 89BEDC3C75E33E904368B700 /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + ECE3CFF1CDB3151D63D1A2A5 /* PaymentContextFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11D55C44D6B5AEFFEBA329DD /* PaymentContextFooterView.swift */; }; + EDCDF82E7F39CBE5E81C6019 /* BrowseProductsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E18B41C90883355F7A8CFA6 /* BrowseProductsViewController.swift */; }; + F5D031AB5324F7AEA7BAA5C0 /* MyAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19112014D553A866859734E1 /* MyAPIClient.swift */; }; + F9B4C6421E5B252E49CB75B6 /* Buttons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0327859D3359775406F43692 /* Buttons.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3143AB45230DF738003A54FC /* PBXContainerItemProxy */ = { + 41F277C9A5CB61B36A8125E1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 04823F701A6849200098400B /* Project object */; + containerPortal = 6844342286983ED79A91D255 /* Project object */; proxyType = 1; - remoteGlobalIDString = 04823F771A6849200098400B; + remoteGlobalIDString = E1444D843707845C218A13B4; remoteInfo = "Basic Integration"; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - 04D0761F1A69E66F00094431 /* Embed Frameworks */ = { + 73C79D512FE483D55F05D539 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 31138EE728DE680A008AF554 /* StripePaymentsUI.framework in Embed Frameworks */, - 31138EE428DE6805008AF554 /* StripePayments.framework in Embed Frameworks */, - E6AFFAFB26E9736F0067462F /* StripeUICore.framework in Embed Frameworks */, - 362AA09C269E4F0B000DE28F /* StripeCore.framework in Embed Frameworks */, - 3137B69F2743808900CE7F5C /* StripeApplePay.framework in Embed Frameworks */, - 04D0761E1A69E66F00094431 /* Stripe.framework in Embed Frameworks */, - 31EFEE16258AE4110069BC5F /* Stripe3DS2.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + FCB5FC274C573F8674E5E13E /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + A9816F70E6D00FB166BB1CAD /* Stripe3DS2.framework in Embed Frameworks */, + 499685D39D80BDA3D077A892 /* StripeApplePay.framework in Embed Frameworks */, + BC4E5A9E6949F997A6D61B2E /* StripeCore.framework in Embed Frameworks */, + E655BDCE91147022D40C912E /* StripePayments.framework in Embed Frameworks */, + 69A015976360609A27FF8140 /* StripePaymentsUI.framework in Embed Frameworks */, + 194A9CF9412C5FC672EDB287 /* StripeUICore.framework in Embed Frameworks */, + C3C9A5C39AF92B2BD9A4AC3E /* Stripe.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -68,62 +78,66 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 042CA4141A685E8D00D778E7 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 042CA4191A685E8D00D778E7 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 042CA41A1A685E8D00D778E7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 04823F781A6849200098400B /* Basic Integration.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Basic Integration.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 04BC299F1CD81D3900318357 /* BrowseProductsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BrowseProductsViewController.swift; sourceTree = ""; }; - 04D075D91A69B82B00094431 /* Basic Integration.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Basic Integration.entitlements"; sourceTree = ""; }; - 04D076191A69C14700094431 /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31138EE228DE6805008AF554 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31138EE528DE680A008AF554 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3137B69D2743808900CE7F5C /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3143AB40230DF738003A54FC /* BasicIntegrationUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BasicIntegrationUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3143AB42230DF738003A54FC /* BasicIntegrationUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BasicIntegrationUITests.swift; sourceTree = ""; }; - 3143AB44230DF738003A54FC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 31EFEE14258AE4110069BC5F /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 362AA09A269E4F02000DE28F /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 36F4BC7F26C1BC60001518CD /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = Localizations/hr.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC8626C1BCDE001518CD /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = Localizations/fil.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79D2207FD44300F85BED /* fi */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fi; path = Localizations/fi.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79D3207FD45A00F85BED /* nb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nb; path = Localizations/nb.lproj/Localizable.strings; sourceTree = ""; }; - B67046BA229F0D7E006CB603 /* EmojiCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiCell.swift; sourceTree = ""; }; - B67046BC229F61CF006CB603 /* EmojiCheckoutCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiCheckoutCell.swift; sourceTree = ""; }; - B690AC5022A1A52900D3F50A /* UIColor+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Stripe.swift"; sourceTree = ""; }; - C124A18A1CCACAA1007D42EE /* CheckoutViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckoutViewController.swift; sourceTree = ""; }; - C124A18C1CCACC92007D42EE /* CheckoutRowView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckoutRowView.swift; sourceTree = ""; }; - C13886651F293F9F00380D46 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = Localizations/en.lproj/Localizable.strings; sourceTree = ""; }; - C13886671F293FA900380D46 /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = Localizations/fr.lproj/Localizable.strings; sourceTree = ""; }; - C13886681F293FB200380D46 /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = Localizations/de.lproj/Localizable.strings; sourceTree = ""; }; - C13886691F293FB700380D46 /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "Localizations/zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - C138866A1F293FBB00380D46 /* ja */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ja; path = Localizations/ja.lproj/Localizable.strings; sourceTree = ""; }; - C138866B1F293FBF00380D46 /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = Localizations/es.lproj/Localizable.strings; sourceTree = ""; }; - C138866C1F293FC200380D46 /* it */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = it; path = Localizations/it.lproj/Localizable.strings; sourceTree = ""; }; - C138866D1F293FC500380D46 /* nl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nl; path = Localizations/nl.lproj/Localizable.strings; sourceTree = ""; }; - C13C24211D14438700F3765E /* SettingsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = ""; }; - C188F2A51CC1A338003A524B /* MyAPIClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyAPIClient.swift; sourceTree = ""; }; - C18A6EE11F1EB78B005600CC /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - C1B83CBC1CCE6C0700F0790B /* Buttons.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Buttons.swift; sourceTree = ""; }; - E6AFFAF926E9736F0067462F /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F1D12FE61F91721600CE68A7 /* PaymentContextFooterView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentContextFooterView.swift; sourceTree = ""; }; + 022856BC9E9C415CD6330365 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0327859D3359775406F43692 /* Buttons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Buttons.swift; sourceTree = ""; }; + 08BBF92CB4DC88F1D80E137B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 0FA00A0A0326379942A6B4F3 /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 11D55C44D6B5AEFFEBA329DD /* PaymentContextFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentContextFooterView.swift; sourceTree = ""; }; + 16266620366B4796B76D6704 /* EmojiCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiCell.swift; sourceTree = ""; }; + 178084545BCB7023D506924F /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 19112014D553A866859734E1 /* MyAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyAPIClient.swift; sourceTree = ""; }; + 279E5BE26140F948375F1E42 /* BasicIntegrationUITests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "BasicIntegrationUITests-Debug.xcconfig"; sourceTree = ""; }; + 3219256F716EA01C1F702B69 /* BasicIntegration.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BasicIntegration.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 361E03AF40022E3CE42541DC /* BasicIntegrationUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BasicIntegrationUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 4263D23E68CC2784E891A23A /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + 4F822D4234D6651081ABEEFB /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + 512F713546BED9521785768B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 563C2A3A8DBE67B6E8B0AC56 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5F1A208AE2350AA815ADE529 /* BasicIntegrationUITests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "BasicIntegrationUITests-Release.xcconfig"; sourceTree = ""; }; + 66D166D166C755DFCD4724DF /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 6AE285E21325BCEB58A6B5E5 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + 7161D6D35D73FCCEC90ACC4B /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 76A4520B38C79648CC52074D /* BasicIntegration-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "BasicIntegration-Debug.xcconfig"; sourceTree = ""; }; + 7C8E3087C438CC5E1B18E583 /* EmojiCheckoutCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiCheckoutCell.swift; sourceTree = ""; }; + 7D44D5F70C1124245CC1FFB4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 85B15F69FE8043C1B1D39B8A /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 87573787ED54C9F497D1084D /* BasicIntegration-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "BasicIntegration-Release.xcconfig"; sourceTree = ""; }; + 89BEDC3C75E33E904368B700 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 94D0F7E1AA9B4F8DEF5E58C4 /* BasicIntegrationUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BasicIntegrationUITests.swift; sourceTree = ""; }; + 96B0F507ADF5EB1ED0A5ACA1 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + 9E18B41C90883355F7A8CFA6 /* BrowseProductsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrowseProductsViewController.swift; sourceTree = ""; }; + A6AC6645AAFBACA236D5A851 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + AB37DFF02DF580312674BA76 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + B4AFBA6EC723FA693AD56FAF /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B7782D6F8DA2E27F3813755F /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + B806BF6EF2535B535C9D20CF /* UIColor+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Stripe.swift"; sourceTree = ""; }; + B8B07FEB44C4F6DD941DBF16 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + BA43DADA7CCA6BCE06E6F466 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + BC3AB3F1CABED5C18E685A9C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + C5AC3E78B11A26C06A41EA70 /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = ""; }; + CFC1C0217B83E9ED147F38FD /* CheckoutRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckoutRowView.swift; sourceTree = ""; }; + D3849AD76B40684ADA0A4B9F /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + E7282F1B737561F68B78C07C /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + EED59A57831214818B852FEE /* CheckoutViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckoutViewController.swift; sourceTree = ""; }; + FBBF0420313F7FC3B7B027C1 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 04823F751A6849200098400B /* Frameworks */ = { + 0DF0DB9D3E905396219196FF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 31138EE628DE680A008AF554 /* StripePaymentsUI.framework in Frameworks */, - 31138EE328DE6805008AF554 /* StripePayments.framework in Frameworks */, - E6AFFAFA26E9736F0067462F /* StripeUICore.framework in Frameworks */, - 362AA09B269E4F02000DE28F /* StripeCore.framework in Frameworks */, - 3137B69E2743808900CE7F5C /* StripeApplePay.framework in Frameworks */, - 04D0761D1A69E66F00094431 /* Stripe.framework in Frameworks */, - 31EFEE15258AE4110069BC5F /* Stripe3DS2.framework in Frameworks */, + C7E6AE8EEBDBD1ADFBE4C36D /* Stripe3DS2.framework in Frameworks */, + 6D82E95D4D055316E06BC68E /* StripeApplePay.framework in Frameworks */, + 95BDB6149695108CE5FB1EC6 /* StripeCore.framework in Frameworks */, + 71FE4A1532AD3AC57D1053CA /* StripePayments.framework in Frameworks */, + 302B36F4292278B94F7BD4F9 /* StripePaymentsUI.framework in Frameworks */, + 35DDC58480CD9F23C18B75DE /* StripeUICore.framework in Frameworks */, + 1BE1AFA79BD15F0594E62834 /* Stripe.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3143AB3D230DF738003A54FC /* Frameworks */ = { + FE7C8F9463B0735929582CDC /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -133,67 +147,112 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 042CA4131A685E8D00D778E7 /* Basic Integration */ = { + 07917565FE1C4C90B8AF8205 = { isa = PBXGroup; children = ( - B67046BC229F61CF006CB603 /* EmojiCheckoutCell.swift */, - B67046BA229F0D7E006CB603 /* EmojiCell.swift */, - 042CA4141A685E8D00D778E7 /* AppDelegate.swift */, - C188F2A51CC1A338003A524B /* MyAPIClient.swift */, - C13C24211D14438700F3765E /* SettingsViewController.swift */, - C124A18A1CCACAA1007D42EE /* CheckoutViewController.swift */, - 04BC299F1CD81D3900318357 /* BrowseProductsViewController.swift */, - C124A18C1CCACC92007D42EE /* CheckoutRowView.swift */, - C1B83CBC1CCE6C0700F0790B /* Buttons.swift */, - F1D12FE61F91721600CE68A7 /* PaymentContextFooterView.swift */, - B690AC5022A1A52900D3F50A /* UIColor+Stripe.swift */, - 042CA4191A685E8D00D778E7 /* Images.xcassets */, - 042CA41A1A685E8D00D778E7 /* Info.plist */, - 04D075D91A69B82B00094431 /* Basic Integration.entitlements */, - C13886641F293F9F00380D46 /* Localizable.strings */, + AA36E0A5069F3A8D0D91E627 /* Project */, + BC0E62B83BA5B7EDE03D50E9 /* Frameworks */, + 2346A03E865B9DBC2DE3556D /* Products */, ); - path = "Basic Integration"; sourceTree = ""; }; - 04823F6F1A6849200098400B = { + 08DE5C310F5BCEF3C6FE7D39 /* Basic Integration */ = { isa = PBXGroup; children = ( - 04823F9F1A6849850098400B /* Frameworks */, - 04823F791A6849200098400B /* Products */, - C18A6EE11F1EB78B005600CC /* README.md */, - 042CA4131A685E8D00D778E7 /* Basic Integration */, - 3143AB41230DF738003A54FC /* BasicIntegrationUITests */, + 6178DB55CB128E84774EEE94 /* Resources */, + BC3AB3F1CABED5C18E685A9C /* AppDelegate.swift */, + 9E18B41C90883355F7A8CFA6 /* BrowseProductsViewController.swift */, + 0327859D3359775406F43692 /* Buttons.swift */, + CFC1C0217B83E9ED147F38FD /* CheckoutRowView.swift */, + EED59A57831214818B852FEE /* CheckoutViewController.swift */, + 16266620366B4796B76D6704 /* EmojiCell.swift */, + 7C8E3087C438CC5E1B18E583 /* EmojiCheckoutCell.swift */, + AB37DFF02DF580312674BA76 /* Info.plist */, + 19112014D553A866859734E1 /* MyAPIClient.swift */, + 11D55C44D6B5AEFFEBA329DD /* PaymentContextFooterView.swift */, + C5AC3E78B11A26C06A41EA70 /* SettingsViewController.swift */, + B806BF6EF2535B535C9D20CF /* UIColor+Stripe.swift */, ); + path = "Basic Integration"; sourceTree = ""; }; - 04823F791A6849200098400B /* Products */ = { + 2346A03E865B9DBC2DE3556D /* Products */ = { isa = PBXGroup; children = ( - 04823F781A6849200098400B /* Basic Integration.app */, - 3143AB40230DF738003A54FC /* BasicIntegrationUITests.xctest */, + 3219256F716EA01C1F702B69 /* BasicIntegration.app */, + 361E03AF40022E3CE42541DC /* BasicIntegrationUITests.xctest */, + 178084545BCB7023D506924F /* Stripe.framework */, + 85B15F69FE8043C1B1D39B8A /* Stripe3DS2.framework */, + B4AFBA6EC723FA693AD56FAF /* StripeApplePay.framework */, + 022856BC9E9C415CD6330365 /* StripeCore.framework */, + 89BEDC3C75E33E904368B700 /* StripePayments.framework */, + 563C2A3A8DBE67B6E8B0AC56 /* StripePaymentsUI.framework */, + 0FA00A0A0326379942A6B4F3 /* StripeUICore.framework */, ); name = Products; sourceTree = ""; }; - 04823F9F1A6849850098400B /* Frameworks */ = { + 3FC85D4D529E39A799ADFD25 /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + FBBF0420313F7FC3B7B027C1 /* Project-Debug.xcconfig */, + 7161D6D35D73FCCEC90ACC4B /* Project-Release.xcconfig */, + ); + name = BuildConfigurations; + path = ../../BuildConfigurations; + sourceTree = ""; + }; + 4920E6C343C613F5A54B52F2 /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + 76A4520B38C79648CC52074D /* BasicIntegration-Debug.xcconfig */, + 87573787ED54C9F497D1084D /* BasicIntegration-Release.xcconfig */, + 279E5BE26140F948375F1E42 /* BasicIntegrationUITests-Debug.xcconfig */, + 5F1A208AE2350AA815ADE529 /* BasicIntegrationUITests-Release.xcconfig */, + ); + path = BuildConfigurations; + sourceTree = ""; + }; + 6178DB55CB128E84774EEE94 /* Resources */ = { + isa = PBXGroup; + children = ( + 82D8E06E6EE23D28010F658E /* Localizations */, + 66D166D166C755DFCD4724DF /* Images.xcassets */, + ); + path = Resources; + sourceTree = ""; + }; + 82D8E06E6EE23D28010F658E /* Localizations */ = { + isa = PBXGroup; + children = ( + D9B689B3512CC37D136468E3 /* Localizable.strings */, + ); + path = Localizations; + sourceTree = ""; + }; + AA36E0A5069F3A8D0D91E627 /* Project */ = { + isa = PBXGroup; + children = ( + 08DE5C310F5BCEF3C6FE7D39 /* Basic Integration */, + DD88FC2477F40A6339AC582A /* BasicIntegrationUITests */, + 4920E6C343C613F5A54B52F2 /* BuildConfigurations */, + 3FC85D4D529E39A799ADFD25 /* BuildConfigurations */, + ); + name = Project; + sourceTree = ""; + }; + BC0E62B83BA5B7EDE03D50E9 /* Frameworks */ = { isa = PBXGroup; children = ( - 31138EE528DE680A008AF554 /* StripePaymentsUI.framework */, - 31138EE228DE6805008AF554 /* StripePayments.framework */, - 3137B69D2743808900CE7F5C /* StripeApplePay.framework */, - E6AFFAF926E9736F0067462F /* StripeUICore.framework */, - 362AA09A269E4F02000DE28F /* StripeCore.framework */, - 31EFEE14258AE4110069BC5F /* Stripe3DS2.framework */, - 04D076191A69C14700094431 /* Stripe.framework */, ); name = Frameworks; sourceTree = ""; }; - 3143AB41230DF738003A54FC /* BasicIntegrationUITests */ = { + DD88FC2477F40A6339AC582A /* BasicIntegrationUITests */ = { isa = PBXGroup; children = ( - 3143AB42230DF738003A54FC /* BasicIntegrationUITests.swift */, - 3143AB44230DF738003A54FC /* Info.plist */, + 94D0F7E1AA9B4F8DEF5E58C4 /* BasicIntegrationUITests.swift */, + 7D44D5F70C1124245CC1FFB4 /* Info.plist */, ); path = BasicIntegrationUITests; sourceTree = ""; @@ -201,177 +260,158 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 04823F771A6849200098400B /* Basic Integration */ = { + 38FE8C9AFFD3298864326254 /* BasicIntegrationUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 04823F971A6849200098400B /* Build configuration list for PBXNativeTarget "Basic Integration" */; + buildConfigurationList = BFF386F5EDADD5E3EDB34A72 /* Build configuration list for PBXNativeTarget "BasicIntegrationUITests" */; buildPhases = ( - 04823F741A6849200098400B /* Sources */, - 04823F751A6849200098400B /* Frameworks */, - 04823F761A6849200098400B /* Resources */, - 04D0761F1A69E66F00094431 /* Embed Frameworks */, + 32091D88343B5B14427C4E69 /* Sources */, + 298C44ECC8A96A415873BE08 /* Resources */, + 73C79D512FE483D55F05D539 /* Embed Frameworks */, + FE7C8F9463B0735929582CDC /* Frameworks */, ); buildRules = ( ); dependencies = ( + 60969076E56DE1A74DF1D766 /* PBXTargetDependency */, ); - name = "Basic Integration"; - productName = "Stripe iOS Exampe (Simple)"; - productReference = 04823F781A6849200098400B /* Basic Integration.app */; - productType = "com.apple.product-type.application"; + name = BasicIntegrationUITests; + productName = BasicIntegrationUITests; + productReference = 361E03AF40022E3CE42541DC /* BasicIntegrationUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; }; - 3143AB3F230DF738003A54FC /* BasicIntegrationUITests */ = { + E1444D843707845C218A13B4 /* Basic Integration */ = { isa = PBXNativeTarget; - buildConfigurationList = 3143AB49230DF738003A54FC /* Build configuration list for PBXNativeTarget "BasicIntegrationUITests" */; + buildConfigurationList = 6D1AFF23FCC2C84A740AD4DD /* Build configuration list for PBXNativeTarget "Basic Integration" */; buildPhases = ( - 3143AB3C230DF738003A54FC /* Sources */, - 3143AB3D230DF738003A54FC /* Frameworks */, - 3143AB3E230DF738003A54FC /* Resources */, + 37888D4FBFF4C74D7008F207 /* Sources */, + D50B9768EDC0FD90860C698A /* Resources */, + FCB5FC274C573F8674E5E13E /* Embed Frameworks */, + 0DF0DB9D3E905396219196FF /* Frameworks */, ); buildRules = ( ); dependencies = ( - 3143AB46230DF738003A54FC /* PBXTargetDependency */, ); - name = BasicIntegrationUITests; - productName = BasicIntegrationUITests; - productReference = 3143AB40230DF738003A54FC /* BasicIntegrationUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; + name = "Basic Integration"; + productName = BasicIntegration; + productReference = 3219256F716EA01C1F702B69 /* BasicIntegration.app */; + productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 04823F701A6849200098400B /* Project object */ = { + 6844342286983ED79A91D255 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1030; - LastUpgradeCheck = 1200; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 04823F771A6849200098400B = { - CreatedOnToolsVersion = 6.1.1; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.ApplePay = { - enabled = 1; - }; - com.apple.OMC = { - enabled = 1; - }; - com.apple.Passbook = { - enabled = 0; - }; - }; - }; - 3143AB3F230DF738003A54FC = { - CreatedOnToolsVersion = 10.3; - ProvisioningStyle = Automatic; - TestTargetID = 04823F771A6849200098400B; + 38FE8C9AFFD3298864326254 = { + TestTargetID = E1444D843707845C218A13B4; }; }; }; - buildConfigurationList = 04823F731A6849200098400B /* Build configuration list for PBXProject "Basic Integration" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + buildConfigurationList = A8054A8E47DAE62995F08256 /* Build configuration list for PBXProject "Basic Integration" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, - en, - fr, + Base, de, - "zh-Hans", - ja, + en, es, - it, - nl, fi, - nb, - hr, fil, + fr, + hr, + it, + ja, + nb, + nl, + "zh-Hans", ); - mainGroup = 04823F6F1A6849200098400B; - productRefGroup = 04823F791A6849200098400B /* Products */; + mainGroup = 07917565FE1C4C90B8AF8205; + productRefGroup = 2346A03E865B9DBC2DE3556D /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 04823F771A6849200098400B /* Basic Integration */, - 3143AB3F230DF738003A54FC /* BasicIntegrationUITests */, + E1444D843707845C218A13B4 /* Basic Integration */, + 38FE8C9AFFD3298864326254 /* BasicIntegrationUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 04823F761A6849200098400B /* Resources */ = { + 298C44ECC8A96A415873BE08 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 042CA4201A685E8D00D778E7 /* Images.xcassets in Resources */, - C13886661F293F9F00380D46 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3143AB3E230DF738003A54FC /* Resources */ = { + D50B9768EDC0FD90860C698A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + C91088084410864EA47CA32A /* Images.xcassets in Resources */, + A3AE2A57BBD1A5CCA13441E9 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 04823F741A6849200098400B /* Sources */ = { + 32091D88343B5B14427C4E69 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C124A18B1CCACAA1007D42EE /* CheckoutViewController.swift in Sources */, - 04BC29A01CD81D3900318357 /* BrowseProductsViewController.swift in Sources */, - C188F2A61CC1A338003A524B /* MyAPIClient.swift in Sources */, - C1B83CBD1CCE6C0700F0790B /* Buttons.swift in Sources */, - B67046BD229F61CF006CB603 /* EmojiCheckoutCell.swift in Sources */, - B690AC5122A1A52900D3F50A /* UIColor+Stripe.swift in Sources */, - C124A18D1CCACC92007D42EE /* CheckoutRowView.swift in Sources */, - 042CA41D1A685E8D00D778E7 /* AppDelegate.swift in Sources */, - F1D12FE71F91721600CE68A7 /* PaymentContextFooterView.swift in Sources */, - B67046BB229F0D7E006CB603 /* EmojiCell.swift in Sources */, - C13C24221D14438700F3765E /* SettingsViewController.swift in Sources */, + 6F0B5B91824CDAF050F7C081 /* BasicIntegrationUITests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3143AB3C230DF738003A54FC /* Sources */ = { + 37888D4FBFF4C74D7008F207 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3143AB43230DF738003A54FC /* BasicIntegrationUITests.swift in Sources */, + 905BC2BC86720C40C55CEFB0 /* AppDelegate.swift in Sources */, + EDCDF82E7F39CBE5E81C6019 /* BrowseProductsViewController.swift in Sources */, + F9B4C6421E5B252E49CB75B6 /* Buttons.swift in Sources */, + 96F453421BB12B7B0A77ECB8 /* CheckoutRowView.swift in Sources */, + 9AB1D32792FD5EA7CB7E60E8 /* CheckoutViewController.swift in Sources */, + 2626992668A16B99629FDF57 /* EmojiCell.swift in Sources */, + 4C16532D68F2ECF2CCCC33E2 /* EmojiCheckoutCell.swift in Sources */, + F5D031AB5324F7AEA7BAA5C0 /* MyAPIClient.swift in Sources */, + ECE3CFF1CDB3151D63D1A2A5 /* PaymentContextFooterView.swift in Sources */, + 18F2D96937E21836280B1DD5 /* SettingsViewController.swift in Sources */, + 945FD39EF8215C84A40F4729 /* UIColor+Stripe.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3143AB46230DF738003A54FC /* PBXTargetDependency */ = { + 60969076E56DE1A74DF1D766 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 04823F771A6849200098400B /* Basic Integration */; - targetProxy = 3143AB45230DF738003A54FC /* PBXContainerItemProxy */; + name = "Basic Integration"; + target = E1444D843707845C218A13B4 /* Basic Integration */; + targetProxy = 41F277C9A5CB61B36A8125E1 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - C13886641F293F9F00380D46 /* Localizable.strings */ = { + D9B689B3512CC37D136468E3 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - C13886651F293F9F00380D46 /* en */, - C13886671F293FA900380D46 /* fr */, - C13886681F293FB200380D46 /* de */, - C13886691F293FB700380D46 /* zh-Hans */, - C138866A1F293FBB00380D46 /* ja */, - C138866B1F293FBF00380D46 /* es */, - C138866C1F293FC200380D46 /* it */, - C138866D1F293FC500380D46 /* nl */, - 8BBD79D2207FD44300F85BED /* fi */, - 8BBD79D3207FD45A00F85BED /* nb */, - 36F4BC7F26C1BC60001518CD /* hr */, - 36F4BC8626C1BCDE001518CD /* fil */, + D3849AD76B40684ADA0A4B9F /* de */, + B8B07FEB44C4F6DD941DBF16 /* en */, + A6AC6645AAFBACA236D5A851 /* es */, + 4F822D4234D6651081ABEEFB /* fi */, + 96B0F507ADF5EB1ED0A5ACA1 /* fil */, + 512F713546BED9521785768B /* fr */, + 4263D23E68CC2784E891A23A /* hr */, + BA43DADA7CCA6BCE06E6F466 /* it */, + 6AE285E21325BCEB58A6B5E5 /* ja */, + E7282F1B737561F68B78C07C /* nb */, + 08BBF92CB4DC88F1D80E137B /* nl */, + B7782D6F8DA2E27F3813755F /* zh-Hans */, ); name = Localizable.strings; sourceTree = ""; @@ -379,253 +419,97 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 04823F951A6849200098400B /* Debug */ = { + 15129E5F0945E31B0E17FAB7 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 5F1A208AE2350AA815ADE529 /* BasicIntegrationUITests-Release.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; + INFOPLIST_FILE = BasicIntegrationUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.BasicIntegrationUITests; + PRODUCT_NAME = BasicIntegrationUITests; SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "Basic Integration/Basic Integration-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TEST_TARGET_NAME = "Basic Integration"; }; - name = Debug; + name = Release; }; - 04823F961A6849200098400B /* Release */ = { + 4902158CA3EC6AF44C4B069D /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 87573787ED54C9F497D1084D /* BasicIntegration-Release.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; + INFOPLIST_FILE = "Basic Integration/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.SimpleSDKExample; + PRODUCT_NAME = BasicIntegration; SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "Basic Integration/Basic Integration-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - VALIDATE_PRODUCT = YES; }; name = Release; }; - 04823F981A6849200098400B /* Debug */ = { + 6BF63E734E308993632A01DF /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 76A4520B38C79648CC52074D /* BasicIntegration-Debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = "Basic Integration/Basic Integration.entitlements"; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); - GCC_TREAT_WARNINGS_AS_ERRORS = YES; INFOPLIST_FILE = "Basic Integration/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.SimpleSDKExample; - PRODUCT_NAME = "Basic Integration"; - PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + PRODUCT_NAME = BasicIntegration; + SDKROOT = iphoneos; }; name = Debug; }; - 04823F991A6849200098400B /* Release */ = { + D5EAEB1C8995166333D1C480 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = FBBF0420313F7FC3B7B027C1 /* Project-Debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = "Basic Integration/Basic Integration.entitlements"; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - INFOPLIST_FILE = "Basic Integration/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.SimpleSDKExample; - PRODUCT_NAME = "Basic Integration"; - PROVISIONING_PROFILE = ""; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; }; - name = Release; + name = Debug; }; - 3143AB47230DF738003A54FC /* Debug */ = { + EA47D7CE269E25DBC1C6A768 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 279E5BE26140F948375F1E42 /* BasicIntegrationUITests-Debug.xcconfig */; buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = BasicIntegrationUITests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.BasicIntegrationUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + PRODUCT_NAME = BasicIntegrationUITests; + SDKROOT = iphoneos; TEST_TARGET_NAME = "Basic Integration"; }; name = Debug; }; - 3143AB48230DF738003A54FC /* Release */ = { + EBC1EAF25385926DFBFA2E98 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 7161D6D35D73FCCEC90ACC4B /* Project-Release.xcconfig */; buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = BasicIntegrationUITests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.BasicIntegrationUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = "Basic Integration"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 04823F731A6849200098400B /* Build configuration list for PBXProject "Basic Integration" */ = { + 6D1AFF23FCC2C84A740AD4DD /* Build configuration list for PBXNativeTarget "Basic Integration" */ = { isa = XCConfigurationList; buildConfigurations = ( - 04823F951A6849200098400B /* Debug */, - 04823F961A6849200098400B /* Release */, + 6BF63E734E308993632A01DF /* Debug */, + 4902158CA3EC6AF44C4B069D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 04823F971A6849200098400B /* Build configuration list for PBXNativeTarget "Basic Integration" */ = { + A8054A8E47DAE62995F08256 /* Build configuration list for PBXProject "Basic Integration" */ = { isa = XCConfigurationList; buildConfigurations = ( - 04823F981A6849200098400B /* Debug */, - 04823F991A6849200098400B /* Release */, + D5EAEB1C8995166333D1C480 /* Debug */, + EBC1EAF25385926DFBFA2E98 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3143AB49230DF738003A54FC /* Build configuration list for PBXNativeTarget "BasicIntegrationUITests" */ = { + BFF386F5EDADD5E3EDB34A72 /* Build configuration list for PBXNativeTarget "BasicIntegrationUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3143AB47230DF738003A54FC /* Debug */, - 3143AB48230DF738003A54FC /* Release */, + EA47D7CE269E25DBC1C6A768 /* Debug */, + 15129E5F0945E31B0E17FAB7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 04823F701A6849200098400B /* Project object */; + rootObject = 6844342286983ED79A91D255 /* Project object */; } diff --git a/Example/Basic Integration/Basic Integration.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/Basic Integration/Basic Integration.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/Example/Basic Integration/Basic Integration.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Example/Basic Integration/Basic Integration.xcodeproj/xcshareddata/xcschemes/Basic Integration.xcscheme b/Example/Basic Integration/Basic Integration.xcodeproj/xcshareddata/xcschemes/Basic Integration.xcscheme index ad2ee12c0d8..fd10ed0b2aa 100644 --- a/Example/Basic Integration/Basic Integration.xcodeproj/xcshareddata/xcschemes/Basic Integration.xcscheme +++ b/Example/Basic Integration/Basic Integration.xcodeproj/xcshareddata/xcschemes/Basic Integration.xcscheme @@ -1,6 +1,6 @@ + BlueprintIdentifier = "E1444D843707845C218A13B4" + BuildableName = "BasicIntegration.app" + BlueprintName = "Basic Integration" + ReferencedContainer = "container:Basic Integration.xcodeproj"> @@ -40,14 +40,13 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES" - disableMainThreadChecker = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -59,6 +58,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + disablePerformanceAntipatternChecker = "YES" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" @@ -69,8 +69,8 @@ runnableDebuggingMode = "0"> @@ -86,8 +86,8 @@ runnableDebuggingMode = "0"> diff --git a/Example/Basic Integration/Basic Integration.xcworkspace/contents.xcworkspacedata b/Example/Basic Integration/Basic Integration.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 399b2c20bd3..00000000000 --- a/Example/Basic Integration/Basic Integration.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - diff --git a/Example/Basic Integration/Basic Integration.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/Basic Integration/Basic Integration.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/Example/Basic Integration/Basic Integration.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Example/Basic Integration/Basic Integration/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/Basic Integration/Basic Integration/Resources/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Example/Basic Integration/Basic Integration/Images.xcassets/AppIcon.appiconset/Contents.json rename to Example/Basic Integration/Basic Integration/Resources/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/Basic Integration/Basic Integration/Images.xcassets/LaunchImage.launchimage/Contents.json b/Example/Basic Integration/Basic Integration/Resources/Images.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from Example/Basic Integration/Basic Integration/Images.xcassets/LaunchImage.launchimage/Contents.json rename to Example/Basic Integration/Basic Integration/Resources/Images.xcassets/LaunchImage.launchimage/Contents.json diff --git a/Example/Basic Integration/Basic Integration/Images.xcassets/llamas.imageset/Contents.json b/Example/Basic Integration/Basic Integration/Resources/Images.xcassets/llamas.imageset/Contents.json similarity index 100% rename from Example/Basic Integration/Basic Integration/Images.xcassets/llamas.imageset/Contents.json rename to Example/Basic Integration/Basic Integration/Resources/Images.xcassets/llamas.imageset/Contents.json diff --git a/Example/Basic Integration/Basic Integration/Images.xcassets/llamas.imageset/llamas.jpg b/Example/Basic Integration/Basic Integration/Resources/Images.xcassets/llamas.imageset/llamas.jpg similarity index 100% rename from Example/Basic Integration/Basic Integration/Images.xcassets/llamas.imageset/llamas.jpg rename to Example/Basic Integration/Basic Integration/Resources/Images.xcassets/llamas.imageset/llamas.jpg diff --git a/Example/Basic Integration/Basic Integration/Images.xcassets/llamas.imageset/llamas@2x.jpg b/Example/Basic Integration/Basic Integration/Resources/Images.xcassets/llamas.imageset/llamas@2x.jpg similarity index 100% rename from Example/Basic Integration/Basic Integration/Images.xcassets/llamas.imageset/llamas@2x.jpg rename to Example/Basic Integration/Basic Integration/Resources/Images.xcassets/llamas.imageset/llamas@2x.jpg diff --git a/Example/Basic Integration/Basic Integration/Localizations/de.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/de.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/de.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/de.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/en.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/en.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/en.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/en.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/es.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/es.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/es.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/es.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/fi.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/fi.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/fi.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/fi.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/fil.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/fil.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/fil.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/fil.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/fr.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/fr.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/fr.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/fr.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/hr.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/hr.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/hr.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/hr.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/it.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/it.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/it.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/it.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/ja.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/ja.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/ja.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/ja.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/nb.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/nb.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/nb.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/nb.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/nl.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/nl.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/nl.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/nl.lproj/Localizable.strings diff --git a/Example/Basic Integration/Basic Integration/Localizations/zh-Hans.lproj/Localizable.strings b/Example/Basic Integration/Basic Integration/Resources/Localizations/zh-Hans.lproj/Localizable.strings similarity index 100% rename from Example/Basic Integration/Basic Integration/Localizations/zh-Hans.lproj/Localizable.strings rename to Example/Basic Integration/Basic Integration/Resources/Localizations/zh-Hans.lproj/Localizable.strings diff --git a/Example/Basic Integration/BuildConfigurations/BasicIntegration-Debug.xcconfig b/Example/Basic Integration/BuildConfigurations/BasicIntegration-Debug.xcconfig new file mode 100644 index 00000000000..fef849df2ac --- /dev/null +++ b/Example/Basic Integration/BuildConfigurations/BasicIntegration-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// BasicIntegration-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "BasicIntegration-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// diff --git a/Example/Basic Integration/BuildConfigurations/BasicIntegration-Release.xcconfig b/Example/Basic Integration/BuildConfigurations/BasicIntegration-Release.xcconfig new file mode 100644 index 00000000000..cbab8dc98a9 --- /dev/null +++ b/Example/Basic Integration/BuildConfigurations/BasicIntegration-Release.xcconfig @@ -0,0 +1,12 @@ +// +// BasicIntegration-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "BasicIntegration-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// diff --git a/Example/Basic Integration/BuildConfigurations/BasicIntegration-Shared.xcconfig b/Example/Basic Integration/BuildConfigurations/BasicIntegration-Shared.xcconfig new file mode 100644 index 00000000000..44c723a1315 --- /dev/null +++ b/Example/Basic Integration/BuildConfigurations/BasicIntegration-Shared.xcconfig @@ -0,0 +1,10 @@ +// +// BasicIntegration-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Debug.xcconfig b/Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Debug.xcconfig new file mode 100644 index 00000000000..d8beaa9b503 --- /dev/null +++ b/Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// BasicIntegrationUITests-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "BasicIntegrationUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// diff --git a/Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Release.xcconfig b/Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Release.xcconfig new file mode 100644 index 00000000000..c787441bc1d --- /dev/null +++ b/Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Release.xcconfig @@ -0,0 +1,12 @@ +// +// BasicIntegrationUITests-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "BasicIntegrationUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// diff --git a/Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Shared.xcconfig b/Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Shared.xcconfig new file mode 100644 index 00000000000..87e8a22803b --- /dev/null +++ b/Example/Basic Integration/BuildConfigurations/BasicIntegrationUITests-Shared.xcconfig @@ -0,0 +1,10 @@ +// +// BasicIntegrationUITests-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/Basic Integration/Project.swift b/Example/Basic Integration/Project.swift new file mode 100644 index 00000000000..5927a0985a5 --- /dev/null +++ b/Example/Basic Integration/Project.swift @@ -0,0 +1,74 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "Basic Integration", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "Basic Integration", + platform: .iOS, + product: .app, + productName: "BasicIntegration", + bundleId: "com.stripe.SimpleSDKExample", + infoPlist: "Basic Integration/Info.plist", + sources: "Basic Integration/*.swift", + resources: "Basic Integration/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "StripePaymentsUI", path: "//StripePaymentsUI"), + .project(target: "StripeiOS", path: "//Stripe"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/BasicIntegration" + ) + ), + Target( + name: "BasicIntegrationUITests", + platform: .iOS, + product: .uiTests, + productName: "BasicIntegrationUITests", + bundleId: "com.stripe.BasicIntegrationUITests", + infoPlist: "BasicIntegrationUITests/Info.plist", + sources: "BasicIntegrationUITests/*.swift", + dependencies: [ + .target(name: "Basic Integration"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/BasicIntegrationUITests" + ) + ), + ], + schemes: [ + Scheme( + name: "Basic Integration", + buildAction: .buildAction(targets: [ + "Basic Integration", + "BasicIntegrationUITests", + ]), + testAction: .targets(["BasicIntegrationUITests"]), + runAction: .runAction(executable: "Basic Integration") + ) + ] +) diff --git a/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Debug.xcconfig b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Debug.xcconfig new file mode 100644 index 00000000000..23b7cec5030 --- /dev/null +++ b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// CardImageVerification-Example-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "CardImageVerification-Example-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Release.xcconfig b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Release.xcconfig new file mode 100644 index 00000000000..3c8b9fb8e8a --- /dev/null +++ b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Release.xcconfig @@ -0,0 +1,12 @@ +// +// CardImageVerification-Example-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "CardImageVerification-Example-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Shared.xcconfig b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Shared.xcconfig new file mode 100644 index 00000000000..18cbd6848d6 --- /dev/null +++ b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-Example-Shared.xcconfig @@ -0,0 +1,13 @@ +// +// CardImageVerification-Example-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor +CODE_SIGN_STYLE = Automatic +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Debug.xcconfig b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Debug.xcconfig new file mode 100644 index 00000000000..a85bd7df2fe --- /dev/null +++ b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// CardImageVerification-ExampleUITests-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "CardImageVerification-ExampleUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Release.xcconfig b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Release.xcconfig new file mode 100644 index 00000000000..e271227dd12 --- /dev/null +++ b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Release.xcconfig @@ -0,0 +1,12 @@ +// +// CardImageVerification-ExampleUITests-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "CardImageVerification-ExampleUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Shared.xcconfig b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Shared.xcconfig new file mode 100644 index 00000000000..3c9f896e7de --- /dev/null +++ b/Example/CardImageVerification Example/BuildConfigurations/CardImageVerification-ExampleUITests-Shared.xcconfig @@ -0,0 +1,13 @@ +// +// CardImageVerification-ExampleUITests-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CODE_SIGN_STYLE = Automatic +TARGETED_DEVICE_FAMILY = 1,2 +TEST_TARGET_NAME = CardImageVerification Example +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/project.pbxproj b/Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/project.pbxproj index ee76ecb4f35..1cf7594614c 100644 --- a/Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/project.pbxproj +++ b/Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/project.pbxproj @@ -3,48 +3,58 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 60EFED5828E0E94A009A41B7 /* CardImageVerification_EndToEndTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60EFED5728E0E94A009A41B7 /* CardImageVerification_EndToEndTests.swift */; }; - F329D8DF27473CD700811E79 /* URLHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = F329D8DE27473CD700811E79 /* URLHelper.swift */; }; - F32D9ACF2745BFD000C5FDBF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32D9ACE2745BFD000C5FDBF /* AppDelegate.swift */; }; - F32D9AD32745BFD000C5FDBF /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32D9AD22745BFD000C5FDBF /* ViewController.swift */; }; - F32D9AD62745BFD000C5FDBF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F32D9AD42745BFD000C5FDBF /* Main.storyboard */; }; - F32D9AD82745BFD100C5FDBF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F32D9AD72745BFD100C5FDBF /* Assets.xcassets */; }; - F32D9ADB2745BFD100C5FDBF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F32D9AD92745BFD100C5FDBF /* LaunchScreen.storyboard */; }; - F32D9AF12745BFD200C5FDBF /* CardImageVerification_ExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32D9AF02745BFD200C5FDBF /* CardImageVerification_ExampleUITests.swift */; }; - F32D9B002745C06D00C5FDBF /* card_scanning_instruction.png in Resources */ = {isa = PBXBuildFile; fileRef = F32D9AFF2745C06D00C5FDBF /* card_scanning_instruction.png */; }; - F32D9B032745C24700C5FDBF /* StripeCardScan.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F32D9B022745C24700C5FDBF /* StripeCardScan.framework */; }; - F32D9B042745C24700C5FDBF /* StripeCardScan.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F32D9B022745C24700C5FDBF /* StripeCardScan.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F32D9B072745C27600C5FDBF /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F32D9B062745C27600C5FDBF /* StripeCore.framework */; }; - F32D9B082745C27600C5FDBF /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F32D9B062745C27600C5FDBF /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F32D9B0A2745C8C700C5FDBF /* VerificationExplanationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32D9B092745C8C700C5FDBF /* VerificationExplanationViewController.swift */; }; - F3B038AB274E457700718B35 /* VerificationCardInputViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B038AA274E457700718B35 /* VerificationCardInputViewController.swift */; }; - F3B038B02754628F00718B35 /* CTAButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B038AF2754628F00718B35 /* CTAButton.swift */; }; - F3B038B227547A8000718B35 /* APIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B038B127547A8000718B35 /* APIClient.swift */; }; + 14017146A92727DBF2762F3F /* StripeCardScan.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 42919CBDD4A22565A9C9DB78 /* StripeCardScan.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 3AC3BADD4D393EA0F30EA256 /* VerificationCardInputViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B218F856E8F563C255873C8 /* VerificationCardInputViewController.swift */; }; + 5088641EE7C2A9D56C3A6AFE /* URLHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B559E0CDA9850E57AE044E4 /* URLHelper.swift */; }; + 53E2CCA28A8F10FBE176CBF4 /* CTAButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C085819047EFDFE64834CC0B /* CTAButton.swift */; }; + 55272D0FDDBE0964C2AC01DD /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE61EFDFCA27E45395CFA19C /* StripeCore.framework */; }; + 5913571A8AAAAC7DE3BF2375 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CE61EFDFCA27E45395CFA19C /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 64765C8B6282414411C0AC44 /* CardImageVerification_EndToEndTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B3AD4B2DE960BB1D29B7976 /* CardImageVerification_EndToEndTests.swift */; }; + 6A7E42DE4A21E27960D80463 /* StripeCardScan.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42919CBDD4A22565A9C9DB78 /* StripeCardScan.framework */; }; + 7B03C83F9AAD61B04065C4E3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E422954BF0FDBDCA32971BF9 /* Main.storyboard */; }; + 7EDBB8A04C654F9936FB4D1F /* CardImageVerification_ExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AFE0B327286E7F0302D9D1B /* CardImageVerification_ExampleUITests.swift */; }; + 8015A127FD067FD9CA4023D4 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6AC6FC5156669FB2939F4653 /* LaunchScreen.storyboard */; }; + 82F25757E8833C501E8C62A1 /* card_scanning_instruction.png in Resources */ = {isa = PBXBuildFile; fileRef = E7F4E92BC498695EFFD9E426 /* card_scanning_instruction.png */; }; + 8741973E15C8893F4520185D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDEE45A51003DA37F32D10E5 /* AppDelegate.swift */; }; + 9A7ED65986834C9172610E59 /* VerificationExplanationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A34759EA337227B90AA9B69 /* VerificationExplanationViewController.swift */; }; + DC7CBF4EF1C6191B915C6BF3 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0792001614FB9AD6C495B9C2 /* ViewController.swift */; }; + E40F2C10AA49A3172FB30FE6 /* APIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80D2FBB82039C12638B1A3EE /* APIClient.swift */; }; + FD79E545C4C619F66A9A6747 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E3524CEDCFAB1130DDAFD4CC /* Assets.xcassets */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - F32D9AED2745BFD200C5FDBF /* PBXContainerItemProxy */ = { + 80155910DD3E747ADC7987F6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = F32D9AC32745BFD000C5FDBF /* Project object */; + containerPortal = D83437AF263C0705C65270EE /* Project object */; proxyType = 1; - remoteGlobalIDString = F32D9ACA2745BFD000C5FDBF; + remoteGlobalIDString = DC33340EB698EBE4DB21F776; remoteInfo = "CardImageVerification Example"; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - F32D9B052745C24700C5FDBF /* Embed Frameworks */ = { + 39C74552D8E3533ED791BCB3 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 14017146A92727DBF2762F3F /* StripeCardScan.framework in Embed Frameworks */, + 5913571A8AAAAC7DE3BF2375 /* StripeCore.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + B7C7710AEBA3EBD72E0AB704 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - F32D9B082745C27600C5FDBF /* StripeCore.framework in Embed Frameworks */, - F32D9B042745C24700C5FDBF /* StripeCardScan.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -52,229 +62,263 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 3BA98B0727739C120086C74C /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; }; - 3BA98B0827739C130086C74C /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; }; - 60EFED5728E0E94A009A41B7 /* CardImageVerification_EndToEndTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerification_EndToEndTests.swift; sourceTree = ""; }; - 60EFED6828E2809A009A41B7 /* CopyStripeCardScanTestResources.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CopyStripeCardScanTestResources.sh; sourceTree = ""; }; - 60EFED6928E280E5009A41B7 /* synthetic_test_image.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = synthetic_test_image.jpg; path = ../../../../StripeCardScan/StripeCardScanTests/Resources/synthetic_test_image.jpg; sourceTree = ""; }; - F329D8DE27473CD700811E79 /* URLHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLHelper.swift; sourceTree = ""; }; - F32D9ACB2745BFD000C5FDBF /* CardImageVerification Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "CardImageVerification Example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - F32D9ACE2745BFD000C5FDBF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - F32D9AD22745BFD000C5FDBF /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - F32D9AD52745BFD000C5FDBF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - F32D9AD72745BFD100C5FDBF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - F32D9ADA2745BFD100C5FDBF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - F32D9ADC2745BFD100C5FDBF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F32D9AEC2745BFD200C5FDBF /* CardImageVerification ExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CardImageVerification ExampleUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - F32D9AF02745BFD200C5FDBF /* CardImageVerification_ExampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerification_ExampleUITests.swift; sourceTree = ""; }; - F32D9AF22745BFD200C5FDBF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F32D9AFF2745C06D00C5FDBF /* card_scanning_instruction.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = card_scanning_instruction.png; sourceTree = ""; }; - F32D9B022745C24700C5FDBF /* StripeCardScan.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCardScan.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F32D9B062745C27600C5FDBF /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F32D9B092745C8C700C5FDBF /* VerificationExplanationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationExplanationViewController.swift; sourceTree = ""; }; - F3B038AA274E457700718B35 /* VerificationCardInputViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationCardInputViewController.swift; sourceTree = ""; }; - F3B038AF2754628F00718B35 /* CTAButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CTAButton.swift; sourceTree = ""; }; - F3B038B127547A8000718B35 /* APIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIClient.swift; sourceTree = ""; }; + 0792001614FB9AD6C495B9C2 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 1CCF8FEE15F4D59017FD2595 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 23B93ACA79325D539C32F309 /* CardImageVerificationExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CardImageVerificationExampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 2A34759EA337227B90AA9B69 /* VerificationExplanationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationExplanationViewController.swift; sourceTree = ""; }; + 3CE0B6CC20864C0008614046 /* CardImageVerification-Example-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "CardImageVerification-Example-Release.xcconfig"; sourceTree = ""; }; + 42919CBDD4A22565A9C9DB78 /* StripeCardScan.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCardScan.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 47FE5701F624F6CE8D9F9027 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 4AFE0B327286E7F0302D9D1B /* CardImageVerification_ExampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerification_ExampleUITests.swift; sourceTree = ""; }; + 4B3AD4B2DE960BB1D29B7976 /* CardImageVerification_EndToEndTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerification_EndToEndTests.swift; sourceTree = ""; }; + 4E099E7C18D6BF93CA2B1014 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 52B4B1ADDDBC7792175EE884 /* CardImageVerification-ExampleUITests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "CardImageVerification-ExampleUITests-Debug.xcconfig"; sourceTree = ""; }; + 55D0D62B916F2585C814B4EE /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; }; + 5B218F856E8F563C255873C8 /* VerificationCardInputViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationCardInputViewController.swift; sourceTree = ""; }; + 74D9CF010C9F1E76EA59098A /* CardImageVerification-Example-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "CardImageVerification-Example-Debug.xcconfig"; sourceTree = ""; }; + 7B559E0CDA9850E57AE044E4 /* URLHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLHelper.swift; sourceTree = ""; }; + 80D2FBB82039C12638B1A3EE /* APIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIClient.swift; sourceTree = ""; }; + 998168336B8557A42722A5CC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + B1FC6EEF245E296A6EF6960C /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; }; + B96E61A575FF9A7B3828D967 /* CardImageVerification-ExampleUITests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "CardImageVerification-ExampleUITests-Release.xcconfig"; sourceTree = ""; }; + BDEE45A51003DA37F32D10E5 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + C085819047EFDFE64834CC0B /* CTAButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CTAButton.swift; sourceTree = ""; }; + C599E00EB175B047CB2B2F99 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + CE61EFDFCA27E45395CFA19C /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D61736BBB4914EEB9471D559 /* CardImageVerificationExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CardImageVerificationExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DBBE720873DC7524FD768F03 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + E3524CEDCFAB1130DDAFD4CC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + E7F4E92BC498695EFFD9E426 /* card_scanning_instruction.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = card_scanning_instruction.png; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - F32D9AC82745BFD000C5FDBF /* Frameworks */ = { + 179AB8951A8F3189C93947FF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6A7E42DE4A21E27960D80463 /* StripeCardScan.framework in Frameworks */, + 55272D0FDDBE0964C2AC01DD /* StripeCore.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B562499B0B05E2339208945E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F32D9B072745C27600C5FDBF /* StripeCore.framework in Frameworks */, - F32D9B032745C24700C5FDBF /* StripeCardScan.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 60EFED6728E2809A009A41B7 /* Scripts */ = { + 0305B2C2E323627C38B7F078 /* CardImageVerification Example */ = { isa = PBXGroup; children = ( - 60EFED6828E2809A009A41B7 /* CopyStripeCardScanTestResources.sh */, + AF76D372467F165C05848109 /* Resources */, + 1C000EBD66199E9C9F3A2B0E /* View Controllers */, + 92A0D2CAC32B4915539A18A8 /* Views */, + 80D2FBB82039C12638B1A3EE /* APIClient.swift */, + BDEE45A51003DA37F32D10E5 /* AppDelegate.swift */, + 4E099E7C18D6BF93CA2B1014 /* Info.plist */, + 7B559E0CDA9850E57AE044E4 /* URLHelper.swift */, ); - name = Scripts; - path = "CardImageVerification ExampleUITests/Scripts"; - sourceTree = SOURCE_ROOT; + path = "CardImageVerification Example"; + sourceTree = ""; }; - F32D9AC22745BFD000C5FDBF = { + 1C000EBD66199E9C9F3A2B0E /* View Controllers */ = { isa = PBXGroup; children = ( - F32D9ACD2745BFD000C5FDBF /* CardImageVerification Example */, - F32D9AEF2745BFD200C5FDBF /* CardImageVerification ExampleUITests */, - F32D9ACC2745BFD000C5FDBF /* Products */, - F32D9B012745C24700C5FDBF /* Frameworks */, + 5B218F856E8F563C255873C8 /* VerificationCardInputViewController.swift */, + 2A34759EA337227B90AA9B69 /* VerificationExplanationViewController.swift */, + 0792001614FB9AD6C495B9C2 /* ViewController.swift */, ); + path = "View Controllers"; sourceTree = ""; }; - F32D9ACC2745BFD000C5FDBF /* Products */ = { + 41474EC63599755CF3802E13 /* Products */ = { isa = PBXGroup; children = ( - F32D9ACB2745BFD000C5FDBF /* CardImageVerification Example.app */, - F32D9AEC2745BFD200C5FDBF /* CardImageVerification ExampleUITests.xctest */, + D61736BBB4914EEB9471D559 /* CardImageVerificationExample.app */, + 23B93ACA79325D539C32F309 /* CardImageVerificationExampleUITests.xctest */, + 42919CBDD4A22565A9C9DB78 /* StripeCardScan.framework */, + CE61EFDFCA27E45395CFA19C /* StripeCore.framework */, ); name = Products; sourceTree = ""; }; - F32D9ACD2745BFD000C5FDBF /* CardImageVerification Example */ = { + 44EC74304CAE5B297FCDFBC6 /* Frameworks */ = { isa = PBXGroup; children = ( - F32D9ACE2745BFD000C5FDBF /* AppDelegate.swift */, - F32D9AD72745BFD100C5FDBF /* Assets.xcassets */, - F32D9ADC2745BFD100C5FDBF /* Info.plist */, - F32D9AD92745BFD100C5FDBF /* LaunchScreen.storyboard */, - F32D9AD42745BFD000C5FDBF /* Main.storyboard */, - F32D9AFE2745C02300C5FDBF /* Resources */, - 60EFED6728E2809A009A41B7 /* Scripts */, - F329D8DE27473CD700811E79 /* URLHelper.swift */, - F3B038B127547A8000718B35 /* APIClient.swift */, - F32D9B0B2745C98200C5FDBF /* View Controllers */, - F3B038AE2754627500718B35 /* Views */, ); - path = "CardImageVerification Example"; + name = Frameworks; sourceTree = ""; }; - F32D9AEF2745BFD200C5FDBF /* CardImageVerification ExampleUITests */ = { + 61463BA4F2437C98F12F94C7 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 60EFED5728E0E94A009A41B7 /* CardImageVerification_EndToEndTests.swift */, - F32D9AF02745BFD200C5FDBF /* CardImageVerification_ExampleUITests.swift */, - F32D9AF22745BFD200C5FDBF /* Info.plist */, + 74D9CF010C9F1E76EA59098A /* CardImageVerification-Example-Debug.xcconfig */, + 3CE0B6CC20864C0008614046 /* CardImageVerification-Example-Release.xcconfig */, + 52B4B1ADDDBC7792175EE884 /* CardImageVerification-ExampleUITests-Debug.xcconfig */, + B96E61A575FF9A7B3828D967 /* CardImageVerification-ExampleUITests-Release.xcconfig */, ); - path = "CardImageVerification ExampleUITests"; + path = BuildConfigurations; + sourceTree = ""; + }; + 6F079DF6B7EF5EE355078DD7 /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + 1CCF8FEE15F4D59017FD2595 /* Project-Debug.xcconfig */, + C599E00EB175B047CB2B2F99 /* Project-Release.xcconfig */, + ); + name = BuildConfigurations; + path = ../../BuildConfigurations; + sourceTree = ""; + }; + 92A0D2CAC32B4915539A18A8 /* Views */ = { + isa = PBXGroup; + children = ( + C085819047EFDFE64834CC0B /* CTAButton.swift */, + ); + path = Views; sourceTree = ""; }; - F32D9AFE2745C02300C5FDBF /* Resources */ = { + AF76D372467F165C05848109 /* Resources */ = { isa = PBXGroup; children = ( - 60EFED6928E280E5009A41B7 /* synthetic_test_image.jpg */, - F32D9AFF2745C06D00C5FDBF /* card_scanning_instruction.png */, + 6AC6FC5156669FB2939F4653 /* LaunchScreen.storyboard */, + E422954BF0FDBDCA32971BF9 /* Main.storyboard */, + E3524CEDCFAB1130DDAFD4CC /* Assets.xcassets */, + E7F4E92BC498695EFFD9E426 /* card_scanning_instruction.png */, ); path = Resources; sourceTree = ""; }; - F32D9B012745C24700C5FDBF /* Frameworks */ = { + BD4FFC07D9390ECD9EDB077A /* CardImageVerification ExampleUITests */ = { isa = PBXGroup; children = ( - F32D9B062745C27600C5FDBF /* StripeCore.framework */, - F32D9B022745C24700C5FDBF /* StripeCardScan.framework */, + 4B3AD4B2DE960BB1D29B7976 /* CardImageVerification_EndToEndTests.swift */, + 4AFE0B327286E7F0302D9D1B /* CardImageVerification_ExampleUITests.swift */, + 47FE5701F624F6CE8D9F9027 /* Info.plist */, ); - name = Frameworks; + path = "CardImageVerification ExampleUITests"; sourceTree = ""; }; - F32D9B0B2745C98200C5FDBF /* View Controllers */ = { + C97C6861EE70006BF20BFD7A /* Project */ = { isa = PBXGroup; children = ( - F3B038AA274E457700718B35 /* VerificationCardInputViewController.swift */, - F32D9B092745C8C700C5FDBF /* VerificationExplanationViewController.swift */, - F32D9AD22745BFD000C5FDBF /* ViewController.swift */, + 61463BA4F2437C98F12F94C7 /* BuildConfigurations */, + 6F079DF6B7EF5EE355078DD7 /* BuildConfigurations */, + 0305B2C2E323627C38B7F078 /* CardImageVerification Example */, + BD4FFC07D9390ECD9EDB077A /* CardImageVerification ExampleUITests */, ); - path = "View Controllers"; + name = Project; sourceTree = ""; }; - F3B038AE2754627500718B35 /* Views */ = { + CC7F1C44A9EDF28E15BF9522 = { isa = PBXGroup; children = ( - F3B038AF2754628F00718B35 /* CTAButton.swift */, + C97C6861EE70006BF20BFD7A /* Project */, + 44EC74304CAE5B297FCDFBC6 /* Frameworks */, + 41474EC63599755CF3802E13 /* Products */, ); - path = Views; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - F32D9ACA2745BFD000C5FDBF /* CardImageVerification Example */ = { + 1F7927F2A7FD8A7CB89238A8 /* CardImageVerification ExampleUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = F32D9AF52745BFD200C5FDBF /* Build configuration list for PBXNativeTarget "CardImageVerification Example" */; + buildConfigurationList = D7FDF1F9E57BC2C79578F5C8 /* Build configuration list for PBXNativeTarget "CardImageVerification ExampleUITests" */; buildPhases = ( - F32D9AC72745BFD000C5FDBF /* Sources */, - F32D9AC82745BFD000C5FDBF /* Frameworks */, - F32D9AC92745BFD000C5FDBF /* Resources */, - F32D9B052745C24700C5FDBF /* Embed Frameworks */, + 76DB0DF84397F7440EC3A30B /* Sources */, + 51CC54AA935C86002F054C3A /* Resources */, + B7C7710AEBA3EBD72E0AB704 /* Embed Frameworks */, + B562499B0B05E2339208945E /* Frameworks */, + 357B58EEC9C3A4284122C632 /* Copy Test Resources from StripeCardScanTests */, ); buildRules = ( ); dependencies = ( + 4DB287B24B28F3C4002C9160 /* PBXTargetDependency */, ); - name = "CardImageVerification Example"; - productName = "CardImageVerification Example"; - productReference = F32D9ACB2745BFD000C5FDBF /* CardImageVerification Example.app */; - productType = "com.apple.product-type.application"; + name = "CardImageVerification ExampleUITests"; + productName = CardImageVerificationExampleUITests; + productReference = 23B93ACA79325D539C32F309 /* CardImageVerificationExampleUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; }; - F32D9AEB2745BFD200C5FDBF /* CardImageVerification ExampleUITests */ = { + DC33340EB698EBE4DB21F776 /* CardImageVerification Example */ = { isa = PBXNativeTarget; - buildConfigurationList = F32D9AFB2745BFD200C5FDBF /* Build configuration list for PBXNativeTarget "CardImageVerification ExampleUITests" */; + buildConfigurationList = EF3E097FD9C8B564D351A39B /* Build configuration list for PBXNativeTarget "CardImageVerification Example" */; buildPhases = ( - F32D9AE82745BFD200C5FDBF /* Sources */, - 60EFED6328E28016009A41B7 /* Copy Test Resources from StripeCardScanTests */, + 8169F1DD9145480530407715 /* Sources */, + B609D1C85685F50D4AD14F5D /* Resources */, + 39C74552D8E3533ED791BCB3 /* Embed Frameworks */, + 179AB8951A8F3189C93947FF /* Frameworks */, ); buildRules = ( ); dependencies = ( - F32D9AEE2745BFD200C5FDBF /* PBXTargetDependency */, ); - name = "CardImageVerification ExampleUITests"; - productName = "CardImageVerification ExampleUITests"; - productReference = F32D9AEC2745BFD200C5FDBF /* CardImageVerification ExampleUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; + name = "CardImageVerification Example"; + productName = CardImageVerificationExample; + productReference = D61736BBB4914EEB9471D559 /* CardImageVerificationExample.app */; + productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - F32D9AC32745BFD000C5FDBF /* Project object */ = { + D83437AF263C0705C65270EE /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1250; - LastUpgradeCheck = 1250; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - F32D9ACA2745BFD000C5FDBF = { - CreatedOnToolsVersion = 12.5; - }; - F32D9AEB2745BFD200C5FDBF = { - CreatedOnToolsVersion = 12.5; - TestTargetID = F32D9ACA2745BFD000C5FDBF; + 1F7927F2A7FD8A7CB89238A8 = { + TestTargetID = DC33340EB698EBE4DB21F776; }; }; }; - buildConfigurationList = F32D9AC62745BFD000C5FDBF /* Build configuration list for PBXProject "CardImageVerification Example" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = 0451BCE5B02B05D81B2CDC47 /* Build configuration list for PBXProject "CardImageVerification Example" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + en, es, ); - mainGroup = F32D9AC22745BFD000C5FDBF; - productRefGroup = F32D9ACC2745BFD000C5FDBF /* Products */; + mainGroup = CC7F1C44A9EDF28E15BF9522; + productRefGroup = 41474EC63599755CF3802E13 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - F32D9ACA2745BFD000C5FDBF /* CardImageVerification Example */, - F32D9AEB2745BFD200C5FDBF /* CardImageVerification ExampleUITests */, + DC33340EB698EBE4DB21F776 /* CardImageVerification Example */, + 1F7927F2A7FD8A7CB89238A8 /* CardImageVerification ExampleUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - F32D9AC92745BFD000C5FDBF /* Resources */ = { + 51CC54AA935C86002F054C3A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - F32D9ADB2745BFD100C5FDBF /* LaunchScreen.storyboard in Resources */, - F32D9AD82745BFD100C5FDBF /* Assets.xcassets in Resources */, - F32D9AD62745BFD000C5FDBF /* Main.storyboard in Resources */, - F32D9B002745C06D00C5FDBF /* card_scanning_instruction.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B609D1C85685F50D4AD14F5D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FD79E545C4C619F66A9A6747 /* Assets.xcassets in Resources */, + 8015A127FD067FD9CA4023D4 /* LaunchScreen.storyboard in Resources */, + 7B03C83F9AAD61B04065C4E3 /* Main.storyboard in Resources */, + 82F25757E8833C501E8C62A1 /* card_scanning_instruction.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 60EFED6328E28016009A41B7 /* Copy Test Resources from StripeCardScanTests */ = { + 357B58EEC9C3A4284122C632 /* Copy Test Resources from StripeCardScanTests */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; @@ -283,7 +327,7 @@ inputFileListPaths = ( ); inputPaths = ( - "$(SRCROOT)/../../StripeCardScan/StripeCardScanTests/Resources/synthetic_test_image.jpg", + ../../StripeCardScan/StripeCardScanTests/Resources/synthetic_test_image.jpg, ); name = "Copy Test Resources from StripeCardScanTests"; outputFileListPaths = ( @@ -292,295 +336,158 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if [ $PLATFORM_NAME == iphonesimulator ]; then\n \"CardImageVerification ExampleUITests/Scripts/CopyStripeCardScanTestResources.sh\"\nfi\n"; + shellScript = "if [ $PLATFORM_NAME == iphonesimulator ]; then\n \"CardImageVerification ExampleUITests/Scripts/CopyStripeCardScanTestResources.sh\"\nfi"; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - F32D9AC72745BFD000C5FDBF /* Sources */ = { + 76DB0DF84397F7440EC3A30B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F32D9AD32745BFD000C5FDBF /* ViewController.swift in Sources */, - F3B038B227547A8000718B35 /* APIClient.swift in Sources */, - F329D8DF27473CD700811E79 /* URLHelper.swift in Sources */, - F3B038B02754628F00718B35 /* CTAButton.swift in Sources */, - F32D9ACF2745BFD000C5FDBF /* AppDelegate.swift in Sources */, - F32D9B0A2745C8C700C5FDBF /* VerificationExplanationViewController.swift in Sources */, - F3B038AB274E457700718B35 /* VerificationCardInputViewController.swift in Sources */, + 64765C8B6282414411C0AC44 /* CardImageVerification_EndToEndTests.swift in Sources */, + 7EDBB8A04C654F9936FB4D1F /* CardImageVerification_ExampleUITests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - F32D9AE82745BFD200C5FDBF /* Sources */ = { + 8169F1DD9145480530407715 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F32D9AF12745BFD200C5FDBF /* CardImageVerification_ExampleUITests.swift in Sources */, - 60EFED5828E0E94A009A41B7 /* CardImageVerification_EndToEndTests.swift in Sources */, + E40F2C10AA49A3172FB30FE6 /* APIClient.swift in Sources */, + 8741973E15C8893F4520185D /* AppDelegate.swift in Sources */, + 5088641EE7C2A9D56C3A6AFE /* URLHelper.swift in Sources */, + 3AC3BADD4D393EA0F30EA256 /* VerificationCardInputViewController.swift in Sources */, + 9A7ED65986834C9172610E59 /* VerificationExplanationViewController.swift in Sources */, + DC7CBF4EF1C6191B915C6BF3 /* ViewController.swift in Sources */, + 53E2CCA28A8F10FBE176CBF4 /* CTAButton.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - F32D9AEE2745BFD200C5FDBF /* PBXTargetDependency */ = { + 4DB287B24B28F3C4002C9160 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = F32D9ACA2745BFD000C5FDBF /* CardImageVerification Example */; - targetProxy = F32D9AED2745BFD200C5FDBF /* PBXContainerItemProxy */; + name = "CardImageVerification Example"; + target = DC33340EB698EBE4DB21F776 /* CardImageVerification Example */; + targetProxy = 80155910DD3E747ADC7987F6 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - F32D9AD42745BFD000C5FDBF /* Main.storyboard */ = { + 6AC6FC5156669FB2939F4653 /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( - F32D9AD52745BFD000C5FDBF /* Base */, - 3BA98B0827739C130086C74C /* es */, + DBBE720873DC7524FD768F03 /* Base */, + 55D0D62B916F2585C814B4EE /* es */, ); - name = Main.storyboard; + name = LaunchScreen.storyboard; sourceTree = ""; }; - F32D9AD92745BFD100C5FDBF /* LaunchScreen.storyboard */ = { + E422954BF0FDBDCA32971BF9 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - F32D9ADA2745BFD100C5FDBF /* Base */, - 3BA98B0727739C120086C74C /* es */, + 998168336B8557A42722A5CC /* Base */, + B1FC6EEF245E296A6EF6960C /* es */, ); - name = LaunchScreen.storyboard; + name = Main.storyboard; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - F32D9AF32745BFD200C5FDBF /* Debug */ = { + 435B5BC8FE3FCC613BEE86E4 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 74D9CF010C9F1E76EA59098A /* CardImageVerification-Example-Debug.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 11.2; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; + INFOPLIST_FILE = "CardImageVerification Example/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.CardImageVerification-Example"; + PRODUCT_NAME = CardImageVerificationExample; SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Debug; }; - F32D9AF42745BFD200C5FDBF /* Release */ = { + 45BDE1C8E8A854428E263917 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 3CE0B6CC20864C0008614046 /* CardImageVerification-Example-Release.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 11.2; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; + INFOPLIST_FILE = "CardImageVerification Example/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.CardImageVerification-Example"; + PRODUCT_NAME = CardImageVerificationExample; SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; }; name = Release; }; - F32D9AF62745BFD200C5FDBF /* Debug */ = { + 54B419A9C5BB02F98113CF33 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1CCF8FEE15F4D59017FD2595 /* Project-Debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "CardImageVerification Example/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.CardImageVerification-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - F32D9AF72745BFD200C5FDBF /* Release */ = { + 94C2DB8240F8026D6D55FCAD /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C599E00EB175B047CB2B2F99 /* Project-Release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "CardImageVerification Example/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.CardImageVerification-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; - F32D9AFC2745BFD200C5FDBF /* Debug */ = { + DBBE7E6C4C532A26598F3829 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B96E61A575FF9A7B3828D967 /* CardImageVerification-ExampleUITests-Release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; INFOPLIST_FILE = "CardImageVerification ExampleUITests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.CardImageVerification-ExampleUITests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + PRODUCT_NAME = CardImageVerificationExampleUITests; + SDKROOT = iphoneos; TEST_TARGET_NAME = "CardImageVerification Example"; }; - name = Debug; + name = Release; }; - F32D9AFD2745BFD200C5FDBF /* Release */ = { + E20E5A4625E18DDDBB599C76 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 52B4B1ADDDBC7792175EE884 /* CardImageVerification-ExampleUITests-Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; INFOPLIST_FILE = "CardImageVerification ExampleUITests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.CardImageVerification-ExampleUITests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + PRODUCT_NAME = CardImageVerificationExampleUITests; + SDKROOT = iphoneos; TEST_TARGET_NAME = "CardImageVerification Example"; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - F32D9AC62745BFD000C5FDBF /* Build configuration list for PBXProject "CardImageVerification Example" */ = { + 0451BCE5B02B05D81B2CDC47 /* Build configuration list for PBXProject "CardImageVerification Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - F32D9AF32745BFD200C5FDBF /* Debug */, - F32D9AF42745BFD200C5FDBF /* Release */, + 54B419A9C5BB02F98113CF33 /* Debug */, + 94C2DB8240F8026D6D55FCAD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F32D9AF52745BFD200C5FDBF /* Build configuration list for PBXNativeTarget "CardImageVerification Example" */ = { + D7FDF1F9E57BC2C79578F5C8 /* Build configuration list for PBXNativeTarget "CardImageVerification ExampleUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - F32D9AF62745BFD200C5FDBF /* Debug */, - F32D9AF72745BFD200C5FDBF /* Release */, + E20E5A4625E18DDDBB599C76 /* Debug */, + DBBE7E6C4C532A26598F3829 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F32D9AFB2745BFD200C5FDBF /* Build configuration list for PBXNativeTarget "CardImageVerification ExampleUITests" */ = { + EF3E097FD9C8B564D351A39B /* Build configuration list for PBXNativeTarget "CardImageVerification Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - F32D9AFC2745BFD200C5FDBF /* Debug */, - F32D9AFD2745BFD200C5FDBF /* Release */, + 435B5BC8FE3FCC613BEE86E4 /* Debug */, + 45BDE1C8E8A854428E263917 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = F32D9AC32745BFD000C5FDBF /* Project object */; + rootObject = D83437AF263C0705C65270EE /* Project object */; } diff --git a/LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/xcshareddata/xcschemes/CardImageVerification Example.xcscheme b/Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/xcshareddata/xcschemes/CardImageVerification Example.xcscheme index 47bf1e5c769..8782d01ee89 100644 --- a/Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/xcshareddata/xcschemes/CardImageVerification Example.xcscheme +++ b/Example/CardImageVerification Example/CardImageVerification Example.xcodeproj/xcshareddata/xcschemes/CardImageVerification Example.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -44,19 +58,19 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + disablePerformanceAntipatternChecker = "YES" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" - enableGPUValidationMode = "1" allowLocationSimulation = "YES"> @@ -72,8 +86,8 @@ runnableDebuggingMode = "0"> diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AccentColor.colorset/Contents.json b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AccentColor.colorset/Contents.json rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/Contents.json b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/Contents.json similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Assets.xcassets/Contents.json rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Assets.xcassets/Contents.json diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Base.lproj/LaunchScreen.storyboard b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Base.lproj/LaunchScreen.storyboard rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Base.lproj/LaunchScreen.storyboard diff --git a/Example/CardImageVerification Example/CardImageVerification Example/Base.lproj/Main.storyboard b/Example/CardImageVerification Example/CardImageVerification Example/Resources/Base.lproj/Main.storyboard similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/Base.lproj/Main.storyboard rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/Base.lproj/Main.storyboard diff --git a/Example/CardImageVerification Example/CardImageVerification Example/es.lproj/LaunchScreen.strings b/Example/CardImageVerification Example/CardImageVerification Example/Resources/es.lproj/LaunchScreen.strings similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/es.lproj/LaunchScreen.strings rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/es.lproj/LaunchScreen.strings diff --git a/Example/CardImageVerification Example/CardImageVerification Example/es.lproj/Main.strings b/Example/CardImageVerification Example/CardImageVerification Example/Resources/es.lproj/Main.strings similarity index 100% rename from Example/CardImageVerification Example/CardImageVerification Example/es.lproj/Main.strings rename to Example/CardImageVerification Example/CardImageVerification Example/Resources/es.lproj/Main.strings diff --git a/Example/CardImageVerification Example/Project.swift b/Example/CardImageVerification Example/Project.swift new file mode 100644 index 00000000000..5ce62682b33 --- /dev/null +++ b/Example/CardImageVerification Example/Project.swift @@ -0,0 +1,83 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "CardImageVerification Example", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "CardImageVerification Example", + platform: .iOS, + product: .app, + productName: "CardImageVerificationExample", + bundleId: "com.stripe.CardImageVerification-Example", + infoPlist: "CardImageVerification Example/Info.plist", + sources: "CardImageVerification Example/**/*.swift", + resources: "CardImageVerification Example/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeCardScan", path: "//StripeCardScan"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/CardImageVerification-Example" + ) + ), + Target( + name: "CardImageVerification ExampleUITests", + platform: .iOS, + product: .uiTests, + productName: "CardImageVerificationExampleUITests", + bundleId: "com.stripe.CardImageVerification-ExampleUITests", + infoPlist: "CardImageVerification ExampleUITests/Info.plist", + sources: "CardImageVerification ExampleUITests/*.swift", + scripts: [ + .post( + script: """ + if [ $PLATFORM_NAME == iphonesimulator ]; then + "CardImageVerification ExampleUITests/Scripts/CopyStripeCardScanTestResources.sh" + fi + """, + name: "Copy Test Resources from StripeCardScanTests", + inputPaths: [ + "//StripeCardScan/StripeCardScanTests/Resources/synthetic_test_image.jpg", + ], + basedOnDependencyAnalysis: false + ) + ], + dependencies: [ + .target(name: "CardImageVerification Example"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/CardImageVerification-ExampleUITests" + ) + ), + ], + schemes: [ + Scheme( + name: "CardImageVerification Example", + buildAction: .buildAction(targets: [ + "CardImageVerification Example", + "CardImageVerification ExampleUITests", + ]), + testAction: .targets(["CardImageVerification ExampleUITests"]), + runAction: .runAction(executable: "CardImageVerification Example") + ) + ] +) diff --git a/Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Debug.xcconfig b/Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Debug.xcconfig new file mode 100644 index 00000000000..ef44c43c17f --- /dev/null +++ b/Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// FinancialConnections-Example-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "FinancialConnections-Example-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Release.xcconfig b/Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Release.xcconfig new file mode 100644 index 00000000000..d7c3b00bb6c --- /dev/null +++ b/Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Release.xcconfig @@ -0,0 +1,12 @@ +// +// FinancialConnections-Example-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "FinancialConnections-Example-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Shared.xcconfig b/Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Shared.xcconfig new file mode 100644 index 00000000000..1d3a88fae02 --- /dev/null +++ b/Example/FinancialConnections Example/BuildConfigurations/FinancialConnections-Example-Shared.xcconfig @@ -0,0 +1,16 @@ +// +// FinancialConnections-Example-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor +ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES +CODE_SIGN_STYLE = Automatic +CURRENT_PROJECT_VERSION = 1.1 +TARGETED_DEVICE_FAMILY = 1,2 +VERSIONING_SYSTEM = apple-generic +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/project.pbxproj b/Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/project.pbxproj index 509264bd691..0738beb803e 100644 --- a/Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/project.pbxproj +++ b/Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/project.pbxproj @@ -3,41 +3,35 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 3C37D6DB274C10910041F1BE /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C37D6DA274C10910041F1BE /* StripeUICore.framework */; }; - 3C37D6DC274C10910041F1BE /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3C37D6DA274C10910041F1BE /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3C37D6DE274C109B0041F1BE /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C37D6DD274C109B0041F1BE /* StripeCore.framework */; }; - 3C37D6DF274C109B0041F1BE /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3C37D6DD274C109B0041F1BE /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3C808457280F945000DF9D30 /* StripeFinancialConnections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C808456280F945000DF9D30 /* StripeFinancialConnections.framework */; }; - 3C808458280F945000DF9D30 /* StripeFinancialConnections.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3C808456280F945000DF9D30 /* StripeFinancialConnections.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3CD1DD05280711B400A3A5CD /* ExampleListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CD1DD04280711B400A3A5CD /* ExampleListViewController.swift */; }; - 3CD1DD072807218200A3A5CD /* CollectBankAccountTokenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CD1DD062807218200A3A5CD /* CollectBankAccountTokenViewController.swift */; }; - 3CEB0CB9273EFEF5009680F8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CEB0CB8273EFEF5009680F8 /* AppDelegate.swift */; }; - 3CEB0CBD273EFEF5009680F8 /* ConnectAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CEB0CBC273EFEF5009680F8 /* ConnectAccountViewController.swift */; }; - 3CEB0CC0273EFEF5009680F8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3CEB0CBE273EFEF5009680F8 /* Main.storyboard */; }; - 3CEB0CC2273EFEF7009680F8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3CEB0CC1273EFEF7009680F8 /* Assets.xcassets */; }; - 3CEB0CC5273EFEF7009680F8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3CEB0CC3273EFEF7009680F8 /* LaunchScreen.storyboard */; }; - 6A01988629117D5F00418064 /* PlaygroundMainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A01988529117D5F00418064 /* PlaygroundMainView.swift */; }; - 6A0198902916BD8D00418064 /* PlaygroundMainViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A01988F2916BD8D00418064 /* PlaygroundMainViewModel.swift */; }; - 6A0198932916C97A00418064 /* UIViewController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0198922916C97A00418064 /* UIViewController+Extensions.swift */; }; - 6A0198952916D1E300418064 /* PlaygroundUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0198942916D1E300418064 /* PlaygroundUserDefaults.swift */; }; - 6A0198972916EA6600418064 /* UIAlertController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0198962916EA6600418064 /* UIAlertController+Extensions.swift */; }; - 6AE674A02908879F001854B2 /* PlaygroundViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE6749F2908879F001854B2 /* PlaygroundViewController.swift */; }; + 0A6632AC245E8AD86850685A /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 03E7365D673694C8D7EDFB20 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 0B647212C7B1C5DC253193E0 /* StripeFinancialConnections.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5785AD2F7A6D71D9470B0DB6 /* StripeFinancialConnections.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 2FFB7D24916B79615F334BD4 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 936C5935D51A54BE9F183ECA /* Main.storyboard */; }; + 307E63F1F0E10D8B419C3DAB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FF678252EB811ACE4D0EC296 /* LaunchScreen.storyboard */; }; + 597C7552115D87218591934C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07DA32DE3842C0AD47047104 /* AppDelegate.swift */; }; + 5B38135D1C37FC1812F4203A /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADFEE494187576194F8B46BB /* StripeUICore.framework */; }; + 5C1B372D1660E856988156DA /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = ADFEE494187576194F8B46BB /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 6AF9C66D47F81DD9B103FB64 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03E7365D673694C8D7EDFB20 /* StripeCore.framework */; }; + 8A2D4CA47FB7B68B6D7BCB19 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8DACDB8126F851C25D6A14A8 /* Assets.xcassets */; }; + C0495B99B568EE4ED5E4F44A /* CollectBankAccountTokenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E192850895613723B1E4AEA6 /* CollectBankAccountTokenViewController.swift */; }; + C2D21072C2E0187FD065BB3C /* ConnectAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25EA925F32466BF115E6419F /* ConnectAccountViewController.swift */; }; + DA6FA2C369E10A2B4663B434 /* StripeFinancialConnections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5785AD2F7A6D71D9470B0DB6 /* StripeFinancialConnections.framework */; }; + F75FA2EBFB3A08D31E7A8D4D /* ExampleListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092E132F7DB46E518F2F1B21 /* ExampleListViewController.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - 3C5430C52745794000B1E488 /* Embed Frameworks */ = { + 329899B6E55083CD405D20EC /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 3C808458280F945000DF9D30 /* StripeFinancialConnections.framework in Embed Frameworks */, - 3C37D6DC274C10910041F1BE /* StripeUICore.framework in Embed Frameworks */, - 3C37D6DF274C109B0041F1BE /* StripeCore.framework in Embed Frameworks */, + 0A6632AC245E8AD86850685A /* StripeCore.framework in Embed Frameworks */, + 0B647212C7B1C5DC253193E0 /* StripeFinancialConnections.framework in Embed Frameworks */, + 5C1B372D1660E856988156DA /* StripeUICore.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -45,204 +39,197 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 3C37D6DA274C10910041F1BE /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C37D6DD274C109B0041F1BE /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C808456280F945000DF9D30 /* StripeFinancialConnections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeFinancialConnections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3CD1DD04280711B400A3A5CD /* ExampleListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleListViewController.swift; sourceTree = ""; }; - 3CD1DD062807218200A3A5CD /* CollectBankAccountTokenViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectBankAccountTokenViewController.swift; sourceTree = ""; }; - 3CEB0CB5273EFEF5009680F8 /* FinancialConnections Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "FinancialConnections Example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3CEB0CB8273EFEF5009680F8 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 3CEB0CBC273EFEF5009680F8 /* ConnectAccountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectAccountViewController.swift; sourceTree = ""; }; - 3CEB0CBF273EFEF5009680F8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 3CEB0CC1273EFEF7009680F8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 3CEB0CC4273EFEF7009680F8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 3CEB0CC6273EFEF7009680F8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6A01988529117D5F00418064 /* PlaygroundMainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaygroundMainView.swift; sourceTree = ""; }; - 6A01988F2916BD8D00418064 /* PlaygroundMainViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaygroundMainViewModel.swift; sourceTree = ""; }; - 6A0198922916C97A00418064 /* UIViewController+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Extensions.swift"; sourceTree = ""; }; - 6A0198942916D1E300418064 /* PlaygroundUserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaygroundUserDefaults.swift; sourceTree = ""; }; - 6A0198962916EA6600418064 /* UIAlertController+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIAlertController+Extensions.swift"; sourceTree = ""; }; - 6AE6749F2908879F001854B2 /* PlaygroundViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaygroundViewController.swift; sourceTree = ""; }; + 03E7365D673694C8D7EDFB20 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 07DA32DE3842C0AD47047104 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 092E132F7DB46E518F2F1B21 /* ExampleListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleListViewController.swift; sourceTree = ""; }; + 25EA925F32466BF115E6419F /* ConnectAccountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectAccountViewController.swift; sourceTree = ""; }; + 2F3BF228321CA7FCBEA669CC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 3E18F0765C9C715F64080DD3 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 5785AD2F7A6D71D9470B0DB6 /* StripeFinancialConnections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeFinancialConnections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5B50C88219DC0F3F0BFC5CE4 /* FinancialConnections-Example-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "FinancialConnections-Example-Release.xcconfig"; sourceTree = ""; }; + 5B675DEF4776CDFF8309DEB8 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 5C02DB1648E15A6591FD56E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 701003016E153D5DF2B00442 /* FinancialConnections-Example-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "FinancialConnections-Example-Debug.xcconfig"; sourceTree = ""; }; + 76B43732FE4180268DAA8355 /* FinancialConnectionsExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FinancialConnectionsExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 8DACDB8126F851C25D6A14A8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + ADFEE494187576194F8B46BB /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DCDA61A23BDB5ED4D9676E62 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + E192850895613723B1E4AEA6 /* CollectBankAccountTokenViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectBankAccountTokenViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 3CEB0CB2273EFEF5009680F8 /* Frameworks */ = { + 91A13976310467FF5FFCB4FB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3C808457280F945000DF9D30 /* StripeFinancialConnections.framework in Frameworks */, - 3C37D6DB274C10910041F1BE /* StripeUICore.framework in Frameworks */, - 3C37D6DE274C109B0041F1BE /* StripeCore.framework in Frameworks */, + 6AF9C66D47F81DD9B103FB64 /* StripeCore.framework in Frameworks */, + DA6FA2C369E10A2B4663B434 /* StripeFinancialConnections.framework in Frameworks */, + 5B38135D1C37FC1812F4203A /* StripeUICore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 3C5430C12745794000B1E488 /* Frameworks */ = { + 08699B52A213AE177E94F864 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 3C808456280F945000DF9D30 /* StripeFinancialConnections.framework */, - 3C37D6DD274C109B0041F1BE /* StripeCore.framework */, - 3C37D6DA274C10910041F1BE /* StripeUICore.framework */, + 701003016E153D5DF2B00442 /* FinancialConnections-Example-Debug.xcconfig */, + 5B50C88219DC0F3F0BFC5CE4 /* FinancialConnections-Example-Release.xcconfig */, ); - name = Frameworks; + path = BuildConfigurations; sourceTree = ""; }; - 3CEB0CAC273EFEF5009680F8 = { + 16B505A9E0578F89DFF3F7BC = { isa = PBXGroup; children = ( - 3CEB0CB7273EFEF5009680F8 /* FinancialConnections Example */, - 3CEB0CB6273EFEF5009680F8 /* Products */, - 3C5430C12745794000B1E488 /* Frameworks */, + 50C2BF2068C431D89BFF6E11 /* Project */, + 35967318CD64200FCEDF41E7 /* Frameworks */, + EDE09A27F1A22ECA0F4D45B4 /* Products */, ); sourceTree = ""; }; - 3CEB0CB6273EFEF5009680F8 /* Products */ = { + 35967318CD64200FCEDF41E7 /* Frameworks */ = { isa = PBXGroup; children = ( - 3CEB0CB5273EFEF5009680F8 /* FinancialConnections Example.app */, ); - name = Products; + name = Frameworks; sourceTree = ""; }; - 3CEB0CB7273EFEF5009680F8 /* FinancialConnections Example */ = { + 4C86E7995C2BF4E2E9E42971 /* FinancialConnections Example */ = { isa = PBXGroup; children = ( - 3CD1DD04280711B400A3A5CD /* ExampleListViewController.swift */, - 3CEB0CBC273EFEF5009680F8 /* ConnectAccountViewController.swift */, - 3CD1DD062807218200A3A5CD /* CollectBankAccountTokenViewController.swift */, - 6AE6749E29088784001854B2 /* Playground */, - 3CEB0CB8273EFEF5009680F8 /* AppDelegate.swift */, - 3CEB0CBE273EFEF5009680F8 /* Main.storyboard */, - 3CEB0CC1273EFEF7009680F8 /* Assets.xcassets */, - 3CEB0CC3273EFEF7009680F8 /* LaunchScreen.storyboard */, - 3CEB0CC6273EFEF7009680F8 /* Info.plist */, + FF678252EB811ACE4D0EC296 /* LaunchScreen.storyboard */, + 936C5935D51A54BE9F183ECA /* Main.storyboard */, + 07DA32DE3842C0AD47047104 /* AppDelegate.swift */, + 8DACDB8126F851C25D6A14A8 /* Assets.xcassets */, + E192850895613723B1E4AEA6 /* CollectBankAccountTokenViewController.swift */, + 25EA925F32466BF115E6419F /* ConnectAccountViewController.swift */, + 092E132F7DB46E518F2F1B21 /* ExampleListViewController.swift */, + DCDA61A23BDB5ED4D9676E62 /* Info.plist */, ); path = "FinancialConnections Example"; sourceTree = ""; }; - 6A0198912916C97000418064 /* helpers */ = { + 50C2BF2068C431D89BFF6E11 /* Project */ = { isa = PBXGroup; children = ( - 6A0198922916C97A00418064 /* UIViewController+Extensions.swift */, - 6A0198942916D1E300418064 /* PlaygroundUserDefaults.swift */, - 6A0198962916EA6600418064 /* UIAlertController+Extensions.swift */, + 08699B52A213AE177E94F864 /* BuildConfigurations */, + 8B31A4C157CED701A95FD892 /* BuildConfigurations */, + 4C86E7995C2BF4E2E9E42971 /* FinancialConnections Example */, ); - path = helpers; + name = Project; sourceTree = ""; }; - 6AE6749E29088784001854B2 /* Playground */ = { + 8B31A4C157CED701A95FD892 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 6A0198912916C97000418064 /* helpers */, - 6AE6749F2908879F001854B2 /* PlaygroundViewController.swift */, - 6A01988529117D5F00418064 /* PlaygroundMainView.swift */, - 6A01988F2916BD8D00418064 /* PlaygroundMainViewModel.swift */, + 5B675DEF4776CDFF8309DEB8 /* Project-Debug.xcconfig */, + 3E18F0765C9C715F64080DD3 /* Project-Release.xcconfig */, ); - path = Playground; + name = BuildConfigurations; + path = ../../BuildConfigurations; + sourceTree = ""; + }; + EDE09A27F1A22ECA0F4D45B4 /* Products */ = { + isa = PBXGroup; + children = ( + 76B43732FE4180268DAA8355 /* FinancialConnectionsExample.app */, + 03E7365D673694C8D7EDFB20 /* StripeCore.framework */, + 5785AD2F7A6D71D9470B0DB6 /* StripeFinancialConnections.framework */, + ADFEE494187576194F8B46BB /* StripeUICore.framework */, + ); + name = Products; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 3CEB0CB4273EFEF5009680F8 /* FinancialConnections Example */ = { + C218162D3F33797EA8502346 /* FinancialConnections Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 3CEB0CC9273EFEF7009680F8 /* Build configuration list for PBXNativeTarget "FinancialConnections Example" */; + buildConfigurationList = E6DED659BF39F106D4AF0C05 /* Build configuration list for PBXNativeTarget "FinancialConnections Example" */; buildPhases = ( - 3CEB0CB1273EFEF5009680F8 /* Sources */, - 3CEB0CB2273EFEF5009680F8 /* Frameworks */, - 3CEB0CB3273EFEF5009680F8 /* Resources */, - 3C5430C52745794000B1E488 /* Embed Frameworks */, + 5777C8C603592B6D2A9C0A77 /* Sources */, + D852CE2290EE4327ADFD07E0 /* Resources */, + 329899B6E55083CD405D20EC /* Embed Frameworks */, + 91A13976310467FF5FFCB4FB /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "FinancialConnections Example"; - productName = "FinancialConnections Example"; - productReference = 3CEB0CB5273EFEF5009680F8 /* FinancialConnections Example.app */; + productName = FinancialConnectionsExample; + productReference = 76B43732FE4180268DAA8355 /* FinancialConnectionsExample.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 3CEB0CAD273EFEF5009680F8 /* Project object */ = { + 82CFE995323E51B8859FE080 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1220; - LastUpgradeCheck = 1220; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 3CEB0CB4273EFEF5009680F8 = { - CreatedOnToolsVersion = 12.2; - }; }; }; - buildConfigurationList = 3CEB0CB0273EFEF5009680F8 /* Build configuration list for PBXProject "FinancialConnections Example" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = B18411BA4D3BBD8A3720B1B3 /* Build configuration list for PBXProject "FinancialConnections Example" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + en, ); - mainGroup = 3CEB0CAC273EFEF5009680F8; - productRefGroup = 3CEB0CB6273EFEF5009680F8 /* Products */; + mainGroup = 16B505A9E0578F89DFF3F7BC; + productRefGroup = EDE09A27F1A22ECA0F4D45B4 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 3CEB0CB4273EFEF5009680F8 /* FinancialConnections Example */, + C218162D3F33797EA8502346 /* FinancialConnections Example */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 3CEB0CB3273EFEF5009680F8 /* Resources */ = { + D852CE2290EE4327ADFD07E0 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3CEB0CC5273EFEF7009680F8 /* LaunchScreen.storyboard in Resources */, - 3CEB0CC2273EFEF7009680F8 /* Assets.xcassets in Resources */, - 3CEB0CC0273EFEF5009680F8 /* Main.storyboard in Resources */, + 8A2D4CA47FB7B68B6D7BCB19 /* Assets.xcassets in Resources */, + 307E63F1F0E10D8B419C3DAB /* LaunchScreen.storyboard in Resources */, + 2FFB7D24916B79615F334BD4 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 3CEB0CB1273EFEF5009680F8 /* Sources */ = { + 5777C8C603592B6D2A9C0A77 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6A0198972916EA6600418064 /* UIAlertController+Extensions.swift in Sources */, - 3CD1DD05280711B400A3A5CD /* ExampleListViewController.swift in Sources */, - 3CD1DD072807218200A3A5CD /* CollectBankAccountTokenViewController.swift in Sources */, - 3CEB0CBD273EFEF5009680F8 /* ConnectAccountViewController.swift in Sources */, - 6AE674A02908879F001854B2 /* PlaygroundViewController.swift in Sources */, - 6A0198932916C97A00418064 /* UIViewController+Extensions.swift in Sources */, - 6A01988629117D5F00418064 /* PlaygroundMainView.swift in Sources */, - 3CEB0CB9273EFEF5009680F8 /* AppDelegate.swift in Sources */, - 6A0198952916D1E300418064 /* PlaygroundUserDefaults.swift in Sources */, - 6A0198902916BD8D00418064 /* PlaygroundMainViewModel.swift in Sources */, + 597C7552115D87218591934C /* AppDelegate.swift in Sources */, + C0495B99B568EE4ED5E4F44A /* CollectBankAccountTokenViewController.swift in Sources */, + C2D21072C2E0187FD065BB3C /* ConnectAccountViewController.swift in Sources */, + F75FA2EBFB3A08D31E7A8D4D /* ExampleListViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - 3CEB0CBE273EFEF5009680F8 /* Main.storyboard */ = { + 936C5935D51A54BE9F183ECA /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - 3CEB0CBF273EFEF5009680F8 /* Base */, + 5C02DB1648E15A6591FD56E1 /* Base */, ); name = Main.storyboard; sourceTree = ""; }; - 3CEB0CC3273EFEF7009680F8 /* LaunchScreen.storyboard */ = { + FF678252EB811ACE4D0EC296 /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( - 3CEB0CC4273EFEF7009680F8 /* Base */, + 2F3BF228321CA7FCBEA669CC /* Base */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -250,188 +237,64 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 3CEB0CC7273EFEF7009680F8 /* Debug */ = { + 0229FB766BEC2CFC02626D93 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 5B675DEF4776CDFF8309DEB8 /* Project-Debug.xcconfig */; 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 13.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"; }; name = Debug; }; - 3CEB0CC8273EFEF7009680F8 /* Release */ = { + 29F488554B9E9389E602C8C3 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 701003016E153D5DF2B00442 /* FinancialConnections-Example-Debug.xcconfig */; 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; + INFOPLIST_FILE = "FinancialConnections Example/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.example.Connections-Example"; + PRODUCT_NAME = FinancialConnectionsExample; SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - 3CEB0CCA273EFEF7009680F8 /* Debug */ = { + 62A0FC5CC8A0870CEAF1755A /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 3E18F0765C9C715F64080DD3 /* Project-Release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1.1; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "FinancialConnections Example/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.example.Connections-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; }; - name = Debug; + name = Release; }; - 3CEB0CCB273EFEF7009680F8 /* Release */ = { + B90DB72906BF1E7AA2F0B70F /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 5B50C88219DC0F3F0BFC5CE4 /* FinancialConnections-Example-Release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1.1; - DEVELOPMENT_TEAM = Y28TH9SHX7; INFOPLIST_FILE = "FinancialConnections Example/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.example.Connections-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; + PRODUCT_NAME = FinancialConnectionsExample; + SDKROOT = iphoneos; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3CEB0CB0273EFEF5009680F8 /* Build configuration list for PBXProject "FinancialConnections Example" */ = { + B18411BA4D3BBD8A3720B1B3 /* Build configuration list for PBXProject "FinancialConnections Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3CEB0CC7273EFEF7009680F8 /* Debug */, - 3CEB0CC8273EFEF7009680F8 /* Release */, + 0229FB766BEC2CFC02626D93 /* Debug */, + 62A0FC5CC8A0870CEAF1755A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3CEB0CC9273EFEF7009680F8 /* Build configuration list for PBXNativeTarget "FinancialConnections Example" */ = { + E6DED659BF39F106D4AF0C05 /* Build configuration list for PBXNativeTarget "FinancialConnections Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3CEB0CCA273EFEF7009680F8 /* Debug */, - 3CEB0CCB273EFEF7009680F8 /* Release */, + 29F488554B9E9389E602C8C3 /* Debug */, + B90DB72906BF1E7AA2F0B70F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 3CEB0CAD273EFEF5009680F8 /* Project object */; + rootObject = 82CFE995323E51B8859FE080 /* Project object */; } diff --git a/Stripe.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Stripe.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/xcshareddata/xcschemes/FinancialConnections Example.xcscheme b/Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/xcshareddata/xcschemes/FinancialConnections Example.xcscheme index 5481dbdd817..af424cf2cb2 100644 --- a/Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/xcshareddata/xcschemes/FinancialConnections Example.xcscheme +++ b/Example/FinancialConnections Example/FinancialConnections Example.xcodeproj/xcshareddata/xcschemes/FinancialConnections Example.xcscheme @@ -1,6 +1,6 @@ @@ -26,7 +26,8 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES" + disableMainThreadChecker = "YES"> @@ -34,6 +35,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + disablePerformanceAntipatternChecker = "YES" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" @@ -44,8 +46,8 @@ runnableDebuggingMode = "0"> @@ -61,8 +63,8 @@ runnableDebuggingMode = "0"> diff --git a/Example/FinancialConnections Example/Project.swift b/Example/FinancialConnections Example/Project.swift new file mode 100644 index 00000000000..f9fde0a2f6c --- /dev/null +++ b/Example/FinancialConnections Example/Project.swift @@ -0,0 +1,57 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "FinancialConnections Example", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "FinancialConnections Example", + platform: .iOS, + product: .app, + productName: "FinancialConnectionsExample", + bundleId: "com.stripe.example.Connections-Example", + infoPlist: "FinancialConnections Example/Info.plist", + sources: "FinancialConnections Example/*.swift", + resources: [ + "FinancialConnections Example/Assets.xcassets", + "FinancialConnections Example/Base.lproj/**", + ], + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project( + target: "StripeFinancialConnections", + path: "//StripeFinancialConnections" + ), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/FinancialConnections-Example" + ) + ) + ], + schemes: [ + Scheme( + name: "FinancialConnections Example", + buildAction: .buildAction(targets: ["FinancialConnections Example"]), + runAction: .runAction(executable: "FinancialConnections Example") + ) + ] +) diff --git a/Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Debug.xcconfig b/Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Debug.xcconfig new file mode 100644 index 00000000000..b1030845273 --- /dev/null +++ b/Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// IdentityVerification-Example-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "IdentityVerification-Example-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Release.xcconfig b/Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Release.xcconfig new file mode 100644 index 00000000000..0ce2d6604aa --- /dev/null +++ b/Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Release.xcconfig @@ -0,0 +1,12 @@ +// +// IdentityVerification-Example-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "IdentityVerification-Example-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Shared.xcconfig b/Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Shared.xcconfig new file mode 100644 index 00000000000..f84ed598f80 --- /dev/null +++ b/Example/IdentityVerification Example/BuildConfigurations/IdentityVerification-Example-Shared.xcconfig @@ -0,0 +1,16 @@ +// +// IdentityVerification-Example-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor +CODE_SIGN_STYLE = Automatic +CURRENT_PROJECT_VERSION = 1 +MARKETING_VERSION = 2.0 +TARGETED_DEVICE_FAMILY = 1,2 +VERSIONING_SYSTEM = apple-generic +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/project.pbxproj b/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/project.pbxproj index 9016ed377eb..ce37926726a 100644 --- a/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/project.pbxproj +++ b/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/project.pbxproj @@ -3,43 +3,40 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - E63A5FA927EAE17D00927B8C /* ExampleVerificationViewControllerNativeUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = E63A5FA827EAE17D00927B8C /* ExampleVerificationViewControllerNativeUI.swift */; }; - E63B6747274345DD00CFEDBA /* StripeCameraCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E63B6746274345DD00CFEDBA /* StripeCameraCore.framework */; }; - E63B6748274345DD00CFEDBA /* StripeCameraCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E63B6746274345DD00CFEDBA /* StripeCameraCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - E666DF1C273B3BDE00638B60 /* front_drivers_license.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E666DF1A273B3BDE00638B60 /* front_drivers_license.jpg */; }; - E666DF1D273B3BDE00638B60 /* back_drivers_license.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E666DF1B273B3BDE00638B60 /* back_drivers_license.jpg */; }; - E66D20FA25F069C700ED6CA0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66D20F925F069C700ED6CA0 /* AppDelegate.swift */; }; - E66D20FC25F069C700ED6CA0 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66D20FB25F069C700ED6CA0 /* SceneDelegate.swift */; }; - E66D20FE25F069C700ED6CA0 /* PlaygroundViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66D20FD25F069C700ED6CA0 /* PlaygroundViewController.swift */; }; - E66D210125F069C700ED6CA0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E66D20FF25F069C700ED6CA0 /* Main.storyboard */; }; - E66D210325F069C800ED6CA0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E66D210225F069C800ED6CA0 /* Assets.xcassets */; }; - E66D210625F069C800ED6CA0 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E66D210425F069C800ED6CA0 /* LaunchScreen.storyboard */; }; - E66DA0E5281CC3800099213C /* selfie.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E66DA0E4281CC3800099213C /* selfie.jpg */; }; - E6AF1EEB269FDB620091BE99 /* StripeIdentity.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AF1EEA269FDB620091BE99 /* StripeIdentity.framework */; }; - E6AF1EEC269FDB620091BE99 /* StripeIdentity.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E6AF1EEA269FDB620091BE99 /* StripeIdentity.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - E6AF1EEF269FDC9C0091BE99 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AF1EEE269FDC9C0091BE99 /* StripeCore.framework */; }; - E6AF1EF0269FDC9C0091BE99 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E6AF1EEE269FDC9C0091BE99 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - E6B3F63926FBFF3800963EAB /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6B3F63826FBFF3800963EAB /* StripeUICore.framework */; }; - E6B3F63A26FBFF3800963EAB /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E6B3F63826FBFF3800963EAB /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - E6B6CC7226D9A52A00FC9905 /* ExampleVerificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B6CC7126D9A52A00FC9905 /* ExampleVerificationViewController.swift */; }; - E6B6CC7426D9A8BA00FC9905 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B6CC7326D9A8BA00FC9905 /* MainViewController.swift */; }; + 1875377FB12B8BF4E0A40B71 /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E1DB5452B1EEA2BF10AA0F2 /* StripeUICore.framework */; }; + 2DAC0A5AC68834182A3C3157 /* StripeCameraCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1AAE76BD5531A138F256081C /* StripeCameraCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 2F1FD2F4B8158010DB506DEC /* ExampleVerificationViewControllerNativeUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C02084EDD36D9CAA51F7C5D /* ExampleVerificationViewControllerNativeUI.swift */; }; + 3B3663E90E83AB8A147D5AFA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1B0A8BA753326C8823416D39 /* Assets.xcassets */; }; + 3B3D5D66063849357D88E0B4 /* StripeIdentity.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5F4E23C4986F186D1A7A0A88 /* StripeIdentity.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 539540ADABFFDFC63A14398C /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B6CF999673493048BC71A7DE /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 63730E8D0F3F49EF116E11AE /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6CF999673493048BC71A7DE /* StripeCore.framework */; }; + 665ABFFCC1C0AEC13AB3ADE0 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCB34FDFDA644F655DA9A87A /* SceneDelegate.swift */; }; + 7E4B2DB2F2F91139B316669F /* ExampleVerificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5147C45F39A30B64BBCCB46 /* ExampleVerificationViewController.swift */; }; + B45485CEA2574141EC53065D /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7E1DB5452B1EEA2BF10AA0F2 /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D1964BE2EC5DCFEB84A4CB20 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42A92DA0D8C6D744CA9629D3 /* AppDelegate.swift */; }; + D782EED16A8D9E57A29120DF /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB11661A885C509E590A5E /* MainViewController.swift */; }; + DF48F0D08F6BA0BACAFF83EF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 95C6B55E7540A785E80BAB86 /* LaunchScreen.storyboard */; }; + E42092C2333F56732BC546C7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6FDB4292C7CFB1DCFF2395F2 /* Main.storyboard */; }; + EA880791607D43F53AE425D9 /* PlaygroundViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70AD550B84969CEBD8F27923 /* PlaygroundViewController.swift */; }; + F40A0A5D85C7D664264EC323 /* StripeIdentity.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F4E23C4986F186D1A7A0A88 /* StripeIdentity.framework */; }; + FB0DCB24D8B0434C232A7A93 /* StripeCameraCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AAE76BD5531A138F256081C /* StripeCameraCore.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - E6AF1EED269FDB620091BE99 /* Embed Frameworks */ = { + 8DFC2F2CAD07F23057EA9558 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - E6AF1EF0269FDC9C0091BE99 /* StripeCore.framework in Embed Frameworks */, - E6AF1EEC269FDB620091BE99 /* StripeIdentity.framework in Embed Frameworks */, - E6B3F63A26FBFF3800963EAB /* StripeUICore.framework in Embed Frameworks */, - E63B6748274345DD00CFEDBA /* StripeCameraCore.framework in Embed Frameworks */, + 2DAC0A5AC68834182A3C3157 /* StripeCameraCore.framework in Embed Frameworks */, + 539540ADABFFDFC63A14398C /* StripeCore.framework in Embed Frameworks */, + 3B3D5D66063849357D88E0B4 /* StripeIdentity.framework in Embed Frameworks */, + B45485CEA2574141EC53065D /* StripeUICore.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -47,243 +44,267 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - E63A5FA827EAE17D00927B8C /* ExampleVerificationViewControllerNativeUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleVerificationViewControllerNativeUI.swift; sourceTree = ""; }; - E63B6746274345DD00CFEDBA /* StripeCameraCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCameraCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E666DF1A273B3BDE00638B60 /* front_drivers_license.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = front_drivers_license.jpg; path = "../../../StripeIdentity/StripeIdentityTests/Mock Files/Mock Photos/front_drivers_license.jpg"; sourceTree = ""; }; - E666DF1B273B3BDE00638B60 /* back_drivers_license.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = back_drivers_license.jpg; path = "../../../StripeIdentity/StripeIdentityTests/Mock Files/Mock Photos/back_drivers_license.jpg"; sourceTree = ""; }; - E66D20F625F069C700ED6CA0 /* IdentityVerification Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "IdentityVerification Example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - E66D20F925F069C700ED6CA0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - E66D20FB25F069C700ED6CA0 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - E66D20FD25F069C700ED6CA0 /* PlaygroundViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaygroundViewController.swift; sourceTree = ""; }; - E66D210025F069C700ED6CA0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - E66D210225F069C800ED6CA0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - E66D210525F069C800ED6CA0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - E66D210725F069C800ED6CA0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E66D210F25F069FB00ED6CA0 /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E66DA0E4281CC3800099213C /* selfie.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = selfie.jpg; sourceTree = ""; }; - E6A598E325F6E8B8003B4987 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6AF1EEA269FDB620091BE99 /* StripeIdentity.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeIdentity.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6AF1EEE269FDC9C0091BE99 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6B3F63826FBFF3800963EAB /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6B6CC7126D9A52A00FC9905 /* ExampleVerificationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExampleVerificationViewController.swift; sourceTree = ""; }; - E6B6CC7326D9A8BA00FC9905 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; - E6C652ED27E1BF780042CB3B /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Main.strings"; sourceTree = ""; }; - E6C652EE27E1BF780042CB3B /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C652EF27E1BF8C0042CB3B /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Main.strings"; sourceTree = ""; }; - E6C652F027E1BF8D0042CB3B /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C652F127E1BFA30042CB3B /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Main.strings"; sourceTree = ""; }; - E6C652F227E1BFA30042CB3B /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C652F327E1BFAA0042CB3B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; }; - E6C652F427E1BFAA0042CB3B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C652F527E1BFAE0042CB3B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Main.strings"; sourceTree = ""; }; - E6C652F627E1BFAF0042CB3B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C652F727E1BFB40042CB3B /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Main.strings; sourceTree = ""; }; - E6C652F827E1BFB40042CB3B /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C652FB27E1BFCF0042CB3B /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Main.strings"; sourceTree = ""; }; - E6C652FC27E1BFCF0042CB3B /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C652FD27E1BFD50042CB3B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Main.strings; sourceTree = ""; }; - E6C652FE27E1BFD60042CB3B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C652FF27E1BFDA0042CB3B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Main.strings; sourceTree = ""; }; - E6C6530027E1BFDA0042CB3B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6530127E1BFE20042CB3B /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Main.strings"; sourceTree = ""; }; - E6C6530227E1BFE30042CB3B /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6530327E1BFF10042CB3B /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Main.strings"; sourceTree = ""; }; - E6C6530427E1BFF10042CB3B /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6530527E1BFFE0042CB3B /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Main.strings; sourceTree = ""; }; - E6C6530627E1BFFE0042CB3B /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6530727E1C00E0042CB3B /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Main.strings; sourceTree = ""; }; - E6C6530827E1C00F0042CB3B /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6530927E1C0150042CB3B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = ""; }; - E6C6530A27E1C0150042CB3B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6530B27E1C01A0042CB3B /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Main.strings"; sourceTree = ""; }; - E6C6530C27E1C01A0042CB3B /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6530D27E1C0210042CB3B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = ""; }; - E6C6530E27E1C0210042CB3B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6530F27E1C02C0042CB3B /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Main.strings"; sourceTree = ""; }; - E6C6531027E1C02C0042CB3B /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6531127E1C0390042CB3B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Main.strings; sourceTree = ""; }; - E6C6531227E1C03A0042CB3B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6531327E1C0430042CB3B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Main.strings; sourceTree = ""; }; - E6C6531427E1C0430042CB3B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6531527E1C0490042CB3B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; }; - E6C6531627E1C04A0042CB3B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6531727E1C0500042CB3B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Main.strings; sourceTree = ""; }; - E6C6531827E1C0500042CB3B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6531927E1C0810042CB3B /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Main.strings; sourceTree = ""; }; - E6C6531A27E1C0820042CB3B /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6531D27E1C0BD0042CB3B /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Main.strings"; sourceTree = ""; }; - E6C6531E27E1C0BD0042CB3B /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6531F27E1C0C50042CB3B /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Main.strings"; sourceTree = ""; }; - E6C6532027E1C0C50042CB3B /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6532127E1C0DA0042CB3B /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Main.strings"; sourceTree = ""; }; - E6C6532227E1C0DA0042CB3B /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6532327E1C0EC0042CB3B /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Main.strings; sourceTree = ""; }; - E6C6532427E1C0EC0042CB3B /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6532527E1C1060042CB3B /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Main.strings; sourceTree = ""; }; - E6C6532627E1C1070042CB3B /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6532727E1C1110042CB3B /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Main.strings"; sourceTree = ""; }; - E6C6532827E1C1120042CB3B /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6532927E1C1250042CB3B /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Main.strings"; sourceTree = ""; }; - E6C6532A27E1C1260042CB3B /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6532B27E1C1320042CB3B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Main.strings"; sourceTree = ""; }; - E6C6532C27E1C1320042CB3B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6532D27E1C1420042CB3B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Main.strings"; sourceTree = ""; }; - E6C6532E27E1C1420042CB3B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6532F27E1C14F0042CB3B /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Main.strings"; sourceTree = ""; }; - E6C6533027E1C1500042CB3B /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6533127E1C15B0042CB3B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; }; - E6C6533227E1C15C0042CB3B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6533327E1C1660042CB3B /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Main.strings"; sourceTree = ""; }; - E6C6533427E1C1670042CB3B /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6533527E1C16F0042CB3B /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Main.strings"; sourceTree = ""; }; - E6C6533627E1C1700042CB3B /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6533727E1C1780042CB3B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; }; - E6C6533827E1C1780042CB3B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6533927E1C1860042CB3B /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Main.strings"; sourceTree = ""; }; - E6C6533A27E1C1860042CB3B /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/LaunchScreen.strings"; sourceTree = ""; }; - E6C6533B27E1C1930042CB3B /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Main.strings; sourceTree = ""; }; - E6C6533C27E1C1930042CB3B /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6533D27E1C19A0042CB3B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Main.strings; sourceTree = ""; }; - E6C6533E27E1C19B0042CB3B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6C6534127E1C1A80042CB3B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Main.strings; sourceTree = ""; }; - E6C6534227E1C1A90042CB3B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/LaunchScreen.strings; sourceTree = ""; }; + 008ECE81F347E177F84971D2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/LaunchScreen.strings; sourceTree = ""; }; + 032FB797E87063C8B49F3536 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Main.strings"; sourceTree = ""; }; + 0724A2CCF0538E5AD9F376F9 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 0A6FAFA0AC6A0297B26BE775 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 0AF5584F18DD2F36C2921B6E /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Main.strings; sourceTree = ""; }; + 0F7753B8AFF4876ED8E35D9D /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 11E4D0CE3BA9DF601B7E67C8 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 1758E362154A935A658E5EA1 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/LaunchScreen.strings; sourceTree = ""; }; + 19A7B71A383071B9B27E477A /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Main.strings"; sourceTree = ""; }; + 19C009CDC8DB04D44B4D751E /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Main.strings; sourceTree = ""; }; + 1AAE76BD5531A138F256081C /* StripeCameraCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCameraCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1B0A8BA753326C8823416D39 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 1F67EC50205CBE44B0ADE35D /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Main.strings"; sourceTree = ""; }; + 28B451D944115A83EA0BDB0B /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 2A12251E66F54A9E3613E8A2 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Main.strings; sourceTree = ""; }; + 2B817F8B036D01FA645607DF /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Main.strings; sourceTree = ""; }; + 2C02084EDD36D9CAA51F7C5D /* ExampleVerificationViewControllerNativeUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleVerificationViewControllerNativeUI.swift; sourceTree = ""; }; + 2C202E167B5EC65614FD1ED4 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/LaunchScreen.strings; sourceTree = ""; }; + 2EB4D737EFE20BE2DCF1559F /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/LaunchScreen.strings; sourceTree = ""; }; + 305661C8D59BD71FE64AEB4F /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Main.strings"; sourceTree = ""; }; + 33703BE70AF8AE5287C39C59 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 3783F9BE086672FF149BB803 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Main.strings; sourceTree = ""; }; + 37FB11661A885C509E590A5E /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; + 38C0009036CB55ABA0AC4D88 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Main.strings"; sourceTree = ""; }; + 3B22ACCDC79C343FF6E41B66 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/LaunchScreen.strings; sourceTree = ""; }; + 3C82D927BE8D376619DE278D /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Main.strings"; sourceTree = ""; }; + 3EABD7910BCA5F9B3EC853D7 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/LaunchScreen.strings; sourceTree = ""; }; + 3EF7DAB217DC9D52B2BFAA5A /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 3FC54C355BDC426FFB99561E /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 42A92DA0D8C6D744CA9629D3 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 45B96C1EA69FFDC88FA5EA5A /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 46C66FF72DF76DED5307D2DE /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = ""; }; + 4E2867013A99D51B1C223B41 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Main.strings"; sourceTree = ""; }; + 4EADD60ED5F9E0305E46BF5D /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 51CCAC016200EE8F63ACF5E8 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/LaunchScreen.strings; sourceTree = ""; }; + 529F109971F18BA1874119F4 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 5418131577856625B5472FAF /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 59843CE73306DAEF586D8138 /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 5C75A32A94938006D343738D /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 5D0049F93AB09813BD92699A /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/LaunchScreen.strings; sourceTree = ""; }; + 5F4E23C4986F186D1A7A0A88 /* StripeIdentity.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeIdentity.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5FD88258B1C37BF3BBB7BEEF /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 60C508F1E8C0A7AA2C342FB0 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/LaunchScreen.strings; sourceTree = ""; }; + 65F0BAAB65E03BB497558D18 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Main.strings; sourceTree = ""; }; + 673EC6B9283EA433A99DBC73 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Main.strings; sourceTree = ""; }; + 6C9DA162B028DC0BB4FC3021 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Main.strings"; sourceTree = ""; }; + 6DB27FF2AC3D0DD90C362949 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/LaunchScreen.strings; sourceTree = ""; }; + 6ECAE100A6D0F516B7D69211 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Main.strings"; sourceTree = ""; }; + 6EFE43845BB0CA70BDF8F067 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Main.strings; sourceTree = ""; }; + 70AD550B84969CEBD8F27923 /* PlaygroundViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaygroundViewController.swift; sourceTree = ""; }; + 716E781755DB1AF3EF9DE21C /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Main.strings"; sourceTree = ""; }; + 7E1DB5452B1EEA2BF10AA0F2 /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 82CC3FD2515C7D0FFA0E203A /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Main.strings"; sourceTree = ""; }; + 84201B7AC62DEF12818B31E5 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Main.strings"; sourceTree = ""; }; + 855336F0A6E78BBA8C605997 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Main.strings"; sourceTree = ""; }; + 8855C143532FA4462901D0DA /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Main.strings"; sourceTree = ""; }; + 8B896FF481A0377BA1F496A9 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 8C63F54C394C8C15221D6040 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Main.strings"; sourceTree = ""; }; + 95D12600371E992A73D8A992 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Main.strings; sourceTree = ""; }; + 9624F26CEFF23D8AE0F22562 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 9813E0AB4E9F1415CCCF3E39 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = ""; }; + 9A04A2A2CB32A9E5F4EBFF7D /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 9A60D7F6A8EC130755011B00 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 9B4C1F19B67F37987487589F /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/LaunchScreen.strings; sourceTree = ""; }; + 9C6F733BCFA9A551D6B8F35F /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/LaunchScreen.strings"; sourceTree = ""; }; + A7661221B10BC87A668E5324 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/LaunchScreen.strings; sourceTree = ""; }; + A9448885B1DBF7D76A86345B /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Main.strings; sourceTree = ""; }; + ADBBBF53B498F35A47113604 /* IdentityVerification-Example-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "IdentityVerification-Example-Release.xcconfig"; sourceTree = ""; }; + AEF1E1B9F87B967111DE66BD /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Main.strings; sourceTree = ""; }; + AF4C3DAFE74BB148A0FBBD4C /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; }; + B6CF999673493048BC71A7DE /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B6D2827B9053082E715B4A60 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = ""; }; + B8E3BF03F2CF73AE592C6FF7 /* IdentityVerification-Example-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "IdentityVerification-Example-Debug.xcconfig"; sourceTree = ""; }; + BC41A29D89A46D88DCA6FFCC /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Main.strings; sourceTree = ""; }; + BD7771EEEB47D8B3FB649AD0 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/LaunchScreen.strings; sourceTree = ""; }; + C0970DF49C0FC4916DBC9517 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Main.strings"; sourceTree = ""; }; + C23AE354486268FB6D9EEB5C /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/LaunchScreen.strings; sourceTree = ""; }; + C58612FE715F700C8245BB36 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; }; + D20308A69311D54E2EB58609 /* IdentityVerificationExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IdentityVerificationExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + D70C6C1D561BEABBFA194F5E /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Main.strings"; sourceTree = ""; }; + D803541844D30485F40252F8 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Main.strings; sourceTree = ""; }; + DA21C1EC1BC8529E42B969A8 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/LaunchScreen.strings"; sourceTree = ""; }; + DABED3413A83D341AB6AAD5C /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Main.strings; sourceTree = ""; }; + DB36A66E48B5890B5B1B014B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = ""; }; + DC1C8BABC02992939E2D574E /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Main.strings"; sourceTree = ""; }; + DC3EC6A8FFE78BEF1D8AA253 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = ""; }; + DD782DD0710DB1EE35ABF4EC /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Main.strings"; sourceTree = ""; }; + E244114F042A7FEC075C0DC8 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/LaunchScreen.strings"; sourceTree = ""; }; + E4FAF2F2218BC6ACE1DDF101 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/LaunchScreen.strings"; sourceTree = ""; }; + EB10D022199EAE9DDBAC7ED1 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; }; + F0A46DDD3CEB0C8156EF0FA6 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Main.strings"; sourceTree = ""; }; + F0C9C4772586EA5972B7154B /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + F2C0F7A6A4A8A7F6684EA931 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/LaunchScreen.strings; sourceTree = ""; }; + F4DB31053E5C371C5A409C82 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/LaunchScreen.strings"; sourceTree = ""; }; + F5147C45F39A30B64BBCCB46 /* ExampleVerificationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleVerificationViewController.swift; sourceTree = ""; }; + F76B5E448B763D05FB15AEC3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + F8F70C424B79561EA7B2BA03 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; }; + FCB34FDFDA644F655DA9A87A /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + FF577378B0965A384D0B685C /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - E66D20F325F069C700ED6CA0 /* Frameworks */ = { + 237FDC2E3142A97E3D39E432 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E6AF1EEF269FDC9C0091BE99 /* StripeCore.framework in Frameworks */, - E6AF1EEB269FDB620091BE99 /* StripeIdentity.framework in Frameworks */, - E6B3F63926FBFF3800963EAB /* StripeUICore.framework in Frameworks */, - E63B6747274345DD00CFEDBA /* StripeCameraCore.framework in Frameworks */, + FB0DCB24D8B0434C232A7A93 /* StripeCameraCore.framework in Frameworks */, + 63730E8D0F3F49EF116E11AE /* StripeCore.framework in Frameworks */, + F40A0A5D85C7D664264EC323 /* StripeIdentity.framework in Frameworks */, + 1875377FB12B8BF4E0A40B71 /* StripeUICore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - E66D20ED25F069C700ED6CA0 = { + 18C80FCB205DB85724EA25A7 /* Frameworks */ = { isa = PBXGroup; children = ( - E66D20F825F069C700ED6CA0 /* IdentityVerification Example */, - E66D20F725F069C700ED6CA0 /* Products */, - E66D210E25F069FB00ED6CA0 /* Frameworks */, ); + name = Frameworks; sourceTree = ""; }; - E66D20F725F069C700ED6CA0 /* Products */ = { + 35836DA0844EF12C1E67C993 = { isa = PBXGroup; children = ( - E66D20F625F069C700ED6CA0 /* IdentityVerification Example.app */, + 4177E03BD0438BCEBF890D73 /* Project */, + 18C80FCB205DB85724EA25A7 /* Frameworks */, + EFBE3BC5674253803108D51C /* Products */, ); - name = Products; sourceTree = ""; }; - E66D20F825F069C700ED6CA0 /* IdentityVerification Example */ = { + 4177E03BD0438BCEBF890D73 /* Project */ = { isa = PBXGroup; children = ( - E66DA0E4281CC3800099213C /* selfie.jpg */, - E666DF1B273B3BDE00638B60 /* back_drivers_license.jpg */, - E666DF1A273B3BDE00638B60 /* front_drivers_license.jpg */, - E66D20F925F069C700ED6CA0 /* AppDelegate.swift */, - E66D20FB25F069C700ED6CA0 /* SceneDelegate.swift */, - E6B6CC7326D9A8BA00FC9905 /* MainViewController.swift */, - E6B6CC7126D9A52A00FC9905 /* ExampleVerificationViewController.swift */, - E63A5FA827EAE17D00927B8C /* ExampleVerificationViewControllerNativeUI.swift */, - E66D20FD25F069C700ED6CA0 /* PlaygroundViewController.swift */, - E66D20FF25F069C700ED6CA0 /* Main.storyboard */, - E66D210225F069C800ED6CA0 /* Assets.xcassets */, - E66D210425F069C800ED6CA0 /* LaunchScreen.storyboard */, - E66D210725F069C800ED6CA0 /* Info.plist */, + D63AB17F796AEA9B4404C0B4 /* BuildConfigurations */, + 9712D8211A434D4FEC9ABB6A /* BuildConfigurations */, + FC2358907DA780D67C7C2D61 /* IdentityVerification Example */, ); - path = "IdentityVerification Example"; + name = Project; sourceTree = ""; }; - E66D210E25F069FB00ED6CA0 /* Frameworks */ = { + 7676F5ED056BC1598DFDB77F /* Resources */ = { isa = PBXGroup; children = ( - E63B6746274345DD00CFEDBA /* StripeCameraCore.framework */, - E6B3F63826FBFF3800963EAB /* StripeUICore.framework */, - E6AF1EEE269FDC9C0091BE99 /* StripeCore.framework */, - E6AF1EEA269FDB620091BE99 /* StripeIdentity.framework */, - E6A598E325F6E8B8003B4987 /* Stripe3DS2.framework */, - E66D210F25F069FB00ED6CA0 /* Stripe.framework */, + 95C6B55E7540A785E80BAB86 /* LaunchScreen.storyboard */, + 6FDB4292C7CFB1DCFF2395F2 /* Main.storyboard */, + 1B0A8BA753326C8823416D39 /* Assets.xcassets */, ); - name = Frameworks; + path = Resources; + sourceTree = ""; + }; + 9712D8211A434D4FEC9ABB6A /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + F0C9C4772586EA5972B7154B /* Project-Debug.xcconfig */, + 0A6FAFA0AC6A0297B26BE775 /* Project-Release.xcconfig */, + ); + name = BuildConfigurations; + path = ../../BuildConfigurations; + sourceTree = ""; + }; + D63AB17F796AEA9B4404C0B4 /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + B8E3BF03F2CF73AE592C6FF7 /* IdentityVerification-Example-Debug.xcconfig */, + ADBBBF53B498F35A47113604 /* IdentityVerification-Example-Release.xcconfig */, + ); + path = BuildConfigurations; + sourceTree = ""; + }; + EFBE3BC5674253803108D51C /* Products */ = { + isa = PBXGroup; + children = ( + D20308A69311D54E2EB58609 /* IdentityVerificationExample.app */, + 1AAE76BD5531A138F256081C /* StripeCameraCore.framework */, + B6CF999673493048BC71A7DE /* StripeCore.framework */, + 5F4E23C4986F186D1A7A0A88 /* StripeIdentity.framework */, + 7E1DB5452B1EEA2BF10AA0F2 /* StripeUICore.framework */, + ); + name = Products; + sourceTree = ""; + }; + FC2358907DA780D67C7C2D61 /* IdentityVerification Example */ = { + isa = PBXGroup; + children = ( + 7676F5ED056BC1598DFDB77F /* Resources */, + 42A92DA0D8C6D744CA9629D3 /* AppDelegate.swift */, + F5147C45F39A30B64BBCCB46 /* ExampleVerificationViewController.swift */, + 2C02084EDD36D9CAA51F7C5D /* ExampleVerificationViewControllerNativeUI.swift */, + 33703BE70AF8AE5287C39C59 /* Info.plist */, + 37FB11661A885C509E590A5E /* MainViewController.swift */, + 70AD550B84969CEBD8F27923 /* PlaygroundViewController.swift */, + FCB34FDFDA644F655DA9A87A /* SceneDelegate.swift */, + ); + path = "IdentityVerification Example"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - E66D20F525F069C700ED6CA0 /* IdentityVerification Example */ = { + 5CEE0954A62E550CEBB89F2F /* IdentityVerification Example */ = { isa = PBXNativeTarget; - buildConfigurationList = E66D210A25F069C800ED6CA0 /* Build configuration list for PBXNativeTarget "IdentityVerification Example" */; + buildConfigurationList = DAAC1E0382024BAF3B189153 /* Build configuration list for PBXNativeTarget "IdentityVerification Example" */; buildPhases = ( - E66D20F225F069C700ED6CA0 /* Sources */, - E66D20F325F069C700ED6CA0 /* Frameworks */, - E66D20F425F069C700ED6CA0 /* Resources */, - E6AF1EED269FDB620091BE99 /* Embed Frameworks */, + BB5467DF3730B77BAA7D8E8D /* Sources */, + F7AD856FFC9B46116B66F938 /* Resources */, + 8DFC2F2CAD07F23057EA9558 /* Embed Frameworks */, + 237FDC2E3142A97E3D39E432 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "IdentityVerification Example"; - productName = "IdentityVerification Example"; - productReference = E66D20F625F069C700ED6CA0 /* IdentityVerification Example.app */; + productName = IdentityVerificationExample; + productReference = D20308A69311D54E2EB58609 /* IdentityVerificationExample.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - E66D20EE25F069C700ED6CA0 /* Project object */ = { + 4D2B674F033CFBC8B744669E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1240; - LastUpgradeCheck = 1240; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - E66D20F525F069C700ED6CA0 = { - CreatedOnToolsVersion = 12.4; - }; }; }; - buildConfigurationList = E66D20F125F069C700ED6CA0 /* Build configuration list for PBXProject "IdentityVerification Example" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = 9EF303FBEE0614AFA91D3C4E /* Build configuration list for PBXProject "IdentityVerification Example" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, "bg-BG", "ca-ES", - "zh-HK", - "zh-Hans", - "zh-Hant", - hr, "cs-CZ", da, - nl, + de, + "el-GR", + en, "en-GB", + es, + "es-419", "et-EE", - fil, fi, + fil, fr, "fr-CA", - de, - "el-GR", + hr, hu, id, it, ja, ko, - "lv-LV", "lt-LT", + "lv-LV", "ms-MY", mt, nb, + nl, "nn-NO", "pl-PL", "pt-BR", @@ -292,147 +313,145 @@ ru, "sk-SK", "sl-SI", - es, - "es-419", sv, tr, vi, + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = E66D20ED25F069C700ED6CA0; - productRefGroup = E66D20F725F069C700ED6CA0 /* Products */; + mainGroup = 35836DA0844EF12C1E67C993; + productRefGroup = EFBE3BC5674253803108D51C /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - E66D20F525F069C700ED6CA0 /* IdentityVerification Example */, + 5CEE0954A62E550CEBB89F2F /* IdentityVerification Example */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - E66D20F425F069C700ED6CA0 /* Resources */ = { + F7AD856FFC9B46116B66F938 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - E66DA0E5281CC3800099213C /* selfie.jpg in Resources */, - E66D210625F069C800ED6CA0 /* LaunchScreen.storyboard in Resources */, - E66D210325F069C800ED6CA0 /* Assets.xcassets in Resources */, - E666DF1C273B3BDE00638B60 /* front_drivers_license.jpg in Resources */, - E66D210125F069C700ED6CA0 /* Main.storyboard in Resources */, - E666DF1D273B3BDE00638B60 /* back_drivers_license.jpg in Resources */, + 3B3663E90E83AB8A147D5AFA /* Assets.xcassets in Resources */, + DF48F0D08F6BA0BACAFF83EF /* LaunchScreen.storyboard in Resources */, + E42092C2333F56732BC546C7 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - E66D20F225F069C700ED6CA0 /* Sources */ = { + BB5467DF3730B77BAA7D8E8D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E6B6CC7426D9A8BA00FC9905 /* MainViewController.swift in Sources */, - E66D20FE25F069C700ED6CA0 /* PlaygroundViewController.swift in Sources */, - E66D20FA25F069C700ED6CA0 /* AppDelegate.swift in Sources */, - E6B6CC7226D9A52A00FC9905 /* ExampleVerificationViewController.swift in Sources */, - E63A5FA927EAE17D00927B8C /* ExampleVerificationViewControllerNativeUI.swift in Sources */, - E66D20FC25F069C700ED6CA0 /* SceneDelegate.swift in Sources */, + D1964BE2EC5DCFEB84A4CB20 /* AppDelegate.swift in Sources */, + 7E4B2DB2F2F91139B316669F /* ExampleVerificationViewController.swift in Sources */, + 2F1FD2F4B8158010DB506DEC /* ExampleVerificationViewControllerNativeUI.swift in Sources */, + D782EED16A8D9E57A29120DF /* MainViewController.swift in Sources */, + EA880791607D43F53AE425D9 /* PlaygroundViewController.swift in Sources */, + 665ABFFCC1C0AEC13AB3ADE0 /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - E66D20FF25F069C700ED6CA0 /* Main.storyboard */ = { + 6FDB4292C7CFB1DCFF2395F2 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - E66D210025F069C700ED6CA0 /* Base */, - E6C652ED27E1BF780042CB3B /* bg-BG */, - E6C652EF27E1BF8C0042CB3B /* ca-ES */, - E6C652F127E1BFA30042CB3B /* zh-HK */, - E6C652F327E1BFAA0042CB3B /* zh-Hans */, - E6C652F527E1BFAE0042CB3B /* zh-Hant */, - E6C652F727E1BFB40042CB3B /* hr */, - E6C652FB27E1BFCF0042CB3B /* cs-CZ */, - E6C652FD27E1BFD50042CB3B /* da */, - E6C652FF27E1BFDA0042CB3B /* nl */, - E6C6530127E1BFE20042CB3B /* en-GB */, - E6C6530327E1BFF10042CB3B /* et-EE */, - E6C6530527E1BFFE0042CB3B /* fil */, - E6C6530727E1C00E0042CB3B /* fi */, - E6C6530927E1C0150042CB3B /* fr */, - E6C6530B27E1C01A0042CB3B /* fr-CA */, - E6C6530D27E1C0210042CB3B /* de */, - E6C6530F27E1C02C0042CB3B /* el-GR */, - E6C6531127E1C0390042CB3B /* hu */, - E6C6531327E1C0430042CB3B /* id */, - E6C6531527E1C0490042CB3B /* it */, - E6C6531727E1C0500042CB3B /* ja */, - E6C6531927E1C0810042CB3B /* ko */, - E6C6531D27E1C0BD0042CB3B /* lv-LV */, - E6C6531F27E1C0C50042CB3B /* lt-LT */, - E6C6532127E1C0DA0042CB3B /* ms-MY */, - E6C6532327E1C0EC0042CB3B /* mt */, - E6C6532527E1C1060042CB3B /* nb */, - E6C6532727E1C1110042CB3B /* nn-NO */, - E6C6532927E1C1250042CB3B /* pl-PL */, - E6C6532B27E1C1320042CB3B /* pt-BR */, - E6C6532D27E1C1420042CB3B /* pt-PT */, - E6C6532F27E1C14F0042CB3B /* ro-RO */, - E6C6533127E1C15B0042CB3B /* ru */, - E6C6533327E1C1660042CB3B /* sk-SK */, - E6C6533527E1C16F0042CB3B /* sl-SI */, - E6C6533727E1C1780042CB3B /* es */, - E6C6533927E1C1860042CB3B /* es-419 */, - E6C6533B27E1C1930042CB3B /* sv */, - E6C6533D27E1C19A0042CB3B /* tr */, - E6C6534127E1C1A80042CB3B /* vi */, + 9A60D7F6A8EC130755011B00 /* Base */, + 38C0009036CB55ABA0AC4D88 /* bg-BG */, + F0A46DDD3CEB0C8156EF0FA6 /* ca-ES */, + 82CC3FD2515C7D0FFA0E203A /* cs-CZ */, + DABED3413A83D341AB6AAD5C /* da */, + DB36A66E48B5890B5B1B014B /* de */, + D70C6C1D561BEABBFA194F5E /* el-GR */, + 305661C8D59BD71FE64AEB4F /* en-GB */, + F8F70C424B79561EA7B2BA03 /* es */, + DC1C8BABC02992939E2D574E /* es-419 */, + 6ECAE100A6D0F516B7D69211 /* et-EE */, + A9448885B1DBF7D76A86345B /* fi */, + 2A12251E66F54A9E3613E8A2 /* fil */, + B6D2827B9053082E715B4A60 /* fr */, + 4E2867013A99D51B1C223B41 /* fr-CA */, + 6EFE43845BB0CA70BDF8F067 /* hr */, + 95D12600371E992A73D8A992 /* hu */, + 0AF5584F18DD2F36C2921B6E /* id */, + FF577378B0965A384D0B685C /* it */, + 19C009CDC8DB04D44B4D751E /* ja */, + 3783F9BE086672FF149BB803 /* ko */, + 8C63F54C394C8C15221D6040 /* lt-LT */, + 855336F0A6E78BBA8C605997 /* lv-LV */, + 8855C143532FA4462901D0DA /* ms-MY */, + BC41A29D89A46D88DCA6FFCC /* mt */, + D803541844D30485F40252F8 /* nb */, + AEF1E1B9F87B967111DE66BD /* nl */, + 84201B7AC62DEF12818B31E5 /* nn-NO */, + 1F67EC50205CBE44B0ADE35D /* pl-PL */, + C0970DF49C0FC4916DBC9517 /* pt-BR */, + 3C82D927BE8D376619DE278D /* pt-PT */, + DD782DD0710DB1EE35ABF4EC /* ro-RO */, + C58612FE715F700C8245BB36 /* ru */, + 19A7B71A383071B9B27E477A /* sk-SK */, + 716E781755DB1AF3EF9DE21C /* sl-SI */, + 65F0BAAB65E03BB497558D18 /* sv */, + 2B817F8B036D01FA645607DF /* tr */, + 673EC6B9283EA433A99DBC73 /* vi */, + AF4C3DAFE74BB148A0FBBD4C /* zh-Hans */, + 6C9DA162B028DC0BB4FC3021 /* zh-Hant */, + 032FB797E87063C8B49F3536 /* zh-HK */, ); name = Main.storyboard; sourceTree = ""; }; - E66D210425F069C800ED6CA0 /* LaunchScreen.storyboard */ = { + 95C6B55E7540A785E80BAB86 /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( - E66D210525F069C800ED6CA0 /* Base */, - E6C652EE27E1BF780042CB3B /* bg-BG */, - E6C652F027E1BF8D0042CB3B /* ca-ES */, - E6C652F227E1BFA30042CB3B /* zh-HK */, - E6C652F427E1BFAA0042CB3B /* zh-Hans */, - E6C652F627E1BFAF0042CB3B /* zh-Hant */, - E6C652F827E1BFB40042CB3B /* hr */, - E6C652FC27E1BFCF0042CB3B /* cs-CZ */, - E6C652FE27E1BFD60042CB3B /* da */, - E6C6530027E1BFDA0042CB3B /* nl */, - E6C6530227E1BFE30042CB3B /* en-GB */, - E6C6530427E1BFF10042CB3B /* et-EE */, - E6C6530627E1BFFE0042CB3B /* fil */, - E6C6530827E1C00F0042CB3B /* fi */, - E6C6530A27E1C0150042CB3B /* fr */, - E6C6530C27E1C01A0042CB3B /* fr-CA */, - E6C6530E27E1C0210042CB3B /* de */, - E6C6531027E1C02C0042CB3B /* el-GR */, - E6C6531227E1C03A0042CB3B /* hu */, - E6C6531427E1C0430042CB3B /* id */, - E6C6531627E1C04A0042CB3B /* it */, - E6C6531827E1C0500042CB3B /* ja */, - E6C6531A27E1C0820042CB3B /* ko */, - E6C6531E27E1C0BD0042CB3B /* lv-LV */, - E6C6532027E1C0C50042CB3B /* lt-LT */, - E6C6532227E1C0DA0042CB3B /* ms-MY */, - E6C6532427E1C0EC0042CB3B /* mt */, - E6C6532627E1C1070042CB3B /* nb */, - E6C6532827E1C1120042CB3B /* nn-NO */, - E6C6532A27E1C1260042CB3B /* pl-PL */, - E6C6532C27E1C1320042CB3B /* pt-BR */, - E6C6532E27E1C1420042CB3B /* pt-PT */, - E6C6533027E1C1500042CB3B /* ro-RO */, - E6C6533227E1C15C0042CB3B /* ru */, - E6C6533427E1C1670042CB3B /* sk-SK */, - E6C6533627E1C1700042CB3B /* sl-SI */, - E6C6533827E1C1780042CB3B /* es */, - E6C6533A27E1C1860042CB3B /* es-419 */, - E6C6533C27E1C1930042CB3B /* sv */, - E6C6533E27E1C19B0042CB3B /* tr */, - E6C6534227E1C1A90042CB3B /* vi */, + F76B5E448B763D05FB15AEC3 /* Base */, + E4FAF2F2218BC6ACE1DDF101 /* bg-BG */, + 0F7753B8AFF4876ED8E35D9D /* ca-ES */, + 0724A2CCF0538E5AD9F376F9 /* cs-CZ */, + 60C508F1E8C0A7AA2C342FB0 /* da */, + DC3EC6A8FFE78BEF1D8AA253 /* de */, + 5C75A32A94938006D343738D /* el-GR */, + DA21C1EC1BC8529E42B969A8 /* en-GB */, + EB10D022199EAE9DDBAC7ED1 /* es */, + 11E4D0CE3BA9DF601B7E67C8 /* es-419 */, + 5FD88258B1C37BF3BBB7BEEF /* et-EE */, + 3B22ACCDC79C343FF6E41B66 /* fi */, + 51CCAC016200EE8F63ACF5E8 /* fil */, + 46C66FF72DF76DED5307D2DE /* fr */, + 9C6F733BCFA9A551D6B8F35F /* fr-CA */, + 6DB27FF2AC3D0DD90C362949 /* hr */, + 3EABD7910BCA5F9B3EC853D7 /* hu */, + 2C202E167B5EC65614FD1ED4 /* id */, + 008ECE81F347E177F84971D2 /* it */, + 2EB4D737EFE20BE2DCF1559F /* ja */, + 9B4C1F19B67F37987487589F /* ko */, + 9A04A2A2CB32A9E5F4EBFF7D /* lt-LT */, + 3EF7DAB217DC9D52B2BFAA5A /* lv-LV */, + 9624F26CEFF23D8AE0F22562 /* ms-MY */, + F2C0F7A6A4A8A7F6684EA931 /* mt */, + C23AE354486268FB6D9EEB5C /* nb */, + BD7771EEEB47D8B3FB649AD0 /* nl */, + 8B896FF481A0377BA1F496A9 /* nn-NO */, + 28B451D944115A83EA0BDB0B /* pl-PL */, + 45B96C1EA69FFDC88FA5EA5A /* pt-BR */, + E244114F042A7FEC075C0DC8 /* pt-PT */, + 5418131577856625B5472FAF /* ro-RO */, + 9813E0AB4E9F1415CCCF3E39 /* ru */, + F4DB31053E5C371C5A409C82 /* sk-SK */, + 59843CE73306DAEF586D8138 /* sl-SI */, + 5D0049F93AB09813BD92699A /* sv */, + 1758E362154A935A658E5EA1 /* tr */, + A7661221B10BC87A668E5324 /* vi */, + 3FC54C355BDC426FFB99561E /* zh-Hans */, + 4EADD60ED5F9E0305E46BF5D /* zh-Hant */, + 529F109971F18BA1874119F4 /* zh-HK */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -440,190 +459,64 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - E66D210825F069C800ED6CA0 /* Debug */ = { + 0A81ED0100FCE4DE4EFF93C1 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = F0C9C4772586EA5972B7154B /* Project-Debug.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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; - 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"; }; name = Debug; }; - E66D210925F069C800ED6CA0 /* Release */ = { + 2983151C3565943221D5F042 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = B8E3BF03F2CF73AE592C6FF7 /* IdentityVerification-Example-Debug.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; + INFOPLIST_FILE = "IdentityVerification Example/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.IdentityVerification-Example"; + PRODUCT_NAME = IdentityVerificationExample; SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - E66D210B25F069C800ED6CA0 /* Debug */ = { + 5DDA6937DE73FB4AAC70A290 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = ADBBBF53B498F35A47113604 /* IdentityVerification-Example-Release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y28TH9SHX7; INFOPLIST_FILE = "IdentityVerification Example/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 2.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.example.IdentityVerification-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.IdentityVerification-Example"; + PRODUCT_NAME = IdentityVerificationExample; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - E66D210C25F069C800ED6CA0 /* Release */ = { + CE2573C134CD96D535E92CFE /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 0A6FAFA0AC6A0297B26BE775 /* Project-Release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "IdentityVerification Example/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 2.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.example.IdentityVerification-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - E66D20F125F069C700ED6CA0 /* Build configuration list for PBXProject "IdentityVerification Example" */ = { + 9EF303FBEE0614AFA91D3C4E /* Build configuration list for PBXProject "IdentityVerification Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - E66D210825F069C800ED6CA0 /* Debug */, - E66D210925F069C800ED6CA0 /* Release */, + 0A81ED0100FCE4DE4EFF93C1 /* Debug */, + CE2573C134CD96D535E92CFE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E66D210A25F069C800ED6CA0 /* Build configuration list for PBXNativeTarget "IdentityVerification Example" */ = { + DAAC1E0382024BAF3B189153 /* Build configuration list for PBXNativeTarget "IdentityVerification Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - E66D210B25F069C800ED6CA0 /* Debug */, - E66D210C25F069C800ED6CA0 /* Release */, + 2983151C3565943221D5F042 /* Debug */, + 5DDA6937DE73FB4AAC70A290 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = E66D20EE25F069C700ED6CA0 /* Project object */; + rootObject = 4D2B674F033CFBC8B744669E /* Project object */; } diff --git a/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/xcshareddata/xcschemes/IdentityVerification Example.xcscheme b/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/xcshareddata/xcschemes/IdentityVerification Example.xcscheme index d36010f26f4..819d0736110 100644 --- a/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/xcshareddata/xcschemes/IdentityVerification Example.xcscheme +++ b/Example/IdentityVerification Example/IdentityVerification Example.xcodeproj/xcshareddata/xcschemes/IdentityVerification Example.xcscheme @@ -1,6 +1,6 @@ @@ -26,7 +26,8 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES" + disableMainThreadChecker = "YES"> @@ -34,6 +35,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + disablePerformanceAntipatternChecker = "YES" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" @@ -44,8 +46,8 @@ runnableDebuggingMode = "0"> @@ -61,8 +63,8 @@ runnableDebuggingMode = "0"> diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AccentColor.colorset/Contents.json b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AccentColor.colorset/Contents.json rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BackArrow.imageset/BackArrow.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BackArrow.imageset/BackArrow.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BackArrow.imageset/BackArrow.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BackArrow.imageset/BackArrow.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BackArrow.imageset/BackArrow@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BackArrow.imageset/BackArrow@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BackArrow.imageset/BackArrow@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BackArrow.imageset/BackArrow@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BackArrow.imageset/BackArrow@3x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BackArrow.imageset/BackArrow@3x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BackArrow.imageset/BackArrow@3x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BackArrow.imageset/BackArrow@3x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BackArrow.imageset/Contents.json b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BackArrow.imageset/Contents.json similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BackArrow.imageset/Contents.json rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BackArrow.imageset/Contents.json diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Background.imageset/Background.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Background.imageset/Background.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Background.imageset/Background.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Background.imageset/Background.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Background.imageset/Background@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Background.imageset/Background@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Background.imageset/Background@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Background.imageset/Background@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Background.imageset/Background@3x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Background.imageset/Background@3x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Background.imageset/Background@3x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Background.imageset/Background@3x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Background.imageset/Contents.json b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Background.imageset/Contents.json similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Background.imageset/Contents.json rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Background.imageset/Contents.json diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandColor.colorset/Contents.json b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandColor.colorset/Contents.json similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandColor.colorset/Contents.json rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandColor.colorset/Contents.json diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandLogo.imageset/Contents.json b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandLogo.imageset/Contents.json similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandLogo.imageset/Contents.json rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandLogo.imageset/Contents.json diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandLogo.imageset/Rocket Rides.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandLogo.imageset/Rocket Rides.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandLogo.imageset/Rocket Rides.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandLogo.imageset/Rocket Rides.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandLogo.imageset/Rocket Rides@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandLogo.imageset/Rocket Rides@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandLogo.imageset/Rocket Rides@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandLogo.imageset/Rocket Rides@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandLogo.imageset/Rocket Rides@3x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandLogo.imageset/Rocket Rides@3x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/BrandLogo.imageset/Rocket Rides@3x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/BrandLogo.imageset/Rocket Rides@3x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Contents.json b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Contents.json similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/Contents.json rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/Contents.json diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/logo_image.imageset/Contents.json b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/logo_image.imageset/Contents.json similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/logo_image.imageset/Contents.json rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/logo_image.imageset/Contents.json diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/logo_image.imageset/logo_image.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/logo_image.imageset/logo_image.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/logo_image.imageset/logo_image.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/logo_image.imageset/logo_image.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/logo_image.imageset/logo_image@2x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/logo_image.imageset/logo_image@2x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/logo_image.imageset/logo_image@2x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/logo_image.imageset/logo_image@2x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/logo_image.imageset/logo_image@3x.png b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/logo_image.imageset/logo_image@3x.png similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Assets.xcassets/logo_image.imageset/logo_image@3x.png rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Assets.xcassets/logo_image.imageset/logo_image@3x.png diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Base.lproj/LaunchScreen.storyboard b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Base.lproj/LaunchScreen.storyboard rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Base.lproj/LaunchScreen.storyboard diff --git a/Example/IdentityVerification Example/IdentityVerification Example/Base.lproj/Main.storyboard b/Example/IdentityVerification Example/IdentityVerification Example/Resources/Base.lproj/Main.storyboard similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/Base.lproj/Main.storyboard rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/Base.lproj/Main.storyboard diff --git a/Example/IdentityVerification Example/IdentityVerification Example/bg-BG.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/bg-BG.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/bg-BG.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/bg-BG.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/bg-BG.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/bg-BG.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/bg-BG.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/bg-BG.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ca-ES.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ca-ES.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ca-ES.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ca-ES.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ca-ES.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ca-ES.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ca-ES.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ca-ES.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/cs-CZ.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/cs-CZ.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/cs-CZ.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/cs-CZ.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/cs-CZ.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/cs-CZ.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/cs-CZ.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/cs-CZ.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/da.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/da.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/da.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/da.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/da.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/da.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/da.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/da.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/de.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/de.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/de.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/de.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/de.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/de.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/de.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/de.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/el-GR.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/el-GR.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/el-GR.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/el-GR.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/el-GR.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/el-GR.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/el-GR.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/el-GR.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/en-GB.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/en-GB.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/en-GB.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/en-GB.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/en-GB.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/en-GB.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/en-GB.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/en-GB.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/es-419.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/es-419.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/es-419.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/es-419.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/es-419.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/es-419.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/es-419.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/es-419.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/es.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/es.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/es.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/es.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/es.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/es.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/es.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/es.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/et-EE.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/et-EE.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/et-EE.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/et-EE.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/et-EE.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/et-EE.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/et-EE.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/et-EE.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/fi.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/fi.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/fi.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/fi.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/fi.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/fi.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/fi.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/fi.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/fil.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/fil.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/fil.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/fil.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/fil.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/fil.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/fil.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/fil.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/fr-CA.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/fr-CA.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/fr-CA.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/fr-CA.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/fr-CA.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/fr-CA.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/fr-CA.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/fr-CA.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/fr.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/fr.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/fr.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/fr.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/fr.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/fr.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/fr.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/fr.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/hr.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/hr.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/hr.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/hr.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/hr.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/hr.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/hr.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/hr.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/hu.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/hu.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/hu.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/hu.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/hu.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/hu.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/hu.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/hu.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/id.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/id.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/id.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/id.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/id.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/id.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/id.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/id.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/it.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/it.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/it.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/it.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/it.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/it.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/it.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/it.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ja.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ja.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ja.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ja.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ja.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ja.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ja.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ja.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ko.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ko.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ko.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ko.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ko.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ko.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ko.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ko.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/lt-LT.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/lt-LT.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/lt-LT.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/lt-LT.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/lt-LT.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/lt-LT.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/lt-LT.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/lt-LT.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/lv-LV.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/lv-LV.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/lv-LV.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/lv-LV.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/lv-LV.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/lv-LV.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/lv-LV.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/lv-LV.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ms-MY.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ms-MY.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ms-MY.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ms-MY.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ms-MY.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ms-MY.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ms-MY.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ms-MY.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/mt.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/mt.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/mt.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/mt.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/mt.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/mt.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/mt.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/mt.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/nb.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/nb.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/nb.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/nb.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/nb.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/nb.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/nb.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/nb.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/nl.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/nl.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/nl.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/nl.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/nl.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/nl.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/nl.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/nl.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/nn-NO.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/nn-NO.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/nn-NO.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/nn-NO.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/nn-NO.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/nn-NO.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/nn-NO.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/nn-NO.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/pl-PL.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/pl-PL.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/pl-PL.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/pl-PL.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/pl-PL.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/pl-PL.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/pl-PL.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/pl-PL.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/pt-BR.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/pt-BR.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/pt-BR.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/pt-BR.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/pt-BR.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/pt-BR.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/pt-BR.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/pt-BR.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/pt-PT.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/pt-PT.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/pt-PT.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/pt-PT.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/pt-PT.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/pt-PT.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/pt-PT.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/pt-PT.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ro-RO.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ro-RO.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ro-RO.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ro-RO.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ro-RO.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ro-RO.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ro-RO.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ro-RO.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ru.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ru.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ru.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ru.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/ru.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/ru.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/ru.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/ru.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/sk-SK.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/sk-SK.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/sk-SK.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/sk-SK.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/sk-SK.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/sk-SK.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/sk-SK.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/sk-SK.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/sl-SI.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/sl-SI.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/sl-SI.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/sl-SI.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/sl-SI.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/sl-SI.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/sl-SI.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/sl-SI.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/sv.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/sv.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/sv.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/sv.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/sv.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/sv.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/sv.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/sv.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/tr.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/tr.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/tr.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/tr.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/tr.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/tr.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/tr.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/tr.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/vi.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/vi.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/vi.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/vi.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/vi.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/vi.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/vi.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/vi.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/zh-HK.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-HK.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/zh-HK.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-HK.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/zh-HK.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-HK.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/zh-HK.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-HK.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/zh-Hans.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-Hans.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/zh-Hans.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-Hans.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/zh-Hans.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-Hans.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/zh-Hans.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-Hans.lproj/Main.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/zh-Hant.lproj/LaunchScreen.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-Hant.lproj/LaunchScreen.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/zh-Hant.lproj/LaunchScreen.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-Hant.lproj/LaunchScreen.strings diff --git a/Example/IdentityVerification Example/IdentityVerification Example/zh-Hant.lproj/Main.strings b/Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-Hant.lproj/Main.strings similarity index 100% rename from Example/IdentityVerification Example/IdentityVerification Example/zh-Hant.lproj/Main.strings rename to Example/IdentityVerification Example/IdentityVerification Example/Resources/zh-Hant.lproj/Main.strings diff --git a/Example/IdentityVerification Example/Project.swift b/Example/IdentityVerification Example/Project.swift new file mode 100644 index 00000000000..ecc07447f90 --- /dev/null +++ b/Example/IdentityVerification Example/Project.swift @@ -0,0 +1,52 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "IdentityVerification Example", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "IdentityVerification Example", + platform: .iOS, + product: .app, + productName: "IdentityVerificationExample", + bundleId: "com.stripe.IdentityVerification-Example", + infoPlist: "IdentityVerification Example/Info.plist", + sources: "IdentityVerification Example/*.swift", + resources: "IdentityVerification Example/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripeIdentity", path: "//StripeIdentity"), + .project(target: "StripeCameraCore", path: "//StripeCameraCore"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/IdentityVerification-Example" + ) + ), + ], + schemes: [ + Scheme( + name: "IdentityVerification Example", + buildAction: .buildAction(targets: ["IdentityVerification Example"]), + runAction: .runAction(executable: "IdentityVerification Example") + ) + ] +) diff --git a/Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Debug.xcconfig b/Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Debug.xcconfig new file mode 100644 index 00000000000..a9d052f7c1c --- /dev/null +++ b/Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Debug.xcconfig @@ -0,0 +1,10 @@ +// +// Non-Card-Payment-Examples-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "Non-Card-Payment-Examples-Shared.xcconfig" + +SWIFT_OPTIMIZATION_LEVEL = -Onone \ No newline at end of file diff --git a/Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Release.xcconfig b/Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Release.xcconfig new file mode 100644 index 00000000000..b08a45e5746 --- /dev/null +++ b/Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Release.xcconfig @@ -0,0 +1,12 @@ +// +// Non-Card-Payment-Examples-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "Non-Card-Payment-Examples-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Shared.xcconfig b/Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Shared.xcconfig new file mode 100644 index 00000000000..d6d82f66c5a --- /dev/null +++ b/Example/Non-Card Payment Examples/BuildConfigurations/Non-Card-Payment-Examples-Shared.xcconfig @@ -0,0 +1,14 @@ +// +// Non-Card-Payment-Examples-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +CLANG_ENABLE_MODULES = YES +DEBUG_INFORMATION_FORMAT = dwarf +SWIFT_OBJC_BRIDGING_HEADER = Non-Card Payment Examples/Non-Card Payment Examples-Bridging-Header.h +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples.xcodeproj/project.pbxproj b/Example/Non-Card Payment Examples/Non-Card Payment Examples.xcodeproj/project.pbxproj index 3fbe84aa8bb..27a20250005 100644 --- a/Example/Non-Card Payment Examples/Non-Card Payment Examples.xcodeproj/project.pbxproj +++ b/Example/Non-Card Payment Examples/Non-Card Payment Examples.xcodeproj/project.pbxproj @@ -3,83 +3,81 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 04533E8D1A687F5D00C7E52E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 04533E8C1A687F5D00C7E52E /* main.m */; }; - 04533E901A687F5D00C7E52E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 04533E8F1A687F5D00C7E52E /* AppDelegate.m */; }; - 04533E981A687F5D00C7E52E /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 04533E971A687F5D00C7E52E /* Images.xcassets */; }; - 04533EB21A68802E00C7E52E /* ShippingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 04533EB11A68802E00C7E52E /* ShippingManager.m */; }; - 04533F0D1A68812D00C7E52E /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04533F0C1A68812D00C7E52E /* Stripe.framework */; }; - 04533F101A68813C00C7E52E /* PassKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04533F0F1A68813C00C7E52E /* PassKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 04533F121A68814100C7E52E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04533F111A68814100C7E52E /* Security.framework */; settings = {ATTRIBUTES = (Required, ); }; }; - 04533F191A688A0A00C7E52E /* Constants.m in Sources */ = {isa = PBXBuildFile; fileRef = 04533F181A688A0A00C7E52E /* Constants.m */; }; - 04D076171A69C11600094431 /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 04533F0C1A68812D00C7E52E /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 0FC7C95625B1127000E99D3E /* AfterpayClearpayExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FC7C95525B1127000E99D3E /* AfterpayClearpayExampleViewController.swift */; }; - 310F6FEB28D8E7E900C9580D /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 310F6FEA28D8E7E900C9580D /* StripePaymentsUI.framework */; }; - 310F6FEC28D8E7E900C9580D /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 310F6FEA28D8E7E900C9580D /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 310F6FEE28D8E7F200C9580D /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 310F6FED28D8E7F200C9580D /* StripePayments.framework */; }; - 310F6FEF28D8E7F200C9580D /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 310F6FED28D8E7F200C9580D /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 310F6FF128D8E87200C9580D /* StripePaymentSheet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 310F6FF028D8E87200C9580D /* StripePaymentSheet.framework */; }; - 310F6FF228D8E87200C9580D /* StripePaymentSheet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 310F6FF028D8E87200C9580D /* StripePaymentSheet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3137B6A42743809A00CE7F5C /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B6A32743809A00CE7F5C /* StripeApplePay.framework */; }; - 3137B6A52743809A00CE7F5C /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B6A32743809A00CE7F5C /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 316F810E254108F4000A80B5 /* OXXOExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 316F810D254108F4000A80B5 /* OXXOExampleViewController.m */; }; - 316F8133254115F0000A80B5 /* PayPalExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 316F8132254115F0000A80B5 /* PayPalExampleViewController.m */; }; - 3171D89A24DDECD80038A218 /* SofortExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3171D89924DDECD80038A218 /* SofortExampleViewController.m */; }; - 31A8934D230F6ABD007ABE37 /* FPXExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A8934C230F6ABD007ABE37 /* FPXExampleViewController.m */; }; - 31C108D823677C0100FE91B7 /* KlarnaSourcesExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C108D723677C0100FE91B7 /* KlarnaSourcesExampleViewController.swift */; }; - 31EFEE18258AE4190069BC5F /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31EFEE17258AE4190069BC5F /* Stripe3DS2.framework */; }; - 31EFEE19258AE4190069BC5F /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31EFEE17258AE4190069BC5F /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 361962592450DA280025D60B /* GiropayExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 361962582450DA280025D60B /* GiropayExampleViewController.m */; }; - 3621F95527EBA99D00C7CC8C /* USBankAccountConnectionsExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3621F95427EBA99D00C7CC8C /* USBankAccountConnectionsExampleViewController.swift */; }; - 362AA09E269E4F59000DE28F /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 362AA09D269E4F59000DE28F /* StripeCore.framework */; }; - 362AA09F269E4F60000DE28F /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 362AA09D269E4F59000DE28F /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 36345D5D27D0384D00D2445D /* USBankAccountExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36345D5C27D0384D00D2445D /* USBankAccountExampleViewController.swift */; }; - 364FC2D024201F62002879EB /* AUBECSDebitExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 364FC2CF24201F62002879EB /* AUBECSDebitExampleViewController.m */; }; - 366F93B0225FF2A2005CFBF6 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 366F93AF225FF2A2005CFBF6 /* README.md */; }; - 36B6CB5A234BE3FA00331C38 /* PaymentExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 36B6CB59234BE3FA00331C38 /* PaymentExampleViewController.m */; }; - 36B6CB5D234BEB8400331C38 /* SEPADebitExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 36B6CB5C234BEB8400331C38 /* SEPADebitExampleViewController.m */; }; - 36B6CB64234FD9AA00331C38 /* iDEALExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 36B6CB63234FD9AA00331C38 /* iDEALExampleViewController.m */; }; - 3C80845A280F948400DF9D30 /* StripeFinancialConnections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C808459280F948400DF9D30 /* StripeFinancialConnections.framework */; }; - 3C80845B280F948400DF9D30 /* StripeFinancialConnections.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3C808459280F948400DF9D30 /* StripeFinancialConnections.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 448895B424526C6B00F7D0C2 /* Przelewy24ExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 448895B324526C6B00F7D0C2 /* Przelewy24ExampleViewController.m */; }; - 44BDCFE4245A4CAE007EE6D5 /* BancontactExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 44BDCFE3245A4CAE007EE6D5 /* BancontactExampleViewController.m */; }; - 61C5FA7027225B1200D73313 /* KlarnaExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61C5FA6F27225B1100D73313 /* KlarnaExampleViewController.swift */; }; - 69A6C306246E63A2005FF304 /* EPSExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 69A6C305246E63A2005FF304 /* EPSExampleViewController.m */; }; - 6B48785827BDDB9000B7632D /* AffirmExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B48785727BDDB9000B7632D /* AffirmExampleViewController.swift */; }; - 8BBD79C6207FD2F900F85BED /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8BBD79C8207FD2F900F85BED /* Localizable.strings */; }; - B607FFBD2321DA99004203E0 /* MyAPIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = B607FFBC2321DA99004203E0 /* MyAPIClient.m */; }; - B65E8FCC22FA078A0057E64A /* WeChatPayExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B65E8FCB22FA078A0057E64A /* WeChatPayExampleViewController.m */; }; - B68882D323FC5BD30057C5AD /* BacsDebitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B68882D223FC5BD30057C5AD /* BacsDebitViewController.swift */; }; - B6B0BB2E24C8A21A0000998E /* GrabPayExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B0BB2D24C8A21A0000998E /* GrabPayExampleViewController.swift */; }; - B6C1FC832330432E0097FC4C /* AlipayExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C1FC822330432E0097FC4C /* AlipayExampleViewController.swift */; }; - C12C50DD1E57B3C800EC6D58 /* BrowseExamplesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C12C50DC1E57B3C800EC6D58 /* BrowseExamplesViewController.m */; }; - C1CACE891E5DF7A9002D0821 /* ApplePayExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C1CACE881E5DF7A9002D0821 /* ApplePayExampleViewController.m */; }; - C1CACE941E5E3DF6002D0821 /* SofortSourcesExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C1CACE931E5E3DF6002D0821 /* SofortSourcesExampleViewController.m */; }; - D055CAF326F0202F00E25049 /* KeyboardAvoidingScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D055CAF226F0202F00E25049 /* KeyboardAvoidingScrollView.swift */; }; - D0CC64B426E0876D00FC1442 /* BoletoExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CC64B326E0876D00FC1442 /* BoletoExampleViewController.swift */; }; - E6AFFB0026E973830067462F /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAFF26E973830067462F /* StripeUICore.framework */; }; - E6AFFB0126E973830067462F /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAFF26E973830067462F /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 002758E8FE057ACF7A168646 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A122962D3F1C0C7F56AC4501 /* StripeCore.framework */; }; + 009A2D1283604AA415298E81 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A83C61D70652D6E6ED09230B /* AppDelegate.m */; }; + 07E1B52EA12E4F9789013E8C /* USBankAccountExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE78B2BB1747FC2994ADC48C /* USBankAccountExampleViewController.swift */; }; + 09470488B2A3383D39A9445C /* AUBECSDebitExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E1C73C37A4DC7815C328BE12 /* AUBECSDebitExampleViewController.m */; }; + 0AC26F0F597E114044E9A15A /* Constants.m in Sources */ = {isa = PBXBuildFile; fileRef = BC2E15A342CA3A2EA76EE1D6 /* Constants.m */; }; + 0B69B9B4DEB17B393C5E4CD1 /* KeyboardAvoidingScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ED911EC3E3C3C06B6909C18 /* KeyboardAvoidingScrollView.swift */; }; + 11E6BDE8B898A7215AE679F6 /* AffirmExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1282A6CFB51F4F3D2CE92B22 /* AffirmExampleViewController.swift */; }; + 1654F692662A7E7534E916C5 /* SEPADebitExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AAF2CAB29E82F232B3F1FD47 /* SEPADebitExampleViewController.m */; }; + 1EFD2CA666EA80AB86B3C3E6 /* ShippingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 15F68FCA537974E451A03C00 /* ShippingManager.m */; }; + 1FA04694E0497168529EBEF9 /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6CA51E7BD0D4D1E0B94075FE /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 21EB5C20341E71683313BC87 /* StripeFinancialConnections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C55D540D77E57684BEBD1773 /* StripeFinancialConnections.framework */; }; + 237E7C2EA6DD82598235F430 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A122962D3F1C0C7F56AC4501 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 2965738ADB4C4325D7BDEB97 /* EPSExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C003C0154CCBA34AF5CAC43 /* EPSExampleViewController.m */; }; + 2A69E8181D591533B0F9E09B /* BrowseExamplesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A433EDC5906D77ED94937E64 /* BrowseExamplesViewController.m */; }; + 2BFF43283D3D33B24CCCB073 /* AfterpayClearpayExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9A0E6ABAC9BED6D249FA96E /* AfterpayClearpayExampleViewController.swift */; }; + 368F4BF044A248B48A527047 /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3300883AEEEF23265C6CA4BE /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 41FF78FEBE47A8DC481B55CF /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 951B76B22A5088E944157C23 /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 4331C8C4F8BA76E560F420DF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D8F3D727489A14C470D62C6 /* main.m */; }; + 4AF27F18E74A5AB8B6C65D08 /* AlipayExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CED93B66CA3A5F01511EE804 /* AlipayExampleViewController.swift */; }; + 4B618821707204173527D0F2 /* OXXOExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DBE0A963151D165736F24450 /* OXXOExampleViewController.m */; }; + 4E2D4579B9171CAD4FCC7849 /* ApplePayExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F6FFC2DA74C47C8941205CB /* ApplePayExampleViewController.m */; }; + 575DE5614B5E20C708371E3F /* MCCompleteExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 322A882F5B9CDF9DC455F8E0 /* MCCompleteExampleViewController.swift */; }; + 59551D92F75526B6E0789570 /* KlarnaExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7C09286B3FF62A1562B3FB /* KlarnaExampleViewController.swift */; }; + 5A6075039E5216D93B8AA113 /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9BDD4885AE1CEEEC3A45EC34 /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 616358522C3A1FCD579F2B37 /* WeChatPayExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F1A0CF82AB6742C41BA5C19C /* WeChatPayExampleViewController.m */; }; + 6BF09625088A9D5009307E38 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8CE9A736DA9941DECAD86F1B /* Localizable.strings */; }; + 7347961ABF706602E2915A53 /* USBankAccountConnectionsExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C7B53B74E206CF2A2DF38C /* USBankAccountConnectionsExampleViewController.swift */; }; + 80466B86A1F4896FE7811E9D /* GrabPayExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 311E3343A1F8432A0B56CEA5 /* GrabPayExampleViewController.swift */; }; + 853FB2F6356CD4FA2DD8FE2E /* StripePaymentSheet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 2ADDFFDCAC5AF682FC6648E8 /* StripePaymentSheet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 85FA10E8A45C4B0A5433C0DC /* BoletoExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD73BDD44CF574D1957C3FFA /* BoletoExampleViewController.swift */; }; + 86C982DF1DC60CB160DA0FBB /* SofortExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B9E0327F7A35DC353A823690 /* SofortExampleViewController.m */; }; + 86D45F9D2555695B63FF63BF /* Przelewy24ExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = EB7E01F379079D28383E8559 /* Przelewy24ExampleViewController.m */; }; + 87B301C11D0C2E1C8299B971 /* BacsDebitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9CDC799C1D02448461C5B97 /* BacsDebitViewController.swift */; }; + 882CBDC0B4F3E0C83AEC0D5E /* StripeFinancialConnections.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C55D540D77E57684BEBD1773 /* StripeFinancialConnections.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 975D189CB2E61E7C1871F0DA /* iDEALExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 052F9CDA0D4546CC1E5FF77C /* iDEALExampleViewController.m */; }; + 9D89DFED47708115C613BC80 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B08862809018A4D7FF681FF7 /* Images.xcassets */; }; + 9F560040896BEB25E5B4ACCA /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 173B34E97F92E48FBB42E82B /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + A2728A537E75F4AF46AC4152 /* KlarnaSourcesExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F74D08CE9A94C0D55EB3618A /* KlarnaSourcesExampleViewController.swift */; }; + A8BE2C599C08080AE773D2D8 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 951B76B22A5088E944157C23 /* StripeApplePay.framework */; }; + AA09261F606AFE3124912983 /* BancontactExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C4D6ECA899F3348A844E370 /* BancontactExampleViewController.m */; }; + AD9A0FE43A089F7CDAFF2DBB /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BDD4885AE1CEEEC3A45EC34 /* StripeUICore.framework */; }; + B39123ECF62A2C629B4F32D6 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 173B34E97F92E48FBB42E82B /* StripePaymentsUI.framework */; }; + C16B397FC306A8B0025D5AFF /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3300883AEEEF23265C6CA4BE /* Stripe3DS2.framework */; }; + C1F0577CD62C2569EEEAD1E1 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 64F13592DB0CDD803283B035 /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + C5C612D49748599F5A09421D /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 64F13592DB0CDD803283B035 /* StripePayments.framework */; }; + C9DCB32902B62F3E8F3F9052 /* PaymentExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DF98C4542C942B8BE99AF2AE /* PaymentExampleViewController.m */; }; + CD7FC52A94895E322DB5B3D9 /* FPXExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4387CA3F60553DB73F05BDC9 /* FPXExampleViewController.m */; }; + CF0983C679CA4196DF4DA37D /* PayPalExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D62F7B5288E04FB14DBFFF /* PayPalExampleViewController.m */; }; + D46A05D88420B85C1B275640 /* MyAPIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AA7CAC14165BD4EFB39E7C5 /* MyAPIClient.m */; }; + D9507571006167E5188CA5BD /* GiropayExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D896A3BF93A934C07AB388E /* GiropayExampleViewController.m */; }; + E25C6341B4F787932711D689 /* SofortSourcesExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 58E87A8E1AE06AA97A3310C1 /* SofortSourcesExampleViewController.m */; }; + E88340F6DFAA14F6772159E7 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CA51E7BD0D4D1E0B94075FE /* Stripe.framework */; }; + F635434F095301C541789E1C /* StripePaymentSheet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2ADDFFDCAC5AF682FC6648E8 /* StripePaymentSheet.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - 04D076181A69C11600094431 /* Embed Frameworks */ = { + C9D95B2C87C32307355629BF /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 310F6FEC28D8E7E900C9580D /* StripePaymentsUI.framework in Embed Frameworks */, - E6AFFB0126E973830067462F /* StripeUICore.framework in Embed Frameworks */, - 362AA09F269E4F60000DE28F /* StripeCore.framework in Embed Frameworks */, - 3137B6A52743809A00CE7F5C /* StripeApplePay.framework in Embed Frameworks */, - 310F6FEF28D8E7F200C9580D /* StripePayments.framework in Embed Frameworks */, - 3C80845B280F948400DF9D30 /* StripeFinancialConnections.framework in Embed Frameworks */, - 04D076171A69C11600094431 /* Stripe.framework in Embed Frameworks */, - 310F6FF228D8E87200C9580D /* StripePaymentSheet.framework in Embed Frameworks */, - 31EFEE19258AE4190069BC5F /* Stripe3DS2.framework in Embed Frameworks */, + 368F4BF044A248B48A527047 /* Stripe3DS2.framework in Embed Frameworks */, + 41FF78FEBE47A8DC481B55CF /* StripeApplePay.framework in Embed Frameworks */, + 237E7C2EA6DD82598235F430 /* StripeCore.framework in Embed Frameworks */, + 882CBDC0B4F3E0C83AEC0D5E /* StripeFinancialConnections.framework in Embed Frameworks */, + 853FB2F6356CD4FA2DD8FE2E /* StripePaymentSheet.framework in Embed Frameworks */, + C1F0577CD62C2569EEEAD1E1 /* StripePayments.framework in Embed Frameworks */, + 9F560040896BEB25E5B4ACCA /* StripePaymentsUI.framework in Embed Frameworks */, + 5A6075039E5216D93B8AA113 /* StripeUICore.framework in Embed Frameworks */, + 1FA04694E0497168529EBEF9 /* Stripe.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -87,213 +85,242 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 04533E871A687F5D00C7E52E /* Non-Card Payment Examples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Non-Card Payment Examples.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 04533E8B1A687F5D00C7E52E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 04533E8C1A687F5D00C7E52E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 04533E8E1A687F5D00C7E52E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 04533E8F1A687F5D00C7E52E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 04533E971A687F5D00C7E52E /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 04533EB01A68802E00C7E52E /* ShippingManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShippingManager.h; sourceTree = ""; }; - 04533EB11A68802E00C7E52E /* ShippingManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShippingManager.m; sourceTree = ""; }; - 04533F0C1A68812D00C7E52E /* Stripe.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 04533F0F1A68813C00C7E52E /* PassKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PassKit.framework; path = System/Library/Frameworks/PassKit.framework; sourceTree = SDKROOT; }; - 04533F111A68814100C7E52E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 04533F171A688A0A00C7E52E /* Constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Constants.h; sourceTree = ""; }; - 04533F181A688A0A00C7E52E /* Constants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Constants.m; sourceTree = ""; }; - 0FC7C95525B1127000E99D3E /* AfterpayClearpayExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AfterpayClearpayExampleViewController.swift; sourceTree = ""; }; - 310F6FEA28D8E7E900C9580D /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 310F6FED28D8E7F200C9580D /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 310F6FF028D8E87200C9580D /* StripePaymentSheet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentSheet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3137B6A32743809A00CE7F5C /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 316F810C254108F4000A80B5 /* OXXOExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OXXOExampleViewController.h; sourceTree = ""; }; - 316F810D254108F4000A80B5 /* OXXOExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OXXOExampleViewController.m; sourceTree = ""; }; - 316F8131254115F0000A80B5 /* PayPalExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PayPalExampleViewController.h; sourceTree = ""; }; - 316F8132254115F0000A80B5 /* PayPalExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PayPalExampleViewController.m; sourceTree = ""; }; - 3171D89824DDECD70038A218 /* SofortExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SofortExampleViewController.h; sourceTree = ""; }; - 3171D89924DDECD80038A218 /* SofortExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SofortExampleViewController.m; sourceTree = ""; }; - 31A8934B230F6ABD007ABE37 /* FPXExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FPXExampleViewController.h; sourceTree = ""; }; - 31A8934C230F6ABD007ABE37 /* FPXExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FPXExampleViewController.m; sourceTree = ""; }; - 31C108D723677C0100FE91B7 /* KlarnaSourcesExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KlarnaSourcesExampleViewController.swift; sourceTree = ""; }; - 31EFEE17258AE4190069BC5F /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 361962572450DA280025D60B /* GiropayExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiropayExampleViewController.h; sourceTree = ""; }; - 361962582450DA280025D60B /* GiropayExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiropayExampleViewController.m; sourceTree = ""; }; - 3621F95427EBA99D00C7CC8C /* USBankAccountConnectionsExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = USBankAccountConnectionsExampleViewController.swift; sourceTree = ""; }; - 362AA09D269E4F59000DE28F /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 36345D5C27D0384D00D2445D /* USBankAccountExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = USBankAccountExampleViewController.swift; sourceTree = ""; }; - 363673BD27EBAB4B005040E2 /* StripeFinancialConnections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeFinancialConnections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 364FC2CE24201F62002879EB /* AUBECSDebitExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AUBECSDebitExampleViewController.h; sourceTree = ""; }; - 364FC2CF24201F62002879EB /* AUBECSDebitExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AUBECSDebitExampleViewController.m; sourceTree = ""; }; - 366F93AF225FF2A2005CFBF6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 36B6CB58234BE3FA00331C38 /* PaymentExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentExampleViewController.h; sourceTree = ""; }; - 36B6CB59234BE3FA00331C38 /* PaymentExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PaymentExampleViewController.m; sourceTree = ""; }; - 36B6CB5B234BEB8400331C38 /* SEPADebitExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEPADebitExampleViewController.h; sourceTree = ""; }; - 36B6CB5C234BEB8400331C38 /* SEPADebitExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SEPADebitExampleViewController.m; sourceTree = ""; }; - 36B6CB62234FD9AA00331C38 /* iDEALExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = iDEALExampleViewController.h; sourceTree = ""; }; - 36B6CB63234FD9AA00331C38 /* iDEALExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = iDEALExampleViewController.m; sourceTree = ""; }; - 3C808459280F948400DF9D30 /* StripeFinancialConnections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeFinancialConnections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 448895B224526C6B00F7D0C2 /* Przelewy24ExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Przelewy24ExampleViewController.h; sourceTree = ""; }; - 448895B324526C6B00F7D0C2 /* Przelewy24ExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Przelewy24ExampleViewController.m; sourceTree = ""; }; - 44BDCFE2245A4CAE007EE6D5 /* BancontactExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BancontactExampleViewController.h; sourceTree = ""; }; - 44BDCFE3245A4CAE007EE6D5 /* BancontactExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BancontactExampleViewController.m; sourceTree = ""; }; - 61C5FA6F27225B1100D73313 /* KlarnaExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KlarnaExampleViewController.swift; sourceTree = ""; }; - 69A6C304246E6225005FF304 /* EPSExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EPSExampleViewController.h; sourceTree = ""; }; - 69A6C305246E63A2005FF304 /* EPSExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EPSExampleViewController.m; sourceTree = ""; }; - 6B48785727BDDB9000B7632D /* AffirmExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AffirmExampleViewController.swift; sourceTree = ""; }; - 8BBD79C7207FD2F900F85BED /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79C9207FD31A00F85BED /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - 8BBD79CA207FD32100F85BED /* nl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79CB207FD32900F85BED /* fi */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79CC207FD32D00F85BED /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79CD207FD33600F85BED /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79CE207FD33D00F85BED /* it */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79CF207FD34200F85BED /* ja */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79D0207FD34A00F85BED /* nb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79D1207FD35200F85BED /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - B607FFBB2321DA99004203E0 /* MyAPIClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyAPIClient.h; sourceTree = ""; }; - B607FFBC2321DA99004203E0 /* MyAPIClient.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyAPIClient.m; sourceTree = ""; }; - B65E8FCA22FA078A0057E64A /* WeChatPayExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeChatPayExampleViewController.h; sourceTree = ""; }; - B65E8FCB22FA078A0057E64A /* WeChatPayExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WeChatPayExampleViewController.m; sourceTree = ""; }; - B68882D223FC5BD30057C5AD /* BacsDebitViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BacsDebitViewController.swift; sourceTree = ""; }; - B6B0BB2D24C8A21A0000998E /* GrabPayExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GrabPayExampleViewController.swift; sourceTree = ""; }; - B6C1FC812330432E0097FC4C /* Non-Card Payment Examples-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Non-Card Payment Examples-Bridging-Header.h"; sourceTree = ""; }; - B6C1FC822330432E0097FC4C /* AlipayExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlipayExampleViewController.swift; sourceTree = ""; }; - C12C50DB1E57B3C800EC6D58 /* BrowseExamplesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BrowseExamplesViewController.h; sourceTree = ""; }; - C12C50DC1E57B3C800EC6D58 /* BrowseExamplesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BrowseExamplesViewController.m; sourceTree = ""; }; - C1CACE871E5DF7A9002D0821 /* ApplePayExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplePayExampleViewController.h; sourceTree = ""; }; - C1CACE881E5DF7A9002D0821 /* ApplePayExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ApplePayExampleViewController.m; sourceTree = ""; }; - C1CACE921E5E3DF6002D0821 /* SofortSourcesExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SofortSourcesExampleViewController.h; sourceTree = ""; }; - C1CACE931E5E3DF6002D0821 /* SofortSourcesExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SofortSourcesExampleViewController.m; sourceTree = ""; }; - D055CAF226F0202F00E25049 /* KeyboardAvoidingScrollView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardAvoidingScrollView.swift; sourceTree = ""; }; - D0CC64B326E0876D00FC1442 /* BoletoExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BoletoExampleViewController.swift; sourceTree = ""; }; - E6AFFAFF26E973830067462F /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 052F9CDA0D4546CC1E5FF77C /* iDEALExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = iDEALExampleViewController.m; sourceTree = ""; }; + 05FF02CFBFA8863282D020E0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 0AA7CAC14165BD4EFB39E7C5 /* MyAPIClient.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyAPIClient.m; sourceTree = ""; }; + 0D9290D2C037196B3A240121 /* SofortSourcesExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SofortSourcesExampleViewController.h; sourceTree = ""; }; + 1282A6CFB51F4F3D2CE92B22 /* AffirmExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AffirmExampleViewController.swift; sourceTree = ""; }; + 15F68FCA537974E451A03C00 /* ShippingManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShippingManager.m; sourceTree = ""; }; + 173B34E97F92E48FBB42E82B /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 287AF410BE4A7CD331E65114 /* Constants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Constants.h; sourceTree = ""; }; + 295A6C099422195DEA070B92 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 2ADDFFDCAC5AF682FC6648E8 /* StripePaymentSheet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentSheet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B63B545FE4AB802ED1904A5 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 2D896A3BF93A934C07AB388E /* GiropayExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiropayExampleViewController.m; sourceTree = ""; }; + 2F6FFC2DA74C47C8941205CB /* ApplePayExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ApplePayExampleViewController.m; sourceTree = ""; }; + 311E3343A1F8432A0B56CEA5 /* GrabPayExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GrabPayExampleViewController.swift; sourceTree = ""; }; + 322A882F5B9CDF9DC455F8E0 /* MCCompleteExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MCCompleteExampleViewController.swift; sourceTree = ""; }; + 32C7B53B74E206CF2A2DF38C /* USBankAccountConnectionsExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = USBankAccountConnectionsExampleViewController.swift; sourceTree = ""; }; + 3300883AEEEF23265C6CA4BE /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 39FD1595EB5ACDAB0DFB4A7E /* NonCardPaymentExamples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NonCardPaymentExamples.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 4387CA3F60553DB73F05BDC9 /* FPXExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FPXExampleViewController.m; sourceTree = ""; }; + 479C1F3AC76FF0DAF749DA69 /* Non-Card Payment Examples.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Non-Card Payment Examples.entitlements"; sourceTree = ""; }; + 4C003C0154CCBA34AF5CAC43 /* EPSExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EPSExampleViewController.m; sourceTree = ""; }; + 4C7C09286B3FF62A1562B3FB /* KlarnaExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KlarnaExampleViewController.swift; sourceTree = ""; }; + 54FC82B45AF4D84F4A87C0AD /* ShippingManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShippingManager.h; sourceTree = ""; }; + 58E87A8E1AE06AA97A3310C1 /* SofortSourcesExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SofortSourcesExampleViewController.m; sourceTree = ""; }; + 5B7DEBB2735CF9537D464127 /* PayPalExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PayPalExampleViewController.h; sourceTree = ""; }; + 5D8F3D727489A14C470D62C6 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 64F13592DB0CDD803283B035 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 673900BEF4553912511DBFE3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 6CA51E7BD0D4D1E0B94075FE /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7EB5EE88F3BCE3D52302C896 /* Non-Card-Payment-Examples-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Non-Card-Payment-Examples-Release.xcconfig"; sourceTree = ""; }; + 7F068CC4E3F81CB0E96CED03 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 7FA81CB0282D03CEE0CCDBD5 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 8246202E37E84C97DB160C87 /* EPSExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EPSExampleViewController.h; sourceTree = ""; }; + 8362394DC688A6D8AEE1A006 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 86A1A58725F3254624BE3C0B /* GiropayExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiropayExampleViewController.h; sourceTree = ""; }; + 8B425785CB5AE1A15209D100 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 8B4FE9E774494C148EBFDD0F /* Non-Card-Payment-Examples-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Non-Card-Payment-Examples-Debug.xcconfig"; sourceTree = ""; }; + 8E672E24890CD3B941069941 /* FPXExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FPXExampleViewController.h; sourceTree = ""; }; + 90081BE52D2A12E3C962E386 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 934226D0B321DB46199AF4F2 /* BrowseExamplesViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BrowseExamplesViewController.h; sourceTree = ""; }; + 951B76B22A5088E944157C23 /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 990E6E75D5D7776609A82157 /* SofortExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SofortExampleViewController.h; sourceTree = ""; }; + 9B7B857175BFCD83E5D9107B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 9BDD4885AE1CEEEC3A45EC34 /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9C4D6ECA899F3348A844E370 /* BancontactExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BancontactExampleViewController.m; sourceTree = ""; }; + 9ED911EC3E3C3C06B6909C18 /* KeyboardAvoidingScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardAvoidingScrollView.swift; sourceTree = ""; }; + A122962D3F1C0C7F56AC4501 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A433EDC5906D77ED94937E64 /* BrowseExamplesViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BrowseExamplesViewController.m; sourceTree = ""; }; + A73E41374C21F809EAD34035 /* AUBECSDebitExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AUBECSDebitExampleViewController.h; sourceTree = ""; }; + A83C61D70652D6E6ED09230B /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + AAF2CAB29E82F232B3F1FD47 /* SEPADebitExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SEPADebitExampleViewController.m; sourceTree = ""; }; + AC50AD86AA934979B23494CE /* BancontactExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BancontactExampleViewController.h; sourceTree = ""; }; + AECFE22E44BC2764379FB9C1 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + B08862809018A4D7FF681FF7 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + B0D62F7B5288E04FB14DBFFF /* PayPalExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PayPalExampleViewController.m; sourceTree = ""; }; + B6D91FAFADED8EDDDE39E12C /* Przelewy24ExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Przelewy24ExampleViewController.h; sourceTree = ""; }; + B9466FA637EB865C98AAA7B4 /* MyAPIClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyAPIClient.h; sourceTree = ""; }; + B9A0E6ABAC9BED6D249FA96E /* AfterpayClearpayExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AfterpayClearpayExampleViewController.swift; sourceTree = ""; }; + B9E0327F7A35DC353A823690 /* SofortExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SofortExampleViewController.m; sourceTree = ""; }; + BC2E15A342CA3A2EA76EE1D6 /* Constants.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Constants.m; sourceTree = ""; }; + BDC64032D2A1C5A064CE9FFB /* iDEALExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = iDEALExampleViewController.h; sourceTree = ""; }; + C0E970717191DBCD3BD5EC12 /* Non-Card Payment Examples-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Non-Card Payment Examples-Bridging-Header.h"; sourceTree = ""; }; + C2D98BF0E8488281BB3607A6 /* ApplePayExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ApplePayExampleViewController.h; sourceTree = ""; }; + C2E5EE3426E4E27739E36F5A /* PaymentExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentExampleViewController.h; sourceTree = ""; }; + C55D540D77E57684BEBD1773 /* StripeFinancialConnections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeFinancialConnections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C7C71C3CD5BC6AB2F0E15AD5 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + CD73BDD44CF574D1957C3FFA /* BoletoExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BoletoExampleViewController.swift; sourceTree = ""; }; + CED93B66CA3A5F01511EE804 /* AlipayExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlipayExampleViewController.swift; sourceTree = ""; }; + CF8C12BF1DA08683B9B34E7B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + D9CDC799C1D02448461C5B97 /* BacsDebitViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BacsDebitViewController.swift; sourceTree = ""; }; + DBE0A963151D165736F24450 /* OXXOExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OXXOExampleViewController.m; sourceTree = ""; }; + DF98C4542C942B8BE99AF2AE /* PaymentExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PaymentExampleViewController.m; sourceTree = ""; }; + E05CDE4D4B5F09D6FDF265B6 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + E1C73C37A4DC7815C328BE12 /* AUBECSDebitExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AUBECSDebitExampleViewController.m; sourceTree = ""; }; + E3EC1F5B37D8AD554396A3D7 /* WeChatPayExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeChatPayExampleViewController.h; sourceTree = ""; }; + EB7E01F379079D28383E8559 /* Przelewy24ExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Przelewy24ExampleViewController.m; sourceTree = ""; }; + EC269156D60D875784B0E074 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + EE78B2BB1747FC2994ADC48C /* USBankAccountExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = USBankAccountExampleViewController.swift; sourceTree = ""; }; + F185553AA1B3E2D0C80B8424 /* SEPADebitExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SEPADebitExampleViewController.h; sourceTree = ""; }; + F1A0CF82AB6742C41BA5C19C /* WeChatPayExampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WeChatPayExampleViewController.m; sourceTree = ""; }; + F2F0E1A3A75AC9C2C8E9C01B /* OXXOExampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OXXOExampleViewController.h; sourceTree = ""; }; + F74D08CE9A94C0D55EB3618A /* KlarnaSourcesExampleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KlarnaSourcesExampleViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 04533E841A687F5D00C7E52E /* Frameworks */ = { + E9B18222C481BE1B96B9702A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 362AA09E269E4F59000DE28F /* StripeCore.framework in Frameworks */, - 04533F121A68814100C7E52E /* Security.framework in Frameworks */, - E6AFFB0026E973830067462F /* StripeUICore.framework in Frameworks */, - 310F6FEB28D8E7E900C9580D /* StripePaymentsUI.framework in Frameworks */, - 04533F101A68813C00C7E52E /* PassKit.framework in Frameworks */, - 04533F0D1A68812D00C7E52E /* Stripe.framework in Frameworks */, - 31EFEE18258AE4190069BC5F /* Stripe3DS2.framework in Frameworks */, - 310F6FF128D8E87200C9580D /* StripePaymentSheet.framework in Frameworks */, - 3137B6A42743809A00CE7F5C /* StripeApplePay.framework in Frameworks */, - 310F6FEE28D8E7F200C9580D /* StripePayments.framework in Frameworks */, - 3C80845A280F948400DF9D30 /* StripeFinancialConnections.framework in Frameworks */, + C16B397FC306A8B0025D5AFF /* Stripe3DS2.framework in Frameworks */, + A8BE2C599C08080AE773D2D8 /* StripeApplePay.framework in Frameworks */, + 002758E8FE057ACF7A168646 /* StripeCore.framework in Frameworks */, + 21EB5C20341E71683313BC87 /* StripeFinancialConnections.framework in Frameworks */, + F635434F095301C541789E1C /* StripePaymentSheet.framework in Frameworks */, + C5C612D49748599F5A09421D /* StripePayments.framework in Frameworks */, + B39123ECF62A2C629B4F32D6 /* StripePaymentsUI.framework in Frameworks */, + AD9A0FE43A089F7CDAFF2DBB /* StripeUICore.framework in Frameworks */, + E88340F6DFAA14F6772159E7 /* Stripe.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 04533E7E1A687F5D00C7E52E = { + 670E6163C2D7487764AD3130 /* Project */ = { isa = PBXGroup; children = ( - 04533E891A687F5D00C7E52E /* Non-Card Payment Examples */, - 04533F0E1A68813100C7E52E /* Frameworks */, - 04533E881A687F5D00C7E52E /* Products */, - 366F93AF225FF2A2005CFBF6 /* README.md */, + C9918E2A43A3DF3C304A2F2A /* BuildConfigurations */, + 7991A720EF91B3EAA8C3DFDC /* BuildConfigurations */, + 9F4ECD0AE0A14B5FABE7D8E5 /* Non-Card Payment Examples */, + 295A6C099422195DEA070B92 /* README.md */, ); + name = Project; sourceTree = ""; }; - 04533E881A687F5D00C7E52E /* Products */ = { + 71256FBFCCEDBFAD63691213 /* Products */ = { isa = PBXGroup; children = ( - 04533E871A687F5D00C7E52E /* Non-Card Payment Examples.app */, + 39FD1595EB5ACDAB0DFB4A7E /* NonCardPaymentExamples.app */, + 6CA51E7BD0D4D1E0B94075FE /* Stripe.framework */, + 3300883AEEEF23265C6CA4BE /* Stripe3DS2.framework */, + 951B76B22A5088E944157C23 /* StripeApplePay.framework */, + A122962D3F1C0C7F56AC4501 /* StripeCore.framework */, + C55D540D77E57684BEBD1773 /* StripeFinancialConnections.framework */, + 64F13592DB0CDD803283B035 /* StripePayments.framework */, + 2ADDFFDCAC5AF682FC6648E8 /* StripePaymentSheet.framework */, + 173B34E97F92E48FBB42E82B /* StripePaymentsUI.framework */, + 9BDD4885AE1CEEEC3A45EC34 /* StripeUICore.framework */, ); name = Products; sourceTree = ""; }; - 04533E891A687F5D00C7E52E /* Non-Card Payment Examples */ = { + 7991A720EF91B3EAA8C3DFDC /* BuildConfigurations */ = { isa = PBXGroup; children = ( - B6C1FC822330432E0097FC4C /* AlipayExampleViewController.swift */, - 04533E8E1A687F5D00C7E52E /* AppDelegate.h */, - 04533E8F1A687F5D00C7E52E /* AppDelegate.m */, - C1CACE871E5DF7A9002D0821 /* ApplePayExampleViewController.h */, - C1CACE881E5DF7A9002D0821 /* ApplePayExampleViewController.m */, - 364FC2CE24201F62002879EB /* AUBECSDebitExampleViewController.h */, - 364FC2CF24201F62002879EB /* AUBECSDebitExampleViewController.m */, - B68882D223FC5BD30057C5AD /* BacsDebitViewController.swift */, - 44BDCFE2245A4CAE007EE6D5 /* BancontactExampleViewController.h */, - 44BDCFE3245A4CAE007EE6D5 /* BancontactExampleViewController.m */, - D0CC64B326E0876D00FC1442 /* BoletoExampleViewController.swift */, - C12C50DB1E57B3C800EC6D58 /* BrowseExamplesViewController.h */, - C12C50DC1E57B3C800EC6D58 /* BrowseExamplesViewController.m */, - 04533F171A688A0A00C7E52E /* Constants.h */, - 04533F181A688A0A00C7E52E /* Constants.m */, - 69A6C304246E6225005FF304 /* EPSExampleViewController.h */, - 69A6C305246E63A2005FF304 /* EPSExampleViewController.m */, - 31A8934B230F6ABD007ABE37 /* FPXExampleViewController.h */, - 31A8934C230F6ABD007ABE37 /* FPXExampleViewController.m */, - 361962572450DA280025D60B /* GiropayExampleViewController.h */, - 361962582450DA280025D60B /* GiropayExampleViewController.m */, - B6B0BB2D24C8A21A0000998E /* GrabPayExampleViewController.swift */, - 36B6CB62234FD9AA00331C38 /* iDEALExampleViewController.h */, - 36B6CB63234FD9AA00331C38 /* iDEALExampleViewController.m */, - 04533E971A687F5D00C7E52E /* Images.xcassets */, - D055CAF226F0202F00E25049 /* KeyboardAvoidingScrollView.swift */, - 31C108D723677C0100FE91B7 /* KlarnaSourcesExampleViewController.swift */, - 8BBD79C8207FD2F900F85BED /* Localizable.strings */, - B607FFBB2321DA99004203E0 /* MyAPIClient.h */, - B607FFBC2321DA99004203E0 /* MyAPIClient.m */, - B6C1FC812330432E0097FC4C /* Non-Card Payment Examples-Bridging-Header.h */, - 36B6CB58234BE3FA00331C38 /* PaymentExampleViewController.h */, - 36B6CB59234BE3FA00331C38 /* PaymentExampleViewController.m */, - 316F8131254115F0000A80B5 /* PayPalExampleViewController.h */, - 316F8132254115F0000A80B5 /* PayPalExampleViewController.m */, - 448895B224526C6B00F7D0C2 /* Przelewy24ExampleViewController.h */, - 448895B324526C6B00F7D0C2 /* Przelewy24ExampleViewController.m */, - 36B6CB5B234BEB8400331C38 /* SEPADebitExampleViewController.h */, - 36B6CB5C234BEB8400331C38 /* SEPADebitExampleViewController.m */, - 04533EB01A68802E00C7E52E /* ShippingManager.h */, - 04533EB11A68802E00C7E52E /* ShippingManager.m */, - 3171D89824DDECD70038A218 /* SofortExampleViewController.h */, - 3171D89924DDECD80038A218 /* SofortExampleViewController.m */, - C1CACE921E5E3DF6002D0821 /* SofortSourcesExampleViewController.h */, - C1CACE931E5E3DF6002D0821 /* SofortSourcesExampleViewController.m */, - 04533E8A1A687F5D00C7E52E /* Supporting Files */, - B65E8FCA22FA078A0057E64A /* WeChatPayExampleViewController.h */, - B65E8FCB22FA078A0057E64A /* WeChatPayExampleViewController.m */, - 316F810C254108F4000A80B5 /* OXXOExampleViewController.h */, - 316F810D254108F4000A80B5 /* OXXOExampleViewController.m */, - 0FC7C95525B1127000E99D3E /* AfterpayClearpayExampleViewController.swift */, - 61C5FA6F27225B1100D73313 /* KlarnaExampleViewController.swift */, - 6B48785727BDDB9000B7632D /* AffirmExampleViewController.swift */, - 36345D5C27D0384D00D2445D /* USBankAccountExampleViewController.swift */, - 3621F95427EBA99D00C7CC8C /* USBankAccountConnectionsExampleViewController.swift */, + AECFE22E44BC2764379FB9C1 /* Project-Debug.xcconfig */, + EC269156D60D875784B0E074 /* Project-Release.xcconfig */, + ); + name = BuildConfigurations; + path = ../../BuildConfigurations; + sourceTree = ""; + }; + 9F4ECD0AE0A14B5FABE7D8E5 /* Non-Card Payment Examples */ = { + isa = PBXGroup; + children = ( + E59C7706B356781B83ACBA3F /* Resources */, + 1282A6CFB51F4F3D2CE92B22 /* AffirmExampleViewController.swift */, + B9A0E6ABAC9BED6D249FA96E /* AfterpayClearpayExampleViewController.swift */, + CED93B66CA3A5F01511EE804 /* AlipayExampleViewController.swift */, + 05FF02CFBFA8863282D020E0 /* AppDelegate.h */, + A83C61D70652D6E6ED09230B /* AppDelegate.m */, + C2D98BF0E8488281BB3607A6 /* ApplePayExampleViewController.h */, + 2F6FFC2DA74C47C8941205CB /* ApplePayExampleViewController.m */, + A73E41374C21F809EAD34035 /* AUBECSDebitExampleViewController.h */, + E1C73C37A4DC7815C328BE12 /* AUBECSDebitExampleViewController.m */, + D9CDC799C1D02448461C5B97 /* BacsDebitViewController.swift */, + AC50AD86AA934979B23494CE /* BancontactExampleViewController.h */, + 9C4D6ECA899F3348A844E370 /* BancontactExampleViewController.m */, + CD73BDD44CF574D1957C3FFA /* BoletoExampleViewController.swift */, + 934226D0B321DB46199AF4F2 /* BrowseExamplesViewController.h */, + A433EDC5906D77ED94937E64 /* BrowseExamplesViewController.m */, + 287AF410BE4A7CD331E65114 /* Constants.h */, + BC2E15A342CA3A2EA76EE1D6 /* Constants.m */, + 8246202E37E84C97DB160C87 /* EPSExampleViewController.h */, + 4C003C0154CCBA34AF5CAC43 /* EPSExampleViewController.m */, + 8E672E24890CD3B941069941 /* FPXExampleViewController.h */, + 4387CA3F60553DB73F05BDC9 /* FPXExampleViewController.m */, + 86A1A58725F3254624BE3C0B /* GiropayExampleViewController.h */, + 2D896A3BF93A934C07AB388E /* GiropayExampleViewController.m */, + 311E3343A1F8432A0B56CEA5 /* GrabPayExampleViewController.swift */, + BDC64032D2A1C5A064CE9FFB /* iDEALExampleViewController.h */, + 052F9CDA0D4546CC1E5FF77C /* iDEALExampleViewController.m */, + 673900BEF4553912511DBFE3 /* Info.plist */, + 9ED911EC3E3C3C06B6909C18 /* KeyboardAvoidingScrollView.swift */, + 4C7C09286B3FF62A1562B3FB /* KlarnaExampleViewController.swift */, + F74D08CE9A94C0D55EB3618A /* KlarnaSourcesExampleViewController.swift */, + 5D8F3D727489A14C470D62C6 /* main.m */, + 322A882F5B9CDF9DC455F8E0 /* MCCompleteExampleViewController.swift */, + B9466FA637EB865C98AAA7B4 /* MyAPIClient.h */, + 0AA7CAC14165BD4EFB39E7C5 /* MyAPIClient.m */, + C0E970717191DBCD3BD5EC12 /* Non-Card Payment Examples-Bridging-Header.h */, + 479C1F3AC76FF0DAF749DA69 /* Non-Card Payment Examples.entitlements */, + F2F0E1A3A75AC9C2C8E9C01B /* OXXOExampleViewController.h */, + DBE0A963151D165736F24450 /* OXXOExampleViewController.m */, + C2E5EE3426E4E27739E36F5A /* PaymentExampleViewController.h */, + DF98C4542C942B8BE99AF2AE /* PaymentExampleViewController.m */, + 5B7DEBB2735CF9537D464127 /* PayPalExampleViewController.h */, + B0D62F7B5288E04FB14DBFFF /* PayPalExampleViewController.m */, + B6D91FAFADED8EDDDE39E12C /* Przelewy24ExampleViewController.h */, + EB7E01F379079D28383E8559 /* Przelewy24ExampleViewController.m */, + F185553AA1B3E2D0C80B8424 /* SEPADebitExampleViewController.h */, + AAF2CAB29E82F232B3F1FD47 /* SEPADebitExampleViewController.m */, + 54FC82B45AF4D84F4A87C0AD /* ShippingManager.h */, + 15F68FCA537974E451A03C00 /* ShippingManager.m */, + 990E6E75D5D7776609A82157 /* SofortExampleViewController.h */, + B9E0327F7A35DC353A823690 /* SofortExampleViewController.m */, + 0D9290D2C037196B3A240121 /* SofortSourcesExampleViewController.h */, + 58E87A8E1AE06AA97A3310C1 /* SofortSourcesExampleViewController.m */, + 32C7B53B74E206CF2A2DF38C /* USBankAccountConnectionsExampleViewController.swift */, + EE78B2BB1747FC2994ADC48C /* USBankAccountExampleViewController.swift */, + E3EC1F5B37D8AD554396A3D7 /* WeChatPayExampleViewController.h */, + F1A0CF82AB6742C41BA5C19C /* WeChatPayExampleViewController.m */, ); path = "Non-Card Payment Examples"; sourceTree = ""; }; - 04533E8A1A687F5D00C7E52E /* Supporting Files */ = { + C17C8844C1C4AA7C978FAACA = { + isa = PBXGroup; + children = ( + 670E6163C2D7487764AD3130 /* Project */, + FDB5D8AADEA5CB1BFB647FA2 /* Frameworks */, + 71256FBFCCEDBFAD63691213 /* Products */, + ); + sourceTree = ""; + }; + C9918E2A43A3DF3C304A2F2A /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + 8B4FE9E774494C148EBFDD0F /* Non-Card-Payment-Examples-Debug.xcconfig */, + 7EB5EE88F3BCE3D52302C896 /* Non-Card-Payment-Examples-Release.xcconfig */, + ); + path = BuildConfigurations; + sourceTree = ""; + }; + E59C7706B356781B83ACBA3F /* Resources */ = { isa = PBXGroup; children = ( - 04533E8B1A687F5D00C7E52E /* Info.plist */, - 04533E8C1A687F5D00C7E52E /* main.m */, + 8CE9A736DA9941DECAD86F1B /* Localizable.strings */, + B08862809018A4D7FF681FF7 /* Images.xcassets */, ); - name = "Supporting Files"; + path = Resources; sourceTree = ""; }; - 04533F0E1A68813100C7E52E /* Frameworks */ = { + FDB5D8AADEA5CB1BFB647FA2 /* Frameworks */ = { isa = PBXGroup; children = ( - 310F6FF028D8E87200C9580D /* StripePaymentSheet.framework */, - 310F6FED28D8E7F200C9580D /* StripePayments.framework */, - 310F6FEA28D8E7E900C9580D /* StripePaymentsUI.framework */, - 3C808459280F948400DF9D30 /* StripeFinancialConnections.framework */, - 363673BD27EBAB4B005040E2 /* StripeFinancialConnections.framework */, - 3137B6A32743809A00CE7F5C /* StripeApplePay.framework */, - E6AFFAFF26E973830067462F /* StripeUICore.framework */, - 362AA09D269E4F59000DE28F /* StripeCore.framework */, - 31EFEE17258AE4190069BC5F /* Stripe3DS2.framework */, - 04533F111A68814100C7E52E /* Security.framework */, - 04533F0F1A68813C00C7E52E /* PassKit.framework */, - 04533F0C1A68812D00C7E52E /* Stripe.framework */, ); name = Frameworks; sourceTree = ""; @@ -301,136 +328,129 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 04533E861A687F5D00C7E52E /* Non-Card Payment Examples */ = { + DE450755991F3CA74F8D20D3 /* Non-Card Payment Examples */ = { isa = PBXNativeTarget; - buildConfigurationList = 04533EAA1A687F5E00C7E52E /* Build configuration list for PBXNativeTarget "Non-Card Payment Examples" */; + buildConfigurationList = AE24749C1E8F5894F3A00C02 /* Build configuration list for PBXNativeTarget "Non-Card Payment Examples" */; buildPhases = ( - 04533E831A687F5D00C7E52E /* Sources */, - 04533E841A687F5D00C7E52E /* Frameworks */, - 04533E851A687F5D00C7E52E /* Resources */, - 04D076181A69C11600094431 /* Embed Frameworks */, + 3DD18BEAF21A510750FA2DA3 /* Sources */, + 9CCC36253414F9D8742AAEE9 /* Resources */, + C9D95B2C87C32307355629BF /* Embed Frameworks */, + E9B18222C481BE1B96B9702A /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "Non-Card Payment Examples"; - productName = "Non-Card Payment Examples"; - productReference = 04533E871A687F5D00C7E52E /* Non-Card Payment Examples.app */; + productName = NonCardPaymentExamples; + productReference = 39FD1595EB5ACDAB0DFB4A7E /* NonCardPaymentExamples.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 04533E7F1A687F5D00C7E52E /* Project object */ = { + 7F051CD17181A2F8EF3D5787 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1200; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 04533E861A687F5D00C7E52E = { - CreatedOnToolsVersion = 6.1.1; - LastSwiftMigration = 1030; - ProvisioningStyle = Automatic; - }; }; }; - buildConfigurationList = 04533E821A687F5D00C7E52E /* Build configuration list for PBXProject "Non-Card Payment Examples" */; - compatibilityVersion = "Xcode 3.2"; + buildConfigurationList = 1128037F4B608EA6ECCCD8E4 /* Build configuration list for PBXProject "Non-Card Payment Examples" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( + Base, + de, en, - "zh-Hans", - nl, + es, fi, fr, - de, it, ja, nb, - es, - Base, + nl, + "zh-Hans", ); - mainGroup = 04533E7E1A687F5D00C7E52E; - productRefGroup = 04533E881A687F5D00C7E52E /* Products */; + mainGroup = C17C8844C1C4AA7C978FAACA; + productRefGroup = 71256FBFCCEDBFAD63691213 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 04533E861A687F5D00C7E52E /* Non-Card Payment Examples */, + DE450755991F3CA74F8D20D3 /* Non-Card Payment Examples */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 04533E851A687F5D00C7E52E /* Resources */ = { + 9CCC36253414F9D8742AAEE9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 366F93B0225FF2A2005CFBF6 /* README.md in Resources */, - 04533E981A687F5D00C7E52E /* Images.xcassets in Resources */, - 8BBD79C6207FD2F900F85BED /* Localizable.strings in Resources */, + 9D89DFED47708115C613BC80 /* Images.xcassets in Resources */, + 6BF09625088A9D5009307E38 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 04533E831A687F5D00C7E52E /* Sources */ = { + 3DD18BEAF21A510750FA2DA3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 36B6CB64234FD9AA00331C38 /* iDEALExampleViewController.m in Sources */, - 04533F191A688A0A00C7E52E /* Constants.m in Sources */, - C1CACE941E5E3DF6002D0821 /* SofortSourcesExampleViewController.m in Sources */, - 04533EB21A68802E00C7E52E /* ShippingManager.m in Sources */, - 361962592450DA280025D60B /* GiropayExampleViewController.m in Sources */, - 31C108D823677C0100FE91B7 /* KlarnaSourcesExampleViewController.swift in Sources */, - B6B0BB2E24C8A21A0000998E /* GrabPayExampleViewController.swift in Sources */, - 04533E901A687F5D00C7E52E /* AppDelegate.m in Sources */, - 44BDCFE4245A4CAE007EE6D5 /* BancontactExampleViewController.m in Sources */, - 61C5FA7027225B1200D73313 /* KlarnaExampleViewController.swift in Sources */, - B65E8FCC22FA078A0057E64A /* WeChatPayExampleViewController.m in Sources */, - 36B6CB5A234BE3FA00331C38 /* PaymentExampleViewController.m in Sources */, - B68882D323FC5BD30057C5AD /* BacsDebitViewController.swift in Sources */, - 3621F95527EBA99D00C7CC8C /* USBankAccountConnectionsExampleViewController.swift in Sources */, - C1CACE891E5DF7A9002D0821 /* ApplePayExampleViewController.m in Sources */, - B6C1FC832330432E0097FC4C /* AlipayExampleViewController.swift in Sources */, - B607FFBD2321DA99004203E0 /* MyAPIClient.m in Sources */, - 6B48785827BDDB9000B7632D /* AffirmExampleViewController.swift in Sources */, - 316F810E254108F4000A80B5 /* OXXOExampleViewController.m in Sources */, - D0CC64B426E0876D00FC1442 /* BoletoExampleViewController.swift in Sources */, - 04533E8D1A687F5D00C7E52E /* main.m in Sources */, - 31A8934D230F6ABD007ABE37 /* FPXExampleViewController.m in Sources */, - 36B6CB5D234BEB8400331C38 /* SEPADebitExampleViewController.m in Sources */, - 36345D5D27D0384D00D2445D /* USBankAccountExampleViewController.swift in Sources */, - 69A6C306246E63A2005FF304 /* EPSExampleViewController.m in Sources */, - C12C50DD1E57B3C800EC6D58 /* BrowseExamplesViewController.m in Sources */, - 3171D89A24DDECD80038A218 /* SofortExampleViewController.m in Sources */, - 0FC7C95625B1127000E99D3E /* AfterpayClearpayExampleViewController.swift in Sources */, - 364FC2D024201F62002879EB /* AUBECSDebitExampleViewController.m in Sources */, - 316F8133254115F0000A80B5 /* PayPalExampleViewController.m in Sources */, - D055CAF326F0202F00E25049 /* KeyboardAvoidingScrollView.swift in Sources */, - 448895B424526C6B00F7D0C2 /* Przelewy24ExampleViewController.m in Sources */, + 09470488B2A3383D39A9445C /* AUBECSDebitExampleViewController.m in Sources */, + 11E6BDE8B898A7215AE679F6 /* AffirmExampleViewController.swift in Sources */, + 2BFF43283D3D33B24CCCB073 /* AfterpayClearpayExampleViewController.swift in Sources */, + 4AF27F18E74A5AB8B6C65D08 /* AlipayExampleViewController.swift in Sources */, + 009A2D1283604AA415298E81 /* AppDelegate.m in Sources */, + 4E2D4579B9171CAD4FCC7849 /* ApplePayExampleViewController.m in Sources */, + 87B301C11D0C2E1C8299B971 /* BacsDebitViewController.swift in Sources */, + AA09261F606AFE3124912983 /* BancontactExampleViewController.m in Sources */, + 85FA10E8A45C4B0A5433C0DC /* BoletoExampleViewController.swift in Sources */, + 2A69E8181D591533B0F9E09B /* BrowseExamplesViewController.m in Sources */, + 0AC26F0F597E114044E9A15A /* Constants.m in Sources */, + 2965738ADB4C4325D7BDEB97 /* EPSExampleViewController.m in Sources */, + CD7FC52A94895E322DB5B3D9 /* FPXExampleViewController.m in Sources */, + D9507571006167E5188CA5BD /* GiropayExampleViewController.m in Sources */, + 80466B86A1F4896FE7811E9D /* GrabPayExampleViewController.swift in Sources */, + 0B69B9B4DEB17B393C5E4CD1 /* KeyboardAvoidingScrollView.swift in Sources */, + 59551D92F75526B6E0789570 /* KlarnaExampleViewController.swift in Sources */, + A2728A537E75F4AF46AC4152 /* KlarnaSourcesExampleViewController.swift in Sources */, + 575DE5614B5E20C708371E3F /* MCCompleteExampleViewController.swift in Sources */, + D46A05D88420B85C1B275640 /* MyAPIClient.m in Sources */, + 4B618821707204173527D0F2 /* OXXOExampleViewController.m in Sources */, + CF0983C679CA4196DF4DA37D /* PayPalExampleViewController.m in Sources */, + C9DCB32902B62F3E8F3F9052 /* PaymentExampleViewController.m in Sources */, + 86D45F9D2555695B63FF63BF /* Przelewy24ExampleViewController.m in Sources */, + 1654F692662A7E7534E916C5 /* SEPADebitExampleViewController.m in Sources */, + 1EFD2CA666EA80AB86B3C3E6 /* ShippingManager.m in Sources */, + 86C982DF1DC60CB160DA0FBB /* SofortExampleViewController.m in Sources */, + E25C6341B4F787932711D689 /* SofortSourcesExampleViewController.m in Sources */, + 7347961ABF706602E2915A53 /* USBankAccountConnectionsExampleViewController.swift in Sources */, + 07E1B52EA12E4F9789013E8C /* USBankAccountExampleViewController.swift in Sources */, + 616358522C3A1FCD579F2B37 /* WeChatPayExampleViewController.m in Sources */, + 975D189CB2E61E7C1871F0DA /* iDEALExampleViewController.m in Sources */, + 4331C8C4F8BA76E560F420DF /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - 8BBD79C8207FD2F900F85BED /* Localizable.strings */ = { + 8CE9A736DA9941DECAD86F1B /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 8BBD79C7207FD2F900F85BED /* en */, - 8BBD79C9207FD31A00F85BED /* zh-Hans */, - 8BBD79CA207FD32100F85BED /* nl */, - 8BBD79CB207FD32900F85BED /* fi */, - 8BBD79CC207FD32D00F85BED /* fr */, - 8BBD79CD207FD33600F85BED /* de */, - 8BBD79CE207FD33D00F85BED /* it */, - 8BBD79CF207FD34200F85BED /* ja */, - 8BBD79D0207FD34A00F85BED /* nb */, - 8BBD79D1207FD35200F85BED /* es */, + 2B63B545FE4AB802ED1904A5 /* de */, + 90081BE52D2A12E3C962E386 /* en */, + 7F068CC4E3F81CB0E96CED03 /* es */, + C7C71C3CD5BC6AB2F0E15AD5 /* fi */, + 7FA81CB0282D03CEE0CCDBD5 /* fr */, + E05CDE4D4B5F09D6FDF265B6 /* it */, + CF8C12BF1DA08683B9B34E7B /* ja */, + 8B425785CB5AE1A15209D100 /* nb */, + 9B7B857175BFCD83E5D9107B /* nl */, + 8362394DC688A6D8AEE1A006 /* zh-Hans */, ); name = Localizable.strings; sourceTree = ""; @@ -438,205 +458,66 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 04533EA81A687F5E00C7E52E /* Debug */ = { + 65B3387F6208CC8D181645A4 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = AECFE22E44BC2764379FB9C1 /* Project-Debug.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = 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_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_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/**", - ); - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - 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; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/**", - ); - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; }; name = Debug; }; - 04533EA91A687F5E00C7E52E /* Release */ = { + 7B85D1A9D6F99D42966DC170 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 7EB5EE88F3BCE3D52302C896 /* Non-Card-Payment-Examples-Release.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = 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_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_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/**", - ); - GCC_C_LANGUAGE_STANDARD = gnu99; - 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; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/**", - ); - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; + CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/Non-Card Payment Examples/Non-Card Payment Examples.entitlements"; + INFOPLIST_FILE = "Non-Card Payment Examples/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.CustomSDKExample; + PRODUCT_NAME = NonCardPaymentExamples; SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - VALIDATE_PRODUCT = YES; }; name = Release; }; - 04533EAB1A687F5E00C7E52E /* Debug */ = { + 8EAF8E1552E34C2EE27311A1 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 8B4FE9E774494C148EBFDD0F /* Non-Card-Payment-Examples-Debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/**", - ); - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/**", - ); - INFOPLIST_FILE = "$(SRCROOT)/Non-Card Payment Examples/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/Non-Card Payment Examples/Non-Card Payment Examples.entitlements"; + INFOPLIST_FILE = "Non-Card Payment Examples/Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.CustomSDKExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Non-Card Payment Examples/Non-Card Payment Examples-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + PRODUCT_NAME = NonCardPaymentExamples; + SDKROOT = iphoneos; }; name = Debug; }; - 04533EAC1A687F5E00C7E52E /* Release */ = { + B382BC2BC4C65AC6648E1571 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = EC269156D60D875784B0E074 /* Project-Release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/**", - ); - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/**", - ); - INFOPLIST_FILE = "$(SRCROOT)/Non-Card Payment Examples/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.CustomSDKExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Non-Card Payment Examples/Non-Card Payment Examples-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 04533E821A687F5D00C7E52E /* Build configuration list for PBXProject "Non-Card Payment Examples" */ = { + 1128037F4B608EA6ECCCD8E4 /* Build configuration list for PBXProject "Non-Card Payment Examples" */ = { isa = XCConfigurationList; buildConfigurations = ( - 04533EA81A687F5E00C7E52E /* Debug */, - 04533EA91A687F5E00C7E52E /* Release */, + 65B3387F6208CC8D181645A4 /* Debug */, + B382BC2BC4C65AC6648E1571 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 04533EAA1A687F5E00C7E52E /* Build configuration list for PBXNativeTarget "Non-Card Payment Examples" */ = { + AE24749C1E8F5894F3A00C02 /* Build configuration list for PBXNativeTarget "Non-Card Payment Examples" */ = { isa = XCConfigurationList; buildConfigurations = ( - 04533EAB1A687F5E00C7E52E /* Debug */, - 04533EAC1A687F5E00C7E52E /* Release */, + 8EAF8E1552E34C2EE27311A1 /* Debug */, + 7B85D1A9D6F99D42966DC170 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 04533E7F1A687F5D00C7E52E /* Project object */; + rootObject = 7F051CD17181A2F8EF3D5787 /* Project object */; } diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples.xcodeproj/xcshareddata/xcschemes/Non-Card Payment Examples.xcscheme b/Example/Non-Card Payment Examples/Non-Card Payment Examples.xcodeproj/xcshareddata/xcschemes/Non-Card Payment Examples.xcscheme index 0c12a345275..57cf30d60d1 100644 --- a/Example/Non-Card Payment Examples/Non-Card Payment Examples.xcodeproj/xcshareddata/xcschemes/Non-Card Payment Examples.xcscheme +++ b/Example/Non-Card Payment Examples/Non-Card Payment Examples.xcodeproj/xcshareddata/xcschemes/Non-Card Payment Examples.xcscheme @@ -1,6 +1,6 @@ - - - - @@ -40,33 +26,16 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - - - - + shouldUseLaunchSchemeArgsEnv = "YES" + disableMainThreadChecker = "YES"> - - - - @@ -94,8 +63,8 @@ runnableDebuggingMode = "0"> diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/BrowseExamplesViewController.m b/Example/Non-Card Payment Examples/Non-Card Payment Examples/BrowseExamplesViewController.m index 4cd91f5f7ed..0dbcdbf7723 100644 --- a/Example/Non-Card Payment Examples/Non-Card Payment Examples/BrowseExamplesViewController.m +++ b/Example/Non-Card Payment Examples/Non-Card Payment Examples/BrowseExamplesViewController.m @@ -8,7 +8,7 @@ @import Stripe; @import StripeCore; -#import "Non_Card_Payment_Examples-Swift.h" +#import "NonCardPaymentExamples-Swift.h" #import "BrowseExamplesViewController.h" diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/Images.xcassets/AppIcon.appiconset/Contents.json rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/Images.xcassets/Contents.json b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/Images.xcassets/Contents.json similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/Images.xcassets/Contents.json rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/Images.xcassets/Contents.json diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/Images.xcassets/LaunchImage.launchimage/Contents.json b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/Images.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/Images.xcassets/LaunchImage.launchimage/Contents.json rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/Images.xcassets/LaunchImage.launchimage/Contents.json diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/de.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/de.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/de.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/de.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/en.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/en.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/en.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/en.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/es.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/es.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/es.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/es.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/fi.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/fi.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/fi.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/fi.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/fr.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/fr.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/fr.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/fr.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/it.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/it.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/it.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/it.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/ja.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/ja.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/ja.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/ja.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/nb.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/nb.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/nb.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/nb.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/nl.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/nl.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/nl.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/nl.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Non-Card Payment Examples/zh-Hans.lproj/Localizable.strings b/Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/zh-Hans.lproj/Localizable.strings similarity index 100% rename from Example/Non-Card Payment Examples/Non-Card Payment Examples/zh-Hans.lproj/Localizable.strings rename to Example/Non-Card Payment Examples/Non-Card Payment Examples/Resources/zh-Hans.lproj/Localizable.strings diff --git a/Example/Non-Card Payment Examples/Project.swift b/Example/Non-Card Payment Examples/Project.swift new file mode 100644 index 00000000000..49ac4624406 --- /dev/null +++ b/Example/Non-Card Payment Examples/Project.swift @@ -0,0 +1,69 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "Non-Card Payment Examples", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "Non-Card Payment Examples", + platform: .iOS, + product: .app, + productName: "NonCardPaymentExamples", + bundleId: "com.stripe.CustomSDKExample", + infoPlist: "Non-Card Payment Examples/Info.plist", + sources: [ + "Non-Card Payment Examples/*.swift", + "Non-Card Payment Examples/*.m", + ], + resources: "Non-Card Payment Examples/Resources/**", + headers: .headers(project: "Non-Card Payment Example/*.h"), + entitlements: "Non-Card Payment Examples/Non-Card Payment Examples.entitlements", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "StripePaymentsUI", path: "//StripePaymentsUI"), + .project(target: "StripePaymentSheet", path: "//StripePaymentSheet"), + .project(target: "StripeiOS", path: "//Stripe"), + .project( + target: "StripeFinancialConnections", + path: "//StripeFinancialConnections" + ), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/Non-Card-Payment-Examples" + ), + additionalFiles: [ + "Non-Card Payment Examples/*.h", + ] + ) + ], + schemes: [ + Scheme( + name: "Non-Card Payment Examples", + buildAction: .buildAction(targets: ["Non-Card Payment Examples"]), + runAction: .runAction(executable: "Non-Card Payment Examples") + ) + ], + additionalFiles: "README.md" +) diff --git a/Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Debug.xcconfig b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Debug.xcconfig new file mode 100644 index 00000000000..e0f760b52b0 --- /dev/null +++ b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// PaymentSheet-Example-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "PaymentSheet-Example-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Release.xcconfig b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Release.xcconfig new file mode 100644 index 00000000000..f772bec2760 --- /dev/null +++ b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Release.xcconfig @@ -0,0 +1,12 @@ +// +// PaymentSheet-Example-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "PaymentSheet-Example-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Shared.xcconfig b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Shared.xcconfig new file mode 100644 index 00000000000..d4dae19cd47 --- /dev/null +++ b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheet-Example-Shared.xcconfig @@ -0,0 +1,13 @@ +// +// PaymentSheet-Example-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +CODE_SIGN_STYLE = Automatic +SUPPORTS_MACCATALYST = YES +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Debug.xcconfig b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Debug.xcconfig new file mode 100644 index 00000000000..a166bb059c8 --- /dev/null +++ b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// PaymentSheetLocalizationScreenshotGenerator-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "PaymentSheetLocalizationScreenshotGenerator-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Release.xcconfig b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Release.xcconfig new file mode 100644 index 00000000000..0a79bac2d4b --- /dev/null +++ b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Release.xcconfig @@ -0,0 +1,12 @@ +// +// PaymentSheetLocalizationScreenshotGenerator-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "PaymentSheetLocalizationScreenshotGenerator-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Shared.xcconfig b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Shared.xcconfig new file mode 100644 index 00000000000..3309924e623 --- /dev/null +++ b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator-Shared.xcconfig @@ -0,0 +1,13 @@ +// +// PaymentSheetLocalizationScreenshotGenerator-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +CODE_SIGN_STYLE = Automatic +IPHONEOS_DEPLOYMENT_TARGET = 14.5 +TARGETED_DEVICE_FAMILY = 1,2 +TEST_TARGET_NAME = PaymentSheet Example +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Debug.xcconfig b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Debug.xcconfig new file mode 100644 index 00000000000..5bb6261161f --- /dev/null +++ b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// PaymentSheetUITest-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "PaymentSheetUITest-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Release.xcconfig b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Release.xcconfig new file mode 100644 index 00000000000..a8f80863a73 --- /dev/null +++ b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Release.xcconfig @@ -0,0 +1,12 @@ +// +// PaymentSheetUITest-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "PaymentSheetUITest-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Shared.xcconfig b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Shared.xcconfig new file mode 100644 index 00000000000..1e4bc7cdf67 --- /dev/null +++ b/Example/PaymentSheet Example/BuildConfigurations/PaymentSheetUITest-Shared.xcconfig @@ -0,0 +1,13 @@ +// +// PaymentSheetUITest-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +CODE_SIGN_STYLE = Automatic +IPHONEOS_DEPLOYMENT_TARGET = 14.2 +TARGETED_DEVICE_FAMILY = 1,2 +TEST_TARGET_NAME = PaymentSheet Example +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/project.pbxproj b/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/project.pbxproj index 1db26579be3..ce64466ef49 100644 --- a/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/project.pbxproj +++ b/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/project.pbxproj @@ -7,90 +7,102 @@ objects = { /* Begin PBXBuildFile section */ - 3122722F28763D660007ED5E /* StripePaymentSheet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122722E28763D660007ED5E /* StripePaymentSheet.framework */; }; - 3122723028763D660007ED5E /* StripePaymentSheet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3122722E28763D660007ED5E /* StripePaymentSheet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3122723228763D6E0007ED5E /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122723128763D6E0007ED5E /* StripePaymentsUI.framework */; }; - 3122723328763D6E0007ED5E /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3122723128763D6E0007ED5E /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3122723528763D730007ED5E /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122723428763D730007ED5E /* StripePayments.framework */; }; - 3122723628763D730007ED5E /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3122723428763D730007ED5E /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31319EE425B11FA000C89E30 /* ExampleSwiftUIPaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31319EE325B11FA000C89E30 /* ExampleSwiftUIPaymentSheet.swift */; }; - 31319EE625B21DC200C89E30 /* ExampleSwiftUIViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31319EE525B21DC200C89E30 /* ExampleSwiftUIViews.swift */; }; - 31319EE825B2328700C89E30 /* ExampleSwiftUICustomPaymentFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31319EE725B2328700C89E30 /* ExampleSwiftUICustomPaymentFlow.swift */; }; - 3137B6A12743808F00CE7F5C /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B6A02743808F00CE7F5C /* StripeApplePay.framework */; }; - 3137B6A22743808F00CE7F5C /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B6A02743808F00CE7F5C /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31D8F79825BA0200004502D9 /* PaymentSheetUITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31D8F79725BA0200004502D9 /* PaymentSheetUITest.swift */; }; - 36002B4B25803B3100E46F8B /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36002B4A25803B3100E46F8B /* SceneDelegate.swift */; }; - 36595AE626B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36595AE526B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator.swift */; }; - 36E5A2D225A79C7E001668C9 /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36E5A2D125A79C7E001668C9 /* Stripe3DS2.framework */; }; - 36E5A2D325A79C94001668C9 /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 36E5A2D125A79C7E001668C9 /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 611CF06C27C9858200E43BB2 /* PaymentSheetSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 611CF06B27C9858200E43BB2 /* PaymentSheetSnapshotTests.swift */; }; - 615EF61927DA473A00F8E0EE /* AppearancePlaygroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 615EF61827DA473A00F8E0EE /* AppearancePlaygroundView.swift */; }; - 61A20BC127CA767500260BC5 /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61A20BC027CA767500260BC5 /* StripeCoreTestUtils.framework */; }; - 6B0236B829411834007D29CC /* EndpointSelectorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B0236B729411834007D29CC /* EndpointSelectorViewController.swift */; }; - 6B3F9F6A28078A0E00C81DDC /* StripeFinancialConnections.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6B8BD78527F555B8007463B3 /* StripeFinancialConnections.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 6B8BD78627F555B8007463B3 /* StripeFinancialConnections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B8BD78527F555B8007463B3 /* StripeFinancialConnections.framework */; }; - 6BCAA43C281B7D78001691F1 /* MockFiles in Resources */ = {isa = PBXBuildFile; fileRef = 6BCAA43B281B7D78001691F1 /* MockFiles */; }; - B637075A251057890094499F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6370759251057890094499F /* AppDelegate.swift */; }; - B637075E251057890094499F /* PaymentSheetTestPlayground.swift in Sources */ = {isa = PBXBuildFile; fileRef = B637075D251057890094499F /* PaymentSheetTestPlayground.swift */; }; - B6370761251057890094499F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B637075F251057890094499F /* Main.storyboard */; }; - B63707632510578D0094499F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B63707622510578D0094499F /* Assets.xcassets */; }; - B63707662510578D0094499F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B63707642510578D0094499F /* LaunchScreen.storyboard */; }; - B67AC2E226D02D590033A653 /* XCUITest+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67AC2E126D02D590033A653 /* XCUITest+Utilities.swift */; }; - B67BC53D257AB9D300B7349B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67BC53C257AB9D300B7349B /* ViewController.swift */; }; - B67BC542257ABF8D00B7349B /* ExampleCheckoutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67BC541257ABF8D00B7349B /* ExampleCheckoutViewController.swift */; }; - B68A9E32257D8E8800E904B5 /* ExampleCustomCheckoutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B68A9E31257D8E8800E904B5 /* ExampleCustomCheckoutViewController.swift */; }; - B6ECC7212696551800E4783E /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6ECC7202696551800E4783E /* StripeCore.framework */; }; - B6ECC7222696551800E4783E /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B6ECC7202696551800E4783E /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - B6F09A95285B94F800751867 /* PaymentSheet+AddressTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6F09A94285B94F800751867 /* PaymentSheet+AddressTests.swift */; }; - E254413728FA26C200C6F5D3 /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = E254413628FA26C200C6F5D3 /* iOSSnapshotTestCase */; }; - E254413928FA26C200C6F5D3 /* iOSSnapshotTestCase in Embed Frameworks */ = {isa = PBXBuildFile; productRef = E254413628FA26C200C6F5D3 /* iOSSnapshotTestCase */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - E6AFFAFD26E9737B0067462F /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAFC26E9737B0067462F /* StripeUICore.framework */; }; - E6AFFAFE26E9737B0067462F /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAFC26E9737B0067462F /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 000D59C19A60AB637CE65EE9 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89E47F13DA6D394178F06849 /* StripePaymentsUI.framework */; }; + 09FA1391DCA2717DBC962562 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1E565B552830E657F863C4F8 /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 1094816DB7E9DFAF01815365 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63237DF22FD4600B9D2E8071 /* StripeApplePay.framework */; }; + 11DDC6610B393BFF4C6DF02C /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FD1F5193E4A361EA9E8FED3 /* StripeCore.framework */; }; + 1522A801B5C9C7FC6E761470 /* PaymentSheetSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF72A2225810EA91FEEA4A41 /* PaymentSheetSnapshotTests.swift */; }; + 17D626E890FD11B84654C846 /* PaymentSheetTestPlayground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27BA81F620FAB6E5505E0B32 /* PaymentSheetTestPlayground.swift */; }; + 185A611D085DC24198C3D2D1 /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F9C96D25ED549D6255FC274 /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 37CDE2E21F00571F147FCFF7 /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 89E47F13DA6D394178F06849 /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 424BBBEBF25E5F020FF40F36 /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C2655A8B1DF0649CD996E045 /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 432E82C3F5EC56E89D257563 /* ExampleSwiftUIPaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7AFD32B5EAD3BEEEC3D4260 /* ExampleSwiftUIPaymentSheet.swift */; }; + 4694B03B08B7DA9706A2ED9D /* AppearancePlaygroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D025413F3246E241A1DFE5C /* AppearancePlaygroundView.swift */; }; + 4E3F7EFF78BC4F14D18024E7 /* PaymentSheetLocalizationScreenshotGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA08203146CADE9649CF0EAD /* PaymentSheetLocalizationScreenshotGenerator.swift */; }; + 540F279CE5B41C122AD1DEF6 /* PaymentSheetUITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CA299EAF5914484195167EB /* PaymentSheetUITest.swift */; }; + 551DB033DB4C8257ABAADA8F /* StripePaymentSheet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 240DDF52B887E788853A838B /* StripePaymentSheet.framework */; }; + 65D034E37B345C1B64785451 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1FD1F5193E4A361EA9E8FED3 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 75D1997DA514F6DB82FF1CFC /* StripePaymentSheet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 240DDF52B887E788853A838B /* StripePaymentSheet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7CD54A47BC36A065ADA952BF /* StripeCoreTestUtils.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7C2D3C4D44C73D619A42CF3A /* StripeCoreTestUtils.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7ECCD70F9CE16A1854F2633E /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C2D3C4D44C73D619A42CF3A /* StripeCoreTestUtils.framework */; }; + 7F005A0179023A25918D9014 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 59EF54A49D2FCC743E9EBC5F /* Assets.xcassets */; }; + 84CFB1ACA4915EE5B2E25341 /* EndpointSelectorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8738B92B2B3B97A7A53E6FE9 /* EndpointSelectorViewController.swift */; }; + 8A6DBB641294F9AE6A9C61B1 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7CDBD593EFEAD2EDA4D33D5D /* LaunchScreen.storyboard */; }; + 8F5C48FC825539B96F592315 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5259232431E2683DDD05CB84 /* ViewController.swift */; }; + 95B578013869DFEA1C912A10 /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2655A8B1DF0649CD996E045 /* Stripe3DS2.framework */; }; + 9F126696AD86BF2E861B5CC5 /* StripeFinancialConnections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 16547B41C80B97FC2EFD0798 /* StripeFinancialConnections.framework */; }; + A0037CC8E331CFF5CEE2D580 /* ExampleSwiftUICustomPaymentFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 447A394B34A55D5B1CD5C0C1 /* ExampleSwiftUICustomPaymentFlow.swift */; }; + A071C07B6FFACC5DEFC6AA01 /* ExampleSwiftUIViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = D20765908089ACB79B556592 /* ExampleSwiftUIViews.swift */; }; + AEC3BC636297A0D3E2DDF522 /* MockFiles in Resources */ = {isa = PBXBuildFile; fileRef = 9496755DA1916325D38ECB2F /* MockFiles */; }; + B36A24145C97D73C981DDBAC /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F4B26C754925F8D2A5183B2E /* Main.storyboard */; }; + B6D6AAA666859847BB59749C /* PaymentSheet+AddressTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A61C5739DBE6405A4D9FD5F2 /* PaymentSheet+AddressTests.swift */; }; + C39CA2EBE08EE768559A8FD1 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1FD1F5193E4A361EA9E8FED3 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D235E82A7173E8051BC5A261 /* ExampleCustomCheckoutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECF244A593BD92A973B1C369 /* ExampleCustomCheckoutViewController.swift */; }; + D89C23032CFB732A0CFCD565 /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E565B552830E657F863C4F8 /* StripePayments.framework */; }; + E3D7A04974C35D2D8D31CDCD /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53AAAA316E1DA1C44D30D7B0 /* SceneDelegate.swift */; }; + EB1DCD930408180734A8D7CA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05E317C6C8459B147C041D93 /* AppDelegate.swift */; }; + EB3C76C2A5704F94F0414BEF /* ExampleCheckoutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 899A5E37ECAEFAD0178E0A4E /* ExampleCheckoutViewController.swift */; }; + EE0FA73AAB80863583C69D70 /* XCUITest+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36BB679CF53EEF943F0BAAC9 /* XCUITest+Utilities.swift */; }; + FA36E30724AAC6E3EF717A6A /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F9C96D25ED549D6255FC274 /* StripeUICore.framework */; }; + FBA21DE7C9261D3BFD53A6CB /* StripeFinancialConnections.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 16547B41C80B97FC2EFD0798 /* StripeFinancialConnections.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + FD441E14EDF702D50D812875 /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = B195FF5EEDEAC460C45887F1 /* iOSSnapshotTestCase */; }; + FF1C880D1C27F7C384DD2509 /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 63237DF22FD4600B9D2E8071 /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 31D8F79A25BA0200004502D9 /* PBXContainerItemProxy */ = { + 4AE35256297064B8CB3D7B04 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = B637074E251057890094499F /* Project object */; + containerPortal = EA7B1F35244C75557507E31F /* Project object */; proxyType = 1; - remoteGlobalIDString = B6370755251057890094499F; + remoteGlobalIDString = D017784615929C0DD3717FE8; remoteInfo = "PaymentSheet Example"; }; - 36595AE826B1F3C100634850 /* PBXContainerItemProxy */ = { + 87E0693FE4D0931305C423C2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = B637074E251057890094499F /* Project object */; + containerPortal = EA7B1F35244C75557507E31F /* Project object */; proxyType = 1; - remoteGlobalIDString = B6370755251057890094499F; + remoteGlobalIDString = D017784615929C0DD3717FE8; remoteInfo = "PaymentSheet Example"; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - B637077725107FC00094499F /* Embed Frameworks */ = { + 476C8A853F543D44578B4522 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 3122723328763D6E0007ED5E /* StripePaymentsUI.framework in Embed Frameworks */, - 6B3F9F6A28078A0E00C81DDC /* StripeFinancialConnections.framework in Embed Frameworks */, - E6AFFAFE26E9737B0067462F /* StripeUICore.framework in Embed Frameworks */, - 36E5A2D325A79C94001668C9 /* Stripe3DS2.framework in Embed Frameworks */, - 3122723628763D730007ED5E /* StripePayments.framework in Embed Frameworks */, - 3137B6A22743808F00CE7F5C /* StripeApplePay.framework in Embed Frameworks */, - B6ECC7222696551800E4783E /* StripeCore.framework in Embed Frameworks */, - 3122723028763D660007ED5E /* StripePaymentSheet.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - E254413828FA26C200C6F5D3 /* Embed Frameworks */ = { + 64A2E466BBA2FF1035E7FB6A /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - E254413928FA26C200C6F5D3 /* iOSSnapshotTestCase in Embed Frameworks */, + 424BBBEBF25E5F020FF40F36 /* Stripe3DS2.framework in Embed Frameworks */, + FF1C880D1C27F7C384DD2509 /* StripeApplePay.framework in Embed Frameworks */, + 65D034E37B345C1B64785451 /* StripeCore.framework in Embed Frameworks */, + FBA21DE7C9261D3BFD53A6CB /* StripeFinancialConnections.framework in Embed Frameworks */, + 75D1997DA514F6DB82FF1CFC /* StripePaymentSheet.framework in Embed Frameworks */, + 09FA1391DCA2717DBC962562 /* StripePayments.framework in Embed Frameworks */, + 37CDE2E21F00571F147FCFF7 /* StripePaymentsUI.framework in Embed Frameworks */, + 185A611D085DC24198C3D2D1 /* StripeUICore.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 7664B25660905BB44DB95E51 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + C39CA2EBE08EE768559A8FD1 /* StripeCore.framework in Embed Frameworks */, + 7CD54A47BC36A065ADA952BF /* StripeCoreTestUtils.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -98,856 +110,730 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 3122722E28763D660007ED5E /* StripePaymentSheet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentSheet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122723128763D6E0007ED5E /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122723428763D730007ED5E /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31319EE325B11FA000C89E30 /* ExampleSwiftUIPaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ExampleSwiftUIPaymentSheet.swift; path = "PaymentSheet Example/ExampleSwiftUIPaymentSheet.swift"; sourceTree = ""; }; - 31319EE525B21DC200C89E30 /* ExampleSwiftUIViews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ExampleSwiftUIViews.swift; path = "PaymentSheet Example/ExampleSwiftUIViews.swift"; sourceTree = ""; }; - 31319EE725B2328700C89E30 /* ExampleSwiftUICustomPaymentFlow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ExampleSwiftUICustomPaymentFlow.swift; path = "PaymentSheet Example/ExampleSwiftUICustomPaymentFlow.swift"; sourceTree = ""; }; - 3137B6A02743808F00CE7F5C /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31D8F79525BA0200004502D9 /* PaymentSheetUITest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PaymentSheetUITest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 31D8F79725BA0200004502D9 /* PaymentSheetUITest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetUITest.swift; sourceTree = ""; }; - 31D8F79925BA0200004502D9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 31DA2DA525814C0C00EBB569 /* Stripe3DS2.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Stripe3DS2.xcframework; path = ../InternalFrameworks/Stripe3DS2.xcframework; sourceTree = ""; }; - 36002B4A25803B3100E46F8B /* SceneDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SceneDelegate.swift; path = "PaymentSheet Example/SceneDelegate.swift"; sourceTree = ""; }; - 36064BA526D6E75B002A8AAA /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BA626D6E75B002A8AAA /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Main.strings"; sourceTree = ""; }; - 36064BAC26D830C9002A8AAA /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BAD26D830C9002A8AAA /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Main.strings"; sourceTree = ""; }; - 36064BB326D83164002A8AAA /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BB426D83165002A8AAA /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Main.strings"; sourceTree = ""; }; - 36064BB726D831A6002A8AAA /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BB826D831D3002A8AAA /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Main.strings"; sourceTree = ""; }; - 36064BC526D833D4002A8AAA /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BC626D833D4002A8AAA /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Main.strings"; sourceTree = ""; }; - 36064BCD26D834A8002A8AAA /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BCE26D834A8002A8AAA /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Main.strings"; sourceTree = ""; }; - 36064BD526D83543002A8AAA /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BD626D83543002A8AAA /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Main.strings"; sourceTree = ""; }; - 36064BDD26D835D0002A8AAA /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BDE26D835D0002A8AAA /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Main.strings"; sourceTree = ""; }; - 36064BE526D8364B002A8AAA /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BE626D8364B002A8AAA /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Main.strings"; sourceTree = ""; }; - 36064BED26D836CF002A8AAA /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BEE26D836D0002A8AAA /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Main.strings"; sourceTree = ""; }; - 36064BF526D837B6002A8AAA /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BF626D837B6002A8AAA /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Main.strings"; sourceTree = ""; }; - 36064BFD26D8384A002A8AAA /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BFE26D8384A002A8AAA /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Main.strings"; sourceTree = ""; }; - 36595AE326B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PaymentSheetLocalizationScreenshotGenerator.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 36595AE526B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetLocalizationScreenshotGenerator.swift; sourceTree = ""; }; - 36595AE726B1F3C100634850 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 36595AED26BC947900634850 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595AEE26BC947900634850 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Main.strings; sourceTree = ""; }; - 36595AEF26BC949D00634850 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595AF026BC949D00634850 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = ""; }; - 36595AF126BC94AA00634850 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36595AF226BC94AA00634850 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Main.strings"; sourceTree = ""; }; - 36595AF326BC94C300634850 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36595AF426BC94C300634850 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Main.strings"; sourceTree = ""; }; - 36595AF526BC94D200634850 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595AF626BC94D300634850 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; }; - 36595AF726BC94DD00634850 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595AF826BC94DD00634850 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Main.strings; sourceTree = ""; }; - 36595AF926BC94EA00634850 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36595AFA26BC94EA00634850 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Main.strings"; sourceTree = ""; }; - 36595AFB26BC94F300634850 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595AFC26BC94F300634850 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = ""; }; - 36595AFD26BC94FC00634850 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595AFE26BC94FC00634850 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Main.strings; sourceTree = ""; }; - 36595AFF26BC950800634850 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595B0026BC950800634850 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; }; - 36595B0126BC951200634850 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595B0226BC951200634850 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Main.strings; sourceTree = ""; }; - 36595B0326BC951B00634850 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595B0426BC951B00634850 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Main.strings; sourceTree = ""; }; - 36595B0526BC955E00634850 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595B0626BC955E00634850 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Main.strings; sourceTree = ""; }; - 36595B0726BC956800634850 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595B0826BC956800634850 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Main.strings; sourceTree = ""; }; - 36595B0926BC957200634850 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595B0A26BC957200634850 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Main.strings; sourceTree = ""; }; - 36595B0B26BC957E00634850 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36595B0C26BC957E00634850 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Main.strings"; sourceTree = ""; }; - 36595B0D26BC958800634850 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36595B0E26BC958800634850 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Main.strings"; sourceTree = ""; }; - 36595B0F26BC959000634850 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36595B1026BC959000634850 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Main.strings"; sourceTree = ""; }; - 36595B1126BC959900634850 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595B1226BC959900634850 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; }; - 36595B1326BC95A300634850 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595B1426BC95A300634850 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Main.strings; sourceTree = ""; }; - 36595B1526BC95AE00634850 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36595B1626BC95AE00634850 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Main.strings; sourceTree = ""; }; - 36595B1726BC95B700634850 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36595B1826BC95B800634850 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; }; - 36595B1926BC95C100634850 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36595B1A26BC95C100634850 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Main.strings"; sourceTree = ""; }; - 36595B1B26BC95C900634850 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36595B1C26BC95C900634850 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Main.strings"; sourceTree = ""; }; - 36E5A2D125A79C7E001668C9 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 36F4BC7D26C1BC1A001518CD /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36F4BC7E26C1BC1B001518CD /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Main.strings; sourceTree = ""; }; - 36F4BC8726C1BCEA001518CD /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36F4BC8826C1BCEA001518CD /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Main.strings; sourceTree = ""; }; - 36F4BC9F26C1BDF5001518CD /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36F4BCA026C1BDF5001518CD /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Main.strings; sourceTree = ""; }; - 36F4BCA726C1BE9E001518CD /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36F4BCA826C1BE9E001518CD /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Main.strings; sourceTree = ""; }; - 611CF06B27C9858200E43BB2 /* PaymentSheetSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetSnapshotTests.swift; sourceTree = ""; }; - 615EF61827DA473A00F8E0EE /* AppearancePlaygroundView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearancePlaygroundView.swift; sourceTree = ""; }; - 61A20BC027CA767500260BC5 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6B0236B729411834007D29CC /* EndpointSelectorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EndpointSelectorViewController.swift; sourceTree = ""; }; - 6B8BD78527F555B8007463B3 /* StripeFinancialConnections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeFinancialConnections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6BCAA43B281B7D78001691F1 /* MockFiles */ = {isa = PBXFileReference; lastKnownFileType = folder; name = MockFiles; path = PaymentSheetUITest/MockFiles; sourceTree = ""; }; - B6370756251057890094499F /* PaymentSheet Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "PaymentSheet Example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - B6370759251057890094499F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = "PaymentSheet Example/AppDelegate.swift"; sourceTree = ""; }; - B637075D251057890094499F /* PaymentSheetTestPlayground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PaymentSheetTestPlayground.swift; path = "PaymentSheet Example/PaymentSheetTestPlayground.swift"; sourceTree = ""; }; - B6370760251057890094499F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - B63707622510578D0094499F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = "PaymentSheet Example/Assets.xcassets"; sourceTree = ""; }; - B63707652510578D0094499F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - B63707672510578D0094499F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = "PaymentSheet Example/Info.plist"; sourceTree = ""; }; - B637077425107FBF0094499F /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B67982B1268FD91C0058F7C8 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B67AC2E126D02D590033A653 /* XCUITest+Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "XCUITest+Utilities.swift"; sourceTree = ""; }; - B67BC53C257AB9D300B7349B /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ViewController.swift; path = "PaymentSheet Example/ViewController.swift"; sourceTree = ""; }; - B67BC541257ABF8D00B7349B /* ExampleCheckoutViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ExampleCheckoutViewController.swift; path = "PaymentSheet Example/ExampleCheckoutViewController.swift"; sourceTree = ""; }; - B68A9E31257D8E8800E904B5 /* ExampleCustomCheckoutViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ExampleCustomCheckoutViewController.swift; path = "PaymentSheet Example/ExampleCustomCheckoutViewController.swift"; sourceTree = ""; }; - B6B1CE8725771A48004FEF25 /* PaymentSheet Example.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "PaymentSheet Example.entitlements"; sourceTree = ""; }; - B6ECC7202696551800E4783E /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B6F09A94285B94F800751867 /* PaymentSheet+AddressTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+AddressTests.swift"; sourceTree = ""; }; - B6F2A8642568A770005BF778 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6AFFAFC26E9737B0067462F /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 033F9384026ACB5CDD6E45CB /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/LaunchScreen.strings; sourceTree = ""; }; + 05B17CA60B66752AF6022CAE /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 05E317C6C8459B147C041D93 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 07A77D160888D6D7830E9FC9 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Main.strings; sourceTree = ""; }; + 09C26C1E7D82343EBF376E5F /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/LaunchScreen.strings; sourceTree = ""; }; + 0B83BFBF1AF7550D4C3398F1 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 0B8BE18738723FE41AAD4FE1 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Main.strings"; sourceTree = ""; }; + 0F208CB855923E7FD7BB0DC3 /* PaymentSheetLocalizationScreenshotGenerator-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "PaymentSheetLocalizationScreenshotGenerator-Debug.xcconfig"; sourceTree = ""; }; + 0F4C1FBB3402C074F4F21E29 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 16547B41C80B97FC2EFD0798 /* StripeFinancialConnections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeFinancialConnections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1BD9252F1B15953FED102F56 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Main.strings"; sourceTree = ""; }; + 1E4CB6507CE9B078E4E42710 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 1E565B552830E657F863C4F8 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1FD1F5193E4A361EA9E8FED3 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 22EC46843878DEC3467BAF29 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; }; + 23F93C3E4B011AB469CD29D3 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Main.strings; sourceTree = ""; }; + 240DDF52B887E788853A838B /* StripePaymentSheet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentSheet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2755F01760456EE134D307D8 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/LaunchScreen.strings; sourceTree = ""; }; + 27BA81F620FAB6E5505E0B32 /* PaymentSheetTestPlayground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetTestPlayground.swift; sourceTree = ""; }; + 28CE345E1398AF3E28F164EF /* PaymentSheetLocalizationScreenshotGenerator-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "PaymentSheetLocalizationScreenshotGenerator-Release.xcconfig"; sourceTree = ""; }; + 294C411B3283F79D018BD1C1 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/LaunchScreen.strings; sourceTree = ""; }; + 2BA4C0DB741C5D8C406F381E /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Main.strings"; sourceTree = ""; }; + 2C720CA9AA1AECA0BB248B49 /* PaymentSheetUITest-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "PaymentSheetUITest-Debug.xcconfig"; sourceTree = ""; }; + 31A510FDEA3F1AAED0507251 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Main.strings; sourceTree = ""; }; + 34CCC286E48ADD9F586832D9 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Main.strings"; sourceTree = ""; }; + 36BB679CF53EEF943F0BAAC9 /* XCUITest+Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "XCUITest+Utilities.swift"; sourceTree = ""; }; + 3ED454099B55B5F3BCA1D642 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 4021CAA92058F4822D8584BD /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = ""; }; + 4135E39F036A7E3D61254A8C /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Main.strings; sourceTree = ""; }; + 4172744D71975647BB954766 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 417C63E0DB7B5BA3F8691E67 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; }; + 42ABA03F697FDC1AEAA3C9FB /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/LaunchScreen.strings; sourceTree = ""; }; + 447A394B34A55D5B1CD5C0C1 /* ExampleSwiftUICustomPaymentFlow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleSwiftUICustomPaymentFlow.swift; sourceTree = ""; }; + 4546705B6D6BCA883F5532B8 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 4609AB90957A6F72852677BF /* PaymentSheet-Example-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "PaymentSheet-Example-Release.xcconfig"; sourceTree = ""; }; + 47F5ABF3CE2F657E0085EBB2 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/LaunchScreen.strings; sourceTree = ""; }; + 4A52C114362A90EF8A5BBA1A /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 4AD9595F2BD9D48997A44309 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/LaunchScreen.strings; sourceTree = ""; }; + 4EA8496FFF762D7F3B9B9F84 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Main.strings; sourceTree = ""; }; + 5259232431E2683DDD05CB84 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 53AAAA316E1DA1C44D30D7B0 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + 56446A16EB65FF744B625D22 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Main.strings"; sourceTree = ""; }; + 59EF54A49D2FCC743E9EBC5F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 5CA299EAF5914484195167EB /* PaymentSheetUITest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetUITest.swift; sourceTree = ""; }; + 5D025413F3246E241A1DFE5C /* AppearancePlaygroundView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearancePlaygroundView.swift; sourceTree = ""; }; + 5E4DD63AD5E9B8153E04EF7C /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Main.strings"; sourceTree = ""; }; + 63237DF22FD4600B9D2E8071 /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6891CC1208EA3F4DE934760E /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/LaunchScreen.strings; sourceTree = ""; }; + 6CD01636EA3B4C6F84E9CC86 /* PaymentSheetUITest-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "PaymentSheetUITest-Release.xcconfig"; sourceTree = ""; }; + 6E4F3FA49534E745C5EDC1C0 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/LaunchScreen.strings; sourceTree = ""; }; + 701B8DEF9958B8EDB3C6E25B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; }; + 73DAE0051A928CB1597F8917 /* PaymentSheetExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PaymentSheetExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 76C1CBA6B516B1DD96CB12EB /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Main.strings; sourceTree = ""; }; + 78CAB0BA7EF4EE82FF76D9EC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 7A2F17F4DC178387659116DE /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = ""; }; + 7C2D3C4D44C73D619A42CF3A /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7CA29C6F89C759381CE11175 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 8083C7DBDB2654A8123613C5 /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 82FA4AD9771D68717C0E3B0D /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; }; + 830255F427E66F475B970A95 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 8542B65BCF43F2EE1B606603 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/LaunchScreen.strings; sourceTree = ""; }; + 8738B92B2B3B97A7A53E6FE9 /* EndpointSelectorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EndpointSelectorViewController.swift; sourceTree = ""; }; + 899A5E37ECAEFAD0178E0A4E /* ExampleCheckoutViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleCheckoutViewController.swift; sourceTree = ""; }; + 89E47F13DA6D394178F06849 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8E99EA900EA73F2B87EC6916 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = ""; }; + 8F10C2342DB4C0F20CEFE054 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 92136ABC8F4154790E9757D9 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Main.strings; sourceTree = ""; }; + 923D9CE10871FEA23359122F /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 9496755DA1916325D38ECB2F /* MockFiles */ = {isa = PBXFileReference; path = MockFiles; sourceTree = ""; }; + 971B2DDB4EB6E0D2B47B41B0 /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Main.strings"; sourceTree = ""; }; + 986B03576192BCEE27ECA6FC /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 9B26EE02630FA57C9321F8C9 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; }; + 9D167C684F995306D0F33D17 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 9D47127A1AAC9FAC41819950 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 9D55109311453F8D8F44A144 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Main.strings"; sourceTree = ""; }; + 9D6F8659F31E23DF549E5057 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Main.strings"; sourceTree = ""; }; + 9F9C96D25ED549D6255FC274 /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A10301FB96F08B8ADF93B2DB /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/LaunchScreen.strings"; sourceTree = ""; }; + A10F554509B65711F00BE91C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = ""; }; + A1D77C5D868315EAB494325C /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Main.strings"; sourceTree = ""; }; + A2FCA3AF75051639C445454E /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Main.strings"; sourceTree = ""; }; + A430B6DF5233ACF15D47D507 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/LaunchScreen.strings; sourceTree = ""; }; + A462672B893EF4F811331B2F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + A61C5739DBE6405A4D9FD5F2 /* PaymentSheet+AddressTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+AddressTests.swift"; sourceTree = ""; }; + A911134020188AD4EA0D0F73 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Main.strings"; sourceTree = ""; }; + AA08203146CADE9649CF0EAD /* PaymentSheetLocalizationScreenshotGenerator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetLocalizationScreenshotGenerator.swift; sourceTree = ""; }; + AA18950DA9394C1A3756B4F3 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Main.strings; sourceTree = ""; }; + AB52AEBB55BDC5F8F9C2880F /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Main.strings"; sourceTree = ""; }; + AD281922251DE848FAD9DECA /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/LaunchScreen.strings"; sourceTree = ""; }; + ADBEC0CE822B92C078E5D758 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + B33D2066D7BA7984CABC23A5 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/LaunchScreen.strings"; sourceTree = ""; }; + B7AFD32B5EAD3BEEEC3D4260 /* ExampleSwiftUIPaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleSwiftUIPaymentSheet.swift; sourceTree = ""; }; + B7C76D3D1BF7666D1963DD0B /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/LaunchScreen.strings"; sourceTree = ""; }; + BE9F3199D00539DE9EC4E69F /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Main.strings; sourceTree = ""; }; + C2655A8B1DF0649CD996E045 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C346E896A6816562AA3E5ADD /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Main.strings"; sourceTree = ""; }; + C505106BB2A66528FF4083AA /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Main.strings; sourceTree = ""; }; + C553C161A749EC29E462A4EE /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Main.strings; sourceTree = ""; }; + C6A8906D5F5654EB11482363 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Main.strings"; sourceTree = ""; }; + C9391722F844F47DD6C44DC0 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Main.strings"; sourceTree = ""; }; + CA7B4F3A0C373E78CF35D4A6 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Main.strings"; sourceTree = ""; }; + CAB1D321D0BDBF696CA90532 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/LaunchScreen.strings; sourceTree = ""; }; + CF72A2225810EA91FEEA4A41 /* PaymentSheetSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetSnapshotTests.swift; sourceTree = ""; }; + D09A0708A006CB661551A84B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/LaunchScreen.strings; sourceTree = ""; }; + D1BC09347B9F3629671A1E9A /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Main.strings"; sourceTree = ""; }; + D20765908089ACB79B556592 /* ExampleSwiftUIViews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleSwiftUIViews.swift; sourceTree = ""; }; + D24AEAF534ACE4457E7B2D4A /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Main.strings"; sourceTree = ""; }; + D6C4592568A595F601520B26 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Main.strings; sourceTree = ""; }; + D86D7FBAA1A972C983129D2A /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/LaunchScreen.strings; sourceTree = ""; }; + E242726E633D2723048358BC /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/LaunchScreen.strings"; sourceTree = ""; }; + E5F907A06297C3A243EB5AFE /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Main.strings"; sourceTree = ""; }; + E63A02BE64B4A0E9E592E08B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Main.strings; sourceTree = ""; }; + E8A5A0B5A4A1BF06663BE2BF /* PaymentSheetLocalizationScreenshotGenerator.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PaymentSheetLocalizationScreenshotGenerator.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E8DAA9A37F05C460E730973F /* PaymentSheetUITest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PaymentSheetUITest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + EA3C52A73DC5DC3179ACF945 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/LaunchScreen.strings; sourceTree = ""; }; + EAD9EA5E2AB73F145F99B23B /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + ECF244A593BD92A973B1C369 /* ExampleCustomCheckoutViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleCustomCheckoutViewController.swift; sourceTree = ""; }; + EE5651DA6F3AF63B4C51899B /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/LaunchScreen.strings"; sourceTree = ""; }; + EFD868533089E2ED82F82987 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/LaunchScreen.strings"; sourceTree = ""; }; + EFDB8AECB67684ACA122981F /* PaymentSheet-Example-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "PaymentSheet-Example-Debug.xcconfig"; sourceTree = ""; }; + F4D0043CB7BB72616C649C8A /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = ""; }; + F933B0A684D1C36C46A65D6A /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/LaunchScreen.strings"; sourceTree = ""; }; + FC7D694F73564D632588F417 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Main.strings; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 31D8F79225BA0200004502D9 /* Frameworks */ = { + 583FD201691FAE086B140055 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 61A20BC127CA767500260BC5 /* StripeCoreTestUtils.framework in Frameworks */, - E254413728FA26C200C6F5D3 /* iOSSnapshotTestCase in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 36595AE026B1F3C100634850 /* Frameworks */ = { + 8715763869D8C491C24D393E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 95B578013869DFEA1C912A10 /* Stripe3DS2.framework in Frameworks */, + 1094816DB7E9DFAF01815365 /* StripeApplePay.framework in Frameworks */, + 11DDC6610B393BFF4C6DF02C /* StripeCore.framework in Frameworks */, + 9F126696AD86BF2E861B5CC5 /* StripeFinancialConnections.framework in Frameworks */, + 551DB033DB4C8257ABAADA8F /* StripePaymentSheet.framework in Frameworks */, + D89C23032CFB732A0CFCD565 /* StripePayments.framework in Frameworks */, + 000D59C19A60AB637CE65EE9 /* StripePaymentsUI.framework in Frameworks */, + FA36E30724AAC6E3EF717A6A /* StripeUICore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - B6370753251057890094499F /* Frameworks */ = { + 9382316141A5D0DF664D864E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3122723228763D6E0007ED5E /* StripePaymentsUI.framework in Frameworks */, - E6AFFAFD26E9737B0067462F /* StripeUICore.framework in Frameworks */, - 6B8BD78627F555B8007463B3 /* StripeFinancialConnections.framework in Frameworks */, - 3137B6A12743808F00CE7F5C /* StripeApplePay.framework in Frameworks */, - 3122723528763D730007ED5E /* StripePayments.framework in Frameworks */, - B6ECC7212696551800E4783E /* StripeCore.framework in Frameworks */, - 3122722F28763D660007ED5E /* StripePaymentSheet.framework in Frameworks */, - 36E5A2D225A79C7E001668C9 /* Stripe3DS2.framework in Frameworks */, + 7ECCD70F9CE16A1854F2633E /* StripeCoreTestUtils.framework in Frameworks */, + FD441E14EDF702D50D812875 /* iOSSnapshotTestCase in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 31D8F79625BA0200004502D9 /* PaymentSheetUITest */ = { + 132709C10C0114D239ED3FE9 /* Resources */ = { isa = PBXGroup; children = ( - 31D8F79725BA0200004502D9 /* PaymentSheetUITest.swift */, - B6F09A94285B94F800751867 /* PaymentSheet+AddressTests.swift */, - 611CF06B27C9858200E43BB2 /* PaymentSheetSnapshotTests.swift */, - B67AC2E126D02D590033A653 /* XCUITest+Utilities.swift */, - 31D8F79925BA0200004502D9 /* Info.plist */, + 7CDBD593EFEAD2EDA4D33D5D /* LaunchScreen.storyboard */, + F4B26C754925F8D2A5183B2E /* Main.storyboard */, + 59EF54A49D2FCC743E9EBC5F /* Assets.xcassets */, ); - path = PaymentSheetUITest; + path = Resources; + sourceTree = ""; + }; + 13E32DF0E48E9ED66783B3C2 /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + EFDB8AECB67684ACA122981F /* PaymentSheet-Example-Debug.xcconfig */, + 4609AB90957A6F72852677BF /* PaymentSheet-Example-Release.xcconfig */, + 0F208CB855923E7FD7BB0DC3 /* PaymentSheetLocalizationScreenshotGenerator-Debug.xcconfig */, + 28CE345E1398AF3E28F164EF /* PaymentSheetLocalizationScreenshotGenerator-Release.xcconfig */, + 2C720CA9AA1AECA0BB248B49 /* PaymentSheetUITest-Debug.xcconfig */, + 6CD01636EA3B4C6F84E9CC86 /* PaymentSheetUITest-Release.xcconfig */, + ); + path = BuildConfigurations; + sourceTree = ""; + }; + 3263B2FC73C06F5F4413D183 /* Products */ = { + isa = PBXGroup; + children = ( + 73DAE0051A928CB1597F8917 /* PaymentSheetExample.app */, + E8A5A0B5A4A1BF06663BE2BF /* PaymentSheetLocalizationScreenshotGenerator.xctest */, + E8DAA9A37F05C460E730973F /* PaymentSheetUITest.xctest */, + C2655A8B1DF0649CD996E045 /* Stripe3DS2.framework */, + 63237DF22FD4600B9D2E8071 /* StripeApplePay.framework */, + 1FD1F5193E4A361EA9E8FED3 /* StripeCore.framework */, + 7C2D3C4D44C73D619A42CF3A /* StripeCoreTestUtils.framework */, + 16547B41C80B97FC2EFD0798 /* StripeFinancialConnections.framework */, + 1E565B552830E657F863C4F8 /* StripePayments.framework */, + 240DDF52B887E788853A838B /* StripePaymentSheet.framework */, + 89E47F13DA6D394178F06849 /* StripePaymentsUI.framework */, + 9F9C96D25ED549D6255FC274 /* StripeUICore.framework */, + ); + name = Products; + sourceTree = ""; + }; + 66001906438D4343D9E72825 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; sourceTree = ""; }; - 36595AE426B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator */ = { + 82D2733E9126398D9714C58F /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 36595AE526B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator.swift */, - 36595AE726B1F3C100634850 /* Info.plist */, + 3ED454099B55B5F3BCA1D642 /* Project-Debug.xcconfig */, + EAD9EA5E2AB73F145F99B23B /* Project-Release.xcconfig */, + ); + name = BuildConfigurations; + path = ../../BuildConfigurations; + sourceTree = ""; + }; + 8370707CD3E47F69FD221747 /* PaymentSheetLocalizationScreenshotGenerator */ = { + isa = PBXGroup; + children = ( + 0F4C1FBB3402C074F4F21E29 /* Info.plist */, + AA08203146CADE9649CF0EAD /* PaymentSheetLocalizationScreenshotGenerator.swift */, ); path = PaymentSheetLocalizationScreenshotGenerator; sourceTree = ""; }; - B637074D251057890094499F = { + ACF2A07E6D470CDF889DE14C /* Project */ = { isa = PBXGroup; children = ( - 6BCAA43B281B7D78001691F1 /* MockFiles */, - B6370758251057890094499F /* PaymentSheet Example */, - 31D8F79625BA0200004502D9 /* PaymentSheetUITest */, - 36595AE426B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator */, - B6370757251057890094499F /* Products */, - B637077325107FBF0094499F /* Frameworks */, + 13E32DF0E48E9ED66783B3C2 /* BuildConfigurations */, + 82D2733E9126398D9714C58F /* BuildConfigurations */, + C4BE75A2EECEF0AC9EC24CD8 /* PaymentSheet Example */, + 8370707CD3E47F69FD221747 /* PaymentSheetLocalizationScreenshotGenerator */, + C326AC7AEE88B92E72DDD6AF /* PaymentSheetUITest */, ); + name = Project; sourceTree = ""; }; - B6370757251057890094499F /* Products */ = { + C326AC7AEE88B92E72DDD6AF /* PaymentSheetUITest */ = { isa = PBXGroup; children = ( - B6370756251057890094499F /* PaymentSheet Example.app */, - 31D8F79525BA0200004502D9 /* PaymentSheetUITest.xctest */, - 36595AE326B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator.xctest */, + 78CAB0BA7EF4EE82FF76D9EC /* Info.plist */, + 9496755DA1916325D38ECB2F /* MockFiles */, + A61C5739DBE6405A4D9FD5F2 /* PaymentSheet+AddressTests.swift */, + CF72A2225810EA91FEEA4A41 /* PaymentSheetSnapshotTests.swift */, + 5CA299EAF5914484195167EB /* PaymentSheetUITest.swift */, + 36BB679CF53EEF943F0BAAC9 /* XCUITest+Utilities.swift */, ); - name = Products; + path = PaymentSheetUITest; sourceTree = ""; }; - B6370758251057890094499F /* PaymentSheet Example */ = { + C4BE75A2EECEF0AC9EC24CD8 /* PaymentSheet Example */ = { isa = PBXGroup; children = ( - 36002B4A25803B3100E46F8B /* SceneDelegate.swift */, - B6370759251057890094499F /* AppDelegate.swift */, - B63707622510578D0094499F /* Assets.xcassets */, - B67BC541257ABF8D00B7349B /* ExampleCheckoutViewController.swift */, - B68A9E31257D8E8800E904B5 /* ExampleCustomCheckoutViewController.swift */, - 31319EE325B11FA000C89E30 /* ExampleSwiftUIPaymentSheet.swift */, - 31319EE725B2328700C89E30 /* ExampleSwiftUICustomPaymentFlow.swift */, - B63707672510578D0094499F /* Info.plist */, - B63707642510578D0094499F /* LaunchScreen.storyboard */, - B637075F251057890094499F /* Main.storyboard */, - B6B1CE8725771A48004FEF25 /* PaymentSheet Example.entitlements */, - B637075D251057890094499F /* PaymentSheetTestPlayground.swift */, - 615EF61827DA473A00F8E0EE /* AppearancePlaygroundView.swift */, - B67BC53C257AB9D300B7349B /* ViewController.swift */, - 31319EE525B21DC200C89E30 /* ExampleSwiftUIViews.swift */, - 6B0236B729411834007D29CC /* EndpointSelectorViewController.swift */, + 132709C10C0114D239ED3FE9 /* Resources */, + 05E317C6C8459B147C041D93 /* AppDelegate.swift */, + 5D025413F3246E241A1DFE5C /* AppearancePlaygroundView.swift */, + 8738B92B2B3B97A7A53E6FE9 /* EndpointSelectorViewController.swift */, + 899A5E37ECAEFAD0178E0A4E /* ExampleCheckoutViewController.swift */, + ECF244A593BD92A973B1C369 /* ExampleCustomCheckoutViewController.swift */, + 447A394B34A55D5B1CD5C0C1 /* ExampleSwiftUICustomPaymentFlow.swift */, + B7AFD32B5EAD3BEEEC3D4260 /* ExampleSwiftUIPaymentSheet.swift */, + D20765908089ACB79B556592 /* ExampleSwiftUIViews.swift */, + ADBEC0CE822B92C078E5D758 /* Info.plist */, + 27BA81F620FAB6E5505E0B32 /* PaymentSheetTestPlayground.swift */, + 53AAAA316E1DA1C44D30D7B0 /* SceneDelegate.swift */, + 5259232431E2683DDD05CB84 /* ViewController.swift */, ); path = "PaymentSheet Example"; sourceTree = ""; }; - B637077325107FBF0094499F /* Frameworks */ = { + C9D5B927CC2F83061D0651E5 = { isa = PBXGroup; children = ( - 3122723428763D730007ED5E /* StripePayments.framework */, - 3122723128763D6E0007ED5E /* StripePaymentsUI.framework */, - 3122722E28763D660007ED5E /* StripePaymentSheet.framework */, - 6B8BD78527F555B8007463B3 /* StripeFinancialConnections.framework */, - 61A20BC027CA767500260BC5 /* StripeCoreTestUtils.framework */, - 3137B6A02743808F00CE7F5C /* StripeApplePay.framework */, - E6AFFAFC26E9737B0067462F /* StripeUICore.framework */, - B67982B1268FD91C0058F7C8 /* StripeCore.framework */, - 36E5A2D125A79C7E001668C9 /* Stripe3DS2.framework */, - 31DA2DA525814C0C00EBB569 /* Stripe3DS2.xcframework */, - B6ECC7202696551800E4783E /* StripeCore.framework */, - B6F2A8642568A770005BF778 /* Stripe3DS2.framework */, - B637077425107FBF0094499F /* Stripe.framework */, + ACF2A07E6D470CDF889DE14C /* Project */, + 66001906438D4343D9E72825 /* Frameworks */, + 3263B2FC73C06F5F4413D183 /* Products */, ); - name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 31D8F79425BA0200004502D9 /* PaymentSheetUITest */ = { + 5BBB41069612B9B628C5E65D /* PaymentSheetLocalizationScreenshotGenerator */ = { isa = PBXNativeTarget; - buildConfigurationList = 31D8F79E25BA0200004502D9 /* Build configuration list for PBXNativeTarget "PaymentSheetUITest" */; + buildConfigurationList = 401DBB928A0F49DD8C30083A /* Build configuration list for PBXNativeTarget "PaymentSheetLocalizationScreenshotGenerator" */; buildPhases = ( - 31D8F79125BA0200004502D9 /* Sources */, - 31D8F79225BA0200004502D9 /* Frameworks */, - 31D8F79325BA0200004502D9 /* Resources */, - E254413828FA26C200C6F5D3 /* Embed Frameworks */, + 97ED86BA768569081C380374 /* Sources */, + BD1A98ED47B3285D970EA73A /* Resources */, + 476C8A853F543D44578B4522 /* Embed Frameworks */, + 583FD201691FAE086B140055 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 31D8F79B25BA0200004502D9 /* PBXTargetDependency */, + C3A27D557E4528B40083617F /* PBXTargetDependency */, ); - name = PaymentSheetUITest; - packageProductDependencies = ( - E254413628FA26C200C6F5D3 /* iOSSnapshotTestCase */, - ); - productName = PaymentSheetUITest; - productReference = 31D8F79525BA0200004502D9 /* PaymentSheetUITest.xctest */; + name = PaymentSheetLocalizationScreenshotGenerator; + productName = PaymentSheetLocalizationScreenshotGenerator; + productReference = E8A5A0B5A4A1BF06663BE2BF /* PaymentSheetLocalizationScreenshotGenerator.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; - 36595AE226B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator */ = { + AAF1424C7F0424C3506712E6 /* PaymentSheetUITest */ = { isa = PBXNativeTarget; - buildConfigurationList = 36595AEC26B1F3C100634850 /* Build configuration list for PBXNativeTarget "PaymentSheetLocalizationScreenshotGenerator" */; + buildConfigurationList = CB40128DD8797707228D620A /* Build configuration list for PBXNativeTarget "PaymentSheetUITest" */; buildPhases = ( - 36595ADF26B1F3C100634850 /* Sources */, - 36595AE026B1F3C100634850 /* Frameworks */, - 36595AE126B1F3C100634850 /* Resources */, + BBC5439800D01F1190CDABA9 /* Sources */, + 02A8FA51AB3B8F86E60F3FC8 /* Resources */, + 7664B25660905BB44DB95E51 /* Embed Frameworks */, + 9382316141A5D0DF664D864E /* Frameworks */, ); buildRules = ( ); dependencies = ( - 36595AE926B1F3C100634850 /* PBXTargetDependency */, + 4E27102B097427E5F2F4ECCA /* PBXTargetDependency */, ); - name = PaymentSheetLocalizationScreenshotGenerator; - productName = PaymentSheetLocalizationScreenshotGenerator; - productReference = 36595AE326B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator.xctest */; + name = PaymentSheetUITest; + packageProductDependencies = ( + B195FF5EEDEAC460C45887F1 /* iOSSnapshotTestCase */, + ); + productName = PaymentSheetUITest; + productReference = E8DAA9A37F05C460E730973F /* PaymentSheetUITest.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; - B6370755251057890094499F /* PaymentSheet Example */ = { + D017784615929C0DD3717FE8 /* PaymentSheet Example */ = { isa = PBXNativeTarget; - buildConfigurationList = B637076A2510578D0094499F /* Build configuration list for PBXNativeTarget "PaymentSheet Example" */; + buildConfigurationList = 170DA2F1FEF458DF0ABBB38A /* Build configuration list for PBXNativeTarget "PaymentSheet Example" */; buildPhases = ( - B6370752251057890094499F /* Sources */, - B6370753251057890094499F /* Frameworks */, - B6370754251057890094499F /* Resources */, - B637077725107FC00094499F /* Embed Frameworks */, + F4BBE1BB7D1B54E9F9EE0A26 /* Sources */, + 3FE98AF1E1FE244C09F479D7 /* Resources */, + 64A2E466BBA2FF1035E7FB6A /* Embed Frameworks */, + 8715763869D8C491C24D393E /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "PaymentSheet Example"; - packageProductDependencies = ( - ); - productName = "PaymentSheet Example"; - productReference = B6370756251057890094499F /* PaymentSheet Example.app */; + productName = PaymentSheetExample; + productReference = 73DAE0051A928CB1597F8917 /* PaymentSheetExample.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - B637074E251057890094499F /* Project object */ = { + EA7B1F35244C75557507E31F /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1250; - LastUpgradeCheck = 1200; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 31D8F79425BA0200004502D9 = { - CreatedOnToolsVersion = 12.2; - TestTargetID = B6370755251057890094499F; - }; - 36595AE226B1F3C100634850 = { - CreatedOnToolsVersion = 12.5; - TestTargetID = B6370755251057890094499F; + 5BBB41069612B9B628C5E65D = { + TestTargetID = D017784615929C0DD3717FE8; }; - B6370755251057890094499F = { - CreatedOnToolsVersion = 11.7; + AAF1424C7F0424C3506712E6 = { + TestTargetID = D017784615929C0DD3717FE8; }; }; }; - buildConfigurationList = B6370751251057890094499F /* Build configuration list for PBXProject "PaymentSheet Example" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = 5EFF6C98306675EF3657C335 /* Build configuration list for PBXProject "PaymentSheet Example" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + "bg-BG", + "ca-ES", + "cs-CZ", da, de, + "el-GR", + en, "en-GB", - "es-419", es, + "es-419", + "et-EE", fi, - "fr-CA", + fil, fr, + "fr-CA", + hr, hu, + id, it, ja, ko, + "lt-LT", + "lv-LV", + "ms-MY", mt, nb, nl, "nn-NO", + "pl-PL", "pt-BR", "pt-PT", + "ro-RO", ru, + "sk-SK", + "sl-SI", sv, tr, - "zh-Hans", + vi, "zh-HK", + "zh-Hans", "zh-Hant", - hr, - fil, - vi, - id, - "ms-MY", - "bg-BG", - "ca-ES", - "cs-CZ", - "et-EE", - "el-GR", - "lt-LT", - "lv-LV", - "pl-PL", - "ro-RO", - "sk-SK", - "sl-SI", ); - mainGroup = B637074D251057890094499F; + mainGroup = C9D5B927CC2F83061D0651E5; packageReferences = ( - E254413328FA26B300C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, + 337D25C9801D91652C4A4F6B /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, ); - productRefGroup = B6370757251057890094499F /* Products */; + productRefGroup = 3263B2FC73C06F5F4413D183 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - B6370755251057890094499F /* PaymentSheet Example */, - 31D8F79425BA0200004502D9 /* PaymentSheetUITest */, - 36595AE226B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator */, + D017784615929C0DD3717FE8 /* PaymentSheet Example */, + AAF1424C7F0424C3506712E6 /* PaymentSheetUITest */, + 5BBB41069612B9B628C5E65D /* PaymentSheetLocalizationScreenshotGenerator */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 31D8F79325BA0200004502D9 /* Resources */ = { + 02A8FA51AB3B8F86E60F3FC8 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6BCAA43C281B7D78001691F1 /* MockFiles in Resources */, + AEC3BC636297A0D3E2DDF522 /* MockFiles in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 36595AE126B1F3C100634850 /* Resources */ = { + 3FE98AF1E1FE244C09F479D7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7F005A0179023A25918D9014 /* Assets.xcassets in Resources */, + 8A6DBB641294F9AE6A9C61B1 /* LaunchScreen.storyboard in Resources */, + B36A24145C97D73C981DDBAC /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - B6370754251057890094499F /* Resources */ = { + BD1A98ED47B3285D970EA73A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - B63707662510578D0094499F /* LaunchScreen.storyboard in Resources */, - B63707632510578D0094499F /* Assets.xcassets in Resources */, - B6370761251057890094499F /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 31D8F79125BA0200004502D9 /* Sources */ = { + 97ED86BA768569081C380374 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31D8F79825BA0200004502D9 /* PaymentSheetUITest.swift in Sources */, - B6F09A95285B94F800751867 /* PaymentSheet+AddressTests.swift in Sources */, - 611CF06C27C9858200E43BB2 /* PaymentSheetSnapshotTests.swift in Sources */, - B67AC2E226D02D590033A653 /* XCUITest+Utilities.swift in Sources */, + 4E3F7EFF78BC4F14D18024E7 /* PaymentSheetLocalizationScreenshotGenerator.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 36595ADF26B1F3C100634850 /* Sources */ = { + BBC5439800D01F1190CDABA9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 36595AE626B1F3C100634850 /* PaymentSheetLocalizationScreenshotGenerator.swift in Sources */, + B6D6AAA666859847BB59749C /* PaymentSheet+AddressTests.swift in Sources */, + 1522A801B5C9C7FC6E761470 /* PaymentSheetSnapshotTests.swift in Sources */, + 540F279CE5B41C122AD1DEF6 /* PaymentSheetUITest.swift in Sources */, + EE0FA73AAB80863583C69D70 /* XCUITest+Utilities.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - B6370752251057890094499F /* Sources */ = { + F4BBE1BB7D1B54E9F9EE0A26 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31319EE825B2328700C89E30 /* ExampleSwiftUICustomPaymentFlow.swift in Sources */, - B637075E251057890094499F /* PaymentSheetTestPlayground.swift in Sources */, - B637075A251057890094499F /* AppDelegate.swift in Sources */, - 6B0236B829411834007D29CC /* EndpointSelectorViewController.swift in Sources */, - B68A9E32257D8E8800E904B5 /* ExampleCustomCheckoutViewController.swift in Sources */, - 31319EE425B11FA000C89E30 /* ExampleSwiftUIPaymentSheet.swift in Sources */, - 31319EE625B21DC200C89E30 /* ExampleSwiftUIViews.swift in Sources */, - B67BC53D257AB9D300B7349B /* ViewController.swift in Sources */, - B67BC542257ABF8D00B7349B /* ExampleCheckoutViewController.swift in Sources */, - 36002B4B25803B3100E46F8B /* SceneDelegate.swift in Sources */, - 615EF61927DA473A00F8E0EE /* AppearancePlaygroundView.swift in Sources */, + EB1DCD930408180734A8D7CA /* AppDelegate.swift in Sources */, + 4694B03B08B7DA9706A2ED9D /* AppearancePlaygroundView.swift in Sources */, + 84CFB1ACA4915EE5B2E25341 /* EndpointSelectorViewController.swift in Sources */, + EB3C76C2A5704F94F0414BEF /* ExampleCheckoutViewController.swift in Sources */, + D235E82A7173E8051BC5A261 /* ExampleCustomCheckoutViewController.swift in Sources */, + A0037CC8E331CFF5CEE2D580 /* ExampleSwiftUICustomPaymentFlow.swift in Sources */, + 432E82C3F5EC56E89D257563 /* ExampleSwiftUIPaymentSheet.swift in Sources */, + A071C07B6FFACC5DEFC6AA01 /* ExampleSwiftUIViews.swift in Sources */, + 17D626E890FD11B84654C846 /* PaymentSheetTestPlayground.swift in Sources */, + E3D7A04974C35D2D8D31CDCD /* SceneDelegate.swift in Sources */, + 8F5C48FC825539B96F592315 /* ViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 31D8F79B25BA0200004502D9 /* PBXTargetDependency */ = { + 4E27102B097427E5F2F4ECCA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = B6370755251057890094499F /* PaymentSheet Example */; - targetProxy = 31D8F79A25BA0200004502D9 /* PBXContainerItemProxy */; + name = "PaymentSheet Example"; + target = D017784615929C0DD3717FE8 /* PaymentSheet Example */; + targetProxy = 4AE35256297064B8CB3D7B04 /* PBXContainerItemProxy */; }; - 36595AE926B1F3C100634850 /* PBXTargetDependency */ = { + C3A27D557E4528B40083617F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = B6370755251057890094499F /* PaymentSheet Example */; - targetProxy = 36595AE826B1F3C100634850 /* PBXContainerItemProxy */; + name = "PaymentSheet Example"; + target = D017784615929C0DD3717FE8 /* PaymentSheet Example */; + targetProxy = 87E0693FE4D0931305C423C2 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - B637075F251057890094499F /* Main.storyboard */ = { + 7CDBD593EFEAD2EDA4D33D5D /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( - B6370760251057890094499F /* Base */, - 36595AEE26BC947900634850 /* da */, - 36595AF026BC949D00634850 /* de */, - 36595AF226BC94AA00634850 /* en-GB */, - 36595AF426BC94C300634850 /* es-419 */, - 36595AF626BC94D300634850 /* es */, - 36595AF826BC94DD00634850 /* fi */, - 36595AFA26BC94EA00634850 /* fr-CA */, - 36595AFC26BC94F300634850 /* fr */, - 36595AFE26BC94FC00634850 /* hu */, - 36595B0026BC950800634850 /* it */, - 36595B0226BC951200634850 /* ja */, - 36595B0426BC951B00634850 /* ko */, - 36595B0626BC955E00634850 /* mt */, - 36595B0826BC956800634850 /* nb */, - 36595B0A26BC957200634850 /* nl */, - 36595B0C26BC957E00634850 /* nn-NO */, - 36595B0E26BC958800634850 /* pt-BR */, - 36595B1026BC959000634850 /* pt-PT */, - 36595B1226BC959900634850 /* ru */, - 36595B1426BC95A300634850 /* sv */, - 36595B1626BC95AE00634850 /* tr */, - 36595B1826BC95B800634850 /* zh-Hans */, - 36595B1A26BC95C100634850 /* zh-HK */, - 36595B1C26BC95C900634850 /* zh-Hant */, - 36F4BC7E26C1BC1B001518CD /* hr */, - 36F4BC8826C1BCEA001518CD /* fil */, - 36F4BCA026C1BDF5001518CD /* vi */, - 36F4BCA826C1BE9E001518CD /* id */, - 36064BA626D6E75B002A8AAA /* ms-MY */, - 36064BAD26D830C9002A8AAA /* bg-BG */, - 36064BB426D83165002A8AAA /* ca-ES */, - 36064BB826D831D3002A8AAA /* cs-CZ */, - 36064BC626D833D4002A8AAA /* et-EE */, - 36064BCE26D834A8002A8AAA /* el-GR */, - 36064BD626D83543002A8AAA /* lt-LT */, - 36064BDE26D835D0002A8AAA /* lv-LV */, - 36064BE626D8364B002A8AAA /* pl-PL */, - 36064BEE26D836D0002A8AAA /* ro-RO */, - 36064BF626D837B6002A8AAA /* sk-SK */, - 36064BFE26D8384A002A8AAA /* sl-SI */, + 7CA29C6F89C759381CE11175 /* Base */, + B7C76D3D1BF7666D1963DD0B /* bg-BG */, + EE5651DA6F3AF63B4C51899B /* ca-ES */, + 05B17CA60B66752AF6022CAE /* cs-CZ */, + 6E4F3FA49534E745C5EDC1C0 /* da */, + A10F554509B65711F00BE91C /* de */, + 830255F427E66F475B970A95 /* el-GR */, + 4172744D71975647BB954766 /* en-GB */, + 82FA4AD9771D68717C0E3B0D /* es */, + 1E4CB6507CE9B078E4E42710 /* es-419 */, + E242726E633D2723048358BC /* et-EE */, + 033F9384026ACB5CDD6E45CB /* fi */, + CAB1D321D0BDBF696CA90532 /* fil */, + 8E99EA900EA73F2B87EC6916 /* fr */, + 0B83BFBF1AF7550D4C3398F1 /* fr-CA */, + D86D7FBAA1A972C983129D2A /* hr */, + 4AD9595F2BD9D48997A44309 /* hu */, + D09A0708A006CB661551A84B /* id */, + A430B6DF5233ACF15D47D507 /* it */, + 09C26C1E7D82343EBF376E5F /* ja */, + 6891CC1208EA3F4DE934760E /* ko */, + F933B0A684D1C36C46A65D6A /* lt-LT */, + A10301FB96F08B8ADF93B2DB /* lv-LV */, + 8F10C2342DB4C0F20CEFE054 /* ms-MY */, + 47F5ABF3CE2F657E0085EBB2 /* mt */, + 8542B65BCF43F2EE1B606603 /* nb */, + 42ABA03F697FDC1AEAA3C9FB /* nl */, + AD281922251DE848FAD9DECA /* nn-NO */, + 923D9CE10871FEA23359122F /* pl-PL */, + 4546705B6D6BCA883F5532B8 /* pt-BR */, + EFD868533089E2ED82F82987 /* pt-PT */, + 9D167C684F995306D0F33D17 /* ro-RO */, + F4D0043CB7BB72616C649C8A /* ru */, + 986B03576192BCEE27ECA6FC /* sk-SK */, + 8083C7DBDB2654A8123613C5 /* sl-SI */, + 294C411B3283F79D018BD1C1 /* sv */, + 2755F01760456EE134D307D8 /* tr */, + EA3C52A73DC5DC3179ACF945 /* vi */, + 4A52C114362A90EF8A5BBA1A /* zh-Hans */, + 9D47127A1AAC9FAC41819950 /* zh-Hant */, + B33D2066D7BA7984CABC23A5 /* zh-HK */, ); - name = Main.storyboard; - path = "PaymentSheet Example"; + name = LaunchScreen.storyboard; sourceTree = ""; }; - B63707642510578D0094499F /* LaunchScreen.storyboard */ = { + F4B26C754925F8D2A5183B2E /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - B63707652510578D0094499F /* Base */, - 36595AED26BC947900634850 /* da */, - 36595AEF26BC949D00634850 /* de */, - 36595AF126BC94AA00634850 /* en-GB */, - 36595AF326BC94C300634850 /* es-419 */, - 36595AF526BC94D200634850 /* es */, - 36595AF726BC94DD00634850 /* fi */, - 36595AF926BC94EA00634850 /* fr-CA */, - 36595AFB26BC94F300634850 /* fr */, - 36595AFD26BC94FC00634850 /* hu */, - 36595AFF26BC950800634850 /* it */, - 36595B0126BC951200634850 /* ja */, - 36595B0326BC951B00634850 /* ko */, - 36595B0526BC955E00634850 /* mt */, - 36595B0726BC956800634850 /* nb */, - 36595B0926BC957200634850 /* nl */, - 36595B0B26BC957E00634850 /* nn-NO */, - 36595B0D26BC958800634850 /* pt-BR */, - 36595B0F26BC959000634850 /* pt-PT */, - 36595B1126BC959900634850 /* ru */, - 36595B1326BC95A300634850 /* sv */, - 36595B1526BC95AE00634850 /* tr */, - 36595B1726BC95B700634850 /* zh-Hans */, - 36595B1926BC95C100634850 /* zh-HK */, - 36595B1B26BC95C900634850 /* zh-Hant */, - 36F4BC7D26C1BC1A001518CD /* hr */, - 36F4BC8726C1BCEA001518CD /* fil */, - 36F4BC9F26C1BDF5001518CD /* vi */, - 36F4BCA726C1BE9E001518CD /* id */, - 36064BA526D6E75B002A8AAA /* ms-MY */, - 36064BAC26D830C9002A8AAA /* bg-BG */, - 36064BB326D83164002A8AAA /* ca-ES */, - 36064BB726D831A6002A8AAA /* cs-CZ */, - 36064BC526D833D4002A8AAA /* et-EE */, - 36064BCD26D834A8002A8AAA /* el-GR */, - 36064BD526D83543002A8AAA /* lt-LT */, - 36064BDD26D835D0002A8AAA /* lv-LV */, - 36064BE526D8364B002A8AAA /* pl-PL */, - 36064BED26D836CF002A8AAA /* ro-RO */, - 36064BF526D837B6002A8AAA /* sk-SK */, - 36064BFD26D8384A002A8AAA /* sl-SI */, + A462672B893EF4F811331B2F /* Base */, + A2FCA3AF75051639C445454E /* bg-BG */, + 2BA4C0DB741C5D8C406F381E /* ca-ES */, + 56446A16EB65FF744B625D22 /* cs-CZ */, + AA18950DA9394C1A3756B4F3 /* da */, + 7A2F17F4DC178387659116DE /* de */, + 9D6F8659F31E23DF549E5057 /* el-GR */, + E5F907A06297C3A243EB5AFE /* en-GB */, + 22EC46843878DEC3467BAF29 /* es */, + 34CCC286E48ADD9F586832D9 /* es-419 */, + C346E896A6816562AA3E5ADD /* et-EE */, + 76C1CBA6B516B1DD96CB12EB /* fi */, + 4EA8496FFF762D7F3B9B9F84 /* fil */, + 4021CAA92058F4822D8584BD /* fr */, + C6A8906D5F5654EB11482363 /* fr-CA */, + C553C161A749EC29E462A4EE /* hr */, + C505106BB2A66528FF4083AA /* hu */, + 07A77D160888D6D7830E9FC9 /* id */, + 417C63E0DB7B5BA3F8691E67 /* it */, + BE9F3199D00539DE9EC4E69F /* ja */, + D6C4592568A595F601520B26 /* ko */, + C9391722F844F47DD6C44DC0 /* lt-LT */, + A1D77C5D868315EAB494325C /* lv-LV */, + D24AEAF534ACE4457E7B2D4A /* ms-MY */, + 92136ABC8F4154790E9757D9 /* mt */, + FC7D694F73564D632588F417 /* nb */, + 4135E39F036A7E3D61254A8C /* nl */, + A911134020188AD4EA0D0F73 /* nn-NO */, + 9D55109311453F8D8F44A144 /* pl-PL */, + D1BC09347B9F3629671A1E9A /* pt-BR */, + CA7B4F3A0C373E78CF35D4A6 /* pt-PT */, + 0B8BE18738723FE41AAD4FE1 /* ro-RO */, + 701B8DEF9958B8EDB3C6E25B /* ru */, + AB52AEBB55BDC5F8F9C2880F /* sk-SK */, + 971B2DDB4EB6E0D2B47B41B0 /* sl-SI */, + 23F93C3E4B011AB469CD29D3 /* sv */, + 31A510FDEA3F1AAED0507251 /* tr */, + E63A02BE64B4A0E9E592E08B /* vi */, + 9B26EE02630FA57C9321F8C9 /* zh-Hans */, + 5E4DD63AD5E9B8153E04EF7C /* zh-Hant */, + 1BD9252F1B15953FED102F56 /* zh-HK */, ); - name = LaunchScreen.storyboard; - path = "PaymentSheet Example"; + name = Main.storyboard; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 31D8F79C25BA0200004502D9 /* Debug */ = { + 04B451E4262EF8B42D36A6AE /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 4609AB90957A6F72852677BF /* PaymentSheet-Example-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = PaymentSheetUITest/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.PaymentSheetUITest; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = "PaymentSheet Example"; + INFOPLIST_FILE = "PaymentSheet Example/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.PaymentSheet-Example"; + PRODUCT_NAME = PaymentSheetExample; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - 31D8F79D25BA0200004502D9 /* Release */ = { + 2C386A8D9783A99A67C22183 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = EAD9EA5E2AB73F145F99B23B /* Project-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = PaymentSheetUITest/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.2; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.PaymentSheetUITest; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = "PaymentSheet Example"; }; name = Release; }; - 36595AEA26B1F3C100634850 /* Debug */ = { + 4E900227E99B33992820534A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = EFDB8AECB67684ACA122981F /* PaymentSheet-Example-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = PaymentSheetLocalizationScreenshotGenerator/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.PaymentSheetLocalizationScreenshotGenerator; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + INFOPLIST_FILE = "PaymentSheet Example/Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.PaymentSheet-Example"; + PRODUCT_NAME = PaymentSheetExample; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 5F414BE5696C47524967CAE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2C720CA9AA1AECA0BB248B49 /* PaymentSheetUITest-Debug.xcconfig */; + buildSettings = { + INFOPLIST_FILE = PaymentSheetUITest/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.PaymentSheetUITest; + PRODUCT_NAME = PaymentSheetUITest; + SDKROOT = iphoneos; TEST_TARGET_NAME = "PaymentSheet Example"; }; name = Debug; }; - 36595AEB26B1F3C100634850 /* Release */ = { + 7AE8C5589540C4674E7BBC63 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 28CE345E1398AF3E28F164EF /* PaymentSheetLocalizationScreenshotGenerator-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; INFOPLIST_FILE = PaymentSheetLocalizationScreenshotGenerator/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); PRODUCT_BUNDLE_IDENTIFIER = com.stripe.PaymentSheetLocalizationScreenshotGenerator; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + PRODUCT_NAME = PaymentSheetLocalizationScreenshotGenerator; + SDKROOT = iphoneos; TEST_TARGET_NAME = "PaymentSheet Example"; }; name = Release; }; - B63707682510578D0094499F /* Debug */ = { + ADEBEA6A93DBAF3002B62BF4 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 0F208CB855923E7FD7BB0DC3 /* PaymentSheetLocalizationScreenshotGenerator-Debug.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; + INFOPLIST_FILE = PaymentSheetLocalizationScreenshotGenerator/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.PaymentSheetLocalizationScreenshotGenerator; + PRODUCT_NAME = PaymentSheetLocalizationScreenshotGenerator; SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TEST_TARGET_NAME = "PaymentSheet Example"; }; name = Debug; }; - B63707692510578D0094499F /* Release */ = { + CC0F3A04D6F6ADC2C952D7B7 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 6CD01636EA3B4C6F84E9CC86 /* PaymentSheetUITest-Release.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; + INFOPLIST_FILE = PaymentSheetUITest/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.PaymentSheetUITest; + PRODUCT_NAME = PaymentSheetUITest; SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; + TEST_TARGET_NAME = "PaymentSheet Example"; }; name = Release; }; - B637076B2510578D0094499F /* Debug */ = { + DCC6BD9D7A91C48038D4D81A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 3ED454099B55B5F3BCA1D642 /* Project-Debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = "PaymentSheet Example/PaymentSheet Example.entitlements"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "$(SRCROOT)/PaymentSheet Example/PaymentSheet Example/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.PaymentSheet-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTS_MACCATALYST = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - B637076C2510578D0094499F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = "PaymentSheet Example/PaymentSheet Example.entitlements"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "$(SRCROOT)/PaymentSheet Example/PaymentSheet Example/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.PaymentSheet-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTS_MACCATALYST = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 31D8F79E25BA0200004502D9 /* Build configuration list for PBXNativeTarget "PaymentSheetUITest" */ = { + 170DA2F1FEF458DF0ABBB38A /* Build configuration list for PBXNativeTarget "PaymentSheet Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 31D8F79C25BA0200004502D9 /* Debug */, - 31D8F79D25BA0200004502D9 /* Release */, + 4E900227E99B33992820534A /* Debug */, + 04B451E4262EF8B42D36A6AE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 36595AEC26B1F3C100634850 /* Build configuration list for PBXNativeTarget "PaymentSheetLocalizationScreenshotGenerator" */ = { + 401DBB928A0F49DD8C30083A /* Build configuration list for PBXNativeTarget "PaymentSheetLocalizationScreenshotGenerator" */ = { isa = XCConfigurationList; buildConfigurations = ( - 36595AEA26B1F3C100634850 /* Debug */, - 36595AEB26B1F3C100634850 /* Release */, + ADEBEA6A93DBAF3002B62BF4 /* Debug */, + 7AE8C5589540C4674E7BBC63 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B6370751251057890094499F /* Build configuration list for PBXProject "PaymentSheet Example" */ = { + 5EFF6C98306675EF3657C335 /* Build configuration list for PBXProject "PaymentSheet Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - B63707682510578D0094499F /* Debug */, - B63707692510578D0094499F /* Release */, + DCC6BD9D7A91C48038D4D81A /* Debug */, + 2C386A8D9783A99A67C22183 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B637076A2510578D0094499F /* Build configuration list for PBXNativeTarget "PaymentSheet Example" */ = { + CB40128DD8797707228D620A /* Build configuration list for PBXNativeTarget "PaymentSheetUITest" */ = { isa = XCConfigurationList; buildConfigurations = ( - B637076B2510578D0094499F /* Debug */, - B637076C2510578D0094499F /* Release */, + 5F414BE5696C47524967CAE5 /* Debug */, + CC0F3A04D6F6ADC2C952D7B7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -955,7 +841,7 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - E254413328FA26B300C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { + 337D25C9801D91652C4A4F6B /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/uber/ios-snapshot-test-case"; requirement = { @@ -966,12 +852,11 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - E254413628FA26C200C6F5D3 /* iOSSnapshotTestCase */ = { + B195FF5EEDEAC460C45887F1 /* iOSSnapshotTestCase */ = { isa = XCSwiftPackageProductDependency; - package = E254413328FA26B300C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */; productName = iOSSnapshotTestCase; }; /* End XCSwiftPackageProductDependency section */ }; - rootObject = B637074E251057890094499F /* Project object */; + rootObject = EA7B1F35244C75557507E31F /* Project object */; } diff --git a/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/xcshareddata/xcschemes/PaymentSheet Example.xcscheme b/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/xcshareddata/xcschemes/PaymentSheet Example.xcscheme index 0f67883cf64..a0a7a64ef90 100644 --- a/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/xcshareddata/xcschemes/PaymentSheet Example.xcscheme +++ b/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/xcshareddata/xcschemes/PaymentSheet Example.xcscheme @@ -1,6 +1,6 @@ + + + + + + + + + shouldUseLaunchSchemeArgsEnv = "NO"> + + + + - - - - + skipped = "NO"> + + + + + + - - - - diff --git a/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/xcshareddata/xcschemes/PaymentSheetLocalizationScreenshotGenerator.xcscheme b/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/xcshareddata/xcschemes/PaymentSheetLocalizationScreenshotGenerator.xcscheme deleted file mode 100644 index 33f5a05be28..00000000000 --- a/Example/PaymentSheet Example/PaymentSheet Example.xcodeproj/xcshareddata/xcschemes/PaymentSheetLocalizationScreenshotGenerator.xcscheme +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/AppDelegate.swift b/Example/PaymentSheet Example/PaymentSheet Example/AppDelegate.swift similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/AppDelegate.swift rename to Example/PaymentSheet Example/PaymentSheet Example/AppDelegate.swift diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift b/Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift rename to Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomCheckoutViewController.swift b/Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomCheckoutViewController.swift similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomCheckoutViewController.swift rename to Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomCheckoutViewController.swift diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUICustomPaymentFlow.swift b/Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUICustomPaymentFlow.swift similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUICustomPaymentFlow.swift rename to Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUICustomPaymentFlow.swift diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIPaymentSheet.swift b/Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIPaymentSheet.swift similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIPaymentSheet.swift rename to Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIPaymentSheet.swift diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIViews.swift b/Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIViews.swift similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIViews.swift rename to Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIViews.swift diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Info.plist b/Example/PaymentSheet Example/PaymentSheet Example/Info.plist similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Info.plist rename to Example/PaymentSheet Example/PaymentSheet Example/Info.plist diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlayground.swift b/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlayground.swift similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlayground.swift rename to Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlayground.swift diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-1024.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-1024.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-1024.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-1024.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-120.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-120.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-120.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-120.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-121.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-121.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-121.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-121.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-152.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-152.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-152.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-152.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-167.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-167.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-167.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-167.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-180.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-180.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-180.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-180.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-20.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-20.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-20.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-20.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-29.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-29.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-29.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-29.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-40.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-40.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-40.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-40.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-41.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-41.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-41.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-41.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-42.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-42.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-42.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-42.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-58.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-58.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-58.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-58.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-59.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-59.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-59.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-59.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-60.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-60.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-60.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-60.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-76.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-76.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-76.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-76.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-80.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-80.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-80.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-80.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-81.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-81.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-81.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-81.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-87.png b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-87.png similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-87.png rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/AppIcon.appiconset/paymentsheetexample-87.png diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/Contents.json b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/Contents.json similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Assets.xcassets/Contents.json rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Assets.xcassets/Contents.json diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Base.lproj/LaunchScreen.storyboard b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Base.lproj/LaunchScreen.storyboard rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Base.lproj/LaunchScreen.storyboard diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Base.lproj/Main.storyboard b/Example/PaymentSheet Example/PaymentSheet Example/Resources/Base.lproj/Main.storyboard similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/Base.lproj/Main.storyboard rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/Base.lproj/Main.storyboard diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/bg-BG.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/bg-BG.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/bg-BG.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/bg-BG.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/bg-BG.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/bg-BG.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/bg-BG.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/bg-BG.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ca-ES.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ca-ES.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ca-ES.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ca-ES.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ca-ES.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ca-ES.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ca-ES.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ca-ES.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/cs-CZ.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/cs-CZ.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/cs-CZ.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/cs-CZ.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/cs-CZ.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/cs-CZ.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/cs-CZ.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/cs-CZ.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/da.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/da.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/da.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/da.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/da.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/da.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/da.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/da.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/de.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/de.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/de.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/de.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/de.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/de.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/de.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/de.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/el-GR.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/el-GR.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/el-GR.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/el-GR.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/el-GR.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/el-GR.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/el-GR.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/el-GR.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/en-GB.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/en-GB.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/en-GB.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/en-GB.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/en-GB.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/en-GB.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/en-GB.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/en-GB.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/es-419.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/es-419.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/es-419.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/es-419.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/es-419.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/es-419.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/es-419.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/es-419.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/es.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/es.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/es.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/es.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/es.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/es.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/es.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/es.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/et-EE.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/et-EE.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/et-EE.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/et-EE.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/et-EE.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/et-EE.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/et-EE.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/et-EE.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fi.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/fi.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fi.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/fi.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fi.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/fi.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fi.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/fi.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fil.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/fil.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fil.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/fil.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fil.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/fil.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fil.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/fil.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fr-CA.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/fr-CA.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fr-CA.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/fr-CA.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fr-CA.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/fr-CA.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fr-CA.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/fr-CA.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fr.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/fr.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fr.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/fr.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fr.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/fr.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/fr.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/fr.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/hr.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/hr.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/hr.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/hr.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/hr.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/hr.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/hr.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/hr.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/hu.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/hu.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/hu.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/hu.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/hu.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/hu.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/hu.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/hu.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/id.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/id.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/id.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/id.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/id.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/id.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/id.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/id.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/it.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/it.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/it.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/it.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/it.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/it.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/it.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/it.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ja.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ja.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ja.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ja.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ja.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ja.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ja.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ja.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ko.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ko.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ko.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ko.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ko.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ko.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ko.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ko.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/lt-LT.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/lt-LT.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/lt-LT.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/lt-LT.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/lt-LT.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/lt-LT.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/lt-LT.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/lt-LT.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/lv-LV.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/lv-LV.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/lv-LV.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/lv-LV.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/lv-LV.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/lv-LV.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/lv-LV.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/lv-LV.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ms-MY.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ms-MY.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ms-MY.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ms-MY.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ms-MY.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ms-MY.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ms-MY.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ms-MY.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/mt.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/mt.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/mt.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/mt.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/mt.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/mt.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/mt.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/mt.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nb.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/nb.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nb.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/nb.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nb.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/nb.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nb.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/nb.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nl.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/nl.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nl.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/nl.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nl.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/nl.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nl.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/nl.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nn-NO.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/nn-NO.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nn-NO.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/nn-NO.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nn-NO.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/nn-NO.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/nn-NO.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/nn-NO.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pl-PL.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/pl-PL.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pl-PL.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/pl-PL.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pl-PL.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/pl-PL.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pl-PL.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/pl-PL.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pt-BR.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/pt-BR.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pt-BR.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/pt-BR.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pt-BR.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/pt-BR.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pt-BR.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/pt-BR.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pt-PT.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/pt-PT.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pt-PT.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/pt-PT.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pt-PT.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/pt-PT.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/pt-PT.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/pt-PT.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ro-RO.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ro-RO.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ro-RO.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ro-RO.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ro-RO.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ro-RO.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ro-RO.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ro-RO.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ru.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ru.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ru.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ru.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ru.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/ru.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ru.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/ru.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sk-SK.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/sk-SK.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sk-SK.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/sk-SK.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sk-SK.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/sk-SK.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sk-SK.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/sk-SK.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sl-SI.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/sl-SI.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sl-SI.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/sl-SI.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sl-SI.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/sl-SI.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sl-SI.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/sl-SI.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sv.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/sv.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sv.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/sv.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sv.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/sv.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/sv.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/sv.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/tr.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/tr.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/tr.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/tr.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/tr.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/tr.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/tr.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/tr.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/vi.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/vi.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/vi.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/vi.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/vi.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/vi.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/vi.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/vi.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-HK.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-HK.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-HK.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-HK.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-HK.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-HK.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-HK.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-HK.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-Hans.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-Hans.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-Hans.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-Hans.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-Hans.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-Hans.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-Hans.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-Hans.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-Hant.lproj/LaunchScreen.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-Hant.lproj/LaunchScreen.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-Hant.lproj/LaunchScreen.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-Hant.lproj/LaunchScreen.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-Hant.lproj/Main.strings b/Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-Hant.lproj/Main.strings similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/zh-Hant.lproj/Main.strings rename to Example/PaymentSheet Example/PaymentSheet Example/Resources/zh-Hant.lproj/Main.strings diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/SceneDelegate.swift b/Example/PaymentSheet Example/PaymentSheet Example/SceneDelegate.swift similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/SceneDelegate.swift rename to Example/PaymentSheet Example/PaymentSheet Example/SceneDelegate.swift diff --git a/Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ViewController.swift b/Example/PaymentSheet Example/PaymentSheet Example/ViewController.swift similarity index 100% rename from Example/PaymentSheet Example/PaymentSheet Example/PaymentSheet Example/ViewController.swift rename to Example/PaymentSheet Example/PaymentSheet Example/ViewController.swift diff --git a/Example/PaymentSheet Example/PaymentSheetLocalizationScreenshotGenerator/PaymentSheetLocalizationScreenshotGenerator.swift b/Example/PaymentSheet Example/PaymentSheetLocalizationScreenshotGenerator/PaymentSheetLocalizationScreenshotGenerator.swift index 20843abe249..1f20c361208 100644 --- a/Example/PaymentSheet Example/PaymentSheetLocalizationScreenshotGenerator/PaymentSheetLocalizationScreenshotGenerator.swift +++ b/Example/PaymentSheet Example/PaymentSheetLocalizationScreenshotGenerator/PaymentSheetLocalizationScreenshotGenerator.swift @@ -8,7 +8,7 @@ import XCTest -@testable import PaymentSheet_Example +@testable import PaymentSheetExample class PaymentSheetLocalizationScreenshotGenerator: XCTestCase { var app: XCUIApplication! diff --git a/Example/PaymentSheet Example/Project.swift b/Example/PaymentSheet Example/Project.swift new file mode 100644 index 00000000000..1304f82d921 --- /dev/null +++ b/Example/PaymentSheet Example/Project.swift @@ -0,0 +1,116 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "PaymentSheet Example", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + packages: [ + .remote( + url: "https://github.com/uber/ios-snapshot-test-case", + requirement: .upToNextMajor(from: "8.0.0") + ), + ], + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "PaymentSheet Example", + platform: .iOS, + product: .app, + productName: "PaymentSheetExample", + bundleId: "com.stripe.PaymentSheet-Example", + infoPlist: "PaymentSheet Example/Info.plist", + sources: "PaymentSheet Example/*.swift", + resources: "PaymentSheet Example/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "StripePaymentsUI", path: "//StripePaymentsUI"), + .project(target: "StripePaymentSheet", path: "//StripePaymentSheet"), + .project( + target: "StripeFinancialConnections", + path: "//StripeFinancialConnections" + ), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/PaymentSheet-Example" + ) + ), + Target( + name: "PaymentSheetUITest", + platform: .iOS, + product: .uiTests, + productName: "PaymentSheetUITest", + bundleId: "com.stripe.PaymentSheetUITest", + infoPlist: "PaymentSheetUITest/Info.plist", + sources: "PaymentSheetUITest/*.swift", + resources: [ + .folderReference(path: "PaymentSheetUITest/MockFiles"), + ], + dependencies: [ + .target(name: "PaymentSheet Example"), + .project(target: "StripeCoreTestUtils", path: "//StripeCore"), + .package(product: "iOSSnapshotTestCase"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/PaymentSheetUITest" + ) + ), + Target( + name: "PaymentSheetLocalizationScreenshotGenerator", + platform: .iOS, + product: .uiTests, + productName: "PaymentSheetLocalizationScreenshotGenerator", + bundleId: "com.stripe.PaymentSheetLocalizationScreenshotGenerator", + infoPlist: "PaymentSheetLocalizationScreenshotGenerator/Info.plist", + sources: "PaymentSheetLocalizationScreenshotGenerator/*.swift", + dependencies: [ + .target(name: "PaymentSheet Example"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/PaymentSheetLocalizationScreenshotGenerator" + ) + ), + ], + schemes: [ + Scheme( + name: "PaymentSheet Example", + buildAction: .buildAction(targets: [ + "PaymentSheet Example", + "PaymentSheetUITest", + "PaymentSheetLocalizationScreenshotGenerator", + ]), + testAction: .targets( + [ + "PaymentSheetUITest", + "PaymentSheetLocalizationScreenshotGenerator", + ], + arguments: Arguments( + environment: [ + "FB_REFERENCE_IMAGE_DIR": "$(SRCROOT)/../../Tests/ReferenceImages", + ] + ), + expandVariableFromTarget: "PaymentSheet Example" + ), + runAction: .runAction(executable: "PaymentSheet Example") + ) + ] +) diff --git a/Example/UI Examples/BuildConfigurations/UI-Examples-Debug.xcconfig b/Example/UI Examples/BuildConfigurations/UI-Examples-Debug.xcconfig new file mode 100644 index 00000000000..d8244704036 --- /dev/null +++ b/Example/UI Examples/BuildConfigurations/UI-Examples-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// UI-Examples-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "UI-Examples-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/UI Examples/BuildConfigurations/UI-Examples-Release.xcconfig b/Example/UI Examples/BuildConfigurations/UI-Examples-Release.xcconfig new file mode 100644 index 00000000000..4637186ab74 --- /dev/null +++ b/Example/UI Examples/BuildConfigurations/UI-Examples-Release.xcconfig @@ -0,0 +1,12 @@ +// +// UI-Examples-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "UI-Examples-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Example/UI Examples/BuildConfigurations/UI-Examples-Shared.xcconfig b/Example/UI Examples/BuildConfigurations/UI-Examples-Shared.xcconfig new file mode 100644 index 00000000000..a966b252f1c --- /dev/null +++ b/Example/UI Examples/BuildConfigurations/UI-Examples-Shared.xcconfig @@ -0,0 +1,11 @@ +// +// UI-Examples-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Example/UI Examples/Project.swift b/Example/UI Examples/Project.swift new file mode 100644 index 00000000000..4b3867f6f26 --- /dev/null +++ b/Example/UI Examples/Project.swift @@ -0,0 +1,56 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "UI Examples", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "UI Examples", + platform: .iOS, + product: .app, + productName: "UIExamples", + bundleId: "com.stripe.uiexamples", + infoPlist: "UI Examples/Info.plist", + sources: "UI Examples/Source/**/*.swift", + resources: "UI Examples/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "StripePaymentsUI", path: "//StripePaymentsUI"), + .project(target: "StripeiOS", path: "//Stripe"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/UI-Examples" + ) + ) + ], + schemes: [ + Scheme( + name: "UI Examples", + buildAction: .buildAction(targets: ["UI Examples"]), + runAction: .runAction(executable: "UI Examples") + ) + ], + additionalFiles: "README.md" +) diff --git a/Example/UI Examples/UI Examples.xcodeproj/project.pbxproj b/Example/UI Examples/UI Examples.xcodeproj/project.pbxproj index ad95b9658fa..fa0d606b1e0 100644 --- a/Example/UI Examples/UI Examples.xcodeproj/project.pbxproj +++ b/Example/UI Examples/UI Examples.xcodeproj/project.pbxproj @@ -3,51 +3,51 @@ archiveVersion = 1; classes = { }; - objectVersion = 48; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 31138EDD28DE67F5008AF554 /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138EDC28DE67F5008AF554 /* StripePayments.framework */; }; - 31138EDE28DE67F5008AF554 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138EDC28DE67F5008AF554 /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31138EE028DE67FA008AF554 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138EDF28DE67FA008AF554 /* StripePaymentsUI.framework */; }; - 31138EE128DE67FA008AF554 /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138EDF28DE67FA008AF554 /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 3137B69B2743808100CE7F5C /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B69A2743808100CE7F5C /* StripeApplePay.framework */; }; - 3137B69C2743808100CE7F5C /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B69A2743808100CE7F5C /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31EFEE12258AE40A0069BC5F /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31EFEE11258AE40A0069BC5F /* Stripe3DS2.framework */; }; - 31EFEE13258AE40A0069BC5F /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31EFEE11258AE40A0069BC5F /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 36106222269E4D1100795224 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36106221269E4D1100795224 /* StripeCore.framework */; }; - 36106223269E4D2F00795224 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 36106221269E4D1100795224 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 364FC2D2242024CE002879EB /* AUBECSDebitFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 364FC2D1242024CE002879EB /* AUBECSDebitFormViewController.swift */; }; - 365614B2263379FE007FA02B /* CardFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 365614B0263379FE007FA02B /* CardFormViewController.swift */; }; - 365614B3263379FE007FA02B /* SwiftUICardFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 365614B1263379FE007FA02B /* SwiftUICardFormView.swift */; }; - B696C01928E515BE005EBFE8 /* PaymentMethodMessagingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B696C01828E515BE005EBFE8 /* PaymentMethodMessagingViewController.swift */; }; - C1140CC11F1EC0FC002084AB /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1140CC01F1EC0FC002084AB /* AppDelegate.swift */; }; - C1140CC31F1EC0FC002084AB /* BrowseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1140CC21F1EC0FC002084AB /* BrowseViewController.swift */; }; - C1140CC81F1EC0FC002084AB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C1140CC71F1EC0FC002084AB /* Assets.xcassets */; }; - C13A00561F1FFA0D00825683 /* ThemeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C13A00551F1FFA0D00825683 /* ThemeViewController.swift */; }; - C13A00581F1FFEC200825683 /* CardFieldViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C13A00571F1FFEC200825683 /* CardFieldViewController.swift */; }; - C19A55B01F1EC1ED00C8AABE /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C19A55A81F1EC1B000C8AABE /* Stripe.framework */; }; - C19A55B11F1EC1ED00C8AABE /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C19A55A81F1EC1B000C8AABE /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - C1A5E73E1F293EAF00E0C891 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C1A5E73C1F293EAF00E0C891 /* Localizable.strings */; }; - C1A658E51F1EC7F500799757 /* MockCustomerContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1A658E41F1EC7F500799757 /* MockCustomerContext.swift */; }; - E6AFFAF726E973670067462F /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAF626E973670067462F /* StripeUICore.framework */; }; - E6AFFAF826E973670067462F /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAF626E973670067462F /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 0A89E90BE6A08E0E26625FB3 /* PaymentMethodMessagingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFEAD84E710812643F204F1E /* PaymentMethodMessagingViewController.swift */; }; + 0CDE3A1203737BFD5C5629D9 /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 753BA90BA35AA6FBDAA07FBE /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 0ED675CAC09C7DD24824F4C2 /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 28B1F86587A2774EF158BDE9 /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 12956CD9F7247339704DE8C2 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = A61EBF938F7C0D7FFEF93C2A /* Localizable.strings */; }; + 3B902170875FA481C136290D /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7D4CC026D81D7E26EDA474B /* StripePayments.framework */; }; + 3BCB2193E00E9B8766E93AC9 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 753BA90BA35AA6FBDAA07FBE /* Stripe.framework */; }; + 3D7A0D5F4391825F36AA42E7 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F16D8E3EDF1E3CCBF5FE6F36 /* StripeCore.framework */; }; + 546290D05670988D27885299 /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A7973A50BA0AE6BE3911FCE8 /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 566876172C33FCC7ACB66754 /* MockCustomerContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 931AF426917A2801C4205F00 /* MockCustomerContext.swift */; }; + 5B4F3271CE029F9AAB2ABC7F /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D7D4CC026D81D7E26EDA474B /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 635DD37E878F531464AEE25D /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEC7ADA06B237EFA9BA61939 /* StripeApplePay.framework */; }; + 7251058865ACA98C98273875 /* CardFieldViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1294FDC8AE5C19800151F829 /* CardFieldViewController.swift */; }; + 7C7E088B5EA745CDDA43BE5E /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A59691F976A1B6FF14320055 /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 97628266E1DFA00F28045C7C /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7973A50BA0AE6BE3911FCE8 /* StripeUICore.framework */; }; + A61E99A31C25F9EE54CB3465 /* BrowseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69382A94399A814B97E6BF13 /* BrowseViewController.swift */; }; + AEF8EE236AB748778C8C9BCE /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A59691F976A1B6FF14320055 /* Stripe3DS2.framework */; }; + B0542D0E99812D6D2F595CAF /* AUBECSDebitFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A4BD63EDF46E844BE902031 /* AUBECSDebitFormViewController.swift */; }; + B7B3DEBC7275C023C0CAC30D /* ThemeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CEA2C4F5B6850B738224532 /* ThemeViewController.swift */; }; + B881DC1D937D301C7B35B86C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A45472E7D5B14BD3395A3D7 /* AppDelegate.swift */; }; + BC632EA0072370EB316B5088 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28B1F86587A2774EF158BDE9 /* StripePaymentsUI.framework */; }; + C69C81EF7E54D49B707AD6FC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AD64AF1BC2F50B9EE9FFDBB5 /* Assets.xcassets */; }; + E39A9E97F579622FDB83DD1C /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F16D8E3EDF1E3CCBF5FE6F36 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + EB04DF08EF3D94B6AAA5B441 /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FEC7ADA06B237EFA9BA61939 /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + F9A86FC25BDB54F3D64FE458 /* CardFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0EE0C28786C46F7AD5678C4 /* CardFormViewController.swift */; }; + FCB92C416FBB9287BAE1FCDF /* SwiftUICardFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C2F92F71B779415739E02D5 /* SwiftUICardFormView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - C19A55B21F1EC1ED00C8AABE /* Embed Frameworks */ = { + 175FA3017B6192EF299A005D /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 31138EE128DE67FA008AF554 /* StripePaymentsUI.framework in Embed Frameworks */, - 31138EDE28DE67F5008AF554 /* StripePayments.framework in Embed Frameworks */, - E6AFFAF826E973670067462F /* StripeUICore.framework in Embed Frameworks */, - 36106223269E4D2F00795224 /* StripeCore.framework in Embed Frameworks */, - 3137B69C2743808100CE7F5C /* StripeApplePay.framework in Embed Frameworks */, - C19A55B11F1EC1ED00C8AABE /* Stripe.framework in Embed Frameworks */, - 31EFEE13258AE40A0069BC5F /* Stripe3DS2.framework in Embed Frameworks */, + 7C7E088B5EA745CDDA43BE5E /* Stripe3DS2.framework in Embed Frameworks */, + EB04DF08EF3D94B6AAA5B441 /* StripeApplePay.framework in Embed Frameworks */, + E39A9E97F579622FDB83DD1C /* StripeCore.framework in Embed Frameworks */, + 5B4F3271CE029F9AAB2ABC7F /* StripePayments.framework in Embed Frameworks */, + 0ED675CAC09C7DD24824F4C2 /* StripePaymentsUI.framework in Embed Frameworks */, + 546290D05670988D27885299 /* StripeUICore.framework in Embed Frameworks */, + 0CDE3A1203737BFD5C5629D9 /* Stripe.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -55,219 +55,266 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 31138EDC28DE67F5008AF554 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31138EDF28DE67FA008AF554 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3137B69A2743808100CE7F5C /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31D5DDBC255FC34400F4FC03 /* Stripe3DS2.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Stripe3DS2.xcframework; path = ../../InternalFrameworks/static/Stripe3DS2.xcframework; sourceTree = ""; }; - 31EFEE11258AE40A0069BC5F /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 36106221269E4D1100795224 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 364FC2D1242024CE002879EB /* AUBECSDebitFormViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AUBECSDebitFormViewController.swift; sourceTree = ""; }; - 365614B0263379FE007FA02B /* CardFormViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardFormViewController.swift; sourceTree = SOURCE_ROOT; }; - 365614B1263379FE007FA02B /* SwiftUICardFormView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftUICardFormView.swift; sourceTree = SOURCE_ROOT; }; - 8BBD79D4207FD4CA00F85BED /* fi */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fi; path = Localizations/fi.lproj/Localizable.strings; sourceTree = ""; }; - 8BBD79D5207FD4DC00F85BED /* nb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nb; path = Localizations/nb.lproj/Localizable.strings; sourceTree = ""; }; - B696C01828E515BE005EBFE8 /* PaymentMethodMessagingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodMessagingViewController.swift; sourceTree = ""; }; - C1140CBD1F1EC0FC002084AB /* Stripe UI Examples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Stripe UI Examples.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - C1140CC01F1EC0FC002084AB /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - C1140CC21F1EC0FC002084AB /* BrowseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrowseViewController.swift; sourceTree = ""; }; - C1140CC71F1EC0FC002084AB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - C1140CCC1F1EC0FC002084AB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C138865D1F293EF700380D46 /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = Localizations/fr.lproj/Localizable.strings; sourceTree = ""; }; - C138865E1F293EFF00380D46 /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = Localizations/de.lproj/Localizable.strings; sourceTree = ""; }; - C138865F1F293F0500380D46 /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "Localizations/zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - C13886601F293F0B00380D46 /* ja */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ja; path = Localizations/ja.lproj/Localizable.strings; sourceTree = ""; }; - C13886611F293F0F00380D46 /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = Localizations/es.lproj/Localizable.strings; sourceTree = ""; }; - C13886621F293F1600380D46 /* it */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = it; path = Localizations/it.lproj/Localizable.strings; sourceTree = ""; }; - C13886631F293F4D00380D46 /* nl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nl; path = Localizations/nl.lproj/Localizable.strings; sourceTree = ""; }; - C13A00541F1FF7A800825683 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - C13A00551F1FFA0D00825683 /* ThemeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThemeViewController.swift; sourceTree = ""; }; - C13A00571F1FFEC200825683 /* CardFieldViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardFieldViewController.swift; sourceTree = ""; }; - C19A55A81F1EC1B000C8AABE /* Stripe.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C1A5E73D1F293EAF00E0C891 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = Localizations/en.lproj/Localizable.strings; sourceTree = ""; }; - C1A658E41F1EC7F500799757 /* MockCustomerContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockCustomerContext.swift; sourceTree = ""; }; - E6AFFAF626E973670067462F /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0A45472E7D5B14BD3395A3D7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 1294FDC8AE5C19800151F829 /* CardFieldViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardFieldViewController.swift; sourceTree = ""; }; + 14DF1090C4435D6643977EDA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 28B1F86587A2774EF158BDE9 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 296AE32AA0C02D63039356E9 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + 2A4BD63EDF46E844BE902031 /* AUBECSDebitFormViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AUBECSDebitFormViewController.swift; sourceTree = ""; }; + 2CEA2C4F5B6850B738224532 /* ThemeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeViewController.swift; sourceTree = ""; }; + 33045CD268B7E20221AEF345 /* UIExamples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UIExamples.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 3E29FB4EC02BA5C29D8A7453 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 460B319B13534E7889F7DADE /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 592779C24B55133469B657A2 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 5C2F92F71B779415739E02D5 /* SwiftUICardFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUICardFormView.swift; sourceTree = ""; }; + 69382A94399A814B97E6BF13 /* BrowseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrowseViewController.swift; sourceTree = ""; }; + 6E1B9A78F0BE9BE3D542CB7D /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 74B92067761E45B0D87100A7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 753BA90BA35AA6FBDAA07FBE /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 833EA2464B7FD282DC0509FB /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + 931AF426917A2801C4205F00 /* MockCustomerContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockCustomerContext.swift; sourceTree = ""; }; + 976BE22CCA5F11282143698A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 9A519B43F19D65723990C98A /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + A2DA5DB960FC1D52C51FFB5B /* UI-Examples-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "UI-Examples-Release.xcconfig"; sourceTree = ""; }; + A59691F976A1B6FF14320055 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A7973A50BA0AE6BE3911FCE8 /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD64AF1BC2F50B9EE9FFDBB5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + CC583C78E4CBAE8D69D529CC /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + D0EE0C28786C46F7AD5678C4 /* CardFormViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardFormViewController.swift; sourceTree = ""; }; + D32ACF0ECF0DCAEF2BBB42A3 /* UI-Examples-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "UI-Examples-Debug.xcconfig"; sourceTree = ""; }; + D7D4CC026D81D7E26EDA474B /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E8BFFBA74634A24020A4E389 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + EFEAD84E710812643F204F1E /* PaymentMethodMessagingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodMessagingViewController.swift; sourceTree = ""; }; + F16D8E3EDF1E3CCBF5FE6F36 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F351572061CC8F516217BD0F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + F3F01AF08C8165512BFF2CEC /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + FEC7ADA06B237EFA9BA61939 /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - C1140CBA1F1EC0FC002084AB /* Frameworks */ = { + 5AE372DA03BDCDDF7E4D26D3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 31138EE028DE67FA008AF554 /* StripePaymentsUI.framework in Frameworks */, - 31138EDD28DE67F5008AF554 /* StripePayments.framework in Frameworks */, - E6AFFAF726E973670067462F /* StripeUICore.framework in Frameworks */, - 36106222269E4D1100795224 /* StripeCore.framework in Frameworks */, - 3137B69B2743808100CE7F5C /* StripeApplePay.framework in Frameworks */, - C19A55B01F1EC1ED00C8AABE /* Stripe.framework in Frameworks */, - 31EFEE12258AE40A0069BC5F /* Stripe3DS2.framework in Frameworks */, + AEF8EE236AB748778C8C9BCE /* Stripe3DS2.framework in Frameworks */, + 635DD37E878F531464AEE25D /* StripeApplePay.framework in Frameworks */, + 3D7A0D5F4391825F36AA42E7 /* StripeCore.framework in Frameworks */, + 3B902170875FA481C136290D /* StripePayments.framework in Frameworks */, + BC632EA0072370EB316B5088 /* StripePaymentsUI.framework in Frameworks */, + 97628266E1DFA00F28045C7C /* StripeUICore.framework in Frameworks */, + 3BCB2193E00E9B8766E93AC9 /* Stripe.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - C1140CB41F1EC0FC002084AB = { + 002C8B832227F262BE809AF1 = { isa = PBXGroup; children = ( - C13A00541F1FF7A800825683 /* README.md */, - C1140CBF1F1EC0FC002084AB /* UI Examples */, - C19A55A71F1EC18600C8AABE /* Frameworks */, - C1140CBE1F1EC0FC002084AB /* Products */, + C6B59D38A5B194CA677DABED /* Project */, + 06B6A117439B1AE7A7A7D2FD /* Frameworks */, + BB49EA89302241DC0370E002 /* Products */, ); sourceTree = ""; }; - C1140CBE1F1EC0FC002084AB /* Products */ = { + 06B6A117439B1AE7A7A7D2FD /* Frameworks */ = { isa = PBXGroup; children = ( - C1140CBD1F1EC0FC002084AB /* Stripe UI Examples.app */, ); - name = Products; + name = Frameworks; sourceTree = ""; }; - C1140CBF1F1EC0FC002084AB /* UI Examples */ = { + 294EC109746111B350F3536D /* BuildConfigurations */ = { isa = PBXGroup; children = ( - C1140CC01F1EC0FC002084AB /* AppDelegate.swift */, - C1140CC71F1EC0FC002084AB /* Assets.xcassets */, - 364FC2D1242024CE002879EB /* AUBECSDebitFormViewController.swift */, - C1140CC21F1EC0FC002084AB /* BrowseViewController.swift */, - C13A00571F1FFEC200825683 /* CardFieldViewController.swift */, - 365614B0263379FE007FA02B /* CardFormViewController.swift */, - C1140CCC1F1EC0FC002084AB /* Info.plist */, - C1A5E73C1F293EAF00E0C891 /* Localizable.strings */, - C1A658E41F1EC7F500799757 /* MockCustomerContext.swift */, - B696C01828E515BE005EBFE8 /* PaymentMethodMessagingViewController.swift */, - 365614B1263379FE007FA02B /* SwiftUICardFormView.swift */, - C13A00551F1FFA0D00825683 /* ThemeViewController.swift */, + 3E29FB4EC02BA5C29D8A7453 /* Project-Debug.xcconfig */, + 9A519B43F19D65723990C98A /* Project-Release.xcconfig */, ); - path = "UI Examples"; + name = BuildConfigurations; + path = ../../BuildConfigurations; sourceTree = ""; }; - C19A55A71F1EC18600C8AABE /* Frameworks */ = { + 3263FCC006C255D157F89B5D /* Source */ = { isa = PBXGroup; children = ( - 31138EDF28DE67FA008AF554 /* StripePaymentsUI.framework */, - 31138EDC28DE67F5008AF554 /* StripePayments.framework */, - 3137B69A2743808100CE7F5C /* StripeApplePay.framework */, - E6AFFAF626E973670067462F /* StripeUICore.framework */, - 36106221269E4D1100795224 /* StripeCore.framework */, - 31EFEE11258AE40A0069BC5F /* Stripe3DS2.framework */, - 31D5DDBC255FC34400F4FC03 /* Stripe3DS2.xcframework */, - C19A55A81F1EC1B000C8AABE /* Stripe.framework */, + 0A45472E7D5B14BD3395A3D7 /* AppDelegate.swift */, + 2A4BD63EDF46E844BE902031 /* AUBECSDebitFormViewController.swift */, + 69382A94399A814B97E6BF13 /* BrowseViewController.swift */, + 1294FDC8AE5C19800151F829 /* CardFieldViewController.swift */, + D0EE0C28786C46F7AD5678C4 /* CardFormViewController.swift */, + 931AF426917A2801C4205F00 /* MockCustomerContext.swift */, + EFEAD84E710812643F204F1E /* PaymentMethodMessagingViewController.swift */, + 5C2F92F71B779415739E02D5 /* SwiftUICardFormView.swift */, + 2CEA2C4F5B6850B738224532 /* ThemeViewController.swift */, + ); + path = Source; + sourceTree = ""; + }; + 899A2FD46DC9D58FC8E92B05 /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + D32ACF0ECF0DCAEF2BBB42A3 /* UI-Examples-Debug.xcconfig */, + A2DA5DB960FC1D52C51FFB5B /* UI-Examples-Release.xcconfig */, + ); + path = BuildConfigurations; + sourceTree = ""; + }; + 9F8F8200ECF69E4B42A8E3C5 /* Resources */ = { + isa = PBXGroup; + children = ( + DCC18861C48D41F461A1D1C5 /* Localizations */, + AD64AF1BC2F50B9EE9FFDBB5 /* Assets.xcassets */, + ); + path = Resources; + sourceTree = ""; + }; + A61F91913361BF3B3D59DD1E /* UI Examples */ = { + isa = PBXGroup; + children = ( + 9F8F8200ECF69E4B42A8E3C5 /* Resources */, + 3263FCC006C255D157F89B5D /* Source */, + 976BE22CCA5F11282143698A /* Info.plist */, ); - name = Frameworks; path = "UI Examples"; sourceTree = ""; }; + BB49EA89302241DC0370E002 /* Products */ = { + isa = PBXGroup; + children = ( + 753BA90BA35AA6FBDAA07FBE /* Stripe.framework */, + A59691F976A1B6FF14320055 /* Stripe3DS2.framework */, + FEC7ADA06B237EFA9BA61939 /* StripeApplePay.framework */, + F16D8E3EDF1E3CCBF5FE6F36 /* StripeCore.framework */, + D7D4CC026D81D7E26EDA474B /* StripePayments.framework */, + 28B1F86587A2774EF158BDE9 /* StripePaymentsUI.framework */, + A7973A50BA0AE6BE3911FCE8 /* StripeUICore.framework */, + 33045CD268B7E20221AEF345 /* UIExamples.app */, + ); + name = Products; + sourceTree = ""; + }; + C6B59D38A5B194CA677DABED /* Project */ = { + isa = PBXGroup; + children = ( + 899A2FD46DC9D58FC8E92B05 /* BuildConfigurations */, + 294EC109746111B350F3536D /* BuildConfigurations */, + A61F91913361BF3B3D59DD1E /* UI Examples */, + 6E1B9A78F0BE9BE3D542CB7D /* README.md */, + ); + name = Project; + sourceTree = ""; + }; + DCC18861C48D41F461A1D1C5 /* Localizations */ = { + isa = PBXGroup; + children = ( + A61EBF938F7C0D7FFEF93C2A /* Localizable.strings */, + ); + path = Localizations; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - C1140CBC1F1EC0FC002084AB /* UI Examples */ = { + DC81817094E1AFDBF8BD165A /* UI Examples */ = { isa = PBXNativeTarget; - buildConfigurationList = C1140CCF1F1EC0FC002084AB /* Build configuration list for PBXNativeTarget "UI Examples" */; + buildConfigurationList = 1651047D368BF93B638589B4 /* Build configuration list for PBXNativeTarget "UI Examples" */; buildPhases = ( - C1140CB91F1EC0FC002084AB /* Sources */, - C1140CBA1F1EC0FC002084AB /* Frameworks */, - C1140CBB1F1EC0FC002084AB /* Resources */, - C19A55B21F1EC1ED00C8AABE /* Embed Frameworks */, + 787C610B87BC861E17ED3109 /* Sources */, + D68ECD7C912ECFEA659B6658 /* Resources */, + 175FA3017B6192EF299A005D /* Embed Frameworks */, + 5AE372DA03BDCDDF7E4D26D3 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = "UI Examples"; - productName = "UI Examples"; - productReference = C1140CBD1F1EC0FC002084AB /* Stripe UI Examples.app */; + productName = UIExamples; + productReference = 33045CD268B7E20221AEF345 /* UIExamples.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - C1140CB51F1EC0FC002084AB /* Project object */ = { + 60F7610314405547AB6416E8 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0900; - LastUpgradeCheck = 1200; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - C1140CBC1F1EC0FC002084AB = { - CreatedOnToolsVersion = 9.0; - LastSwiftMigration = 1100; - }; }; }; - buildConfigurationList = C1140CB81F1EC0FC002084AB /* Build configuration list for PBXProject "UI Examples" */; - compatibilityVersion = "Xcode 8.0"; + buildConfigurationList = 6E231E366F944087F8DD657F /* Build configuration list for PBXProject "UI Examples" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, - fr, + Base, de, - "zh-Hans", - ja, + en, es, - it, - nl, fi, + fr, + it, + ja, nb, - Base, + nl, + "zh-Hans", ); - mainGroup = C1140CB41F1EC0FC002084AB; - productRefGroup = C1140CBE1F1EC0FC002084AB /* Products */; + mainGroup = 002C8B832227F262BE809AF1; + productRefGroup = BB49EA89302241DC0370E002 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - C1140CBC1F1EC0FC002084AB /* UI Examples */, + DC81817094E1AFDBF8BD165A /* UI Examples */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - C1140CBB1F1EC0FC002084AB /* Resources */ = { + D68ECD7C912ECFEA659B6658 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - C1A5E73E1F293EAF00E0C891 /* Localizable.strings in Resources */, - C1140CC81F1EC0FC002084AB /* Assets.xcassets in Resources */, + C69C81EF7E54D49B707AD6FC /* Assets.xcassets in Resources */, + 12956CD9F7247339704DE8C2 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - C1140CB91F1EC0FC002084AB /* Sources */ = { + 787C610B87BC861E17ED3109 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C1A658E51F1EC7F500799757 /* MockCustomerContext.swift in Sources */, - B696C01928E515BE005EBFE8 /* PaymentMethodMessagingViewController.swift in Sources */, - 364FC2D2242024CE002879EB /* AUBECSDebitFormViewController.swift in Sources */, - C1140CC31F1EC0FC002084AB /* BrowseViewController.swift in Sources */, - 365614B2263379FE007FA02B /* CardFormViewController.swift in Sources */, - 365614B3263379FE007FA02B /* SwiftUICardFormView.swift in Sources */, - C13A00581F1FFEC200825683 /* CardFieldViewController.swift in Sources */, - C13A00561F1FFA0D00825683 /* ThemeViewController.swift in Sources */, - C1140CC11F1EC0FC002084AB /* AppDelegate.swift in Sources */, + B0542D0E99812D6D2F595CAF /* AUBECSDebitFormViewController.swift in Sources */, + B881DC1D937D301C7B35B86C /* AppDelegate.swift in Sources */, + A61E99A31C25F9EE54CB3465 /* BrowseViewController.swift in Sources */, + 7251058865ACA98C98273875 /* CardFieldViewController.swift in Sources */, + F9A86FC25BDB54F3D64FE458 /* CardFormViewController.swift in Sources */, + 566876172C33FCC7ACB66754 /* MockCustomerContext.swift in Sources */, + 0A89E90BE6A08E0E26625FB3 /* PaymentMethodMessagingViewController.swift in Sources */, + FCB92C416FBB9287BAE1FCDF /* SwiftUICardFormView.swift in Sources */, + B7B3DEBC7275C023C0CAC30D /* ThemeViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - C1A5E73C1F293EAF00E0C891 /* Localizable.strings */ = { + A61EBF938F7C0D7FFEF93C2A /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - C1A5E73D1F293EAF00E0C891 /* en */, - C138865D1F293EF700380D46 /* fr */, - C138865E1F293EFF00380D46 /* de */, - C138865F1F293F0500380D46 /* zh-Hans */, - C13886601F293F0B00380D46 /* ja */, - C13886611F293F0F00380D46 /* es */, - C13886621F293F1600380D46 /* it */, - C13886631F293F4D00380D46 /* nl */, - 8BBD79D4207FD4CA00F85BED /* fi */, - 8BBD79D5207FD4DC00F85BED /* nb */, + 460B319B13534E7889F7DADE /* de */, + 74B92067761E45B0D87100A7 /* en */, + F351572061CC8F516217BD0F /* es */, + 833EA2464B7FD282DC0509FB /* fi */, + 14DF1090C4435D6643977EDA /* fr */, + F3F01AF08C8165512BFF2CEC /* it */, + 296AE32AA0C02D63039356E9 /* ja */, + E8BFFBA74634A24020A4E389 /* nb */, + 592779C24B55133469B657A2 /* nl */, + CC583C78E4CBAE8D69D529CC /* zh-Hans */, ); name = Localizable.strings; sourceTree = ""; @@ -275,169 +322,64 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - C1140CCD1F1EC0FC002084AB /* Debug */ = { + 567C1BE3BDAFEFF746AEA3F1 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 9A519B43F19D65723990C98A /* Project-Release.xcconfig */; buildSettings = { - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; - name = Debug; + name = Release; }; - C1140CCE1F1EC0FC002084AB /* Release */ = { + 5FA249999A1BA5C576154E83 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 3E29FB4EC02BA5C29D8A7453 /* Project-Debug.xcconfig */; buildSettings = { - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - C1140CD01F1EC0FC002084AB /* Debug */ = { + B76B6A28424F367DBD89892E /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = A2DA5DB960FC1D52C51FFB5B /* UI-Examples-Release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = Y28TH9SHX7; INFOPLIST_FILE = "UI Examples/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.uiexamples; - PRODUCT_NAME = "Stripe UI Examples"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + PRODUCT_NAME = UIExamples; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - C1140CD11F1EC0FC002084AB /* Release */ = { + D50752F336F516F2134375BC /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = D32ACF0ECF0DCAEF2BBB42A3 /* UI-Examples-Debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = Y28TH9SHX7; INFOPLIST_FILE = "UI Examples/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.uiexamples; - PRODUCT_NAME = "Stripe UI Examples"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + PRODUCT_NAME = UIExamples; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - C1140CB81F1EC0FC002084AB /* Build configuration list for PBXProject "UI Examples" */ = { + 1651047D368BF93B638589B4 /* Build configuration list for PBXNativeTarget "UI Examples" */ = { isa = XCConfigurationList; buildConfigurations = ( - C1140CCD1F1EC0FC002084AB /* Debug */, - C1140CCE1F1EC0FC002084AB /* Release */, + D50752F336F516F2134375BC /* Debug */, + B76B6A28424F367DBD89892E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C1140CCF1F1EC0FC002084AB /* Build configuration list for PBXNativeTarget "UI Examples" */ = { + 6E231E366F944087F8DD657F /* Build configuration list for PBXProject "UI Examples" */ = { isa = XCConfigurationList; buildConfigurations = ( - C1140CD01F1EC0FC002084AB /* Debug */, - C1140CD11F1EC0FC002084AB /* Release */, + 5FA249999A1BA5C576154E83 /* Debug */, + 567C1BE3BDAFEFF746AEA3F1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = C1140CB51F1EC0FC002084AB /* Project object */; + rootObject = 60F7610314405547AB6416E8 /* Project object */; } diff --git a/Example/UI Examples/UI Examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/UI Examples/UI Examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 3bbe9ba5fc9..919434a6254 100644 --- a/Example/UI Examples/UI Examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/Example/UI Examples/UI Examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/Example/UI Examples/UI Examples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/UI Examples/UI Examples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/Example/UI Examples/UI Examples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Example/UI Examples/UI Examples.xcodeproj/xcshareddata/xcschemes/UI Examples.xcscheme b/Example/UI Examples/UI Examples.xcodeproj/xcshareddata/xcschemes/UI Examples.xcscheme index c2200cd4a28..d55a87d32a5 100644 --- a/Example/UI Examples/UI Examples.xcodeproj/xcshareddata/xcschemes/UI Examples.xcscheme +++ b/Example/UI Examples/UI Examples.xcodeproj/xcshareddata/xcschemes/UI Examples.xcscheme @@ -1,6 +1,6 @@ - - - - @@ -40,16 +26,8 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - - - - + shouldUseLaunchSchemeArgsEnv = "YES" + disableMainThreadChecker = "YES"> @@ -57,6 +35,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + disablePerformanceAntipatternChecker = "YES" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" @@ -67,8 +46,8 @@ runnableDebuggingMode = "0"> @@ -84,8 +63,8 @@ runnableDebuggingMode = "0"> diff --git a/Example/UI Examples/UI Examples.xcworkspace/contents.xcworkspacedata b/Example/UI Examples/UI Examples.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 824830cbe6c..00000000000 --- a/Example/UI Examples/UI Examples.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - diff --git a/Example/UI Examples/UI Examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/UI Examples/UI Examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/Example/UI Examples/UI Examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Example/UI Examples/UI Examples/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/UI Examples/UI Examples/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Example/UI Examples/UI Examples/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Example/UI Examples/UI Examples/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/UI Examples/UI Examples/Localizations/de.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/de.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/de.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/de.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/Localizations/en.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/en.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/en.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/en.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/Localizations/es.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/es.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/es.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/es.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/Localizations/fi.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/fi.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/fi.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/fi.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/Localizations/fr.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/fr.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/fr.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/fr.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/Localizations/it.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/it.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/it.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/it.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/Localizations/ja.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/ja.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/ja.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/ja.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/Localizations/nb.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/nb.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/nb.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/nb.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/Localizations/nl.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/nl.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/nl.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/nl.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/Localizations/zh-Hans.lproj/Localizable.strings b/Example/UI Examples/UI Examples/Resources/Localizations/zh-Hans.lproj/Localizable.strings similarity index 100% rename from Example/UI Examples/UI Examples/Localizations/zh-Hans.lproj/Localizable.strings rename to Example/UI Examples/UI Examples/Resources/Localizations/zh-Hans.lproj/Localizable.strings diff --git a/Example/UI Examples/UI Examples/AUBECSDebitFormViewController.swift b/Example/UI Examples/UI Examples/Source/AUBECSDebitFormViewController.swift similarity index 100% rename from Example/UI Examples/UI Examples/AUBECSDebitFormViewController.swift rename to Example/UI Examples/UI Examples/Source/AUBECSDebitFormViewController.swift diff --git a/Example/UI Examples/UI Examples/AppDelegate.swift b/Example/UI Examples/UI Examples/Source/AppDelegate.swift similarity index 100% rename from Example/UI Examples/UI Examples/AppDelegate.swift rename to Example/UI Examples/UI Examples/Source/AppDelegate.swift diff --git a/Example/UI Examples/UI Examples/BrowseViewController.swift b/Example/UI Examples/UI Examples/Source/BrowseViewController.swift similarity index 100% rename from Example/UI Examples/UI Examples/BrowseViewController.swift rename to Example/UI Examples/UI Examples/Source/BrowseViewController.swift diff --git a/Example/UI Examples/UI Examples/CardFieldViewController.swift b/Example/UI Examples/UI Examples/Source/CardFieldViewController.swift similarity index 100% rename from Example/UI Examples/UI Examples/CardFieldViewController.swift rename to Example/UI Examples/UI Examples/Source/CardFieldViewController.swift diff --git a/Example/UI Examples/CardFormViewController.swift b/Example/UI Examples/UI Examples/Source/CardFormViewController.swift similarity index 100% rename from Example/UI Examples/CardFormViewController.swift rename to Example/UI Examples/UI Examples/Source/CardFormViewController.swift diff --git a/Example/UI Examples/UI Examples/MockCustomerContext.swift b/Example/UI Examples/UI Examples/Source/MockCustomerContext.swift similarity index 100% rename from Example/UI Examples/UI Examples/MockCustomerContext.swift rename to Example/UI Examples/UI Examples/Source/MockCustomerContext.swift diff --git a/Example/UI Examples/UI Examples/PaymentMethodMessagingViewController.swift b/Example/UI Examples/UI Examples/Source/PaymentMethodMessagingViewController.swift similarity index 100% rename from Example/UI Examples/UI Examples/PaymentMethodMessagingViewController.swift rename to Example/UI Examples/UI Examples/Source/PaymentMethodMessagingViewController.swift diff --git a/Example/UI Examples/SwiftUICardFormView.swift b/Example/UI Examples/UI Examples/Source/SwiftUICardFormView.swift similarity index 100% rename from Example/UI Examples/SwiftUICardFormView.swift rename to Example/UI Examples/UI Examples/Source/SwiftUICardFormView.swift diff --git a/Example/UI Examples/UI Examples/ThemeViewController.swift b/Example/UI Examples/UI Examples/Source/ThemeViewController.swift similarity index 100% rename from Example/UI Examples/UI Examples/ThemeViewController.swift rename to Example/UI Examples/UI Examples/Source/ThemeViewController.swift diff --git a/Example/UI Examples/UI Examples/Stripe UI Examples.entitlements b/Example/UI Examples/UI Examples/Stripe UI Examples.entitlements index c6c92d9a2e8..0c67376ebac 100644 --- a/Example/UI Examples/UI Examples/Stripe UI Examples.entitlements +++ b/Example/UI Examples/UI Examples/Stripe UI Examples.entitlements @@ -1,8 +1,5 @@ - - com.apple.developer.in-app-payments - - + diff --git a/IntegrationTester/IntegrationTester.xcodeproj/project.pbxproj b/IntegrationTester/IntegrationTester.xcodeproj/project.pbxproj deleted file mode 100644 index f5adcf4d475..00000000000 --- a/IntegrationTester/IntegrationTester.xcodeproj/project.pbxproj +++ /dev/null @@ -1,617 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 31138ED728DE67E5008AF554 /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138ED628DE67E5008AF554 /* StripePayments.framework */; }; - 31138ED828DE67E5008AF554 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138ED628DE67E5008AF554 /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31138EDA28DE67E9008AF554 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138ED928DE67E9008AF554 /* StripePaymentsUI.framework */; }; - 31138EDB28DE67E9008AF554 /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138ED928DE67E9008AF554 /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 312EB18225E48ACE00EB0BC3 /* PaymentMethodWithShippingInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312EB18125E48ACE00EB0BC3 /* PaymentMethodWithShippingInfoView.swift */; }; - 3137B6AA274380B100CE7F5C /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B6A9274380B100CE7F5C /* StripeApplePay.framework */; }; - 3137B6AB274380B100CE7F5C /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B6A9274380B100CE7F5C /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 313E26F925D4A20400D0162E /* BackendModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 313E26F825D4A20400D0162E /* BackendModel.swift */; }; - 314EF12025D47BB100BB2C70 /* CardSetupIntentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314EF11F25D47BB100BB2C70 /* CardSetupIntentsView.swift */; }; - 317E053625D48E7A006D4C29 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 317E053525D48E7A006D4C29 /* Stripe.framework */; }; - 317E053725D48E7A006D4C29 /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 317E053525D48E7A006D4C29 /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 317E053C25D48E84006D4C29 /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 317E053B25D48E84006D4C29 /* Stripe3DS2.framework */; }; - 317E053D25D48E84006D4C29 /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 317E053B25D48E84006D4C29 /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 317E054725D4AFF8006D4C29 /* HelperViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317E054625D4AFF8006D4C29 /* HelperViews.swift */; }; - 317E056725D6067B006D4C29 /* PaymentMethodView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317E056625D6067B006D4C29 /* PaymentMethodView.swift */; }; - 31875C1F25DF1EC300884BE0 /* ApplePayModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31875C1E25DF1EC300884BE0 /* ApplePayModel.swift */; }; - 31875C2225DF1EE900884BE0 /* PaymentsModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31875C2125DF1EE900884BE0 /* PaymentsModels.swift */; }; - 31875C5325DF71BA00884BE0 /* SEPADebitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31875C5225DF71BA00884BE0 /* SEPADebitView.swift */; }; - 31875C5725DF766700884BE0 /* PaymentMethodWithContactInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31875C5625DF766700884BE0 /* PaymentMethodWithContactInfoView.swift */; }; - 319D747425D1BF520058C576 /* IntegrationTesterApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 319D747325D1BF520058C576 /* IntegrationTesterApp.swift */; }; - 319D747625D1BF520058C576 /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 319D747525D1BF520058C576 /* MainMenu.swift */; }; - 319D747825D1BF530058C576 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 319D747725D1BF530058C576 /* Assets.xcassets */; }; - 319D747B25D1BF530058C576 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 319D747A25D1BF530058C576 /* Preview Assets.xcassets */; }; - 319D749125D1BF530058C576 /* IntegrationTesterUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 319D749025D1BF530058C576 /* IntegrationTesterUITests.swift */; }; - 319D74A225D1C4830058C576 /* CardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 319D74A125D1C4830058C576 /* CardView.swift */; }; - 31C976AF25D72E6400ECE9E4 /* IntegrationMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C976AE25D72E6400ECE9E4 /* IntegrationMethods.swift */; }; - 31C976B125D72E7F00ECE9E4 /* IntegrationMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C976AE25D72E6400ECE9E4 /* IntegrationMethods.swift */; }; - 31C976C725D7417500ECE9E4 /* ApplePayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C976C625D7417400ECE9E4 /* ApplePayView.swift */; }; - 31C976CB25D7422700ECE9E4 /* FPXView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C976CA25D7422700ECE9E4 /* FPXView.swift */; }; - 31C976CF25D7424900ECE9E4 /* AUBECSDebitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C976CE25D7424900ECE9E4 /* AUBECSDebitView.swift */; }; - 31C976D925D746A300ECE9E4 /* PaymentButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C976D825D746A200ECE9E4 /* PaymentButton.swift */; }; - 362AA0A1269E4F8D000DE28F /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 362AA0A0269E4F8D000DE28F /* StripeCore.framework */; }; - 362AA0A2269E4F9E000DE28F /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 362AA0A0269E4F8D000DE28F /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - E6AFFB0626E973950067462F /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFB0526E973950067462F /* StripeUICore.framework */; }; - E6AFFB0726E973950067462F /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFB0526E973950067462F /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 319D748D25D1BF530058C576 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 319D746825D1BF520058C576 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 319D746F25D1BF520058C576; - remoteInfo = IntegrationTester; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 317E053825D48E7B006D4C29 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 31138EDB28DE67E9008AF554 /* StripePaymentsUI.framework in Embed Frameworks */, - 31138ED828DE67E5008AF554 /* StripePayments.framework in Embed Frameworks */, - E6AFFB0726E973950067462F /* StripeUICore.framework in Embed Frameworks */, - 362AA0A2269E4F9E000DE28F /* StripeCore.framework in Embed Frameworks */, - 3137B6AB274380B100CE7F5C /* StripeApplePay.framework in Embed Frameworks */, - 317E053725D48E7A006D4C29 /* Stripe.framework in Embed Frameworks */, - 317E053D25D48E84006D4C29 /* Stripe3DS2.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 31138ED628DE67E5008AF554 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31138ED928DE67E9008AF554 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 312EB18125E48ACE00EB0BC3 /* PaymentMethodWithShippingInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodWithShippingInfoView.swift; sourceTree = ""; }; - 3137B6A9274380B100CE7F5C /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 313E26F825D4A20400D0162E /* BackendModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackendModel.swift; sourceTree = ""; }; - 314EF11F25D47BB100BB2C70 /* CardSetupIntentsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardSetupIntentsView.swift; sourceTree = ""; }; - 317E053525D48E7A006D4C29 /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 317E053B25D48E84006D4C29 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 317E054625D4AFF8006D4C29 /* HelperViews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelperViews.swift; sourceTree = ""; }; - 317E055925D5D630006D4C29 /* IntegrationTester.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = IntegrationTester.entitlements; sourceTree = ""; }; - 317E056625D6067B006D4C29 /* PaymentMethodView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodView.swift; sourceTree = ""; }; - 31875C1E25DF1EC300884BE0 /* ApplePayModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplePayModel.swift; sourceTree = ""; }; - 31875C2125DF1EE900884BE0 /* PaymentsModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentsModels.swift; sourceTree = ""; }; - 31875C5225DF71BA00884BE0 /* SEPADebitView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SEPADebitView.swift; sourceTree = ""; }; - 31875C5625DF766700884BE0 /* PaymentMethodWithContactInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodWithContactInfoView.swift; sourceTree = ""; }; - 319D747025D1BF520058C576 /* IntegrationTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IntegrationTester.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 319D747325D1BF520058C576 /* IntegrationTesterApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntegrationTesterApp.swift; sourceTree = ""; }; - 319D747525D1BF520058C576 /* MainMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenu.swift; sourceTree = ""; }; - 319D747725D1BF530058C576 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 319D747A25D1BF530058C576 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; - 319D747C25D1BF530058C576 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 319D748C25D1BF530058C576 /* IntegrationTesterUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IntegrationTesterUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 319D749025D1BF530058C576 /* IntegrationTesterUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntegrationTesterUITests.swift; sourceTree = ""; }; - 319D749225D1BF530058C576 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 319D74A125D1C4830058C576 /* CardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardView.swift; sourceTree = ""; }; - 31C976AE25D72E6400ECE9E4 /* IntegrationMethods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntegrationMethods.swift; sourceTree = ""; }; - 31C976C625D7417400ECE9E4 /* ApplePayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplePayView.swift; sourceTree = ""; }; - 31C976CA25D7422700ECE9E4 /* FPXView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPXView.swift; sourceTree = ""; }; - 31C976CE25D7424900ECE9E4 /* AUBECSDebitView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AUBECSDebitView.swift; sourceTree = ""; }; - 31C976D825D746A200ECE9E4 /* PaymentButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentButton.swift; sourceTree = ""; }; - 362AA0A0269E4F8D000DE28F /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6AFFB0526E973950067462F /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 319D746D25D1BF520058C576 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 31138EDA28DE67E9008AF554 /* StripePaymentsUI.framework in Frameworks */, - 31138ED728DE67E5008AF554 /* StripePayments.framework in Frameworks */, - E6AFFB0626E973950067462F /* StripeUICore.framework in Frameworks */, - 317E053625D48E7A006D4C29 /* Stripe.framework in Frameworks */, - 3137B6AA274380B100CE7F5C /* StripeApplePay.framework in Frameworks */, - 362AA0A1269E4F8D000DE28F /* StripeCore.framework in Frameworks */, - 317E053C25D48E84006D4C29 /* Stripe3DS2.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 319D748925D1BF530058C576 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 317E053425D48E7A006D4C29 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 31138ED928DE67E9008AF554 /* StripePaymentsUI.framework */, - 31138ED628DE67E5008AF554 /* StripePayments.framework */, - 3137B6A9274380B100CE7F5C /* StripeApplePay.framework */, - E6AFFB0526E973950067462F /* StripeUICore.framework */, - 362AA0A0269E4F8D000DE28F /* StripeCore.framework */, - 317E053B25D48E84006D4C29 /* Stripe3DS2.framework */, - 317E053525D48E7A006D4C29 /* Stripe.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 317E054E25D4B89B006D4C29 /* Views */ = { - isa = PBXGroup; - children = ( - 31C976C625D7417400ECE9E4 /* ApplePayView.swift */, - 31C976CE25D7424900ECE9E4 /* AUBECSDebitView.swift */, - 319D74A125D1C4830058C576 /* CardView.swift */, - 314EF11F25D47BB100BB2C70 /* CardSetupIntentsView.swift */, - 31C976CA25D7422700ECE9E4 /* FPXView.swift */, - 31875C5225DF71BA00884BE0 /* SEPADebitView.swift */, - 317E056625D6067B006D4C29 /* PaymentMethodView.swift */, - 31875C5625DF766700884BE0 /* PaymentMethodWithContactInfoView.swift */, - 312EB18125E48ACE00EB0BC3 /* PaymentMethodWithShippingInfoView.swift */, - ); - path = Views; - sourceTree = ""; - }; - 31875C1D25DF1E8400884BE0 /* Models */ = { - isa = PBXGroup; - children = ( - 313E26F825D4A20400D0162E /* BackendModel.swift */, - 31875C1E25DF1EC300884BE0 /* ApplePayModel.swift */, - 31875C2125DF1EE900884BE0 /* PaymentsModels.swift */, - ); - path = Models; - sourceTree = ""; - }; - 319D746725D1BF520058C576 = { - isa = PBXGroup; - children = ( - 319D747225D1BF520058C576 /* IntegrationTester */, - 319D748F25D1BF530058C576 /* IntegrationTesterUITests */, - 319D747125D1BF520058C576 /* Products */, - 317E053425D48E7A006D4C29 /* Frameworks */, - ); - sourceTree = ""; - }; - 319D747125D1BF520058C576 /* Products */ = { - isa = PBXGroup; - children = ( - 319D747025D1BF520058C576 /* IntegrationTester.app */, - 319D748C25D1BF530058C576 /* IntegrationTesterUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 319D747225D1BF520058C576 /* IntegrationTester */ = { - isa = PBXGroup; - children = ( - 317E055925D5D630006D4C29 /* IntegrationTester.entitlements */, - 319D747325D1BF520058C576 /* IntegrationTesterApp.swift */, - 319D747525D1BF520058C576 /* MainMenu.swift */, - 31C976AE25D72E6400ECE9E4 /* IntegrationMethods.swift */, - 31875C1D25DF1E8400884BE0 /* Models */, - 317E054E25D4B89B006D4C29 /* Views */, - 31C976DC25D746CB00ECE9E4 /* HelperViews */, - 319D747725D1BF530058C576 /* Assets.xcassets */, - 319D747C25D1BF530058C576 /* Info.plist */, - 319D747925D1BF530058C576 /* Preview Content */, - ); - path = IntegrationTester; - sourceTree = ""; - }; - 319D747925D1BF530058C576 /* Preview Content */ = { - isa = PBXGroup; - children = ( - 319D747A25D1BF530058C576 /* Preview Assets.xcassets */, - ); - path = "Preview Content"; - sourceTree = ""; - }; - 319D748F25D1BF530058C576 /* IntegrationTesterUITests */ = { - isa = PBXGroup; - children = ( - 319D749025D1BF530058C576 /* IntegrationTesterUITests.swift */, - 319D749225D1BF530058C576 /* Info.plist */, - ); - path = IntegrationTesterUITests; - sourceTree = ""; - }; - 31C976DC25D746CB00ECE9E4 /* HelperViews */ = { - isa = PBXGroup; - children = ( - 317E054625D4AFF8006D4C29 /* HelperViews.swift */, - 31C976D825D746A200ECE9E4 /* PaymentButton.swift */, - ); - path = HelperViews; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 319D746F25D1BF520058C576 /* IntegrationTester */ = { - isa = PBXNativeTarget; - buildConfigurationList = 319D749525D1BF530058C576 /* Build configuration list for PBXNativeTarget "IntegrationTester" */; - buildPhases = ( - 319D746C25D1BF520058C576 /* Sources */, - 319D746D25D1BF520058C576 /* Frameworks */, - 319D746E25D1BF520058C576 /* Resources */, - 317E053825D48E7B006D4C29 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = IntegrationTester; - productName = IntegrationTester; - productReference = 319D747025D1BF520058C576 /* IntegrationTester.app */; - productType = "com.apple.product-type.application"; - }; - 319D748B25D1BF530058C576 /* IntegrationTesterUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 319D749B25D1BF530058C576 /* Build configuration list for PBXNativeTarget "IntegrationTesterUITests" */; - buildPhases = ( - 319D748825D1BF530058C576 /* Sources */, - 319D748925D1BF530058C576 /* Frameworks */, - 319D748A25D1BF530058C576 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 319D748E25D1BF530058C576 /* PBXTargetDependency */, - ); - name = IntegrationTesterUITests; - productName = IntegrationTesterUITests; - productReference = 319D748C25D1BF530058C576 /* IntegrationTesterUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 319D746825D1BF520058C576 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1240; - LastUpgradeCheck = 1240; - ORGANIZATIONNAME = "Stripe, Inc"; - TargetAttributes = { - 319D746F25D1BF520058C576 = { - CreatedOnToolsVersion = 12.4; - }; - 319D748B25D1BF530058C576 = { - CreatedOnToolsVersion = 12.4; - TestTargetID = 319D746F25D1BF520058C576; - }; - }; - }; - buildConfigurationList = 319D746B25D1BF520058C576 /* Build configuration list for PBXProject "IntegrationTester" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 319D746725D1BF520058C576; - productRefGroup = 319D747125D1BF520058C576 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 319D746F25D1BF520058C576 /* IntegrationTester */, - 319D748B25D1BF530058C576 /* IntegrationTesterUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 319D746E25D1BF520058C576 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 319D747B25D1BF530058C576 /* Preview Assets.xcassets in Resources */, - 319D747825D1BF530058C576 /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 319D748A25D1BF530058C576 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 319D746C25D1BF520058C576 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 31C976C725D7417500ECE9E4 /* ApplePayView.swift in Sources */, - 31C976CF25D7424900ECE9E4 /* AUBECSDebitView.swift in Sources */, - 317E054725D4AFF8006D4C29 /* HelperViews.swift in Sources */, - 31875C5325DF71BA00884BE0 /* SEPADebitView.swift in Sources */, - 31875C2225DF1EE900884BE0 /* PaymentsModels.swift in Sources */, - 31C976AF25D72E6400ECE9E4 /* IntegrationMethods.swift in Sources */, - 31C976CB25D7422700ECE9E4 /* FPXView.swift in Sources */, - 319D74A225D1C4830058C576 /* CardView.swift in Sources */, - 319D747625D1BF520058C576 /* MainMenu.swift in Sources */, - 31C976D925D746A300ECE9E4 /* PaymentButton.swift in Sources */, - 31875C1F25DF1EC300884BE0 /* ApplePayModel.swift in Sources */, - 31875C5725DF766700884BE0 /* PaymentMethodWithContactInfoView.swift in Sources */, - 317E056725D6067B006D4C29 /* PaymentMethodView.swift in Sources */, - 313E26F925D4A20400D0162E /* BackendModel.swift in Sources */, - 312EB18225E48ACE00EB0BC3 /* PaymentMethodWithShippingInfoView.swift in Sources */, - 319D747425D1BF520058C576 /* IntegrationTesterApp.swift in Sources */, - 314EF12025D47BB100BB2C70 /* CardSetupIntentsView.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 319D748825D1BF530058C576 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 319D749125D1BF530058C576 /* IntegrationTesterUITests.swift in Sources */, - 31C976B125D72E7F00ECE9E4 /* IntegrationMethods.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 319D748E25D1BF530058C576 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 319D746F25D1BF520058C576 /* IntegrationTester */; - targetProxy = 319D748D25D1BF530058C576 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 319D749325D1BF530058C576 /* Debug */ = { - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 14.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"; - }; - name = Debug; - }; - 319D749425D1BF530058C576 /* Release */ = { - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 14.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 319D749625D1BF530058C576 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = IntegrationTester/IntegrationTester.entitlements; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_ASSET_PATHS = "\"IntegrationTester/Preview Content\""; - DEVELOPMENT_TEAM = Y28TH9SHX7; - ENABLE_PREVIEWS = YES; - INFOPLIST_FILE = IntegrationTester/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTester; - PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTS_MACCATALYST = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,6"; - }; - name = Debug; - }; - 319D749725D1BF530058C576 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = IntegrationTester/IntegrationTester.entitlements; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_ASSET_PATHS = "\"IntegrationTester/Preview Content\""; - DEVELOPMENT_TEAM = Y28TH9SHX7; - ENABLE_PREVIEWS = YES; - INFOPLIST_FILE = IntegrationTester/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTester; - PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTS_MACCATALYST = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,6"; - }; - name = Release; - }; - 319D749C25D1BF530058C576 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = IntegrationTesterUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTesterUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = IntegrationTester; - }; - name = Debug; - }; - 319D749D25D1BF530058C576 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = IntegrationTesterUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTesterUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = IntegrationTester; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 319D746B25D1BF520058C576 /* Build configuration list for PBXProject "IntegrationTester" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 319D749325D1BF530058C576 /* Debug */, - 319D749425D1BF530058C576 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 319D749525D1BF530058C576 /* Build configuration list for PBXNativeTarget "IntegrationTester" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 319D749625D1BF530058C576 /* Debug */, - 319D749725D1BF530058C576 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 319D749B25D1BF530058C576 /* Build configuration list for PBXNativeTarget "IntegrationTesterUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 319D749C25D1BF530058C576 /* Debug */, - 319D749D25D1BF530058C576 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 319D746825D1BF520058C576 /* Project object */; -} diff --git a/LocalizationTester/Base.lproj/LaunchScreen.storyboard b/LocalizationTester/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f83f6fd5810..00000000000 --- a/LocalizationTester/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/LocalizationTester/LocalizationTester.xcodeproj/project.pbxproj b/LocalizationTester/LocalizationTester.xcodeproj/project.pbxproj deleted file mode 100644 index e16603d8580..00000000000 --- a/LocalizationTester/LocalizationTester.xcodeproj/project.pbxproj +++ /dev/null @@ -1,663 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 31138ED128DE67D9008AF554 /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138ED028DE67D9008AF554 /* StripePayments.framework */; }; - 31138ED228DE67D9008AF554 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138ED028DE67D9008AF554 /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31138ED428DE67DD008AF554 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31138ED328DE67DD008AF554 /* StripePaymentsUI.framework */; }; - 31138ED528DE67DD008AF554 /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31138ED328DE67DD008AF554 /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31176A372565EA43008864DC /* LaunchScreen.strings in Resources */ = {isa = PBXBuildFile; fileRef = 31176A062565EA43008864DC /* LaunchScreen.strings */; }; - 31176A382565EA43008864DC /* MockCustomerContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 31176A0D2565EA43008864DC /* MockCustomerContext.m */; }; - 31176A392565EA43008864DC /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 31176A2E2565EA43008864DC /* AppDelegate.m */; }; - 31176A3A2565EA43008864DC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 31176A172565EA43008864DC /* Assets.xcassets */; }; - 31176A402565EA43008864DC /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 31176A1B2565EA43008864DC /* LaunchScreen.storyboard */; }; - 31176A422565EA43008864DC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 31176A322565EA43008864DC /* main.m */; }; - 31176A5F2565EACA008864DC /* LocalizationTesterUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 31176A5E2565EACA008864DC /* LocalizationTesterUITests.m */; }; - 31176A6A2565EB2D008864DC /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31176A692565EB2D008864DC /* Stripe.framework */; }; - 31176A6B2565EB2D008864DC /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31176A692565EB2D008864DC /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31176A6E2565EB59008864DC /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 31176A6D2565EB59008864DC /* ViewController.m */; }; - 3137B6A7274380A900CE7F5C /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B6A6274380A900CE7F5C /* StripeApplePay.framework */; }; - 3137B6A8274380A900CE7F5C /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B6A6274380A900CE7F5C /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31EFEE1B258AE4210069BC5F /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31EFEE1A258AE4210069BC5F /* Stripe3DS2.framework */; }; - 31EFEE1C258AE4210069BC5F /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31EFEE1A258AE4210069BC5F /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 362AA0A4269E4FCA000DE28F /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 362AA0A3269E4FCA000DE28F /* StripeCore.framework */; }; - 362AA0A5269E4FD1000DE28F /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 362AA0A3269E4FCA000DE28F /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - E6AFFB0326E9738E0067462F /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFB0226E9738E0067462F /* StripeUICore.framework */; }; - E6AFFB0426E9738E0067462F /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFB0226E9738E0067462F /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 31176A612565EACA008864DC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 311769D72565E9B8008864DC /* Project object */; - proxyType = 1; - remoteGlobalIDString = 311769DE2565E9B8008864DC; - remoteInfo = LocalizationTester; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 31176A6C2565EB2D008864DC /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 31138ED528DE67DD008AF554 /* StripePaymentsUI.framework in Embed Frameworks */, - 31138ED228DE67D9008AF554 /* StripePayments.framework in Embed Frameworks */, - E6AFFB0426E9738E0067462F /* StripeUICore.framework in Embed Frameworks */, - 362AA0A5269E4FD1000DE28F /* StripeCore.framework in Embed Frameworks */, - 3137B6A8274380A900CE7F5C /* StripeApplePay.framework in Embed Frameworks */, - 31176A6B2565EB2D008864DC /* Stripe.framework in Embed Frameworks */, - 31EFEE1C258AE4210069BC5F /* Stripe3DS2.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 31138ED028DE67D9008AF554 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31138ED328DE67DD008AF554 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 311769DF2565E9B8008864DC /* LocalizationTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LocalizationTester.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 31176A072565EA43008864DC /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A082565EA43008864DC /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 31176A092565EA43008864DC /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A0A2565EA43008864DC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A0B2565EA43008864DC /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 31176A0C2565EA43008864DC /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 31176A0D2565EA43008864DC /* MockCustomerContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MockCustomerContext.m; sourceTree = ""; }; - 31176A0E2565EA43008864DC /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A0F2565EA43008864DC /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A102565EA43008864DC /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 31176A112565EA43008864DC /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A122565EA43008864DC /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A132565EA43008864DC /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 31176A142565EA43008864DC /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A152565EA43008864DC /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 31176A162565EA43008864DC /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 31176A172565EA43008864DC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 31176A182565EA43008864DC /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A1A2565EA43008864DC /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A1C2565EA43008864DC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 31176A1D2565EA43008864DC /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 31176A1E2565EA43008864DC /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A1F2565EA43008864DC /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A212565EA43008864DC /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 31176A222565EA43008864DC /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A232565EA43008864DC /* MockCustomerContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockCustomerContext.h; sourceTree = ""; }; - 31176A242565EA43008864DC /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 31176A252565EA43008864DC /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A262565EA43008864DC /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A272565EA43008864DC /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/LaunchScreen.strings; sourceTree = ""; }; - 31176A2B2565EA43008864DC /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 31176A2E2565EA43008864DC /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 31176A2F2565EA43008864DC /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - 31176A322565EA43008864DC /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 31176A342565EA43008864DC /* MockCustomerContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockCustomerContext.h; sourceTree = ""; }; - 31176A5C2565EACA008864DC /* LocalizationTesterUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LocalizationTesterUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 31176A5E2565EACA008864DC /* LocalizationTesterUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LocalizationTesterUITests.m; sourceTree = ""; }; - 31176A602565EACA008864DC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 31176A692565EB2D008864DC /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31176A6D2565EB59008864DC /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - 31176A802565F093008864DC /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3137B6A6274380A900CE7F5C /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31EFEE1A258AE4210069BC5F /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 36064BA726D6E774002A8AAA /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BAE26D830D4002A8AAA /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BB526D8316E002A8AAA /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BB626D8319A002A8AAA /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BC726D833E0002A8AAA /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BCF26D834B4002A8AAA /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BD726D83551002A8AAA /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BDF26D835DD002A8AAA /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BE726D83656002A8AAA /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BEF26D836DC002A8AAA /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BF726D837CB002A8AAA /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 36064BFF26D83855002A8AAA /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/LaunchScreen.strings"; sourceTree = ""; }; - 362AA0A3269E4FCA000DE28F /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 36F4BC8026C1BC74001518CD /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36F4BC8926C1BCF7001518CD /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36F4BCA126C1BDFB001518CD /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/LaunchScreen.strings; sourceTree = ""; }; - 36F4BCA926C1BFB5001518CD /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/LaunchScreen.strings; sourceTree = ""; }; - E6AFFB0226E9738E0067462F /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 311769DC2565E9B8008864DC /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 31138ED428DE67DD008AF554 /* StripePaymentsUI.framework in Frameworks */, - 31138ED128DE67D9008AF554 /* StripePayments.framework in Frameworks */, - E6AFFB0326E9738E0067462F /* StripeUICore.framework in Frameworks */, - 362AA0A4269E4FCA000DE28F /* StripeCore.framework in Frameworks */, - 3137B6A7274380A900CE7F5C /* StripeApplePay.framework in Frameworks */, - 31176A6A2565EB2D008864DC /* Stripe.framework in Frameworks */, - 31EFEE1B258AE4210069BC5F /* Stripe3DS2.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 31176A592565EACA008864DC /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 311769D62565E9B8008864DC = { - isa = PBXGroup; - children = ( - 31176A052565EA43008864DC /* LocalizationTester */, - 31176A5D2565EACA008864DC /* LocalizationTesterUITests */, - 311769E02565E9B8008864DC /* Products */, - 31176A682565EB2D008864DC /* Frameworks */, - ); - sourceTree = ""; - }; - 311769E02565E9B8008864DC /* Products */ = { - isa = PBXGroup; - children = ( - 311769DF2565E9B8008864DC /* LocalizationTester.app */, - 31176A5C2565EACA008864DC /* LocalizationTesterUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 31176A052565EA43008864DC /* LocalizationTester */ = { - isa = PBXGroup; - children = ( - 31176A802565F093008864DC /* Info.plist */, - 31176A0C2565EA43008864DC /* AppDelegate.h */, - 31176A2E2565EA43008864DC /* AppDelegate.m */, - 31176A172565EA43008864DC /* Assets.xcassets */, - 31176A1B2565EA43008864DC /* LaunchScreen.storyboard */, - 31176A062565EA43008864DC /* LaunchScreen.strings */, - 31176A342565EA43008864DC /* MockCustomerContext.h */, - 31176A0D2565EA43008864DC /* MockCustomerContext.m */, - 31176A6D2565EB59008864DC /* ViewController.m */, - 31176A2F2565EA43008864DC /* ViewController.h */, - 31176A322565EA43008864DC /* main.m */, - 31176A232565EA43008864DC /* MockCustomerContext.h */, - 31176A242565EA43008864DC /* AppDelegate.m */, - ); - name = LocalizationTester; - sourceTree = ""; - }; - 31176A5D2565EACA008864DC /* LocalizationTesterUITests */ = { - isa = PBXGroup; - children = ( - 31176A5E2565EACA008864DC /* LocalizationTesterUITests.m */, - 31176A602565EACA008864DC /* Info.plist */, - ); - path = LocalizationTesterUITests; - sourceTree = ""; - }; - 31176A682565EB2D008864DC /* Frameworks */ = { - isa = PBXGroup; - children = ( - 31138ED328DE67DD008AF554 /* StripePaymentsUI.framework */, - 31138ED028DE67D9008AF554 /* StripePayments.framework */, - 3137B6A6274380A900CE7F5C /* StripeApplePay.framework */, - E6AFFB0226E9738E0067462F /* StripeUICore.framework */, - 362AA0A3269E4FCA000DE28F /* StripeCore.framework */, - 31EFEE1A258AE4210069BC5F /* Stripe3DS2.framework */, - 31176A692565EB2D008864DC /* Stripe.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 311769DE2565E9B8008864DC /* LocalizationTester */ = { - isa = PBXNativeTarget; - buildConfigurationList = 311769F82565E9B9008864DC /* Build configuration list for PBXNativeTarget "LocalizationTester" */; - buildPhases = ( - 311769DB2565E9B8008864DC /* Sources */, - 311769DC2565E9B8008864DC /* Frameworks */, - 311769DD2565E9B8008864DC /* Resources */, - 31176A6C2565EB2D008864DC /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = LocalizationTester; - productName = LocalizationTester; - productReference = 311769DF2565E9B8008864DC /* LocalizationTester.app */; - productType = "com.apple.product-type.application"; - }; - 31176A5B2565EACA008864DC /* LocalizationTesterUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 31176A632565EACA008864DC /* Build configuration list for PBXNativeTarget "LocalizationTesterUITests" */; - buildPhases = ( - 31176A582565EACA008864DC /* Sources */, - 31176A592565EACA008864DC /* Frameworks */, - 31176A5A2565EACA008864DC /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 31176A622565EACA008864DC /* PBXTargetDependency */, - ); - name = LocalizationTesterUITests; - productName = LocalizationTesterUITests; - productReference = 31176A5C2565EACA008864DC /* LocalizationTesterUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 311769D72565E9B8008864DC /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1220; - ORGANIZATIONNAME = "Stripe, Inc"; - TargetAttributes = { - 311769DE2565E9B8008864DC = { - CreatedOnToolsVersion = 12.2; - }; - 31176A5B2565EACA008864DC = { - CreatedOnToolsVersion = 12.2; - TestTargetID = 311769DE2565E9B8008864DC; - }; - }; - }; - buildConfigurationList = 311769DA2565E9B8008864DC /* Build configuration list for PBXProject "LocalizationTester" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - de, - "zh-Hans", - ja, - "zh-HK", - mt, - nb, - "en-GB", - es, - da, - "es-419", - it, - "nn-NO", - "fr-CA", - sv, - ko, - "zh-Hant", - hu, - tr, - "pt-BR", - ru, - fr, - fi, - nl, - "pt-PT", - hr, - fil, - vi, - id, - "ms-MY", - "bg-BG", - "ca-ES", - "cs-CZ", - "et-EE", - "el-GR", - "lt-LT", - "lv-LV", - "pl-PL", - "ro-RO", - "sk-SK", - "sl-SI", - ); - mainGroup = 311769D62565E9B8008864DC; - productRefGroup = 311769E02565E9B8008864DC /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 311769DE2565E9B8008864DC /* LocalizationTester */, - 31176A5B2565EACA008864DC /* LocalizationTesterUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 311769DD2565E9B8008864DC /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 31176A3A2565EA43008864DC /* Assets.xcassets in Resources */, - 31176A402565EA43008864DC /* LaunchScreen.storyboard in Resources */, - 31176A372565EA43008864DC /* LaunchScreen.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 31176A5A2565EACA008864DC /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 311769DB2565E9B8008864DC /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 31176A6E2565EB59008864DC /* ViewController.m in Sources */, - 31176A392565EA43008864DC /* AppDelegate.m in Sources */, - 31176A382565EA43008864DC /* MockCustomerContext.m in Sources */, - 31176A422565EA43008864DC /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 31176A582565EACA008864DC /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 31176A5F2565EACA008864DC /* LocalizationTesterUITests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 31176A622565EACA008864DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 311769DE2565E9B8008864DC /* LocalizationTester */; - targetProxy = 31176A612565EACA008864DC /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 31176A062565EA43008864DC /* LaunchScreen.strings */ = { - isa = PBXVariantGroup; - children = ( - 31176A072565EA43008864DC /* de */, - 31176A082565EA43008864DC /* zh-Hans */, - 31176A092565EA43008864DC /* ja */, - 31176A0A2565EA43008864DC /* en */, - 31176A0B2565EA43008864DC /* zh-HK */, - 31176A0E2565EA43008864DC /* mt */, - 31176A0F2565EA43008864DC /* nb */, - 31176A102565EA43008864DC /* en-GB */, - 31176A112565EA43008864DC /* es */, - 31176A122565EA43008864DC /* da */, - 31176A132565EA43008864DC /* es-419 */, - 31176A142565EA43008864DC /* it */, - 31176A152565EA43008864DC /* nn-NO */, - 31176A162565EA43008864DC /* fr-CA */, - 31176A182565EA43008864DC /* sv */, - 31176A1A2565EA43008864DC /* ko */, - 31176A1D2565EA43008864DC /* zh-Hant */, - 31176A1E2565EA43008864DC /* hu */, - 31176A1F2565EA43008864DC /* tr */, - 31176A212565EA43008864DC /* pt-BR */, - 31176A222565EA43008864DC /* ru */, - 31176A252565EA43008864DC /* fr */, - 31176A262565EA43008864DC /* fi */, - 31176A272565EA43008864DC /* nl */, - 31176A2B2565EA43008864DC /* pt-PT */, - ); - name = LaunchScreen.strings; - sourceTree = ""; - }; - 31176A1B2565EA43008864DC /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 31176A1C2565EA43008864DC /* Base */, - 36F4BC8026C1BC74001518CD /* hr */, - 36F4BC8926C1BCF7001518CD /* fil */, - 36F4BCA126C1BDFB001518CD /* vi */, - 36F4BCA926C1BFB5001518CD /* id */, - 36064BA726D6E774002A8AAA /* ms-MY */, - 36064BAE26D830D4002A8AAA /* bg-BG */, - 36064BB526D8316E002A8AAA /* ca-ES */, - 36064BB626D8319A002A8AAA /* cs-CZ */, - 36064BC726D833E0002A8AAA /* et-EE */, - 36064BCF26D834B4002A8AAA /* el-GR */, - 36064BD726D83551002A8AAA /* lt-LT */, - 36064BDF26D835DD002A8AAA /* lv-LV */, - 36064BE726D83656002A8AAA /* pl-PL */, - 36064BEF26D836DC002A8AAA /* ro-RO */, - 36064BF726D837CB002A8AAA /* sk-SK */, - 36064BFF26D83855002A8AAA /* sl-SI */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 311769F62565E9B9008864DC /* Debug */ = { - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 311769F72565E9B9008864DC /* Release */ = { - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - COPY_PHASE_STRIP = NO; - 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 = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 311769F92565E9B9008864DC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.LocalizationTester; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 311769FA2565E9B9008864DC /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.LocalizationTester; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 31176A642565EACA008864DC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = LocalizationTesterUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.LocalizationTesterUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = LocalizationTester; - }; - name = Debug; - }; - 31176A652565EACA008864DC /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = LocalizationTesterUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.LocalizationTesterUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = LocalizationTester; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 311769DA2565E9B8008864DC /* Build configuration list for PBXProject "LocalizationTester" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 311769F62565E9B9008864DC /* Debug */, - 311769F72565E9B9008864DC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 311769F82565E9B9008864DC /* Build configuration list for PBXNativeTarget "LocalizationTester" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 311769F92565E9B9008864DC /* Debug */, - 311769FA2565E9B9008864DC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 31176A632565EACA008864DC /* Build configuration list for PBXNativeTarget "LocalizationTesterUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 31176A642565EACA008864DC /* Debug */, - 31176A652565EACA008864DC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 311769D72565E9B8008864DC /* Project object */; -} diff --git a/LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Package.swift b/Package.swift index ac145604777..04d54d02af7 100644 --- a/Package.swift +++ b/Package.swift @@ -45,7 +45,7 @@ let package = Package( .target( name: "Stripe", dependencies: ["Stripe3DS2", "StripeCore", "StripeApplePay", "StripeUICore", "StripePayments", "StripePaymentsUI"], - path: "Stripe", + path: "Stripe/StripeiOS", exclude: ["Info.plist"], resources: [ .process("Info.plist"), @@ -59,6 +59,9 @@ let package = Package( resources: [ .process("Info.plist"), .process("Resources") + ], + cSettings: [ + .headerSearchPath(".") ] ), .target( diff --git a/Stripe.podspec b/Stripe.podspec index eb5e0cc094e..201a7289ffe 100644 --- a/Stripe.podspec +++ b/Stripe.podspec @@ -16,8 +16,8 @@ Pod::Spec.new do |s| s.swift_version = '5.0' s.ios.deployment_target = '13.0' s.weak_framework = 'SwiftUI' - s.source_files = 'Stripe/*.swift' - s.ios.resource_bundle = { 'Stripe' => 'Stripe/Resources/**/*.{lproj,json,png,xcassets}' } + s.source_files = 'Stripe/StripeiOS/Source/*.swift' + s.ios.resource_bundle = { 'Stripe' => 'Stripe/StripeiOS/Resources/**/*.{lproj,json,png,xcassets}' } s.dependency 'StripeCore', s.version.to_s s.dependency 'StripeUICore', s.version.to_s s.dependency 'StripeApplePay', s.version.to_s diff --git a/Stripe.xcodeproj/project.pbxproj b/Stripe.xcodeproj/project.pbxproj deleted file mode 100644 index b55ada6f053..00000000000 --- a/Stripe.xcodeproj/project.pbxproj +++ /dev/null @@ -1,3028 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 52; - objects = { - -/* Begin PBXBuildFile section */ - 04415C6B1A6605B5001225ED /* STPBankAccountFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 04CDB5221A5F3A9300B854EE /* STPBankAccountFunctionalTest.m */; }; - 04415C6C1A6605B5001225ED /* STPBankAccountTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 04CDB5231A5F3A9300B854EE /* STPBankAccountTest.m */; }; - 04415C6D1A6605B5001225ED /* STPCardFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 04CDB5241A5F3A9300B854EE /* STPCardFunctionalTest.m */; }; - 04415C701A6605B5001225ED /* STPTokenTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 04CDB5271A5F3A9300B854EE /* STPTokenTest.m */; }; - 04533E7D1A6877F400C7E52E /* PassKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04D5BF9019BF958F009521A5 /* PassKit.framework */; settings = {ATTRIBUTES = (Required, ); }; }; - 045E7C091A5F41DE004751EF /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04CDB4421A5F2E1800B854EE /* Stripe.framework */; }; - 04A4C3941C4F276100B3B290 /* STPUIVCStripeParentViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A4C3931C4F276100B3B290 /* STPUIVCStripeParentViewControllerTests.m */; }; - 04E01F8A21AA55E30061402F /* recorded_network_traffic in Resources */ = {isa = PBXBuildFile; fileRef = 04E01F8921AA55E30061402F /* recorded_network_traffic */; }; - 0FC7C95025B0EAF900E99D3E /* STPPaymentMethodAfterpayClearpayParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FC7C94F25B0EAF900E99D3E /* STPPaymentMethodAfterpayClearpayParamsTest.m */; }; - 0FC7C95325B1075D00E99D3E /* STPPaymentMethodAfterpayClearpayTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FC7C95225B1075D00E99D3E /* STPPaymentMethodAfterpayClearpayTest.m */; }; - 3111BE792513039700288D28 /* STPShippingMethodTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD6C25117C9700CC59EF /* STPShippingMethodTableViewCell.swift */; }; - 3111BE9F251316E600288D28 /* STPAddCardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDAD25117C9A00CC59EF /* STPAddCardViewController.swift */; }; - 3111C2FE252688B800207E32 /* STPFakeAddPaymentPassViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE1B25117CA100CC59EF /* STPFakeAddPaymentPassViewController.swift */; }; - 3111C31125269B0700207E32 /* STPPaymentOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDA725117C9A00CC59EF /* STPPaymentOption.swift */; }; - 3111C31E2526A85C00207E32 /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD5525117C9500CC59EF /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift */; }; - 3111C3222526A9C600207E32 /* PKAddPaymentPassRequest+Stripe_Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDB925117C9B00CC59EF /* PKAddPaymentPassRequest+Stripe_Error.swift */; }; - 3111C33D2526C2A300207E32 /* STPPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD8525117C9800CC59EF /* STPPromise.swift */; }; - 3111C3522527871300207E32 /* STPCustomerContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE1325117CA000CC59EF /* STPCustomerContext.swift */; }; - 3111C35725279C3B00207E32 /* STPSwiftFixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C35625279C3B00207E32 /* STPSwiftFixtures.swift */; }; - 3111C3612527B62C00207E32 /* STPBackendAPIAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE1825117CA100CC59EF /* STPBackendAPIAdapter.swift */; }; - 3111C3692527BC4200207E32 /* STPAddressFieldTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDFE25117C9F00CC59EF /* STPAddressFieldTableViewCell.swift */; }; - 3111C550252BCFFD00207E32 /* NSArray+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C411252BC7A100207E32 /* NSArray+StripeTest.swift */; }; - 3111C552252BD00400207E32 /* NSDecimalNumber+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B3252BC79200207E32 /* NSDecimalNumber+StripeTest.swift */; }; - 3111C555252BD8DD00207E32 /* NSDictionary+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B0252BC79100207E32 /* NSDictionary+StripeTest.swift */; }; - 3111C55F252BDB0000207E32 /* NSString+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3F6252BC79D00207E32 /* NSString+StripeTest.swift */; }; - 3111C562252BDB8500207E32 /* NSURLComponents_StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C38D252BC78C00207E32 /* NSURLComponents_StripeTest.swift */; }; - 3111C565252BDBCB00207E32 /* PKPayment+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3E5252BC79A00207E32 /* PKPayment+StripeTest.swift */; }; - 3111C568252BDCF400207E32 /* STPAddCardViewControllerLocalizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3AE252BC79100207E32 /* STPAddCardViewControllerLocalizationTests.swift */; }; - 3111C56B252BDD5000207E32 /* FBSnapshotTestCase+STPViewControllerLoading.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3F7252BC79D00207E32 /* FBSnapshotTestCase+STPViewControllerLoading.swift */; }; - 3111C584252BE87600207E32 /* STPTestingAPIClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 3666589A23FF494400D00354 /* STPTestingAPIClient.h */; }; - 3111C58D252BEC9900207E32 /* STPNumericStringValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3E8252BC79A00207E32 /* STPNumericStringValidatorTests.swift */; }; - 3111C598252BED0500207E32 /* STPPhoneNumberValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C398252BC78E00207E32 /* STPPhoneNumberValidatorTest.swift */; }; - 3111C59B252BEE6700207E32 /* STPBSBNumberValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B4252BC79200207E32 /* STPBSBNumberValidatorTests.swift */; }; - 3111C59E252BEFCD00207E32 /* STPPaymentMethodBancontactTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C39A252BC78E00207E32 /* STPPaymentMethodBancontactTests.swift */; }; - 3111C5A2252BF16000207E32 /* STPFormTextFieldTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3F1252BC79C00207E32 /* STPFormTextFieldTest.swift */; }; - 3111C5AA252BF40100207E32 /* STPNetworkStubbingTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3BB252BC79300207E32 /* STPNetworkStubbingTestCase.swift */; }; - 3111C5AD252BF41200207E32 /* STPPinManagementServiceFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3FB252BC79E00207E32 /* STPPinManagementServiceFunctionalTest.swift */; }; - 3111C5B0252BF41A00207E32 /* STPPushProvisioningDetailsFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3BF252BC79400207E32 /* STPPushProvisioningDetailsFunctionalTest.swift */; }; - 3111C5B3252BF42000207E32 /* STPApplePayFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C399252BC78E00207E32 /* STPApplePayFunctionalTest.swift */; }; - 3111C5BA252BF80000207E32 /* STPThreeDSSelectionCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3F9252BC79D00207E32 /* STPThreeDSSelectionCustomizationTest.swift */; }; - 3111C5C0252BF8EB00207E32 /* STPMandateDataParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3DC252BC79900207E32 /* STPMandateDataParamsTest.swift */; }; - 3111C5CA252BFC7000207E32 /* STPPaymentIntentParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3F0252BC79C00207E32 /* STPPaymentIntentParamsTest.swift */; }; - 3111C5D1252BFDFC00207E32 /* STPPaymentMethodCardTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C393252BC78D00207E32 /* STPPaymentMethodCardTest.swift */; }; - 3111C5D9252C14A500207E32 /* STPThreeDSUICustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C38A252BC78B00207E32 /* STPThreeDSUICustomizationTest.swift */; }; - 3111C5DC252C159900207E32 /* STPThreeDSLabelCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B8252BC79300207E32 /* STPThreeDSLabelCustomizationTest.swift */; }; - 3111C5DF252CC5C700207E32 /* STPPaymentMethodTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C39B252BC78E00207E32 /* STPPaymentMethodTest.swift */; }; - 3111C5E2252CDCC800207E32 /* STPCardValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3AC252BC79100207E32 /* STPCardValidatorTest.swift */; }; - 3111C5E5252CE42100207E32 /* STPShippingAddressViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3FC252BC79E00207E32 /* STPShippingAddressViewControllerTest.swift */; }; - 3111C5E8252CE69E00207E32 /* STPThreeDSButtonCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C412252BC7A100207E32 /* STPThreeDSButtonCustomizationTest.swift */; }; - 3111C5EB252CE79700207E32 /* STPThreeDSNavigationBarCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3EB252BC79B00207E32 /* STPThreeDSNavigationBarCustomizationTest.swift */; }; - 3111C5EE252CE7B900207E32 /* STPThreeDSFooterCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3C3252BC79400207E32 /* STPThreeDSFooterCustomizationTest.swift */; }; - 3111C5F1252CE81400207E32 /* STPPostalCodeValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C402252BC79F00207E32 /* STPPostalCodeValidatorTest.swift */; }; - 3111C5F4252CE8BB00207E32 /* STPThreeDSTextFieldCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3BC252BC79300207E32 /* STPThreeDSTextFieldCustomizationTest.swift */; }; - 3111C5F7252D1BE600207E32 /* STPSetupIntentConfirmParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3C8252BC79500207E32 /* STPSetupIntentConfirmParamsTest.swift */; }; - 3111C5FA252D1DC000207E32 /* STPShippingMethodsViewControllerLocalizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3CC252BC79600207E32 /* STPShippingMethodsViewControllerLocalizationTests.swift */; }; - 3111C600252D1FCB00207E32 /* STPPaymentMethodAUBECSDebitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3D5252BC79700207E32 /* STPPaymentMethodAUBECSDebitTests.swift */; }; - 3111C606252D201F00207E32 /* STPMandateCustomerAcceptanceParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B6252BC79300207E32 /* STPMandateCustomerAcceptanceParamsTest.swift */; }; - 3111C609252D217D00207E32 /* STPAUBECSFormViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3A8252BC79000207E32 /* STPAUBECSFormViewModelTests.swift */; }; - 3111C60B252D224C00207E32 /* STPCardTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3DF252BC79900207E32 /* STPCardTest.swift */; }; - 3111C60F252D270D00207E32 /* STPPaymentMethodSofortTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C405252BC79F00207E32 /* STPPaymentMethodSofortTests.swift */; }; - 3111C612252D272A00207E32 /* STPPaymentMethodGiropayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B9252BC79300207E32 /* STPPaymentMethodGiropayTests.swift */; }; - 3111C615252D275A00207E32 /* STPAddressViewModelTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3BA252BC79300207E32 /* STPAddressViewModelTest.swift */; }; - 3111C618252D330500207E32 /* STPSourceParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C397252BC78D00207E32 /* STPSourceParamsTest.swift */; }; - 3111C61B252D36A100207E32 /* STPCertTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3D6252BC79800207E32 /* STPCertTest.swift */; }; - 3111C61E252D36F700207E32 /* STPPaymentCardTextFieldViewModelTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C410252BC7A100207E32 /* STPPaymentCardTextFieldViewModelTest.swift */; }; - 3111C621252D3B3B00207E32 /* STPEphemeralKeyTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C400252BC79E00207E32 /* STPEphemeralKeyTest.swift */; }; - 3111C624252D3D4000207E32 /* STPAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3A9252BC79000207E32 /* STPAPIClientTest.swift */; }; - 3111C627252D3DCF00207E32 /* STPPaymentIntentTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3CF252BC79600207E32 /* STPPaymentIntentTest.swift */; }; - 3111C62E252D3F1E00207E32 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3EF252BC79C00207E32 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift */; }; - 3111C63A252D3FBF00207E32 /* STPBinRangeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C40A252BC7A000207E32 /* STPBinRangeTest.swift */; }; - 3111C63D252D405400207E32 /* STPAUBECSDebitFormViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B1252BC79200207E32 /* STPAUBECSDebitFormViewSnapshotTests.swift */; }; - 3111C640252D40F100207E32 /* STPCardBINMetadataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B5252BC79200207E32 /* STPCardBINMetadataTests.swift */; }; - 3111C643252D417000207E32 /* STPPaymentMethodPrzelewy24Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3E0252BC79900207E32 /* STPPaymentMethodPrzelewy24Tests.swift */; }; - 3111C646252D419600207E32 /* STPPaymentMethodEPSTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3DB252BC79800207E32 /* STPPaymentMethodEPSTests.swift */; }; - 3111C649252D41BD00207E32 /* STPMandateOnlineParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3E6252BC79A00207E32 /* STPMandateOnlineParamsTest.swift */; }; - 3111C64C252D41F800207E32 /* STPFormEncoderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3CD252BC79600207E32 /* STPFormEncoderTest.swift */; }; - 3111C652252D42D200207E32 /* STPTestingAPIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 3666589B23FF494400D00354 /* STPTestingAPIClient.m */; }; - 3111C70F252D4B0A00207E32 /* STPSourceCardDetailsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3B2252BC79200207E32 /* STPSourceCardDetailsTest.swift */; }; - 3111C714252E2A5200207E32 /* STPApplePayContextTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C401252BC79F00207E32 /* STPApplePayContextTest.swift */; }; - 3111C71D252E394C00207E32 /* STPPaymentContextApplePayTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3FD252BC79E00207E32 /* STPPaymentContextApplePayTest.swift */; }; - 3111C722252E3EC200207E32 /* STPShippingAddressViewControllerLocalizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3C9252BC79500207E32 /* STPShippingAddressViewControllerLocalizationTests.swift */; }; - 31138E8628DCEE12008AF554 /* STPStringUtilsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31138E8528DCEE12008AF554 /* STPStringUtilsTest.swift */; }; - 31138E8728DCF410008AF554 /* STPApplePayContextFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6DF4C962411BE4D005C1AE0 /* STPApplePayContextFunctionalTest.m */; }; - 31227142286E54FD0007ED5E /* STPPaymentIntentParams+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227141286E54FD0007ED5E /* STPPaymentIntentParams+BasicUI.swift */; }; - 3122714C286E55A80007ED5E /* STPBlocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122714B286E55A80007ED5E /* STPBlocks.swift */; }; - 31227150286E55F20007ED5E /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122714F286E55F20007ED5E /* StripePayments.framework */; }; - 31227154286E55FC0007ED5E /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31227153286E55FC0007ED5E /* StripePaymentsUI.framework */; }; - 31227171286E567B0007ED5E /* STPPinManagementService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227170286E567B0007ED5E /* STPPinManagementService.swift */; }; - 31227173286E56980007ED5E /* STPEphemeralKeyProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227172286E56980007ED5E /* STPEphemeralKeyProvider.swift */; }; - 31227179286E59620007ED5E /* STPPaymentMethod+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227178286E59620007ED5E /* STPPaymentMethod+BasicUI.swift */; }; - 3122717B286E59D60007ED5E /* STPAPIClient+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122717A286E59D60007ED5E /* STPAPIClient+BasicUI.swift */; }; - 3122717D286E59EC0007ED5E /* STPSource+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122717C286E59EC0007ED5E /* STPSource+BasicUI.swift */; }; - 31227184286E5A8C0007ED5E /* STPPushProvisioningContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227183286E5A8C0007ED5E /* STPPushProvisioningContext.swift */; }; - 31227185286E5A8C0007ED5E /* STPPushProvisioningDetailsParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227182286E5A8B0007ED5E /* STPPushProvisioningDetailsParams.swift */; }; - 31227187286E5B360007ED5E /* STPAddress+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227186286E5B360007ED5E /* STPAddress+BasicUI.swift */; }; - 31227189286E5BD70007ED5E /* STPCard+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227188286E5BD70007ED5E /* STPCard+BasicUI.swift */; }; - 31227190286E5CA70007ED5E /* STPPaymentMethodParams+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122718F286E5CA70007ED5E /* STPPaymentMethodParams+BasicUI.swift */; }; - 31227196286E610E0007ED5E /* STPAnalyticsClient+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227195286E610E0007ED5E /* STPAnalyticsClient+BasicUI.swift */; }; - 3122724F2876429C0007ED5E /* STPAnalyticsClient+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122724E2876429C0007ED5E /* STPAnalyticsClient+Payments.swift */; }; - 31281BC325254F8E00591A95 /* STPPaymentCardTextFieldCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD5125117C9500CC59EF /* STPPaymentCardTextFieldCell.swift */; }; - 31281BCD2525598200591A95 /* STPPaymentConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD8A25117C9800CC59EF /* STPPaymentConfiguration.swift */; }; - 31281BD02525725C00591A95 /* STPPaymentActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD8225117C9800CC59EF /* STPPaymentActivityIndicatorView.swift */; }; - 31281BD52525775D00591A95 /* STPFPXBankStatusResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDFB25117C9F00CC59EF /* STPFPXBankStatusResponse.swift */; }; - 31281BDF252579CA00591A95 /* STPBankSelectionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE0C25117CA000CC59EF /* STPBankSelectionTableViewCell.swift */; }; - 312D789B253DF824009224AF /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312D789A253DF824009224AF /* STPLocalizedString.swift */; }; - 31309B8028876A8A0091010A /* StripePaymentSheet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31309B7F28876A8A0091010A /* StripePaymentSheet.framework */; }; - 31309B8128876A8A0091010A /* StripePaymentSheet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 31309B7F28876A8A0091010A /* StripePaymentSheet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 31315127260AB00000DD8EDE /* STPApplePayContextFunctionalTestExtras.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31315126260AB00000DD8EDE /* STPApplePayContextFunctionalTestExtras.swift */; }; - 3137A73F26FD4383008BEF7B /* STPNetworkStubbingTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = 04E01F8321AA36320061402F /* STPNetworkStubbingTestCase.h */; }; - 3137A74026FD4388008BEF7B /* STPNetworkStubbingTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 04E01F8421AA36320061402F /* STPNetworkStubbingTestCase.m */; }; - 3137A74726FD76EC008BEF7B /* STPAPISettingsBridgeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 316E9F7526FA9AD400986485 /* STPAPISettingsBridgeTest.m */; }; - 3137A74826FD76F2008BEF7B /* STPAPIClientNetworkBridgeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3137A74326FD7687008BEF7B /* STPAPIClientNetworkBridgeTest.m */; }; - 3137A74C26FD7710008BEF7B /* STPErrorBridgeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3137A74A26FD7710008BEF7B /* STPErrorBridgeTest.m */; }; - 3137A74D26FD7AF5008BEF7B /* (null) in Sources */ = {isa = PBXBuildFile; }; - 3137B69727437F5A00CE7F5C /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B69627437F5A00CE7F5C /* StripeApplePay.framework */; }; - 315E4B362639D80F00C1D955 /* STPIntentActionWeChatPayRedirectToAppTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 315E4B352639D80F00C1D955 /* STPIntentActionWeChatPayRedirectToAppTest.swift */; }; - 316F81222541125E000A80B5 /* STPPaymentMethodOXXOTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 316F81212541125E000A80B5 /* STPPaymentMethodOXXOTests.m */; }; - 316F812825411275000A80B5 /* STPPaymentMethodOXXOParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 316F812725411274000A80B5 /* STPPaymentMethodOXXOParamsTests.m */; }; - 316F813F25411877000A80B5 /* STPPaymentMethodPayPalParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 316F813E25411877000A80B5 /* STPPaymentMethodPayPalParamsTests.m */; }; - 316F814525411879000A80B5 /* STPPaymentMethodPayPalTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 316F814425411879000A80B5 /* STPPaymentMethodPayPalTests.m */; }; - 3176C223251A696B00300ADE /* STPSectionHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDAA25117C9A00CC59EF /* STPSectionHeaderView.swift */; }; - 3176C246251A7F6500300ADE /* STPPaymentOptionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD4F25117C9500CC59EF /* STPPaymentOptionTableViewCell.swift */; }; - 3176C24A251A844900300ADE /* STPPaymentOptionTuple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD6825117C9600CC59EF /* STPPaymentOptionTuple.swift */; }; - 3176C25F251A8FDA00300ADE /* STPPushProvisioningDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD8325117C9800CC59EF /* STPPushProvisioningDetails.swift */; }; - 317ABF3425118C1E00CC59EF /* STPCardScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD2825117C9200CC59EF /* STPCardScanner.swift */; }; - 317ABF3B251193B600CC59EF /* STPCardScannerTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE0D25117CA000CC59EF /* STPCardScannerTableViewCell.swift */; }; - 317ABF40251196A600CC59EF /* STPCameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD9325117C9900CC59EF /* STPCameraView.swift */; }; - 317E054125D494F3006D4C29 /* STPPaymentMethodCardParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317E054025D494F3006D4C29 /* STPPaymentMethodCardParamsTest.swift */; }; - 3180E0B52592B98900CE3D7E /* stp_card_form_back@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E09C2592B98900CE3D7E /* stp_card_form_back@3x.png */; }; - 3180E0C02592B98900CE3D7E /* stp_card_form_amex_cvc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0A72592B98900CE3D7E /* stp_card_form_amex_cvc@3x.png */; }; - 3180E0C22592B98900CE3D7E /* stp_card_form_front@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0A92592B98900CE3D7E /* stp_card_form_front@3x.png */; }; - 3180E0D02592B99100CE3D7E /* stp_icon_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0CC2592B99100CE3D7E /* stp_icon_bank@3x.png */; }; - 3180E0D12592B99100CE3D7E /* stp_icon_add@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0CD2592B99100CE3D7E /* stp_icon_add@3x.png */; }; - 3180E0D22592B99100CE3D7E /* stp_shipping_form@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0CE2592B99100CE3D7E /* stp_shipping_form@3x.png */; }; - 3180E0D32592B99100CE3D7E /* stp_icon_checkmark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0CF2592B99100CE3D7E /* stp_icon_checkmark@3x.png */; }; - 3180E1002592BB1800CE3D7E /* stp_bank_fpx_ocbc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0EC2592BB1800CE3D7E /* stp_bank_fpx_ocbc@3x.png */; }; - 3180E1012592BB1800CE3D7E /* stp_bank_fpx_rhb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0ED2592BB1800CE3D7E /* stp_bank_fpx_rhb@3x.png */; }; - 3180E1022592BB1800CE3D7E /* stp_bank_fpx_bsn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0EE2592BB1800CE3D7E /* stp_bank_fpx_bsn@3x.png */; }; - 3180E1032592BB1800CE3D7E /* stp_bank_fpx_hong_leong_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0EF2592BB1800CE3D7E /* stp_bank_fpx_hong_leong_bank@3x.png */; }; - 3180E1042592BB1800CE3D7E /* stp_fpx_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F02592BB1800CE3D7E /* stp_fpx_logo@3x.png */; }; - 3180E1052592BB1800CE3D7E /* stp_bank_fpx_standard_chartered@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F12592BB1800CE3D7E /* stp_bank_fpx_standard_chartered@3x.png */; }; - 3180E1062592BB1800CE3D7E /* stp_bank_fpx_bank_islam@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F22592BB1800CE3D7E /* stp_bank_fpx_bank_islam@3x.png */; }; - 3180E1072592BB1800CE3D7E /* stp_fpx_big_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F32592BB1800CE3D7E /* stp_fpx_big_logo@3x.png */; }; - 3180E1082592BB1800CE3D7E /* stp_bank_fpx_cimb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F42592BB1800CE3D7E /* stp_bank_fpx_cimb@3x.png */; }; - 3180E1092592BB1800CE3D7E /* stp_bank_fpx_public_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F52592BB1800CE3D7E /* stp_bank_fpx_public_bank@3x.png */; }; - 3180E10A2592BB1800CE3D7E /* stp_bank_fpx_alliance_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F62592BB1800CE3D7E /* stp_bank_fpx_alliance_bank@3x.png */; }; - 3180E10B2592BB1800CE3D7E /* stp_bank_fpx_hsbc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F72592BB1800CE3D7E /* stp_bank_fpx_hsbc@3x.png */; }; - 3180E10C2592BB1800CE3D7E /* stp_bank_fpx_affin_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F82592BB1800CE3D7E /* stp_bank_fpx_affin_bank@3x.png */; }; - 3180E10D2592BB1800CE3D7E /* stp_bank_fpx_maybank2u@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0F92592BB1800CE3D7E /* stp_bank_fpx_maybank2u@3x.png */; }; - 3180E10E2592BB1800CE3D7E /* stp_bank_fpx_kfh@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0FA2592BB1800CE3D7E /* stp_bank_fpx_kfh@3x.png */; }; - 3180E10F2592BB1800CE3D7E /* stp_bank_fpx_bank_muamalat@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0FB2592BB1800CE3D7E /* stp_bank_fpx_bank_muamalat@3x.png */; }; - 3180E1102592BB1800CE3D7E /* stp_bank_fpx_uob@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0FC2592BB1800CE3D7E /* stp_bank_fpx_uob@3x.png */; }; - 3180E1112592BB1800CE3D7E /* stp_bank_fpx_ambank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0FD2592BB1800CE3D7E /* stp_bank_fpx_ambank@3x.png */; }; - 3180E1122592BB1800CE3D7E /* stp_bank_fpx_maybank2e@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0FE2592BB1800CE3D7E /* stp_bank_fpx_maybank2e@3x.png */; }; - 3180E1132592BB1800CE3D7E /* stp_bank_fpx_bank_rakyat@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3180E0FF2592BB1800CE3D7E /* stp_bank_fpx_bank_rakyat@3x.png */; }; - 3185126C252FE67E008C0C57 /* StripeTests-Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 3185126B252FE67E008C0C57 /* StripeTests-Prefix.pch */; }; - 31851272252FE770008C0C57 /* STPBlocks.h in Headers */ = {isa = PBXBuildFile; fileRef = 31851271252FE770008C0C57 /* STPBlocks.h */; }; - 31875B5C25DC63C800884BE0 /* STPE2ETest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31875B5B25DC63C800884BE0 /* STPE2ETest.swift */; }; - 319490592513CC6200AD8F0B /* STPImageLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDD725117C9D00CC59EF /* STPImageLibrary.swift */; }; - 319490612514041300AD8F0B /* STPBankSelectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD9825117C9900CC59EF /* STPBankSelectionViewController.swift */; }; - 3194906625140BEF00AD8F0B /* STPCoreViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDC725117C9C00CC59EF /* STPCoreViewController.swift */; }; - 3194906C25140C0B00AD8F0B /* STPCoreScrollViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDEE25117C9E00CC59EF /* STPCoreScrollViewController.swift */; }; - 3194907025140C4800AD8F0B /* STPCoreTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD7325117C9700CC59EF /* STPCoreTableViewController.swift */; }; - 3194907425140C9700AD8F0B /* STPPaymentOptionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD4D25117C9500CC59EF /* STPPaymentOptionsViewController.swift */; }; - 3194907825140CFE00AD8F0B /* STPPaymentOptionsInternalViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD3A25117C9300CC59EF /* STPPaymentOptionsInternalViewController.swift */; }; - 3194907B25140D1500AD8F0B /* STPShippingMethodsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD3E25117C9400CC59EF /* STPShippingMethodsViewController.swift */; }; - 3194907E25140D4000AD8F0B /* STPShippingAddressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD4925117C9500CC59EF /* STPShippingAddressViewController.swift */; }; - 3194908C2514484300AD8F0B /* STPUserInformation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE2025117CA100CC59EF /* STPUserInformation.swift */; }; - 3194909B25144D7800AD8F0B /* STPPaymentContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD5025117C9500CC59EF /* STPPaymentContext.swift */; }; - 3194CF5C2314869500E1940F /* STPPaymentMethodFPXTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3194CF5B2314869400E1940F /* STPPaymentMethodFPXTest.m */; }; - 3194CF5E231487A200E1940F /* STPFPXBankBrandTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3194CF5D231487A100E1940F /* STPFPXBankBrandTest.m */; }; - 319567F228D38D6200BFF5D1 /* STPApplePayContextDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 319567F128D38D6200BFF5D1 /* STPApplePayContextDelegate.swift */; }; - 319E82FA27431A3300F202D6 /* StripeApplePayTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 319E82F927431A3300F202D6 /* StripeApplePayTestUtils.framework */; }; - 31C2621A255F887A000C5B50 /* Stripe-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C26219255F887A000C5B50 /* Stripe-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 31C5B86E252E518E00A481A7 /* STPAddCardViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3F5252BC79D00207E32 /* STPAddCardViewControllerTest.swift */; }; - 31C5B871252E746200A481A7 /* STPBECSDebitAccountNumberValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3A7252BC79000207E32 /* STPBECSDebitAccountNumberValidatorTests.swift */; }; - 31C5B873252E773100A481A7 /* STPPaymentOptionsViewControllerLocalizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C391252BC78C00207E32 /* STPPaymentOptionsViewControllerLocalizationTests.swift */; }; - 31C5B87C252E859300A481A7 /* STPPaymentConfigurationTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B013C881F1E784A00DD831B /* STPPaymentConfigurationTest.m */; }; - 31C5B87E252E869D00A481A7 /* StripeErrorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C3F8252BC79D00207E32 /* StripeErrorTest.swift */; }; - 31C5B88A252E9DBB00A481A7 /* STPEphemeralKeyManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C184107D1EC2704700178149 /* STPEphemeralKeyManagerTest.m */; }; - 31C5B88C252E9E0600A481A7 /* STPLabeledFormTextFieldViewSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36AEBFBD241C3B7500CFCAE8 /* STPLabeledFormTextFieldViewSnapshotTests.m */; }; - 31C5B88E252E9F0D00A481A7 /* STPPaymentCardTextFieldTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 045A62AA1B8E7259000165CE /* STPPaymentCardTextFieldTest.m */; }; - 31C5B896252E9FBA00A481A7 /* STPRedirectContextTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F152321A1EA92F9D00D65C67 /* STPRedirectContextTest.m */; }; - 31C5B89A252EA24800A481A7 /* STPPaymentOptionsViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111C413252BC7A200207E32 /* STPPaymentOptionsViewControllerTest.swift */; }; - 31C8644924DDF2560015F7DF /* STPPaymentMethodSofortParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C8644824DDF2550015F7DF /* STPPaymentMethodSofortParamsTests.m */; }; - 31D1A4AA252EAE1800913BD5 /* STPAddressTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C1080F4B1CBED48A007B2D89 /* STPAddressTests.m */; }; - 31D4D6742512E69700809066 /* UIBarButtonItem+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE0225117C9F00CC59EF /* UIBarButtonItem+Stripe.swift */; }; - 31D4D67A2512E7B200809066 /* UINavigationBar+Stripe_Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDE225117C9D00CC59EF /* UINavigationBar+Stripe_Theme.swift */; }; - 31D4D6802512E93B00809066 /* UINavigationController+Stripe_Completion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE2725117CA200CC59EF /* UINavigationController+Stripe_Completion.swift */; }; - 31D4D6822512EA9500809066 /* UITableViewCell+Stripe_Borders.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE2625117CA100CC59EF /* UITableViewCell+Stripe_Borders.swift */; }; - 31D4D6882512EBAC00809066 /* UIToolbar+Stripe_InputAccessory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE1125117CA000CC59EF /* UIToolbar+Stripe_InputAccessory.swift */; }; - 31D4D68A2512EC6300809066 /* UIView+Stripe_FirstResponder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD6425117C9600CC59EF /* UIView+Stripe_FirstResponder.swift */; }; - 31D4D68F2512ED3F00809066 /* UIView+Stripe_SafeAreaBounds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDE325117C9E00CC59EF /* UIView+Stripe_SafeAreaBounds.swift */; }; - 31D4D6922512EDEE00809066 /* UIViewController+Stripe_KeyboardAvoiding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDEC25117C9E00CC59EF /* UIViewController+Stripe_KeyboardAvoiding.swift */; }; - 31D4D6942512EDF900809066 /* UIViewController+Stripe_NavigationItemProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD9025117C9900CC59EF /* UIViewController+Stripe_NavigationItemProxy.swift */; }; - 31D4D6962512EE0100809066 /* UIViewController+Stripe_ParentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDF325117C9E00CC59EF /* UIViewController+Stripe_ParentViewController.swift */; }; - 31DCB10628F4CAB0002EF128 /* Stripe+Exports.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB10528F4CAB0002EF128 /* Stripe+Exports.swift */; }; - 31E242FB26F9028400064908 /* STPCustomerContextTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E242FA26F9028400064908 /* STPCustomerContextTest.swift */; }; - 31E2430026FA428E00064908 /* STPApplePayTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E242FE26FA424900064908 /* STPApplePayTest.swift */; }; - 31EFEE0E258AE3F40069BC5F /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31EFEE0D258AE3F40069BC5F /* Stripe3DS2.framework */; }; - 31F2E8782524143F004D4B5E /* STPPaymentResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD6225117C9600CC59EF /* STPPaymentResult.swift */; }; - 31F2E87C25241C30004D4B5E /* STPApplePayPaymentOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABE2425117CA100CC59EF /* STPApplePayPaymentOption.swift */; }; - 31F9015E26FEA07000F9E11D /* STPEphemeralKeyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD5E25117C9600CC59EF /* STPEphemeralKeyManager.swift */; }; - 360EBFA127FFA87E00845AB6 /* STPImageLibraryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 360EBFA027FFA87E00845AB6 /* STPImageLibraryTest.swift */; }; - 3617A51420FE5BBB001A9E6A /* NSLocale+STPSwizzling.h in Headers */ = {isa = PBXBuildFile; fileRef = 3617A51220FE5BBB001A9E6A /* NSLocale+STPSwizzling.h */; }; - 3617A51520FE5BBB001A9E6A /* NSLocale+STPSwizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = 3617A51320FE5BBB001A9E6A /* NSLocale+STPSwizzling.m */; }; - 3619624E244FB2AE0025D60B /* STPPaymentMethodGiropayParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3619624D244FB2AE0025D60B /* STPPaymentMethodGiropayParamsTests.m */; }; - 361A070B276D264D00D2339A /* PaymentTypeCellSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 361A070A276D264D00D2339A /* PaymentTypeCellSnapshotTests.swift */; }; - 3626616223C9019000B13AE0 /* STPConfirmCardOptionsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3626616123C9019000B13AE0 /* STPConfirmCardOptionsTest.m */; }; - 3626616423C902FB00B13AE0 /* STPConfirmPaymentMethodOptionsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3626616323C902FB00B13AE0 /* STPConfirmPaymentMethodOptionsTest.m */; }; - 36345D5527D011E300D2445D /* STPPaymentMethodUSBankAccountParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36345D5427D011E300D2445D /* STPPaymentMethodUSBankAccountParamsTest.swift */; }; - 36345D5727D0181900D2445D /* STPPaymentMethodUSBankAccountTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36345D5627D0181900D2445D /* STPPaymentMethodUSBankAccountTest.swift */; }; - 36345D5927D0198100D2445D /* STPPaymentIntentFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36345D5827D0198100D2445D /* STPPaymentIntentFunctionalTest.swift */; }; - 36345D5B27D02D5300D2445D /* STPSetupIntentFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36345D5A27D02D5300D2445D /* STPSetupIntentFunctionalTest.swift */; }; - 363B926027431C4800BA52EC /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363B925F27431C4800BA52EC /* Enums+CustomStringConvertible.swift */; }; - 363BD0362731F891003F9FE4 /* STPTestAPIClient+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36C7CBB12630D0E0007EF3B0 /* STPTestAPIClient+Swift.swift */; }; - 363BD04227344436003F9FE4 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363BD04127344436003F9FE4 /* AppDelegate.swift */; }; - 363BD04627344436003F9FE4 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363BD04527344436003F9FE4 /* ViewController.swift */; }; - 363BD04927344436003F9FE4 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 363BD04727344436003F9FE4 /* Main.storyboard */; }; - 363BD04B27344439003F9FE4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 363BD04A27344439003F9FE4 /* Assets.xcassets */; }; - 363BD04E27344439003F9FE4 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 363BD04C27344439003F9FE4 /* LaunchScreen.storyboard */; }; - 364DBF93274859FF00FD9250 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04CDB4421A5F2E1800B854EE /* Stripe.framework */; }; - 3663CEA426D5B21B00D0E123 /* STPPaymentCardTextFieldTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3663CEA326D5B21B00D0E123 /* STPPaymentCardTextFieldTestsSwift.swift */; }; - 366658B52410756100D00354 /* STPPaymentMethodAUBECSDebitParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 366658B42410756100D00354 /* STPPaymentMethodAUBECSDebitParamsTests.m */; }; - 3667949025B790250094831B /* STPCardFormViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3667948F25B790250094831B /* STPCardFormViewTests.swift */; }; - 366ECD52254B4C4B0082868E /* STPFormViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 366ECD50254B4C4B0082868E /* STPFormViewSnapshotTests.swift */; }; - 366ECD53254B4C4B0082868E /* STPStackViewWithSeparatorSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 366ECD51254B4C4B0082868E /* STPStackViewWithSeparatorSnapshotTests.swift */; }; - 367F1E7325140B9B002E866B /* STPTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABD2D25117C9300CC59EF /* STPTheme.swift */; }; - 367F1E8025141502002E866B /* STPAddressViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDB725117C9B00CC59EF /* STPAddressViewModel.swift */; }; - 368E1F65254CBFB900150A2D /* STPPostalCodeInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 368E1F64254CBFB900150A2D /* STPPostalCodeInputTextFieldFormatterTests.swift */; }; - 368E1F69254CC73600150A2D /* STPPostalCodeInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 368E1F68254CC73600150A2D /* STPPostalCodeInputTextFieldValidatorTests.swift */; }; - 368E1F6D254CC87300150A2D /* STPPostalCodeInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 368E1F6C254CC87300150A2D /* STPPostalCodeInputTextFieldSnapshotTests.swift */; }; - 36AC3D0C2523F18300F252D7 /* STPIntentActionTypeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36AC3D0B2523F18300F252D7 /* STPIntentActionTypeTest.swift */; }; - 36ADAE232523AC7700302DFB /* STPPaymentIntentLastPaymentErrorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36ADAE222523AC7700302DFB /* STPPaymentIntentLastPaymentErrorTest.swift */; }; - 36AEBFBC241C39A800CFCAE8 /* STPSTPViewWithSeparatorSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36AEBFBB241C39A800CFCAE8 /* STPSTPViewWithSeparatorSnapshotTests.m */; }; - 36AF10312800DC700093344B /* STPPaymentMethodOptionsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36AF10302800DC700093344B /* STPPaymentMethodOptionsTest.swift */; }; - 36B6CB57234BDC4400331C38 /* STPPaymentMethodSEPADebitTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 36B6CB56234BDC4400331C38 /* STPPaymentMethodSEPADebitTest.m */; }; - 36C7CBAF2630D0C8007EF3B0 /* ConsumerSessionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36C7CBAE2630D0C8007EF3B0 /* ConsumerSessionTests.swift */; }; - 36D7A91E253111E7009F2978 /* STPFloatingPlaceholderTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36D7A91D253111E7009F2978 /* STPFloatingPlaceholderTextFieldSnapshotTests.swift */; }; - 36DF4E0325784CCE002554D7 /* STPCountryPickerInputFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36DF4E0225784CCE002554D7 /* STPCountryPickerInputFieldSnapshotTests.swift */; }; - 36DF4E0B25784DE0002554D7 /* STPGenericInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36DF4E0A25784DE0002554D7 /* STPGenericInputTextFieldSnapshotTests.swift */; }; - 36E283DA254A17570028C186 /* STPInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E283D9254A17570028C186 /* STPInputTextFieldFormatterTests.swift */; }; - 36E283E0254A18900028C186 /* STPNumericDigitInputTextFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E283DF254A18900028C186 /* STPNumericDigitInputTextFormatterTests.swift */; }; - 36E283E6254A1B550028C186 /* STPCardCVCInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E283E5254A1B550028C186 /* STPCardCVCInputTextFieldFormatterTests.swift */; }; - 36E283EA254A1D030028C186 /* STPCardExpiryInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E283E9254A1D030028C186 /* STPCardExpiryInputTextFieldFormatterTests.swift */; }; - 36E283EE254A26CC0028C186 /* STPCardNumberInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E283ED254A26CC0028C186 /* STPCardNumberInputTextFieldFormatterTests.swift */; }; - 36E283F2254A2FE20028C186 /* STPInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E283F1254A2FE20028C186 /* STPInputTextFieldValidatorTests.swift */; }; - 36E283F8254A35210028C186 /* STPCardCVCInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E283F7254A35210028C186 /* STPCardCVCInputTextFieldValidatorTests.swift */; }; - 36E283FE254A36EC0028C186 /* STPCardExpiryInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E283FD254A36EC0028C186 /* STPCardExpiryInputTextFieldValidatorTests.swift */; }; - 36E28402254B2D560028C186 /* STPCardNumberInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E28401254B2D560028C186 /* STPCardNumberInputTextFieldValidatorTests.swift */; }; - 36E28407254B38020028C186 /* STPCardCVCInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E28406254B38020028C186 /* STPCardCVCInputTextFieldSnapshotTests.swift */; }; - 36E2840D254B3BFD0028C186 /* STPCardExpiryInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E2840C254B3BFD0028C186 /* STPCardExpiryInputTextFieldSnapshotTests.swift */; }; - 36E28411254B3E9F0028C186 /* STPCardNumberInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E28410254B3E9F0028C186 /* STPCardNumberInputTextFieldSnapshotTests.swift */; }; - 36E28415254B44360028C186 /* STPCardFormViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E28414254B44360028C186 /* STPCardFormViewSnapshotTests.swift */; }; - 36E295CE2522B2D500CF5C06 /* STPPaymentIntentEnumsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E295CD2522B2D500CF5C06 /* STPPaymentIntentEnumsTest.swift */; }; - 36F9A11F25F6A3D600591514 /* STPPaymentHandlerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36F9A11E25F6A3D600591514 /* STPPaymentHandlerTests.swift */; }; - 448895AF245255D800F7D0C2 /* STPPaymentMethodPrzelewy24ParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 448895AE245255D800F7D0C2 /* STPPaymentMethodPrzelewy24ParamsTests.m */; }; - 44BDCFDF245A46CC007EE6D5 /* STPPaymentMethodBancontactParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44BDCFDE245A46CC007EE6D5 /* STPPaymentMethodBancontactParamsTests.m */; }; - 61202525285AD33F00B55402 /* AutoCompleteViewControllerSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61202524285AD33F00B55402 /* AutoCompleteViewControllerSnapshotTests.swift */; }; - 612A871A285788D400E91CA8 /* MKPlacemark+PaymentSheetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 612A8719285788D400E91CA8 /* MKPlacemark+PaymentSheetTests.swift */; }; - 615EF62B27DB9B7A00F8E0EE /* ConfirmButtonSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 615EF62A27DB9B7A00F8E0EE /* ConfirmButtonSnapshotTests.swift */; }; - 618E787B26EFDD310034A01F /* ServerErrorMapperTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 618E787A26EFDD310034A01F /* ServerErrorMapperTest.swift */; }; - 61A3785F2720960700B949C5 /* STPPaymentMethodKlarnaParamsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61A3785E2720960700B949C5 /* STPPaymentMethodKlarnaParamsTests.swift */; }; - 61A378612721C48000B949C5 /* STPPaymentMethodKlarnaTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61A378602721C48000B949C5 /* STPPaymentMethodKlarnaTests.swift */; }; - 61B4BC3426D53EB10099D768 /* PaymentSheet+PaymentMethodAvailabilityTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61B4BC3226D53E790099D768 /* PaymentSheet+PaymentMethodAvailabilityTest.swift */; }; - 61DBE720273082EC008565C8 /* KlarnaHelperTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61DBE71F273082EC008565C8 /* KlarnaHelperTest.swift */; }; - 69A6C30A246EA195005FF304 /* STPPaymentMethodEPSParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 69A6C309246EA195005FF304 /* STPPaymentMethodEPSParamsTests.m */; }; - 6B48785427BD740800B7632D /* STPPaymentMethodAffirmParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B48785227BD72F600B7632D /* STPPaymentMethodAffirmParamsTest.swift */; }; - 6B48785627BDB7B100B7632D /* STPPaymentMethodAffirmTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B48785527BDB7B100B7632D /* STPPaymentMethodAffirmTests.swift */; }; - 6B80425827D1AC5D007CAFC1 /* STPAPIClientStubbedTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B80425727D1AC5D007CAFC1 /* STPAPIClientStubbedTest.swift */; }; - 6BB54EFD27ECF1E500069F06 /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BB54EFC27ECF1E500069F06 /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift */; }; - 6BC4DC9C2937DD670022403B /* STPPaymentHandlerStubbedMockedFilesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BC4DC9B2937DD670022403B /* STPPaymentHandlerStubbedMockedFilesTests.swift */; }; - 6BC4DCA12937DF4F0022403B /* MockFiles in Resources */ = {isa = PBXBuildFile; fileRef = 6BC4DCA02937DF4F0022403B /* MockFiles */; }; - 6BF391B32832D64500FBB32D /* PaymentSheetPaymentMethodTypeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF391B22832D64500FBB32D /* PaymentSheetPaymentMethodTypeTest.swift */; }; - 8B39128220E2F99600098401 /* EPSSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 8B39128120E2F99600098401 /* EPSSource.json */; }; - 8B39128320E2F9A100098401 /* BancontactSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 8B39127F20E2F6A500098401 /* BancontactSource.json */; }; - 8B39128520E2F9C400098401 /* GiropaySource.json in Resources */ = {isa = PBXBuildFile; fileRef = 8B39128420E2F9C400098401 /* GiropaySource.json */; }; - 8B39128720E2F9D300098401 /* MultibancoSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 8B39128620E2F9D300098401 /* MultibancoSource.json */; }; - 8B39128920E2F9E000098401 /* P24Source.json in Resources */ = {isa = PBXBuildFile; fileRef = 8B39128820E2F9E000098401 /* P24Source.json */; }; - 8B39128B20E2F9F500098401 /* SofortSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 8B39128A20E2F9F500098401 /* SofortSource.json */; }; - 8B5B4B441EFDD925005CF475 /* STPSourceOwnerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B5B4B431EFDD925005CF475 /* STPSourceOwnerTest.m */; }; - 8B6DC9751F0171D20025E811 /* STPSourceReceiverTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B6DC9741F0171D20025E811 /* STPSourceReceiverTest.m */; }; - 8B82C5CA1F2BC78F009639F7 /* STPApplePayPaymentOptionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B82C5C91F2BC78F009639F7 /* STPApplePayPaymentOptionTest.m */; }; - 8B8DDBB31EF887A4004B141F /* STPBankAccountParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B8DDBB21EF887A4004B141F /* STPBankAccountParamsTest.m */; }; - 8BD213371F044B57007F6FD1 /* BankAccount.json in Resources */ = {isa = PBXBuildFile; fileRef = 8BD213361F044B57007F6FD1 /* BankAccount.json */; }; - 8BD213391F0457A1007F6FD1 /* FileUpload.json in Resources */ = {isa = PBXBuildFile; fileRef = 8BD213381F0457A1007F6FD1 /* FileUpload.json */; }; - 8BD2133E1F045D31007F6FD1 /* SEPADebitSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 8BD2133D1F045D31007F6FD1 /* SEPADebitSource.json */; }; - 8BD87B901EFB17AA00269C2B /* STPSourceRedirectTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BD87B8F1EFB17AA00269C2B /* STPSourceRedirectTest.m */; }; - 8BD87B951EFB1CB100269C2B /* STPSourceVerificationTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BD87B941EFB1CB100269C2B /* STPSourceVerificationTest.m */; }; - 8BE5AE8B1EF8905B0081A33C /* STPCardParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BE5AE8A1EF8905B0081A33C /* STPCardParamsTest.m */; }; - 8F5ED78F2555528F003BE002 /* STPPaymentMethodUPIParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F5ED78E2555528F003BE002 /* STPPaymentMethodUPIParamsTest.m */; }; - 8FF0FAFC255A6FBB00218730 /* STPPaymentMethodUPITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FF0FAFB255A6FBB00218730 /* STPPaymentMethodUPITests.swift */; }; - 8FF52D432566B5BC000C15EF /* STPPaymentMethodNetBankingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FF52D422566B5BC000C15EF /* STPPaymentMethodNetBankingTests.swift */; }; - 8FF52D492566DF2F000C15EF /* STPPaymentMethodNetBankingParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF52D482566DF2F000C15EF /* STPPaymentMethodNetBankingParamsTest.m */; }; - B3302F462006FBA7005DDBE9 /* STPConnectAccountParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B3302F452006FBA7005DDBE9 /* STPConnectAccountParamsTest.m */; }; - B36C6D782193A16F00D17575 /* STPIntentActionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B36C6D772193A16F00D17575 /* STPIntentActionTest.m */; }; - B3BDCACF20EEF4640034F7F5 /* STPPaymentIntentFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B3BDCACE20EEF4640034F7F5 /* STPPaymentIntentFunctionalTest.m */; }; - B3BDCADF20F0142C0034F7F5 /* PaymentIntent.json in Resources */ = {isa = PBXBuildFile; fileRef = B3BDCADE20F0142C0034F7F5 /* PaymentIntent.json */; }; - B3C9CF2D2004595A005502ED /* STPConnectAccountFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B3C9CF2C2004595A005502ED /* STPConnectAccountFunctionalTest.m */; }; - B600F3C3223088F900264403 /* STPPaymentMethodFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B600F3C2223088F900264403 /* STPPaymentMethodFunctionalTest.m */; }; - B613DD3C22C54AA800C7603F /* STPSetupIntentTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B613DD3B22C54AA800C7603F /* STPSetupIntentTest.m */; }; - B613DD3E22C54BA800C7603F /* SetupIntent.json in Resources */ = {isa = PBXBuildFile; fileRef = B613DD3D22C54BA700C7603F /* SetupIntent.json */; }; - B61546072656AB2C006029D1 /* STPRadarSessionFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B61546062656AB2B006029D1 /* STPRadarSessionFunctionalTest.swift */; }; - B632989F2295BDD90007D287 /* ApplePayPaymentMethod.json in Resources */ = {isa = PBXBuildFile; fileRef = B632989E2295BDD80007D287 /* ApplePayPaymentMethod.json */; }; - B634497822A5BC91003881DC /* STPCardBrandTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B634497722A5BC91003881DC /* STPCardBrandTest.m */; }; - B63E42792231F8FE007B5B95 /* STPPaymentMethodParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B63E42782231F8FE007B5B95 /* STPPaymentMethodParamsTest.m */; }; - B640DB1A22C69C01003C8810 /* STPSetupIntentFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B640DB1922C69C01003C8810 /* STPSetupIntentFunctionalTest.m */; }; - B643470423173E5000754F11 /* WeChatPaySource.json in Resources */ = {isa = PBXBuildFile; fileRef = B643470323173E5000754F11 /* WeChatPaySource.json */; }; - B646C25526827F1200F4EAE5 /* TextFieldElement+IBANTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B646C25326827EE500F4EAE5 /* TextFieldElement+IBANTest.swift */; }; - B64763B922FE1AF700C01BC0 /* STPSetupIntentLastSetupErrorTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B64763B822FE1AF700C01BC0 /* STPSetupIntentLastSetupErrorTest.m */; }; - B656292523E10AB100458A8E /* STPPaymentMethodBacsDebitTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B656292423E10AB100458A8E /* STPPaymentMethodBacsDebitTest.m */; }; - B656293323E1139E00458A8E /* BacsDebitPaymentMethod.json in Resources */ = {isa = PBXBuildFile; fileRef = B656292623E10D4D00458A8E /* BacsDebitPaymentMethod.json */; }; - B66B39B6223045EF006D1CAD /* CardPaymentMethod.json in Resources */ = {isa = PBXBuildFile; fileRef = B66B39B5223045EF006D1CAD /* CardPaymentMethod.json */; }; - B66D5024222F5A27004A9210 /* STPPaymentMethodThreeDSecureUsageTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B66D5023222F5A27004A9210 /* STPPaymentMethodThreeDSecureUsageTest.m */; }; - B66D5027222F8605004A9210 /* STPPaymentMethodCardChecksTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B66D5026222F8605004A9210 /* STPPaymentMethodCardChecksTest.m */; }; - B66FA0BE267EE204008D7F1D /* PaymentSheetFormFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B66FA0BC267EE1DB008D7F1D /* PaymentSheetFormFactoryTest.swift */; }; - B6724361252519BA002E1AAF /* STPSourceSEPADebitDetailsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B6DC9761F0172640025E811 /* STPSourceSEPADebitDetailsTest.m */; }; - B67F504824C794EF00CF4A9D /* STPPaymentMethodGrabPayParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B67F504724C794EF00CF4A9D /* STPPaymentMethodGrabPayParamsTest.m */; }; - B68F1C792234740B0030B438 /* STPPaymentMethodCardWalletTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B68F1C782234740B0030B438 /* STPPaymentMethodCardWalletTest.m */; }; - B6926ACE252659BF001F208B /* STPEphemeralKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDF925117C9F00CC59EF /* STPEphemeralKey.swift */; }; - B69CABB9246DCB620081B1EF /* STPPaymentHandlerFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B69CABB8246DCB620081B1EF /* STPPaymentHandlerFunctionalTest.m */; }; - B69D87D827D6D3DE00347F99 /* FormSpecProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B69D87D727D6D3DE00347F99 /* FormSpecProviderTest.swift */; }; - B6A0D5FD28FF4F2000A9F7A7 /* PaymentMethodMessagingViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6A0D5FC28FF4F1F00A9F7A7 /* PaymentMethodMessagingViewSnapshotTests.swift */; }; - B6A0D5FF28FF4F2E00A9F7A7 /* PaymentMethodMessagingViewFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6A0D5FE28FF4F2E00A9F7A7 /* PaymentMethodMessagingViewFunctionalTest.swift */; }; - B6B41F71223476AE0020BA7F /* STPPaymentMethodCardWalletMasterpassTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B41F70223476AE0020BA7F /* STPPaymentMethodCardWalletMasterpassTest.m */; }; - B6B41F73223476B90020BA7F /* STPPaymentMethodCardWalletVisaCheckoutTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B41F72223476B90020BA7F /* STPPaymentMethodCardWalletVisaCheckoutTest.m */; }; - B6D13947230C68FF007AFF8A /* STPConnectAccountAddressTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6D13946230C68FF007AFF8A /* STPConnectAccountAddressTest.m */; }; - B6D6C933223076600092AFC8 /* STPPaymentMethodAddressTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6D6C932223076600092AFC8 /* STPPaymentMethodAddressTest.m */; }; - B6D6C935223078840092AFC8 /* STPPaymentMethodBillingDetailsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6D6C934223078840092AFC8 /* STPPaymentMethodBillingDetailsTest.m */; }; - B6D98973251C07FA00C3D894 /* APIRequestTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6D98972251C07FA00C3D894 /* APIRequestTest.swift */; }; - B6D9CEBE2515245500AAD424 /* STPPaymentContextAmountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDF525117C9F00CC59EF /* STPPaymentContextAmountModel.swift */; }; - B6D9CEE5251AAFBA00AAD424 /* STPAPIClient+PushProvisioning.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317ABDDE25117C9D00CC59EF /* STPAPIClient+PushProvisioning.swift */; }; - B6E6C0ED265583D400445507 /* ImageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6E6C0EC265583D400445507 /* ImageTest.swift */; }; - B6E8A9302657F51F00A48CC8 /* FraudDetectionDataTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6E8A92F2657F51F00A48CC8 /* FraudDetectionDataTest.swift */; }; - B6E8A9362657F82C00A48CC8 /* UserDefaults+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6E8A9352657F82C00A48CC8 /* UserDefaults+Stripe.swift */; }; - B6E8A93E26580A6F00A48CC8 /* UserDefaults+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6E8A93D26580A6F00A48CC8 /* UserDefaults+StripeTest.swift */; }; - B6EC63CA22348D4600E4C0FB /* STPPaymentMethodiDEALTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6EC63C922348D4600E4C0FB /* STPPaymentMethodiDEALTest.m */; }; - B6ED573925784E1A007D74E0 /* STPIntentActionAlipayHandleRedirectTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6ED573825784E19007D74E0 /* STPIntentActionAlipayHandleRedirectTest.swift */; }; - B6F09A97285BE4D400751867 /* PaymentSheetTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6F09A96285BE4D400751867 /* PaymentSheetTestUtils.swift */; }; - B6F2681C27C9C0BD009753F9 /* TextFieldElement+CardTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6F2681B27C9C0BD009753F9 /* TextFieldElement+CardTest.swift */; }; - C1054F911FE197AE0033C87E /* STPPaymentContextSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C1054F901FE197AE0033C87E /* STPPaymentContextSnapshotTests.m */; }; - C17D24EE1E37DBAC005CB188 /* STPSourceTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C17D24ED1E37DBAC005CB188 /* STPSourceTest.m */; }; - C18867DB1E8B0C4100A77634 /* STPFixtures.h in Headers */ = {isa = PBXBuildFile; fileRef = C18867D91E8B0C4100A77634 /* STPFixtures.h */; }; - C18867DC1E8B0C4100A77634 /* STPFixtures.m in Sources */ = {isa = PBXBuildFile; fileRef = C18867DA1E8B0C4100A77634 /* STPFixtures.m */; }; - C1AED1561EE0C8C6008BEFBF /* STPApplePayTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C1AED1551EE0C8C6008BEFBF /* STPApplePayTest.m */; }; - C1C02CCC1ECCD0ED00DF5643 /* EphemeralKey.json in Resources */ = {isa = PBXBuildFile; fileRef = C1C02CCA1ECCD0E500DF5643 /* EphemeralKey.json */; }; - C1CFCB6D1ED5E0F800BE45DF /* STPMocks.h in Headers */ = {isa = PBXBuildFile; fileRef = C1CFCB691ED5E0F400BE45DF /* STPMocks.h */; }; - C1CFCB6E1ED5E0F800BE45DF /* STPMocks.m in Sources */ = {isa = PBXBuildFile; fileRef = C1CFCB6A1ED5E0F400BE45DF /* STPMocks.m */; }; - C1CFCB751ED5E12400BE45DF /* STPFileTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C1CFCB701ED5E11500BE45DF /* STPFileTest.m */; }; - C1CFCB761ED5E12400BE45DF /* STPFileFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C1CFCB6F1ED5E11500BE45DF /* STPFileFunctionalTest.m */; }; - C1CFCB771ED5E12400BE45DF /* STPPIIFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C1CFCB711ED5E11500BE45DF /* STPPIIFunctionalTest.m */; }; - C1CFCB7A1ED5F88D00BE45DF /* stp_test_upload_image.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = C1CFCB781ED5F85A00BE45DF /* stp_test_upload_image.jpeg */; }; - C1D23FAD1D37F81F002FD83C /* STPCustomerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C1D23FAC1D37F81F002FD83C /* STPCustomerTest.m */; }; - C1D7B5251E36C70D002181F5 /* STPSourceFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C1D7B5241E36C70D002181F5 /* STPSourceFunctionalTest.m */; }; - D00C2D1A2735C0C200E2283D /* OneTimeCodeTextFieldTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D00C2D192735C0C100E2283D /* OneTimeCodeTextFieldTests.swift */; }; - D0277ADF27604A5000AF2CF6 /* LinkToastSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0277ADE27604A4F00AF2CF6 /* LinkToastSnapshotTests.swift */; }; - D030C9B3281CA8CB000AFEB0 /* LinkBadgeViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D030C9B1281CA848000AFEB0 /* LinkBadgeViewSnapshotTest.swift */; }; - D03665F427D16506009FB5B0 /* ButtonLinkSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03665F327D16506009FB5B0 /* ButtonLinkSnapshotTests.swift */; }; - D03B1DD72819D66C009F4C9A /* LinkNavigationBarSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03B1DD62819D66C009F4C9A /* LinkNavigationBarSnapshotTests.swift */; }; - D04242182773B38A004345BE /* LinkSecureCookieStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04241FF27739695004345BE /* LinkSecureCookieStoreTests.swift */; }; - D04242192773B3FF004345BE /* LinkInMemoryCookieStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D042420127739F21004345BE /* LinkInMemoryCookieStoreTests.swift */; }; - D0518C88270E168A0048B58A /* ConfirmButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0518C87270E168A0048B58A /* ConfirmButtonTests.swift */; }; - D060826526EA9C5C0002D656 /* STPPaymentMethodBoletoParamsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D060826426EA9C5C0002D656 /* STPPaymentMethodBoletoParamsTests.swift */; }; - D069EA2A27557B4E00C1CF46 /* STPTextFieldDelegateProxyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D069EA2927557B4E00C1CF46 /* STPTextFieldDelegateProxyTests.swift */; }; - D06C82A028FF340800832267 /* LinkCardEditElementSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06C829F28FF340800832267 /* LinkCardEditElementSnapshotTests.swift */; }; - D071C95527626FDE00843C0C /* WalletHeaderViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D071C95427626FDE00843C0C /* WalletHeaderViewSnapshotTests.swift */; }; - D08548FF279B72DD00D3A3DC /* LinkInlineSignupElementSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D08548FD279B729F00D3A3DC /* LinkInlineSignupElementSnapshotTests.swift */; }; - D0854906279B9A3D00D3A3DC /* LinkSignupViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0854905279B9A3D00D3A3DC /* LinkSignupViewModelTests.swift */; }; - D092E36F27BF380300B72609 /* LinkInstantDebitMandateViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D092E36E27BF380300B72609 /* LinkInstantDebitMandateViewSnapshotTests.swift */; }; - D092E37727C5616D00B72609 /* LinkAccountServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D092E37627C5616D00B72609 /* LinkAccountServiceTests.swift */; }; - D092E38027C5B95000B72609 /* AnalyticsHelperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D092E37E27C5B91F00B72609 /* AnalyticsHelperTests.swift */; }; - D0BBBC9326DE9243007A9F48 /* STPCardCVCInputTextFieldTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0BBBC9226DE9243007A9F48 /* STPCardCVCInputTextFieldTests.swift */; }; - D0BEB40C273CACBA0031D677 /* LinkPaymentMethodPickerSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0BEB40A273CAC350031D677 /* LinkPaymentMethodPickerSnapshotTests.swift */; }; - D0CA3DB0279E578B00143B1C /* OperationDebouncerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CA3DAF279E578B00143B1C /* OperationDebouncerTests.swift */; }; - D0CC64B626E2A16500FC1442 /* STPPostalCodeInputTextFieldTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CC64B526E2A16500FC1442 /* STPPostalCodeInputTextFieldTests.swift */; }; - D0CFE56B2788CCD600E73511 /* CircularButtonSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CFE56A2788CCD600E73511 /* CircularButtonSnapshotTests.swift */; }; - D0D217CB27DC295D006220A9 /* PaymentSheetLinkAccountTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0D217CA27DC295D006220A9 /* PaymentSheetLinkAccountTests.swift */; }; - D0D59741280A29D900AAAB1E /* CardExpiryDateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0D59740280A29D900AAAB1E /* CardExpiryDateTests.swift */; }; - D0D9253F27459C0600921B94 /* PayWithLinkButtonSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0D9253E27459C0600921B94 /* PayWithLinkButtonSnapshotTests.swift */; }; - D0DBD9EF26EBEB6200009C8E /* STPPaymentMethodBoletoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0DBD9EE26EBEB6200009C8E /* STPPaymentMethodBoletoTests.swift */; }; - D0ECE13027A9AD720082ED18 /* LinkLegalTermsViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0ECE12E27A9AD560082ED18 /* LinkLegalTermsViewSnapshotTests.swift */; }; - D0F20328273C825400AB10BF /* OneTimeCodeTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0F20327273C825400AB10BF /* OneTimeCodeTextFieldSnapshotTests.swift */; }; - D0FA063127F62C9400EED2AD /* PayWithLinkViewController-WalletViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0FA063027F62C9400EED2AD /* PayWithLinkViewController-WalletViewModelTests.swift */; }; - D0FA063727F63EE700EED2AD /* LinkStubs.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0FA063627F63EE700EED2AD /* LinkStubs.swift */; }; - D0FA063C27F652B800EED2AD /* LinkNoticeViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0FA063B27F652B800EED2AD /* LinkNoticeViewSnapshotTests.swift */; }; - E2379395291B378700C63FDD /* RotatingCardBrandsViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2379394291B378700C63FDD /* RotatingCardBrandsViewSnapshotTests.swift */; }; - E2379397291B37F200C63FDD /* RotatingCardBrandsViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2379396291B37F200C63FDD /* RotatingCardBrandsViewTests.swift */; }; - E254410028F9CC8800C6F5D3 /* OCMock in Frameworks */ = {isa = PBXBuildFile; productRef = E25440FF28F9CC8800C6F5D3 /* OCMock */; }; - E254410528F9CCD400C6F5D3 /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = E254410428F9CCD400C6F5D3 /* iOSSnapshotTestCase */; }; - E254410628F9CCD400C6F5D3 /* iOSSnapshotTestCase in CopyFiles */ = {isa = PBXBuildFile; productRef = E254410428F9CCD400C6F5D3 /* iOSSnapshotTestCase */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - E254411528F9E0D600C6F5D3 /* SWHttpTrafficRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = E254411328F9E0D600C6F5D3 /* SWHttpTrafficRecorder.m */; }; - E254411628F9E0D600C6F5D3 /* SWHttpTrafficRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = E254411428F9E0D600C6F5D3 /* SWHttpTrafficRecorder.h */; }; - E254413028F9FC3700C6F5D3 /* OHHTTPStubs in Frameworks */ = {isa = PBXBuildFile; productRef = E254412F28F9FC3700C6F5D3 /* OHHTTPStubs */; }; - E254413228F9FC3700C6F5D3 /* OHHTTPStubsSwift in Frameworks */ = {isa = PBXBuildFile; productRef = E254413128F9FC3700C6F5D3 /* OHHTTPStubsSwift */; }; - E60437F225D34316006E2E03 /* STPGenericInputPickerFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E60437F125D34316006E2E03 /* STPGenericInputPickerFieldSnapshotTests.swift */; }; - E60437F625D37DDC006E2E03 /* STPGenericInputPickerFieldValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E60437F525D37DDC006E2E03 /* STPGenericInputPickerFieldValidatorTest.swift */; }; - E61BEEAE265F6BDC0002FA4F /* STPAnalyticsClientPaymentsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61BEEAD265F6BDC0002FA4F /* STPAnalyticsClientPaymentsTest.swift */; }; - E61BEEB0265F6CAC0002FA4F /* STPAnalyticsClientPaymentSheetTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61BEEAF265F6CAC0002FA4F /* STPAnalyticsClientPaymentSheetTest.swift */; }; - E620F1D8265F5FA200233581 /* PaymentAnalyticTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E620F1D7265F5FA200233581 /* PaymentAnalyticTest.swift */; }; - E6598C8526952F7000278740 /* StripeBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6598C8426952F7000278740 /* StripeBundleLocator.swift */; }; - E6598C872695342000278740 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6598C862695342000278740 /* String+Localized.swift */; }; - E6AFFAF126E970830067462F /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAF026E970830067462F /* StripeUICore.framework */; }; - E6B0F5592686C0BA00055EAF /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6B0F5582686C0BA00055EAF /* StripeCore.framework */; }; - E6CDC468269E70590020A962 /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6CDC467269E70590020A962 /* StripeCoreTestUtils.framework */; }; - F1122A7E1DFB84E000A8B1AF /* UINavigationBar+StripeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F1122A7D1DFB84E000A8B1AF /* UINavigationBar+StripeTest.m */; }; - F116E94C1D83405E0026A52A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11C74B9B164043050071C2CA /* Foundation.framework */; }; - F116E94D1D8340640026A52A /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A0D74F918F6106100966D7B /* Security.framework */; }; - F1343BE91D652CAB00F102D8 /* Card.json in Resources */ = {isa = PBXBuildFile; fileRef = C1D23FB31D37FE0B002FD83C /* Card.json */; }; - F1343BEA1D652CAD00F102D8 /* Customer.json in Resources */ = {isa = PBXBuildFile; fileRef = C1D23FB41D37FE0B002FD83C /* Customer.json */; }; - F148ABE81D5E805A0014FD92 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F148ABE61D5E805A0014FD92 /* Localizable.strings */; }; - F148ABFA1D5E88C40014FD92 /* STPTestUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = C1D23FAF1D37FC90002FD83C /* STPTestUtils.h */; }; - F148ABFB1D5E88C70014FD92 /* STPTestUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = C1D23FB01D37FC90002FD83C /* STPTestUtils.m */; }; - F152322F1EA9344600D65C67 /* iDEALSource.json in Resources */ = {isa = PBXBuildFile; fileRef = F152322E1EA9344000D65C67 /* iDEALSource.json */; }; - F15232311EA93E6800D65C67 /* Contacts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F15232301EA93E6800D65C67 /* Contacts.framework */; settings = {ATTRIBUTES = (Required, ); }; }; - F16AA26F1F5A0F1700207FFF /* AlipaySource.json in Resources */ = {isa = PBXBuildFile; fileRef = F16AA26D1F5A05A100207FFF /* AlipaySource.json */; }; - F1BA241E1E57BE5E00E4A1CF /* CardSource.json in Resources */ = {isa = PBXBuildFile; fileRef = F1BA241C1E57BE5700E4A1CF /* CardSource.json */; }; - F1BA24211E57BECA00E4A1CF /* 3DSSource.json in Resources */ = {isa = PBXBuildFile; fileRef = F1BA241F1E57BEC600E4A1CF /* 3DSSource.json */; }; - F1D64B2E1D87686E001CDB7C /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F1D64B2D1D87686E001CDB7C /* WebKit.framework */; }; - F1D765CE1EDE331500F37005 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F1D765CD1EDE331500F37005 /* CoreLocation.framework */; settings = {ATTRIBUTES = (Required, ); }; }; - F1D777C01D81DD520076FA19 /* STPStringUtilsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F1D777BF1D81DD520076FA19 /* STPStringUtilsTest.m */; }; - F1D96F9A1DC7DCDE00477E64 /* STPLocalizationUtils+STPTestAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = F1D96F981DC7DCDE00477E64 /* STPLocalizationUtils+STPTestAdditions.h */; }; - F3064297268C42BE0076CDDA /* PaymentSheet+APITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3064296268C42BE0076CDDA /* PaymentSheet+APITest.swift */; }; - F35E2DAA267AB89100BE074B /* AfterpayPriceBreakdownViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F35E2DA4267AB5D100BE074B /* AfterpayPriceBreakdownViewSnapshotTests.swift */; }; - F3E73D4A2683B78300438FD6 /* STPIntentWithPreferencesTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3E73D492683B78300438FD6 /* STPIntentWithPreferencesTest.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 045E7C0A1A5F41DE004751EF /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11C74B8F164043050071C2CA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 04CDB4411A5F2E1800B854EE; - remoteInfo = StripeiOS; - }; - 363BD053273444CC003F9FE4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11C74B8F164043050071C2CA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 363BD03E27344436003F9FE4; - remoteInfo = StripeiOSTestHostApp; - }; - 364DBF94274859FF00FD9250 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11C74B8F164043050071C2CA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 04CDB4411A5F2E1800B854EE; - remoteInfo = StripeiOS; - }; - 364DBF9927485A0300FD9250 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11C74B8F164043050071C2CA /* Project object */; - proxyType = 1; - remoteGlobalIDString = 363BD03E27344436003F9FE4; - remoteInfo = StripeiOSTestHostApp; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 31309B8228876A8A0091010A /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 31309B8128876A8A0091010A /* StripePaymentSheet.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - F15AC18F1DBA9CC10009EADE /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - E254410628F9CCD400C6F5D3 /* iOSSnapshotTestCase in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 04365D2C1A4CF86C00A3E1D4 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 045A62AA1B8E7259000165CE /* STPPaymentCardTextFieldTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentCardTextFieldTest.m; sourceTree = ""; }; - 045E7C031A5F41DE004751EF /* StripeiOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "StripeiOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 04A4C3931C4F276100B3B290 /* STPUIVCStripeParentViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPUIVCStripeParentViewControllerTests.m; sourceTree = ""; }; - 04B33F301BC7417B00DD8120 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 04B94BC71A47B78A00092C46 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; }; - 04CDB4421A5F2E1800B854EE /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 04CDB5221A5F3A9300B854EE /* STPBankAccountFunctionalTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPBankAccountFunctionalTest.m; sourceTree = ""; }; - 04CDB5231A5F3A9300B854EE /* STPBankAccountTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPBankAccountTest.m; sourceTree = ""; }; - 04CDB5241A5F3A9300B854EE /* STPCardFunctionalTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCardFunctionalTest.m; sourceTree = ""; }; - 04CDB5271A5F3A9300B854EE /* STPTokenTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPTokenTest.m; sourceTree = ""; }; - 04D5BF9019BF958F009521A5 /* PassKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PassKit.framework; path = System/Library/Frameworks/PassKit.framework; sourceTree = SDKROOT; }; - 04E01F8321AA36320061402F /* STPNetworkStubbingTestCase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STPNetworkStubbingTestCase.h; sourceTree = ""; }; - 04E01F8421AA36320061402F /* STPNetworkStubbingTestCase.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPNetworkStubbingTestCase.m; sourceTree = ""; }; - 04E01F8921AA55E30061402F /* recorded_network_traffic */ = {isa = PBXFileReference; lastKnownFileType = folder; name = recorded_network_traffic; path = Tests/recorded_network_traffic; sourceTree = SOURCE_ROOT; }; - 04F39F0A1AEF2AFE005B926E /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - 04F39F0B1AEF2AFE005B926E /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - 04F39F0C1AEF2AFE005B926E /* Project-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - 04F39F0D1AEF2AFE005B926E /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - 04F39F0E1AEF2AFE005B926E /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - 04F39F0F1AEF2AFE005B926E /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - 04F39F101AEF2AFE005B926E /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - 04F39F111AEF2AFE005B926E /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - 04F39F121AEF2AFE005B926E /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - 0FC7C94F25B0EAF900E99D3E /* STPPaymentMethodAfterpayClearpayParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodAfterpayClearpayParamsTest.m; sourceTree = ""; }; - 0FC7C95225B1075D00E99D3E /* STPPaymentMethodAfterpayClearpayTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodAfterpayClearpayTest.m; sourceTree = ""; }; - 11C74B9B164043050071C2CA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 310FCA922582F1C6005FB2AE /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3111C35625279C3B00207E32 /* STPSwiftFixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSwiftFixtures.swift; sourceTree = ""; }; - 3111C38A252BC78B00207E32 /* STPThreeDSUICustomizationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSUICustomizationTest.swift; sourceTree = ""; }; - 3111C38D252BC78C00207E32 /* NSURLComponents_StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSURLComponents_StripeTest.swift; sourceTree = ""; }; - 3111C391252BC78C00207E32 /* STPPaymentOptionsViewControllerLocalizationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionsViewControllerLocalizationTests.swift; sourceTree = ""; }; - 3111C393252BC78D00207E32 /* STPPaymentMethodCardTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardTest.swift; sourceTree = ""; }; - 3111C397252BC78D00207E32 /* STPSourceParamsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceParamsTest.swift; sourceTree = ""; }; - 3111C398252BC78E00207E32 /* STPPhoneNumberValidatorTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPhoneNumberValidatorTest.swift; sourceTree = ""; }; - 3111C399252BC78E00207E32 /* STPApplePayFunctionalTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPApplePayFunctionalTest.swift; sourceTree = ""; }; - 3111C39A252BC78E00207E32 /* STPPaymentMethodBancontactTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBancontactTests.swift; sourceTree = ""; }; - 3111C39B252BC78E00207E32 /* STPPaymentMethodTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodTest.swift; sourceTree = ""; }; - 3111C3A7252BC79000207E32 /* STPBECSDebitAccountNumberValidatorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBECSDebitAccountNumberValidatorTests.swift; sourceTree = ""; }; - 3111C3A8252BC79000207E32 /* STPAUBECSFormViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAUBECSFormViewModelTests.swift; sourceTree = ""; }; - 3111C3A9252BC79000207E32 /* STPAPIClientTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAPIClientTest.swift; sourceTree = ""; }; - 3111C3AC252BC79100207E32 /* STPCardValidatorTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardValidatorTest.swift; sourceTree = ""; }; - 3111C3AE252BC79100207E32 /* STPAddCardViewControllerLocalizationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAddCardViewControllerLocalizationTests.swift; sourceTree = ""; }; - 3111C3B0252BC79100207E32 /* NSDictionary+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSDictionary+StripeTest.swift"; sourceTree = ""; }; - 3111C3B1252BC79200207E32 /* STPAUBECSDebitFormViewSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAUBECSDebitFormViewSnapshotTests.swift; sourceTree = ""; }; - 3111C3B2252BC79200207E32 /* STPSourceCardDetailsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceCardDetailsTest.swift; sourceTree = ""; }; - 3111C3B3252BC79200207E32 /* NSDecimalNumber+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSDecimalNumber+StripeTest.swift"; sourceTree = ""; }; - 3111C3B4252BC79200207E32 /* STPBSBNumberValidatorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBSBNumberValidatorTests.swift; sourceTree = ""; }; - 3111C3B5252BC79200207E32 /* STPCardBINMetadataTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardBINMetadataTests.swift; sourceTree = ""; }; - 3111C3B6252BC79300207E32 /* STPMandateCustomerAcceptanceParamsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPMandateCustomerAcceptanceParamsTest.swift; sourceTree = ""; }; - 3111C3B8252BC79300207E32 /* STPThreeDSLabelCustomizationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSLabelCustomizationTest.swift; sourceTree = ""; }; - 3111C3B9252BC79300207E32 /* STPPaymentMethodGiropayTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGiropayTests.swift; sourceTree = ""; }; - 3111C3BA252BC79300207E32 /* STPAddressViewModelTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAddressViewModelTest.swift; sourceTree = ""; }; - 3111C3BB252BC79300207E32 /* STPNetworkStubbingTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPNetworkStubbingTestCase.swift; sourceTree = ""; }; - 3111C3BC252BC79300207E32 /* STPThreeDSTextFieldCustomizationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSTextFieldCustomizationTest.swift; sourceTree = ""; }; - 3111C3BF252BC79400207E32 /* STPPushProvisioningDetailsFunctionalTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPushProvisioningDetailsFunctionalTest.swift; sourceTree = ""; }; - 3111C3C3252BC79400207E32 /* STPThreeDSFooterCustomizationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSFooterCustomizationTest.swift; sourceTree = ""; }; - 3111C3C8252BC79500207E32 /* STPSetupIntentConfirmParamsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSetupIntentConfirmParamsTest.swift; sourceTree = ""; }; - 3111C3C9252BC79500207E32 /* STPShippingAddressViewControllerLocalizationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPShippingAddressViewControllerLocalizationTests.swift; sourceTree = ""; }; - 3111C3CC252BC79600207E32 /* STPShippingMethodsViewControllerLocalizationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPShippingMethodsViewControllerLocalizationTests.swift; sourceTree = ""; }; - 3111C3CD252BC79600207E32 /* STPFormEncoderTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFormEncoderTest.swift; sourceTree = ""; }; - 3111C3CF252BC79600207E32 /* STPPaymentIntentTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentTest.swift; sourceTree = ""; }; - 3111C3D5252BC79700207E32 /* STPPaymentMethodAUBECSDebitTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAUBECSDebitTests.swift; sourceTree = ""; }; - 3111C3D6252BC79800207E32 /* STPCertTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCertTest.swift; sourceTree = ""; }; - 3111C3DB252BC79800207E32 /* STPPaymentMethodEPSTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodEPSTests.swift; sourceTree = ""; }; - 3111C3DC252BC79900207E32 /* STPMandateDataParamsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPMandateDataParamsTest.swift; sourceTree = ""; }; - 3111C3DF252BC79900207E32 /* STPCardTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardTest.swift; sourceTree = ""; }; - 3111C3E0252BC79900207E32 /* STPPaymentMethodPrzelewy24Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPrzelewy24Tests.swift; sourceTree = ""; }; - 3111C3E5252BC79A00207E32 /* PKPayment+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PKPayment+StripeTest.swift"; sourceTree = ""; }; - 3111C3E6252BC79A00207E32 /* STPMandateOnlineParamsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPMandateOnlineParamsTest.swift; sourceTree = ""; }; - 3111C3E8252BC79A00207E32 /* STPNumericStringValidatorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPNumericStringValidatorTests.swift; sourceTree = ""; }; - 3111C3EB252BC79B00207E32 /* STPThreeDSNavigationBarCustomizationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSNavigationBarCustomizationTest.swift; sourceTree = ""; }; - 3111C3EF252BC79C00207E32 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPLabeledMultiFormTextFieldViewSnapshotTests.swift; sourceTree = ""; }; - 3111C3F0252BC79C00207E32 /* STPPaymentIntentParamsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentParamsTest.swift; sourceTree = ""; }; - 3111C3F1252BC79C00207E32 /* STPFormTextFieldTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFormTextFieldTest.swift; sourceTree = ""; }; - 3111C3F5252BC79D00207E32 /* STPAddCardViewControllerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAddCardViewControllerTest.swift; sourceTree = ""; }; - 3111C3F6252BC79D00207E32 /* NSString+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSString+StripeTest.swift"; sourceTree = ""; }; - 3111C3F7252BC79D00207E32 /* FBSnapshotTestCase+STPViewControllerLoading.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FBSnapshotTestCase+STPViewControllerLoading.swift"; sourceTree = ""; }; - 3111C3F8252BC79D00207E32 /* StripeErrorTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StripeErrorTest.swift; sourceTree = ""; }; - 3111C3F9252BC79D00207E32 /* STPThreeDSSelectionCustomizationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSSelectionCustomizationTest.swift; sourceTree = ""; }; - 3111C3FB252BC79E00207E32 /* STPPinManagementServiceFunctionalTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPinManagementServiceFunctionalTest.swift; sourceTree = ""; }; - 3111C3FC252BC79E00207E32 /* STPShippingAddressViewControllerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPShippingAddressViewControllerTest.swift; sourceTree = ""; }; - 3111C3FD252BC79E00207E32 /* STPPaymentContextApplePayTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentContextApplePayTest.swift; sourceTree = ""; }; - 3111C400252BC79E00207E32 /* STPEphemeralKeyTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPEphemeralKeyTest.swift; sourceTree = ""; }; - 3111C401252BC79F00207E32 /* STPApplePayContextTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPApplePayContextTest.swift; sourceTree = ""; }; - 3111C402252BC79F00207E32 /* STPPostalCodeValidatorTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPostalCodeValidatorTest.swift; sourceTree = ""; }; - 3111C405252BC79F00207E32 /* STPPaymentMethodSofortTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSofortTests.swift; sourceTree = ""; }; - 3111C40A252BC7A000207E32 /* STPBinRangeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBinRangeTest.swift; sourceTree = ""; }; - 3111C410252BC7A100207E32 /* STPPaymentCardTextFieldViewModelTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextFieldViewModelTest.swift; sourceTree = ""; }; - 3111C411252BC7A100207E32 /* NSArray+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSArray+StripeTest.swift"; sourceTree = ""; }; - 3111C412252BC7A100207E32 /* STPThreeDSButtonCustomizationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSButtonCustomizationTest.swift; sourceTree = ""; }; - 3111C413252BC7A200207E32 /* STPPaymentOptionsViewControllerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionsViewControllerTest.swift; sourceTree = ""; }; - 31138E8528DCEE12008AF554 /* STPStringUtilsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPStringUtilsTest.swift; sourceTree = ""; }; - 3113D8C0250AA97700C495F1 /* Stripe.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = Stripe.modulemap; sourceTree = ""; }; - 31227141286E54FD0007ED5E /* STPPaymentIntentParams+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentIntentParams+BasicUI.swift"; sourceTree = ""; }; - 3122714B286E55A80007ED5E /* STPBlocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBlocks.swift; sourceTree = ""; }; - 3122714F286E55F20007ED5E /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31227153286E55FC0007ED5E /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31227170286E567B0007ED5E /* STPPinManagementService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPinManagementService.swift; sourceTree = ""; }; - 31227172286E56980007ED5E /* STPEphemeralKeyProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPEphemeralKeyProvider.swift; sourceTree = ""; }; - 31227178286E59620007ED5E /* STPPaymentMethod+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentMethod+BasicUI.swift"; sourceTree = ""; }; - 3122717A286E59D60007ED5E /* STPAPIClient+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+BasicUI.swift"; sourceTree = ""; }; - 3122717C286E59EC0007ED5E /* STPSource+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPSource+BasicUI.swift"; sourceTree = ""; }; - 31227182286E5A8B0007ED5E /* STPPushProvisioningDetailsParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPushProvisioningDetailsParams.swift; sourceTree = ""; }; - 31227183286E5A8C0007ED5E /* STPPushProvisioningContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPushProvisioningContext.swift; sourceTree = ""; }; - 31227186286E5B360007ED5E /* STPAddress+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAddress+BasicUI.swift"; sourceTree = ""; }; - 31227188286E5BD70007ED5E /* STPCard+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPCard+BasicUI.swift"; sourceTree = ""; }; - 3122718F286E5CA70007ED5E /* STPPaymentMethodParams+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentMethodParams+BasicUI.swift"; sourceTree = ""; }; - 31227195286E610E0007ED5E /* STPAnalyticsClient+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+BasicUI.swift"; sourceTree = ""; }; - 3122724E2876429C0007ED5E /* STPAnalyticsClient+Payments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Payments.swift"; sourceTree = ""; }; - 312D789A253DF824009224AF /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; - 31309B7F28876A8A0091010A /* StripePaymentSheet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentSheet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31315126260AB00000DD8EDE /* STPApplePayContextFunctionalTestExtras.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayContextFunctionalTestExtras.swift; sourceTree = ""; }; - 3137A74326FD7687008BEF7B /* STPAPIClientNetworkBridgeTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPAPIClientNetworkBridgeTest.m; sourceTree = ""; }; - 3137A74A26FD7710008BEF7B /* STPErrorBridgeTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPErrorBridgeTest.m; sourceTree = ""; }; - 3137B69627437F5A00CE7F5C /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 315E4B352639D80F00C1D955 /* STPIntentActionWeChatPayRedirectToAppTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionWeChatPayRedirectToAppTest.swift; sourceTree = ""; }; - 316E9F7526FA9AD400986485 /* STPAPISettingsBridgeTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPAPISettingsBridgeTest.m; sourceTree = ""; }; - 316F81212541125E000A80B5 /* STPPaymentMethodOXXOTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodOXXOTests.m; sourceTree = ""; }; - 316F812725411274000A80B5 /* STPPaymentMethodOXXOParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodOXXOParamsTests.m; sourceTree = ""; }; - 316F813E25411877000A80B5 /* STPPaymentMethodPayPalParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodPayPalParamsTests.m; sourceTree = ""; }; - 316F814425411879000A80B5 /* STPPaymentMethodPayPalTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodPayPalTests.m; sourceTree = ""; }; - 317ABD2825117C9200CC59EF /* STPCardScanner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardScanner.swift; sourceTree = ""; }; - 317ABD2D25117C9300CC59EF /* STPTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPTheme.swift; sourceTree = ""; }; - 317ABD3A25117C9300CC59EF /* STPPaymentOptionsInternalViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionsInternalViewController.swift; sourceTree = ""; }; - 317ABD3E25117C9400CC59EF /* STPShippingMethodsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPShippingMethodsViewController.swift; sourceTree = ""; }; - 317ABD4925117C9500CC59EF /* STPShippingAddressViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPShippingAddressViewController.swift; sourceTree = ""; }; - 317ABD4D25117C9500CC59EF /* STPPaymentOptionsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionsViewController.swift; sourceTree = ""; }; - 317ABD4F25117C9500CC59EF /* STPPaymentOptionTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionTableViewCell.swift; sourceTree = ""; }; - 317ABD5025117C9500CC59EF /* STPPaymentContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentContext.swift; sourceTree = ""; }; - 317ABD5125117C9500CC59EF /* STPPaymentCardTextFieldCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextFieldCell.swift; sourceTree = ""; }; - 317ABD5525117C9500CC59EF /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PKPaymentAuthorizationViewController+Stripe_Blocks.swift"; sourceTree = ""; }; - 317ABD5E25117C9600CC59EF /* STPEphemeralKeyManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPEphemeralKeyManager.swift; sourceTree = ""; }; - 317ABD6225117C9600CC59EF /* STPPaymentResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentResult.swift; sourceTree = ""; }; - 317ABD6425117C9600CC59EF /* UIView+Stripe_FirstResponder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Stripe_FirstResponder.swift"; sourceTree = ""; }; - 317ABD6825117C9600CC59EF /* STPPaymentOptionTuple.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionTuple.swift; sourceTree = ""; }; - 317ABD6C25117C9700CC59EF /* STPShippingMethodTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPShippingMethodTableViewCell.swift; sourceTree = ""; }; - 317ABD7325117C9700CC59EF /* STPCoreTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCoreTableViewController.swift; sourceTree = ""; }; - 317ABD8225117C9800CC59EF /* STPPaymentActivityIndicatorView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentActivityIndicatorView.swift; sourceTree = ""; }; - 317ABD8325117C9800CC59EF /* STPPushProvisioningDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPushProvisioningDetails.swift; sourceTree = ""; }; - 317ABD8525117C9800CC59EF /* STPPromise.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPromise.swift; sourceTree = ""; }; - 317ABD8A25117C9800CC59EF /* STPPaymentConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentConfiguration.swift; sourceTree = ""; }; - 317ABD9025117C9900CC59EF /* UIViewController+Stripe_NavigationItemProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Stripe_NavigationItemProxy.swift"; sourceTree = ""; }; - 317ABD9325117C9900CC59EF /* STPCameraView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCameraView.swift; sourceTree = ""; }; - 317ABD9825117C9900CC59EF /* STPBankSelectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBankSelectionViewController.swift; sourceTree = ""; }; - 317ABDA725117C9A00CC59EF /* STPPaymentOption.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentOption.swift; sourceTree = ""; }; - 317ABDAA25117C9A00CC59EF /* STPSectionHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSectionHeaderView.swift; sourceTree = ""; }; - 317ABDAD25117C9A00CC59EF /* STPAddCardViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAddCardViewController.swift; sourceTree = ""; }; - 317ABDB725117C9B00CC59EF /* STPAddressViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAddressViewModel.swift; sourceTree = ""; }; - 317ABDB925117C9B00CC59EF /* PKAddPaymentPassRequest+Stripe_Error.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PKAddPaymentPassRequest+Stripe_Error.swift"; sourceTree = ""; }; - 317ABDC725117C9C00CC59EF /* STPCoreViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCoreViewController.swift; sourceTree = ""; }; - 317ABDD725117C9D00CC59EF /* STPImageLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPImageLibrary.swift; sourceTree = ""; }; - 317ABDDE25117C9D00CC59EF /* STPAPIClient+PushProvisioning.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+PushProvisioning.swift"; sourceTree = ""; }; - 317ABDE225117C9D00CC59EF /* UINavigationBar+Stripe_Theme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UINavigationBar+Stripe_Theme.swift"; sourceTree = ""; }; - 317ABDE325117C9E00CC59EF /* UIView+Stripe_SafeAreaBounds.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Stripe_SafeAreaBounds.swift"; sourceTree = ""; }; - 317ABDEC25117C9E00CC59EF /* UIViewController+Stripe_KeyboardAvoiding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Stripe_KeyboardAvoiding.swift"; sourceTree = ""; }; - 317ABDEE25117C9E00CC59EF /* STPCoreScrollViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCoreScrollViewController.swift; sourceTree = ""; }; - 317ABDF325117C9E00CC59EF /* UIViewController+Stripe_ParentViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Stripe_ParentViewController.swift"; sourceTree = ""; }; - 317ABDF525117C9F00CC59EF /* STPPaymentContextAmountModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentContextAmountModel.swift; sourceTree = ""; }; - 317ABDF925117C9F00CC59EF /* STPEphemeralKey.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPEphemeralKey.swift; sourceTree = ""; }; - 317ABDFB25117C9F00CC59EF /* STPFPXBankStatusResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFPXBankStatusResponse.swift; sourceTree = ""; }; - 317ABDFE25117C9F00CC59EF /* STPAddressFieldTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAddressFieldTableViewCell.swift; sourceTree = ""; }; - 317ABE0225117C9F00CC59EF /* UIBarButtonItem+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIBarButtonItem+Stripe.swift"; sourceTree = ""; }; - 317ABE0C25117CA000CC59EF /* STPBankSelectionTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBankSelectionTableViewCell.swift; sourceTree = ""; }; - 317ABE0D25117CA000CC59EF /* STPCardScannerTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardScannerTableViewCell.swift; sourceTree = ""; }; - 317ABE1125117CA000CC59EF /* UIToolbar+Stripe_InputAccessory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIToolbar+Stripe_InputAccessory.swift"; sourceTree = ""; }; - 317ABE1325117CA000CC59EF /* STPCustomerContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCustomerContext.swift; sourceTree = ""; }; - 317ABE1825117CA100CC59EF /* STPBackendAPIAdapter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBackendAPIAdapter.swift; sourceTree = ""; }; - 317ABE1B25117CA100CC59EF /* STPFakeAddPaymentPassViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFakeAddPaymentPassViewController.swift; sourceTree = ""; }; - 317ABE2025117CA100CC59EF /* STPUserInformation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPUserInformation.swift; sourceTree = ""; }; - 317ABE2425117CA100CC59EF /* STPApplePayPaymentOption.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPApplePayPaymentOption.swift; sourceTree = ""; }; - 317ABE2625117CA100CC59EF /* UITableViewCell+Stripe_Borders.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableViewCell+Stripe_Borders.swift"; sourceTree = ""; }; - 317ABE2725117CA200CC59EF /* UINavigationController+Stripe_Completion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UINavigationController+Stripe_Completion.swift"; sourceTree = ""; }; - 317E054025D494F3006D4C29 /* STPPaymentMethodCardParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardParamsTest.swift; sourceTree = ""; }; - 3180E09C2592B98900CE3D7E /* stp_card_form_back@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_back@3x.png"; sourceTree = ""; }; - 3180E0A72592B98900CE3D7E /* stp_card_form_amex_cvc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_amex_cvc@3x.png"; sourceTree = ""; }; - 3180E0A92592B98900CE3D7E /* stp_card_form_front@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_front@3x.png"; sourceTree = ""; }; - 3180E0CC2592B99100CE3D7E /* stp_icon_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_icon_bank@3x.png"; sourceTree = ""; }; - 3180E0CD2592B99100CE3D7E /* stp_icon_add@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_icon_add@3x.png"; sourceTree = ""; }; - 3180E0CE2592B99100CE3D7E /* stp_shipping_form@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_shipping_form@3x.png"; sourceTree = ""; }; - 3180E0CF2592B99100CE3D7E /* stp_icon_checkmark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_icon_checkmark@3x.png"; sourceTree = ""; }; - 3180E0EC2592BB1800CE3D7E /* stp_bank_fpx_ocbc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_ocbc@3x.png"; sourceTree = ""; }; - 3180E0ED2592BB1800CE3D7E /* stp_bank_fpx_rhb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_rhb@3x.png"; sourceTree = ""; }; - 3180E0EE2592BB1800CE3D7E /* stp_bank_fpx_bsn@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_bsn@3x.png"; sourceTree = ""; }; - 3180E0EF2592BB1800CE3D7E /* stp_bank_fpx_hong_leong_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_hong_leong_bank@3x.png"; sourceTree = ""; }; - 3180E0F02592BB1800CE3D7E /* stp_fpx_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_fpx_logo@3x.png"; sourceTree = ""; }; - 3180E0F12592BB1800CE3D7E /* stp_bank_fpx_standard_chartered@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_standard_chartered@3x.png"; sourceTree = ""; }; - 3180E0F22592BB1800CE3D7E /* stp_bank_fpx_bank_islam@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_bank_islam@3x.png"; sourceTree = ""; }; - 3180E0F32592BB1800CE3D7E /* stp_fpx_big_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_fpx_big_logo@3x.png"; sourceTree = ""; }; - 3180E0F42592BB1800CE3D7E /* stp_bank_fpx_cimb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_cimb@3x.png"; sourceTree = ""; }; - 3180E0F52592BB1800CE3D7E /* stp_bank_fpx_public_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_public_bank@3x.png"; sourceTree = ""; }; - 3180E0F62592BB1800CE3D7E /* stp_bank_fpx_alliance_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_alliance_bank@3x.png"; sourceTree = ""; }; - 3180E0F72592BB1800CE3D7E /* stp_bank_fpx_hsbc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_hsbc@3x.png"; sourceTree = ""; }; - 3180E0F82592BB1800CE3D7E /* stp_bank_fpx_affin_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_affin_bank@3x.png"; sourceTree = ""; }; - 3180E0F92592BB1800CE3D7E /* stp_bank_fpx_maybank2u@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_maybank2u@3x.png"; sourceTree = ""; }; - 3180E0FA2592BB1800CE3D7E /* stp_bank_fpx_kfh@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_kfh@3x.png"; sourceTree = ""; }; - 3180E0FB2592BB1800CE3D7E /* stp_bank_fpx_bank_muamalat@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_bank_muamalat@3x.png"; sourceTree = ""; }; - 3180E0FC2592BB1800CE3D7E /* stp_bank_fpx_uob@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_uob@3x.png"; sourceTree = ""; }; - 3180E0FD2592BB1800CE3D7E /* stp_bank_fpx_ambank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_ambank@3x.png"; sourceTree = ""; }; - 3180E0FE2592BB1800CE3D7E /* stp_bank_fpx_maybank2e@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_maybank2e@3x.png"; sourceTree = ""; }; - 3180E0FF2592BB1800CE3D7E /* stp_bank_fpx_bank_rakyat@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_bank_rakyat@3x.png"; sourceTree = ""; }; - 3185126B252FE67E008C0C57 /* StripeTests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "StripeTests-Prefix.pch"; sourceTree = ""; }; - 31851271252FE770008C0C57 /* STPBlocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPBlocks.h; sourceTree = ""; }; - 31875B5B25DC63C800884BE0 /* STPE2ETest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPE2ETest.swift; sourceTree = ""; }; - 3194CF5B2314869400E1940F /* STPPaymentMethodFPXTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodFPXTest.m; sourceTree = ""; }; - 3194CF5D231487A100E1940F /* STPFPXBankBrandTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPFPXBankBrandTest.m; sourceTree = ""; }; - 319567F128D38D6200BFF5D1 /* STPApplePayContextDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayContextDelegate.swift; sourceTree = ""; }; - 319E82F927431A3300F202D6 /* StripeApplePayTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePayTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31C26219255F887A000C5B50 /* Stripe-umbrella.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Stripe-umbrella.h"; sourceTree = SOURCE_ROOT; }; - 31C8644824DDF2550015F7DF /* STPPaymentMethodSofortParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodSofortParamsTests.m; sourceTree = ""; }; - 31DCB10528F4CAB0002EF128 /* Stripe+Exports.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Stripe+Exports.swift"; sourceTree = ""; }; - 31E242FA26F9028400064908 /* STPCustomerContextTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCustomerContextTest.swift; sourceTree = ""; }; - 31E242FE26FA424900064908 /* STPApplePayTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayTest.swift; sourceTree = ""; }; - 31EFEE0D258AE3F40069BC5F /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 36006C70244A4D8C002E7C41 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "Localizations/es-419.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BA026D6E6BC002A8AAA /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "Localizations/ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BA826D83080002A8AAA /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "Localizations/bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BAF26D83138002A8AAA /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "Localizations/ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BBC26D832BA002A8AAA /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "Localizations/cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BC026D83396002A8AAA /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "Localizations/et-EE.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BC826D8346F002A8AAA /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "Localizations/el-GR.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BD026D834FD002A8AAA /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "Localizations/lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BD826D83591002A8AAA /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "Localizations/lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BE026D83617002A8AAA /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "Localizations/pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BE826D83692002A8AAA /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "Localizations/ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BF026D83771002A8AAA /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "Localizations/sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BF826D83816002A8AAA /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "Localizations/sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; - 360EBFA027FFA87E00845AB6 /* STPImageLibraryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPImageLibraryTest.swift; sourceTree = ""; }; - 3617A51220FE5BBB001A9E6A /* NSLocale+STPSwizzling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSLocale+STPSwizzling.h"; sourceTree = ""; }; - 3617A51320FE5BBB001A9E6A /* NSLocale+STPSwizzling.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSLocale+STPSwizzling.m"; sourceTree = ""; }; - 3619624D244FB2AE0025D60B /* STPPaymentMethodGiropayParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodGiropayParamsTests.m; sourceTree = ""; }; - 361A070A276D264D00D2339A /* PaymentTypeCellSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentTypeCellSnapshotTests.swift; sourceTree = ""; }; - 36242DFA242EBFEA00A32EEE /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "Localizations/zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - 36242DFC242EBFF300A32EEE /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "Localizations/zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - 3626616123C9019000B13AE0 /* STPConfirmCardOptionsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPConfirmCardOptionsTest.m; sourceTree = ""; }; - 3626616323C902FB00B13AE0 /* STPConfirmPaymentMethodOptionsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPConfirmPaymentMethodOptionsTest.m; sourceTree = ""; }; - 36345D5427D011E300D2445D /* STPPaymentMethodUSBankAccountParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccountParamsTest.swift; sourceTree = ""; }; - 36345D5627D0181900D2445D /* STPPaymentMethodUSBankAccountTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccountTest.swift; sourceTree = ""; }; - 36345D5827D0198100D2445D /* STPPaymentIntentFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentFunctionalTest.swift; sourceTree = ""; }; - 36345D5A27D02D5300D2445D /* STPSetupIntentFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSetupIntentFunctionalTest.swift; sourceTree = ""; }; - 363B925F27431C4800BA52EC /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; - 363BD03F27344436003F9FE4 /* StripeiOSTestHostApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StripeiOSTestHostApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 363BD04127344436003F9FE4 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 363BD04527344436003F9FE4 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 363BD04827344436003F9FE4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 363BD04A27344439003F9FE4 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 363BD04D27344439003F9FE4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 363BD04F27344439003F9FE4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 364DBF8E274859FF00FD9250 /* StripeiOSAppHostedTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeiOSAppHostedTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 364DBF92274859FF00FD9250 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3663CEA326D5B21B00D0E123 /* STPPaymentCardTextFieldTestsSwift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextFieldTestsSwift.swift; sourceTree = ""; }; - 3666589A23FF494400D00354 /* STPTestingAPIClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STPTestingAPIClient.h; sourceTree = ""; }; - 3666589B23FF494400D00354 /* STPTestingAPIClient.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPTestingAPIClient.m; sourceTree = ""; }; - 366658B42410756100D00354 /* STPPaymentMethodAUBECSDebitParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodAUBECSDebitParamsTests.m; sourceTree = ""; }; - 3667948F25B790250094831B /* STPCardFormViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardFormViewTests.swift; sourceTree = ""; }; - 366ECD50254B4C4B0082868E /* STPFormViewSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFormViewSnapshotTests.swift; sourceTree = ""; }; - 366ECD51254B4C4B0082868E /* STPStackViewWithSeparatorSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPStackViewWithSeparatorSnapshotTests.swift; sourceTree = ""; }; - 3674EAD5232AEE25008ADA25 /* en-GB */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "Localizations/en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - 3674EAD7232AEE37008ADA25 /* ko */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ko; path = Localizations/ko.lproj/Localizable.strings; sourceTree = ""; }; - 3674EAD9232AEE4B008ADA25 /* ru */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ru; path = Localizations/ru.lproj/Localizable.strings; sourceTree = ""; }; - 3674EADB232AEE5B008ADA25 /* tr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = tr; path = Localizations/tr.lproj/Localizable.strings; sourceTree = ""; }; - 368E1F64254CBFB900150A2D /* STPPostalCodeInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldFormatterTests.swift; sourceTree = ""; }; - 368E1F68254CC73600150A2D /* STPPostalCodeInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldValidatorTests.swift; sourceTree = ""; }; - 368E1F6C254CC87300150A2D /* STPPostalCodeInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldSnapshotTests.swift; sourceTree = ""; }; - 36AC3D0B2523F18300F252D7 /* STPIntentActionTypeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionTypeTest.swift; sourceTree = ""; }; - 36ADAE222523AC7700302DFB /* STPPaymentIntentLastPaymentErrorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentLastPaymentErrorTest.swift; sourceTree = ""; }; - 36AEBFBB241C39A800CFCAE8 /* STPSTPViewWithSeparatorSnapshotTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSTPViewWithSeparatorSnapshotTests.m; sourceTree = ""; }; - 36AEBFBD241C3B7500CFCAE8 /* STPLabeledFormTextFieldViewSnapshotTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPLabeledFormTextFieldViewSnapshotTests.m; sourceTree = ""; }; - 36AF10302800DC700093344B /* STPPaymentMethodOptionsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodOptionsTest.swift; sourceTree = ""; }; - 36B6CB56234BDC4400331C38 /* STPPaymentMethodSEPADebitTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodSEPADebitTest.m; sourceTree = ""; }; - 36C7CBAE2630D0C8007EF3B0 /* ConsumerSessionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsumerSessionTests.swift; sourceTree = ""; }; - 36C7CBB12630D0E0007EF3B0 /* STPTestAPIClient+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPTestAPIClient+Swift.swift"; sourceTree = ""; }; - 36D153B521AE0FDC00567EFE /* da */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = da; path = Localizations/da.lproj/Localizable.strings; sourceTree = ""; }; - 36D153B721AE106D00567EFE /* fr-CA */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "Localizations/fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - 36D153B821AE10E300567EFE /* nn-NO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "Localizations/nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - 36D153B921AE111500567EFE /* pt-BR */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "Localizations/pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - 36D153BA21AE111F00567EFE /* pt-PT */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "Localizations/pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - 36D153BB21AE11CF00567EFE /* sv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = sv; path = Localizations/sv.lproj/Localizable.strings; sourceTree = ""; }; - 36D7A91D253111E7009F2978 /* STPFloatingPlaceholderTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFloatingPlaceholderTextFieldSnapshotTests.swift; sourceTree = ""; }; - 36DF4E0225784CCE002554D7 /* STPCountryPickerInputFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCountryPickerInputFieldSnapshotTests.swift; sourceTree = ""; }; - 36DF4E0A25784DE0002554D7 /* STPGenericInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputTextFieldSnapshotTests.swift; sourceTree = ""; }; - 36E283D9254A17570028C186 /* STPInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPInputTextFieldFormatterTests.swift; sourceTree = ""; }; - 36E283DF254A18900028C186 /* STPNumericDigitInputTextFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPNumericDigitInputTextFormatterTests.swift; sourceTree = ""; }; - 36E283E5254A1B550028C186 /* STPCardCVCInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldFormatterTests.swift; sourceTree = ""; }; - 36E283E9254A1D030028C186 /* STPCardExpiryInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldFormatterTests.swift; sourceTree = ""; }; - 36E283ED254A26CC0028C186 /* STPCardNumberInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldFormatterTests.swift; sourceTree = ""; }; - 36E283F1254A2FE20028C186 /* STPInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPInputTextFieldValidatorTests.swift; sourceTree = ""; }; - 36E283F7254A35210028C186 /* STPCardCVCInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldValidatorTests.swift; sourceTree = ""; }; - 36E283FD254A36EC0028C186 /* STPCardExpiryInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldValidatorTests.swift; sourceTree = ""; }; - 36E28401254B2D560028C186 /* STPCardNumberInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldValidatorTests.swift; sourceTree = ""; }; - 36E28406254B38020028C186 /* STPCardCVCInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldSnapshotTests.swift; sourceTree = ""; }; - 36E2840C254B3BFD0028C186 /* STPCardExpiryInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldSnapshotTests.swift; sourceTree = ""; }; - 36E28410254B3E9F0028C186 /* STPCardNumberInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldSnapshotTests.swift; sourceTree = ""; }; - 36E28414254B44360028C186 /* STPCardFormViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardFormViewSnapshotTests.swift; sourceTree = ""; }; - 36E295CD2522B2D500CF5C06 /* STPPaymentIntentEnumsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentEnumsTest.swift; sourceTree = ""; }; - 36F4BC7826C1BBC2001518CD /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = Localizations/hr.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC8126C1BCAA001518CD /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = Localizations/fil.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC9226C1BD6F001518CD /* tk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tk; path = Localizations/tk.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC9A26C1BDDA001518CD /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = Localizations/vi.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BCA226C1BE80001518CD /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = Localizations/id.lproj/Localizable.strings; sourceTree = ""; }; - 36F9A11E25F6A3D600591514 /* STPPaymentHandlerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentHandlerTests.swift; sourceTree = ""; }; - 448895AE245255D800F7D0C2 /* STPPaymentMethodPrzelewy24ParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodPrzelewy24ParamsTests.m; sourceTree = ""; }; - 44BDCFDE245A46CC007EE6D5 /* STPPaymentMethodBancontactParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodBancontactParamsTests.m; sourceTree = ""; }; - 4A0D74F918F6106100966D7B /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 61202524285AD33F00B55402 /* AutoCompleteViewControllerSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoCompleteViewControllerSnapshotTests.swift; sourceTree = ""; }; - 612A8719285788D400E91CA8 /* MKPlacemark+PaymentSheetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MKPlacemark+PaymentSheetTests.swift"; sourceTree = ""; }; - 615EF62A27DB9B7A00F8E0EE /* ConfirmButtonSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmButtonSnapshotTests.swift; sourceTree = ""; }; - 6169CD1F28512EC700CEAD22 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/System/iOSSupport/System/Library/Frameworks/MapKit.framework; sourceTree = DEVELOPER_DIR; }; - 618E787A26EFDD310034A01F /* ServerErrorMapperTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerErrorMapperTest.swift; sourceTree = ""; }; - 61A3785E2720960700B949C5 /* STPPaymentMethodKlarnaParamsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodKlarnaParamsTests.swift; sourceTree = ""; }; - 61A378602721C48000B949C5 /* STPPaymentMethodKlarnaTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodKlarnaTests.swift; sourceTree = ""; }; - 61B4BC3226D53E790099D768 /* PaymentSheet+PaymentMethodAvailabilityTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+PaymentMethodAvailabilityTest.swift"; sourceTree = ""; }; - 61DBE71F273082EC008565C8 /* KlarnaHelperTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KlarnaHelperTest.swift; sourceTree = ""; }; - 69A6C309246EA195005FF304 /* STPPaymentMethodEPSParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodEPSParamsTests.m; sourceTree = ""; }; - 6B48785227BD72F600B7632D /* STPPaymentMethodAffirmParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAffirmParamsTest.swift; sourceTree = ""; }; - 6B48785527BDB7B100B7632D /* STPPaymentMethodAffirmTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAffirmTests.swift; sourceTree = ""; }; - 6B80425727D1AC5D007CAFC1 /* STPAPIClientStubbedTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAPIClientStubbedTest.swift; sourceTree = ""; }; - 6BB54EFC27ECF1E500069F06 /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccountParamsStubbedTest.swift; sourceTree = ""; }; - 6BC4DC9B2937DD670022403B /* STPPaymentHandlerStubbedMockedFilesTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentHandlerStubbedMockedFilesTests.swift; sourceTree = ""; }; - 6BC4DCA02937DF4F0022403B /* MockFiles */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = MockFiles; path = Tests/MockFiles; sourceTree = SOURCE_ROOT; }; - 6BF391B22832D64500FBB32D /* PaymentSheetPaymentMethodTypeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetPaymentMethodTypeTest.swift; sourceTree = ""; }; - 7E0B1132203572FB00271AD3 /* fi */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fi; path = Localizations/fi.lproj/Localizable.strings; sourceTree = ""; }; - 8B013C881F1E784A00DD831B /* STPPaymentConfigurationTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentConfigurationTest.m; sourceTree = ""; }; - 8B39127F20E2F6A500098401 /* BancontactSource.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = BancontactSource.json; sourceTree = ""; }; - 8B39128120E2F99600098401 /* EPSSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = EPSSource.json; sourceTree = ""; }; - 8B39128420E2F9C400098401 /* GiropaySource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = GiropaySource.json; sourceTree = ""; }; - 8B39128620E2F9D300098401 /* MultibancoSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = MultibancoSource.json; sourceTree = ""; }; - 8B39128820E2F9E000098401 /* P24Source.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = P24Source.json; sourceTree = ""; }; - 8B39128A20E2F9F500098401 /* SofortSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = SofortSource.json; sourceTree = ""; }; - 8B5B4B431EFDD925005CF475 /* STPSourceOwnerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPSourceOwnerTest.m; sourceTree = ""; }; - 8B6DC9741F0171D20025E811 /* STPSourceReceiverTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPSourceReceiverTest.m; sourceTree = ""; }; - 8B6DC9761F0172640025E811 /* STPSourceSEPADebitDetailsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPSourceSEPADebitDetailsTest.m; sourceTree = ""; }; - 8B82C5C91F2BC78F009639F7 /* STPApplePayPaymentOptionTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPApplePayPaymentOptionTest.m; sourceTree = ""; }; - 8B8DDBB21EF887A4004B141F /* STPBankAccountParamsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPBankAccountParamsTest.m; sourceTree = ""; }; - 8BD213361F044B57007F6FD1 /* BankAccount.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = BankAccount.json; sourceTree = ""; }; - 8BD213381F0457A1007F6FD1 /* FileUpload.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = FileUpload.json; sourceTree = ""; }; - 8BD2133D1F045D31007F6FD1 /* SEPADebitSource.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = SEPADebitSource.json; sourceTree = ""; }; - 8BD87B8F1EFB17AA00269C2B /* STPSourceRedirectTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPSourceRedirectTest.m; sourceTree = ""; }; - 8BD87B941EFB1CB100269C2B /* STPSourceVerificationTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPSourceVerificationTest.m; sourceTree = ""; }; - 8BE5AE8A1EF8905B0081A33C /* STPCardParamsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCardParamsTest.m; sourceTree = ""; }; - 8F5ED78E2555528F003BE002 /* STPPaymentMethodUPIParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodUPIParamsTest.m; sourceTree = ""; }; - 8FF0FAFB255A6FBB00218730 /* STPPaymentMethodUPITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUPITests.swift; sourceTree = ""; }; - 8FF52D422566B5BC000C15EF /* STPPaymentMethodNetBankingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodNetBankingTests.swift; sourceTree = ""; }; - 8FF52D482566DF2F000C15EF /* STPPaymentMethodNetBankingParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodNetBankingParamsTest.m; sourceTree = ""; }; - B3302F452006FBA7005DDBE9 /* STPConnectAccountParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPConnectAccountParamsTest.m; sourceTree = ""; }; - B36C6D772193A16F00D17575 /* STPIntentActionTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPIntentActionTest.m; sourceTree = ""; }; - B3BDCACE20EEF4640034F7F5 /* STPPaymentIntentFunctionalTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentIntentFunctionalTest.m; sourceTree = ""; }; - B3BDCADE20F0142C0034F7F5 /* PaymentIntent.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = PaymentIntent.json; sourceTree = ""; }; - B3C9CF2C2004595A005502ED /* STPConnectAccountFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPConnectAccountFunctionalTest.m; sourceTree = ""; }; - B600F3C2223088F900264403 /* STPPaymentMethodFunctionalTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodFunctionalTest.m; sourceTree = ""; }; - B613DD3B22C54AA800C7603F /* STPSetupIntentTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSetupIntentTest.m; sourceTree = ""; }; - B613DD3D22C54BA700C7603F /* SetupIntent.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = SetupIntent.json; sourceTree = ""; }; - B61546062656AB2B006029D1 /* STPRadarSessionFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPRadarSessionFunctionalTest.swift; sourceTree = ""; }; - B632989E2295BDD80007D287 /* ApplePayPaymentMethod.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = ApplePayPaymentMethod.json; sourceTree = ""; }; - B634497722A5BC91003881DC /* STPCardBrandTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPCardBrandTest.m; sourceTree = ""; }; - B63E42782231F8FE007B5B95 /* STPPaymentMethodParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodParamsTest.m; sourceTree = ""; }; - B640DB1922C69C01003C8810 /* STPSetupIntentFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSetupIntentFunctionalTest.m; sourceTree = ""; }; - B643470323173E5000754F11 /* WeChatPaySource.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = WeChatPaySource.json; sourceTree = ""; }; - B646C25326827EE500F4EAE5 /* TextFieldElement+IBANTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+IBANTest.swift"; sourceTree = ""; }; - B64763B822FE1AF700C01BC0 /* STPSetupIntentLastSetupErrorTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSetupIntentLastSetupErrorTest.m; sourceTree = ""; }; - B656292423E10AB100458A8E /* STPPaymentMethodBacsDebitTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodBacsDebitTest.m; sourceTree = ""; }; - B656292623E10D4D00458A8E /* BacsDebitPaymentMethod.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = BacsDebitPaymentMethod.json; sourceTree = ""; }; - B66B39B5223045EF006D1CAD /* CardPaymentMethod.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = CardPaymentMethod.json; sourceTree = ""; }; - B66D5023222F5A27004A9210 /* STPPaymentMethodThreeDSecureUsageTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodThreeDSecureUsageTest.m; sourceTree = ""; }; - B66D5026222F8605004A9210 /* STPPaymentMethodCardChecksTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodCardChecksTest.m; sourceTree = ""; }; - B66FA0BC267EE1DB008D7F1D /* PaymentSheetFormFactoryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetFormFactoryTest.swift; sourceTree = ""; }; - B67F504724C794EF00CF4A9D /* STPPaymentMethodGrabPayParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodGrabPayParamsTest.m; sourceTree = ""; }; - B68F1C782234740B0030B438 /* STPPaymentMethodCardWalletTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodCardWalletTest.m; sourceTree = ""; }; - B69A84652489A0DB009DE268 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = Localizations/hu.lproj/Localizable.strings; sourceTree = ""; }; - B69A84672489A0EB009DE268 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = Localizations/mt.lproj/Localizable.strings; sourceTree = ""; }; - B69CABB8246DCB620081B1EF /* STPPaymentHandlerFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentHandlerFunctionalTest.m; sourceTree = ""; }; - B69D87D727D6D3DE00347F99 /* FormSpecProviderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormSpecProviderTest.swift; sourceTree = ""; }; - B6A0D5FC28FF4F1F00A9F7A7 /* PaymentMethodMessagingViewSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentMethodMessagingViewSnapshotTests.swift; sourceTree = ""; }; - B6A0D5FE28FF4F2E00A9F7A7 /* PaymentMethodMessagingViewFunctionalTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentMethodMessagingViewFunctionalTest.swift; sourceTree = ""; }; - B6B41F70223476AE0020BA7F /* STPPaymentMethodCardWalletMasterpassTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodCardWalletMasterpassTest.m; sourceTree = ""; }; - B6B41F72223476B90020BA7F /* STPPaymentMethodCardWalletVisaCheckoutTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodCardWalletVisaCheckoutTest.m; sourceTree = ""; }; - B6D13946230C68FF007AFF8A /* STPConnectAccountAddressTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPConnectAccountAddressTest.m; sourceTree = ""; }; - B6D6C932223076600092AFC8 /* STPPaymentMethodAddressTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodAddressTest.m; sourceTree = ""; }; - B6D6C934223078840092AFC8 /* STPPaymentMethodBillingDetailsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodBillingDetailsTest.m; sourceTree = ""; }; - B6D98971251C07FA00C3D894 /* StripeiOS Tests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "StripeiOS Tests-Bridging-Header.h"; sourceTree = ""; }; - B6D98972251C07FA00C3D894 /* APIRequestTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIRequestTest.swift; sourceTree = ""; }; - B6DF4C962411BE4D005C1AE0 /* STPApplePayContextFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPApplePayContextFunctionalTest.m; sourceTree = ""; }; - B6E6C0EC265583D400445507 /* ImageTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageTest.swift; sourceTree = ""; }; - B6E8A92F2657F51F00A48CC8 /* FraudDetectionDataTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FraudDetectionDataTest.swift; sourceTree = ""; }; - B6E8A9352657F82C00A48CC8 /* UserDefaults+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+Stripe.swift"; sourceTree = ""; }; - B6E8A93D26580A6F00A48CC8 /* UserDefaults+StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+StripeTest.swift"; sourceTree = ""; }; - B6EC63C922348D4600E4C0FB /* STPPaymentMethodiDEALTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodiDEALTest.m; sourceTree = ""; }; - B6ED573825784E19007D74E0 /* STPIntentActionAlipayHandleRedirectTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionAlipayHandleRedirectTest.swift; sourceTree = ""; }; - B6F09A96285BE4D400751867 /* PaymentSheetTestUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetTestUtils.swift; sourceTree = ""; }; - B6F2681B27C9C0BD009753F9 /* TextFieldElement+CardTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+CardTest.swift"; sourceTree = ""; }; - C1054F901FE197AE0033C87E /* STPPaymentContextSnapshotTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentContextSnapshotTests.m; sourceTree = ""; }; - C1080F4B1CBED48A007B2D89 /* STPAddressTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPAddressTests.m; sourceTree = ""; }; - C17D24ED1E37DBAC005CB188 /* STPSourceTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPSourceTest.m; sourceTree = ""; }; - C184107D1EC2704700178149 /* STPEphemeralKeyManagerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPEphemeralKeyManagerTest.m; sourceTree = ""; }; - C18867D91E8B0C4100A77634 /* STPFixtures.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = STPFixtures.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; - C18867DA1E8B0C4100A77634 /* STPFixtures.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = STPFixtures.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - C1AED1551EE0C8C6008BEFBF /* STPApplePayTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPApplePayTest.m; sourceTree = ""; }; - C1B630B51D1D817900A05285 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C1C02CCA1ECCD0E500DF5643 /* EphemeralKey.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = EphemeralKey.json; sourceTree = ""; }; - C1CFCB691ED5E0F400BE45DF /* STPMocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPMocks.h; sourceTree = ""; }; - C1CFCB6A1ED5E0F400BE45DF /* STPMocks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPMocks.m; sourceTree = ""; }; - C1CFCB6F1ED5E11500BE45DF /* STPFileFunctionalTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPFileFunctionalTest.m; sourceTree = ""; }; - C1CFCB701ED5E11500BE45DF /* STPFileTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPFileTest.m; sourceTree = ""; }; - C1CFCB711ED5E11500BE45DF /* STPPIIFunctionalTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPIIFunctionalTest.m; sourceTree = ""; }; - C1CFCB781ED5F85A00BE45DF /* stp_test_upload_image.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = stp_test_upload_image.jpeg; path = Tests/stp_test_upload_image.jpeg; sourceTree = SOURCE_ROOT; }; - C1D23FAC1D37F81F002FD83C /* STPCustomerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCustomerTest.m; sourceTree = ""; }; - C1D23FAF1D37FC90002FD83C /* STPTestUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPTestUtils.h; sourceTree = ""; }; - C1D23FB01D37FC90002FD83C /* STPTestUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPTestUtils.m; sourceTree = ""; }; - C1D23FB31D37FE0B002FD83C /* Card.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Card.json; sourceTree = ""; }; - C1D23FB41D37FE0B002FD83C /* Customer.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Customer.json; sourceTree = ""; }; - C1D7B5241E36C70D002181F5 /* STPSourceFunctionalTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPSourceFunctionalTest.m; sourceTree = ""; }; - D00C2D192735C0C100E2283D /* OneTimeCodeTextFieldTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OneTimeCodeTextFieldTests.swift; sourceTree = ""; }; - D0277ADE27604A4F00AF2CF6 /* LinkToastSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkToastSnapshotTests.swift; sourceTree = ""; }; - D030C9B1281CA848000AFEB0 /* LinkBadgeViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkBadgeViewSnapshotTest.swift; sourceTree = ""; }; - D03665F327D16506009FB5B0 /* ButtonLinkSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonLinkSnapshotTests.swift; sourceTree = ""; }; - D03B1DD62819D66C009F4C9A /* LinkNavigationBarSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkNavigationBarSnapshotTests.swift; sourceTree = ""; }; - D04241FF27739695004345BE /* LinkSecureCookieStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkSecureCookieStoreTests.swift; sourceTree = ""; }; - D042420127739F21004345BE /* LinkInMemoryCookieStoreTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkInMemoryCookieStoreTests.swift; sourceTree = ""; }; - D0518C87270E168A0048B58A /* ConfirmButtonTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfirmButtonTests.swift; sourceTree = ""; }; - D060826426EA9C5C0002D656 /* STPPaymentMethodBoletoParamsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBoletoParamsTests.swift; sourceTree = ""; }; - D069EA2927557B4E00C1CF46 /* STPTextFieldDelegateProxyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPTextFieldDelegateProxyTests.swift; sourceTree = ""; }; - D06C829F28FF340800832267 /* LinkCardEditElementSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkCardEditElementSnapshotTests.swift; sourceTree = ""; }; - D071C95427626FDE00843C0C /* WalletHeaderViewSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletHeaderViewSnapshotTests.swift; sourceTree = ""; }; - D08548FD279B729F00D3A3DC /* LinkInlineSignupElementSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInlineSignupElementSnapshotTests.swift; sourceTree = ""; }; - D0854905279B9A3D00D3A3DC /* LinkSignupViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkSignupViewModelTests.swift; sourceTree = ""; }; - D092E36E27BF380300B72609 /* LinkInstantDebitMandateViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInstantDebitMandateViewSnapshotTests.swift; sourceTree = ""; }; - D092E37627C5616D00B72609 /* LinkAccountServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkAccountServiceTests.swift; sourceTree = ""; }; - D092E37E27C5B91F00B72609 /* AnalyticsHelperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsHelperTests.swift; sourceTree = ""; }; - D0BBBC9226DE9243007A9F48 /* STPCardCVCInputTextFieldTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldTests.swift; sourceTree = ""; }; - D0BEB40A273CAC350031D677 /* LinkPaymentMethodPickerSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkPaymentMethodPickerSnapshotTests.swift; sourceTree = ""; }; - D0CA3DAF279E578B00143B1C /* OperationDebouncerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OperationDebouncerTests.swift; sourceTree = ""; }; - D0CC64B526E2A16500FC1442 /* STPPostalCodeInputTextFieldTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldTests.swift; sourceTree = ""; }; - D0CFE56A2788CCD600E73511 /* CircularButtonSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularButtonSnapshotTests.swift; sourceTree = ""; }; - D0D217CA27DC295D006220A9 /* PaymentSheetLinkAccountTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetLinkAccountTests.swift; sourceTree = ""; }; - D0D59740280A29D900AAAB1E /* CardExpiryDateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardExpiryDateTests.swift; sourceTree = ""; }; - D0D9253E27459C0600921B94 /* PayWithLinkButtonSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PayWithLinkButtonSnapshotTests.swift; sourceTree = ""; }; - D0DBD9EE26EBEB6200009C8E /* STPPaymentMethodBoletoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBoletoTests.swift; sourceTree = ""; }; - D0ECE12E27A9AD560082ED18 /* LinkLegalTermsViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkLegalTermsViewSnapshotTests.swift; sourceTree = ""; }; - D0F20327273C825400AB10BF /* OneTimeCodeTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OneTimeCodeTextFieldSnapshotTests.swift; sourceTree = ""; }; - D0FA063027F62C9400EED2AD /* PayWithLinkViewController-WalletViewModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-WalletViewModelTests.swift"; sourceTree = ""; }; - D0FA063627F63EE700EED2AD /* LinkStubs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkStubs.swift; sourceTree = ""; }; - D0FA063B27F652B800EED2AD /* LinkNoticeViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkNoticeViewSnapshotTests.swift; sourceTree = ""; }; - E2379394291B378700C63FDD /* RotatingCardBrandsViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RotatingCardBrandsViewSnapshotTests.swift; sourceTree = ""; }; - E2379396291B37F200C63FDD /* RotatingCardBrandsViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RotatingCardBrandsViewTests.swift; sourceTree = ""; }; - E254411328F9E0D600C6F5D3 /* SWHttpTrafficRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWHttpTrafficRecorder.m; sourceTree = ""; }; - E254411428F9E0D600C6F5D3 /* SWHttpTrafficRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SWHttpTrafficRecorder.h; sourceTree = ""; }; - E60437F125D34316006E2E03 /* STPGenericInputPickerFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputPickerFieldSnapshotTests.swift; sourceTree = ""; }; - E60437F525D37DDC006E2E03 /* STPGenericInputPickerFieldValidatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputPickerFieldValidatorTest.swift; sourceTree = ""; }; - E61BEEAD265F6BDC0002FA4F /* STPAnalyticsClientPaymentsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientPaymentsTest.swift; sourceTree = ""; }; - E61BEEAF265F6CAC0002FA4F /* STPAnalyticsClientPaymentSheetTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientPaymentSheetTest.swift; sourceTree = ""; }; - E620F1D7265F5FA200233581 /* PaymentAnalyticTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentAnalyticTest.swift; sourceTree = ""; }; - E630ABD32652F4B300C7AA5D /* Version.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - E6539B41269E4E1700E05D26 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6598C8426952F7000278740 /* StripeBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeBundleLocator.swift; sourceTree = ""; }; - E6598C862695342000278740 /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; - E6AFFAF026E970830067462F /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6B0F5582686C0BA00055EAF /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6CDC467269E70590020A962 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - ED627D57207EA348007EFC56 /* nb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nb; path = Localizations/nb.lproj/Localizable.strings; sourceTree = ""; }; - F1122A7D1DFB84E000A8B1AF /* UINavigationBar+StripeTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UINavigationBar+StripeTest.m"; sourceTree = ""; }; - F148ABE71D5E805A0014FD92 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = Localizations/en.lproj/Localizable.strings; sourceTree = ""; }; - F148ABEA1D5E80790014FD92 /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "Localizations/zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - F148ABEC1D5E80860014FD92 /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = Localizations/de.lproj/Localizable.strings; sourceTree = ""; }; - F148ABED1D5E808B0014FD92 /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = Localizations/es.lproj/Localizable.strings; sourceTree = ""; }; - F148ABEE1D5E80990014FD92 /* it */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = it; path = Localizations/it.lproj/Localizable.strings; sourceTree = ""; }; - F148ABEF1D5E809D0014FD92 /* ja */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ja; path = Localizations/ja.lproj/Localizable.strings; sourceTree = ""; }; - F148ABF01D5E80A00014FD92 /* nl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nl; path = Localizations/nl.lproj/Localizable.strings; sourceTree = ""; }; - F148ABF11D5E81EB0014FD92 /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = Localizations/fr.lproj/Localizable.strings; sourceTree = ""; }; - F14C872E1D4FCDBA00C7CC6A /* STPPaymentContextApplePayTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentContextApplePayTest.m; sourceTree = ""; }; - F152321A1EA92F9D00D65C67 /* STPRedirectContextTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPRedirectContextTest.m; sourceTree = ""; }; - F152322E1EA9344000D65C67 /* iDEALSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = iDEALSource.json; sourceTree = ""; }; - F15232301EA93E6800D65C67 /* Contacts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Contacts.framework; path = System/Library/Frameworks/Contacts.framework; sourceTree = SDKROOT; }; - F16AA26D1F5A05A100207FFF /* AlipaySource.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = AlipaySource.json; sourceTree = ""; }; - F1B8534D1FDF544B0065A49E /* FBSnapshotTestCase+STPViewControllerLoading.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase+STPViewControllerLoading.h"; sourceTree = ""; }; - F1B8534E1FDF544B0065A49E /* FBSnapshotTestCase+STPViewControllerLoading.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "FBSnapshotTestCase+STPViewControllerLoading.m"; sourceTree = ""; }; - F1BA241C1E57BE5700E4A1CF /* CardSource.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = CardSource.json; sourceTree = ""; }; - F1BA241F1E57BEC600E4A1CF /* 3DSSource.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = 3DSSource.json; sourceTree = ""; }; - F1D64B2D1D87686E001CDB7C /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - F1D765CD1EDE331500F37005 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; - F1D777BF1D81DD520076FA19 /* STPStringUtilsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPStringUtilsTest.m; sourceTree = ""; }; - F1D96F981DC7DCDE00477E64 /* STPLocalizationUtils+STPTestAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "STPLocalizationUtils+STPTestAdditions.h"; sourceTree = ""; }; - F1D96F991DC7DCDE00477E64 /* STPLocalizationUtils+STPTestAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "STPLocalizationUtils+STPTestAdditions.m"; sourceTree = ""; }; - F3064296268C42BE0076CDDA /* PaymentSheet+APITest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+APITest.swift"; sourceTree = ""; }; - F35E2DA4267AB5D100BE074B /* AfterpayPriceBreakdownViewSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AfterpayPriceBreakdownViewSnapshotTests.swift; sourceTree = ""; }; - F3E73D492683B78300438FD6 /* STPIntentWithPreferencesTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentWithPreferencesTest.swift; sourceTree = ""; }; - FAFC12C516E5767F0066297F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 045E7C001A5F41DE004751EF /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 319E82FA27431A3300F202D6 /* StripeApplePayTestUtils.framework in Frameworks */, - E254413028F9FC3700C6F5D3 /* OHHTTPStubs in Frameworks */, - E254410028F9CC8800C6F5D3 /* OCMock in Frameworks */, - E254413228F9FC3700C6F5D3 /* OHHTTPStubsSwift in Frameworks */, - E254410528F9CCD400C6F5D3 /* iOSSnapshotTestCase in Frameworks */, - E6CDC468269E70590020A962 /* StripeCoreTestUtils.framework in Frameworks */, - 045E7C091A5F41DE004751EF /* Stripe.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 04CDB43E1A5F2E1800B854EE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 31227154286E55FC0007ED5E /* StripePaymentsUI.framework in Frameworks */, - E6B0F5592686C0BA00055EAF /* StripeCore.framework in Frameworks */, - F15232311EA93E6800D65C67 /* Contacts.framework in Frameworks */, - 31EFEE0E258AE3F40069BC5F /* Stripe3DS2.framework in Frameworks */, - F1D765CE1EDE331500F37005 /* CoreLocation.framework in Frameworks */, - F116E94C1D83405E0026A52A /* Foundation.framework in Frameworks */, - E6AFFAF126E970830067462F /* StripeUICore.framework in Frameworks */, - 04533E7D1A6877F400C7E52E /* PassKit.framework in Frameworks */, - 3137B69727437F5A00CE7F5C /* StripeApplePay.framework in Frameworks */, - F116E94D1D8340640026A52A /* Security.framework in Frameworks */, - 31227150286E55F20007ED5E /* StripePayments.framework in Frameworks */, - F1D64B2E1D87686E001CDB7C /* WebKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 363BD03C27344436003F9FE4 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 31309B8028876A8A0091010A /* StripePaymentSheet.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 364DBF8B274859FF00FD9250 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 364DBF93274859FF00FD9250 /* Stripe.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0438EF871B741C2800D506CC /* Resources */ = { - isa = PBXGroup; - children = ( - 0438EF881B741C2800D506CC /* Images */, - F148ABE21D5E80420014FD92 /* Localizations */, - ); - path = Resources; - sourceTree = ""; - }; - 0438EF881B741C2800D506CC /* Images */ = { - isa = PBXGroup; - children = ( - 3180E0CD2592B99100CE3D7E /* stp_icon_add@3x.png */, - 3180E0CC2592B99100CE3D7E /* stp_icon_bank@3x.png */, - 3180E0CF2592B99100CE3D7E /* stp_icon_checkmark@3x.png */, - 3180E0CE2592B99100CE3D7E /* stp_shipping_form@3x.png */, - 3180E0992592B98900CE3D7E /* Cards */, - 3180E0EB2592BB1800CE3D7E /* FPX */, - ); - path = Images; - sourceTree = ""; - }; - 04B33F2F1BC7414C00DD8120 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 04B33F301BC7417B00DD8120 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 04CDB4D21A5F30A700B854EE /* Stripe */ = { - isa = PBXGroup; - children = ( - 04F39F091AEF2AFE005B926E /* BuildConfigurations */, - 0438EF871B741C2800D506CC /* Resources */, - 04B33F2F1BC7414C00DD8120 /* Supporting Files */, - F1DEB8941E2066FB0066B8E8 /* Source */, - 3113D8C0250AA97700C495F1 /* Stripe.modulemap */, - 31C26219255F887A000C5B50 /* Stripe-umbrella.h */, - ); - name = Stripe; - path = Tests/../Stripe; - sourceTree = ""; - }; - 04CDB5281A5F3A9300B854EE /* StripeTests */ = { - isa = PBXGroup; - children = ( - 31851271252FE770008C0C57 /* STPBlocks.h */, - F1B8534D1FDF544B0065A49E /* FBSnapshotTestCase+STPViewControllerLoading.h */, - F1B8534E1FDF544B0065A49E /* FBSnapshotTestCase+STPViewControllerLoading.m */, - C18867D71E8B07F600A77634 /* Functional */, - C1D23FB71D37FE0F002FD83C /* JSON */, - D0FA063627F63EE700EED2AD /* LinkStubs.swift */, - 3617A51220FE5BBB001A9E6A /* NSLocale+STPSwizzling.h */, - 3617A51320FE5BBB001A9E6A /* NSLocale+STPSwizzling.m */, - 04E01F8921AA55E30061402F /* recorded_network_traffic */, - C18867D61E8B069E00A77634 /* Snapshot */, - C1CFCB781ED5F85A00BE45DF /* stp_test_upload_image.jpeg */, - C18867D91E8B0C4100A77634 /* STPFixtures.h */, - C18867DA1E8B0C4100A77634 /* STPFixtures.m */, - F1D96F981DC7DCDE00477E64 /* STPLocalizationUtils+STPTestAdditions.h */, - F1D96F991DC7DCDE00477E64 /* STPLocalizationUtils+STPTestAdditions.m */, - 3111C35625279C3B00207E32 /* STPSwiftFixtures.swift */, - C1CFCB691ED5E0F400BE45DF /* STPMocks.h */, - C1CFCB6A1ED5E0F400BE45DF /* STPMocks.m */, - 04E01F8321AA36320061402F /* STPNetworkStubbingTestCase.h */, - 04E01F8421AA36320061402F /* STPNetworkStubbingTestCase.m */, - C1D23FAF1D37FC90002FD83C /* STPTestUtils.h */, - C1D23FB01D37FC90002FD83C /* STPTestUtils.m */, - E254411728F9E0E000C6F5D3 /* SWHttpTrafficRecorder */, - C18867D81E8B093300A77634 /* Unit */, - B6D98971251C07FA00C3D894 /* StripeiOS Tests-Bridging-Header.h */, - 3185126B252FE67E008C0C57 /* StripeTests-Prefix.pch */, - ); - name = StripeTests; - path = Tests/Tests; - sourceTree = ""; - }; - 04F39F091AEF2AFE005B926E /* BuildConfigurations */ = { - isa = PBXGroup; - children = ( - 04F39F0A1AEF2AFE005B926E /* Project-Debug.xcconfig */, - 04F39F0B1AEF2AFE005B926E /* Project-Release.xcconfig */, - 04F39F0C1AEF2AFE005B926E /* Project-Shared.xcconfig */, - 04F39F0D1AEF2AFE005B926E /* StripeiOS Tests-Debug.xcconfig */, - 04F39F0E1AEF2AFE005B926E /* StripeiOS Tests-Release.xcconfig */, - 04F39F0F1AEF2AFE005B926E /* StripeiOS Tests-Shared.xcconfig */, - 04F39F101AEF2AFE005B926E /* StripeiOS-Debug.xcconfig */, - 04F39F111AEF2AFE005B926E /* StripeiOS-Release.xcconfig */, - 04F39F121AEF2AFE005B926E /* StripeiOS-Shared.xcconfig */, - E630ABD32652F4B300C7AA5D /* Version.xcconfig */, - ); - name = BuildConfigurations; - path = ../BuildConfigurations; - sourceTree = ""; - }; - 11C74B8D164043050071C2CA = { - isa = PBXGroup; - children = ( - 04CDB4D21A5F30A700B854EE /* Stripe */, - 04CDB5281A5F3A9300B854EE /* StripeTests */, - C1B630B41D1D817900A05285 /* StripeiOSResources */, - 363BD04027344436003F9FE4 /* StripeiOSTestHostApp */, - 364DBF8F274859FF00FD9250 /* StripeiOSAppHostedTests */, - 11C74B9A164043050071C2CA /* Frameworks */, - 11C74B99164043050071C2CA /* Products */, - ); - sourceTree = ""; - }; - 11C74B99164043050071C2CA /* Products */ = { - isa = PBXGroup; - children = ( - 04CDB4421A5F2E1800B854EE /* Stripe.framework */, - 045E7C031A5F41DE004751EF /* StripeiOS Tests.xctest */, - 363BD03F27344436003F9FE4 /* StripeiOSTestHostApp.app */, - 364DBF8E274859FF00FD9250 /* StripeiOSAppHostedTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 11C74B9A164043050071C2CA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 31309B7F28876A8A0091010A /* StripePaymentSheet.framework */, - 31227153286E55FC0007ED5E /* StripePaymentsUI.framework */, - 3122714F286E55F20007ED5E /* StripePayments.framework */, - 6169CD1F28512EC700CEAD22 /* MapKit.framework */, - 3137B69627437F5A00CE7F5C /* StripeApplePay.framework */, - 319E82F927431A3300F202D6 /* StripeApplePayTestUtils.framework */, - E6AFFAF026E970830067462F /* StripeUICore.framework */, - E6CDC467269E70590020A962 /* StripeCoreTestUtils.framework */, - E6539B41269E4E1700E05D26 /* StripeCoreTestUtils.framework */, - E6B0F5582686C0BA00055EAF /* StripeCore.framework */, - 31EFEE0D258AE3F40069BC5F /* Stripe3DS2.framework */, - 310FCA922582F1C6005FB2AE /* Stripe3DS2.framework */, - F1D765CD1EDE331500F37005 /* CoreLocation.framework */, - F15232301EA93E6800D65C67 /* Contacts.framework */, - F1D64B2D1D87686E001CDB7C /* WebKit.framework */, - 04365D2C1A4CF86C00A3E1D4 /* CoreGraphics.framework */, - 04B94BC71A47B78A00092C46 /* AddressBook.framework */, - 04D5BF9019BF958F009521A5 /* PassKit.framework */, - 4A0D74F918F6106100966D7B /* Security.framework */, - 11C74B9B164043050071C2CA /* Foundation.framework */, - FAFC12C516E5767F0066297F /* UIKit.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 31227140286E54ED0007ED5E /* API Bindings */ = { - isa = PBXGroup; - children = ( - 31227170286E567B0007ED5E /* STPPinManagementService.swift */, - 31227183286E5A8C0007ED5E /* STPPushProvisioningContext.swift */, - 31227182286E5A8B0007ED5E /* STPPushProvisioningDetailsParams.swift */, - 31227172286E56980007ED5E /* STPEphemeralKeyProvider.swift */, - 3122717A286E59D60007ED5E /* STPAPIClient+BasicUI.swift */, - 3122717C286E59EC0007ED5E /* STPSource+BasicUI.swift */, - 31227141286E54FD0007ED5E /* STPPaymentIntentParams+BasicUI.swift */, - 31227188286E5BD70007ED5E /* STPCard+BasicUI.swift */, - 31227186286E5B360007ED5E /* STPAddress+BasicUI.swift */, - 3122718F286E5CA70007ED5E /* STPPaymentMethodParams+BasicUI.swift */, - 31227178286E59620007ED5E /* STPPaymentMethod+BasicUI.swift */, - ); - name = "API Bindings"; - sourceTree = ""; - }; - 3137A74126FD766F008BEF7B /* Objective-C Bridge */ = { - isa = PBXGroup; - children = ( - 316E9F7526FA9AD400986485 /* STPAPISettingsBridgeTest.m */, - 3137A74326FD7687008BEF7B /* STPAPIClientNetworkBridgeTest.m */, - 3137A74A26FD7710008BEF7B /* STPErrorBridgeTest.m */, - ); - name = "Objective-C Bridge"; - sourceTree = ""; - }; - 3144E123253E7D1200FE2605 /* Internal */ = { - isa = PBXGroup; - children = ( - 3144E12C253E7DBB00FE2605 /* Analytics */, - 3144E12B253E7DB300FE2605 /* API Bindings */, - 3144E130253E7FE500FE2605 /* Basic UI */, - 3144E12D253E7E7800FE2605 /* Categories */, - 3144E12E253E7EB600FE2605 /* Helpers */, - 3144E12F253E7FD900FE2605 /* Payments */, - ); - name = Internal; - sourceTree = ""; - }; - 3144E12B253E7DB300FE2605 /* API Bindings */ = { - isa = PBXGroup; - children = ( - 317ABDDE25117C9D00CC59EF /* STPAPIClient+PushProvisioning.swift */, - 317ABDF925117C9F00CC59EF /* STPEphemeralKey.swift */, - 317ABD5E25117C9600CC59EF /* STPEphemeralKeyManager.swift */, - 317ABDFB25117C9F00CC59EF /* STPFPXBankStatusResponse.swift */, - 317ABD8325117C9800CC59EF /* STPPushProvisioningDetails.swift */, - ); - name = "API Bindings"; - sourceTree = ""; - }; - 3144E12C253E7DBB00FE2605 /* Analytics */ = { - isa = PBXGroup; - children = ( - 3122724E2876429C0007ED5E /* STPAnalyticsClient+Payments.swift */, - 31227195286E610E0007ED5E /* STPAnalyticsClient+BasicUI.swift */, - ); - name = Analytics; - sourceTree = ""; - }; - 3144E12D253E7E7800FE2605 /* Categories */ = { - isa = PBXGroup; - children = ( - 317ABDB925117C9B00CC59EF /* PKAddPaymentPassRequest+Stripe_Error.swift */, - 317ABD5525117C9500CC59EF /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift */, - 317ABE0225117C9F00CC59EF /* UIBarButtonItem+Stripe.swift */, - 317ABE2725117CA200CC59EF /* UINavigationController+Stripe_Completion.swift */, - 317ABE2625117CA100CC59EF /* UITableViewCell+Stripe_Borders.swift */, - 317ABE1125117CA000CC59EF /* UIToolbar+Stripe_InputAccessory.swift */, - 317ABD6425117C9600CC59EF /* UIView+Stripe_FirstResponder.swift */, - 317ABDE325117C9E00CC59EF /* UIView+Stripe_SafeAreaBounds.swift */, - 317ABDEC25117C9E00CC59EF /* UIViewController+Stripe_KeyboardAvoiding.swift */, - 317ABD9025117C9900CC59EF /* UIViewController+Stripe_NavigationItemProxy.swift */, - 317ABDF325117C9E00CC59EF /* UIViewController+Stripe_ParentViewController.swift */, - B6E8A9352657F82C00A48CC8 /* UserDefaults+Stripe.swift */, - ); - name = Categories; - sourceTree = ""; - }; - 3144E12E253E7EB600FE2605 /* Helpers */ = { - isa = PBXGroup; - children = ( - 312D789A253DF824009224AF /* STPLocalizedString.swift */, - 317ABD8525117C9800CC59EF /* STPPromise.swift */, - E6598C8426952F7000278740 /* StripeBundleLocator.swift */, - E6598C862695342000278740 /* String+Localized.swift */, - 319567F128D38D6200BFF5D1 /* STPApplePayContextDelegate.swift */, - ); - name = Helpers; - sourceTree = ""; - }; - 3144E12F253E7FD900FE2605 /* Payments */ = { - isa = PBXGroup; - children = ( - ); - name = Payments; - sourceTree = ""; - }; - 3144E130253E7FE500FE2605 /* Basic UI */ = { - isa = PBXGroup; - children = ( - 3144E133253E800C00FE2605 /* Cells */, - 3144E132253E7FFF00FE2605 /* View Controllers */, - 3144E131253E7FFD00FE2605 /* Views */, - 317ABDB725117C9B00CC59EF /* STPAddressViewModel.swift */, - 317ABDF525117C9F00CC59EF /* STPPaymentContextAmountModel.swift */, - 317ABD6825117C9600CC59EF /* STPPaymentOptionTuple.swift */, - ); - name = "Basic UI"; - sourceTree = ""; - }; - 3144E131253E7FFD00FE2605 /* Views */ = { - isa = PBXGroup; - children = ( - 317ABD9325117C9900CC59EF /* STPCameraView.swift */, - 317ABDAA25117C9A00CC59EF /* STPSectionHeaderView.swift */, - ); - name = Views; - sourceTree = ""; - }; - 3144E132253E7FFF00FE2605 /* View Controllers */ = { - isa = PBXGroup; - children = ( - 317ABD3A25117C9300CC59EF /* STPPaymentOptionsInternalViewController.swift */, - 317ABD3E25117C9400CC59EF /* STPShippingMethodsViewController.swift */, - ); - name = "View Controllers"; - sourceTree = ""; - }; - 3144E133253E800C00FE2605 /* Cells */ = { - isa = PBXGroup; - children = ( - 317ABDFE25117C9F00CC59EF /* STPAddressFieldTableViewCell.swift */, - 317ABE0C25117CA000CC59EF /* STPBankSelectionTableViewCell.swift */, - 317ABE0D25117CA000CC59EF /* STPCardScannerTableViewCell.swift */, - 317ABD5125117C9500CC59EF /* STPPaymentCardTextFieldCell.swift */, - 317ABD4F25117C9500CC59EF /* STPPaymentOptionTableViewCell.swift */, - 317ABD6C25117C9700CC59EF /* STPShippingMethodTableViewCell.swift */, - ); - name = Cells; - sourceTree = ""; - }; - 3144E136253E826D00FE2605 /* Categories */ = { - isa = PBXGroup; - children = ( - 363B925F27431C4800BA52EC /* Enums+CustomStringConvertible.swift */, - 317ABDE225117C9D00CC59EF /* UINavigationBar+Stripe_Theme.swift */, - ); - name = Categories; - sourceTree = ""; - }; - 3144E137253E828700FE2605 /* Helpers */ = { - isa = PBXGroup; - children = ( - 3122714B286E55A80007ED5E /* STPBlocks.swift */, - 317ABD2825117C9200CC59EF /* STPCardScanner.swift */, - 317ABDD725117C9D00CC59EF /* STPImageLibrary.swift */, - 31DCB10528F4CAB0002EF128 /* Stripe+Exports.swift */, - ); - name = Helpers; - sourceTree = ""; - }; - 3144E13A253E82C100FE2605 /* PaymentContext */ = { - isa = PBXGroup; - children = ( - 317ABE2425117CA100CC59EF /* STPApplePayPaymentOption.swift */, - 317ABE1825117CA100CC59EF /* STPBackendAPIAdapter.swift */, - 317ABE1325117CA000CC59EF /* STPCustomerContext.swift */, - 317ABD8A25117C9800CC59EF /* STPPaymentConfiguration.swift */, - 317ABD5025117C9500CC59EF /* STPPaymentContext.swift */, - 317ABDA725117C9A00CC59EF /* STPPaymentOption.swift */, - 317ABD6225117C9600CC59EF /* STPPaymentResult.swift */, - ); - name = PaymentContext; - sourceTree = ""; - }; - 3144E13C253E831300FE2605 /* UI Components */ = { - isa = PBXGroup; - children = ( - 3144E13D253E832500FE2605 /* Basic UI */, - 317ABD8225117C9800CC59EF /* STPPaymentActivityIndicatorView.swift */, - ); - name = "UI Components"; - sourceTree = ""; - }; - 3144E13D253E832500FE2605 /* Basic UI */ = { - isa = PBXGroup; - children = ( - 317ABDAD25117C9A00CC59EF /* STPAddCardViewController.swift */, - 317ABD9825117C9900CC59EF /* STPBankSelectionViewController.swift */, - 317ABDEE25117C9E00CC59EF /* STPCoreScrollViewController.swift */, - 317ABD7325117C9700CC59EF /* STPCoreTableViewController.swift */, - 317ABDC725117C9C00CC59EF /* STPCoreViewController.swift */, - 317ABE1B25117CA100CC59EF /* STPFakeAddPaymentPassViewController.swift */, - 317ABD4D25117C9500CC59EF /* STPPaymentOptionsViewController.swift */, - 317ABD4925117C9500CC59EF /* STPShippingAddressViewController.swift */, - 317ABD2D25117C9300CC59EF /* STPTheme.swift */, - 317ABE2025117CA100CC59EF /* STPUserInformation.swift */, - ); - name = "Basic UI"; - sourceTree = ""; - }; - 3180E0992592B98900CE3D7E /* Cards */ = { - isa = PBXGroup; - children = ( - 3180E09C2592B98900CE3D7E /* stp_card_form_back@3x.png */, - 3180E0A72592B98900CE3D7E /* stp_card_form_amex_cvc@3x.png */, - 3180E0A92592B98900CE3D7E /* stp_card_form_front@3x.png */, - ); - path = Cards; - sourceTree = ""; - }; - 3180E0EB2592BB1800CE3D7E /* FPX */ = { - isa = PBXGroup; - children = ( - 3180E0EC2592BB1800CE3D7E /* stp_bank_fpx_ocbc@3x.png */, - 3180E0ED2592BB1800CE3D7E /* stp_bank_fpx_rhb@3x.png */, - 3180E0EE2592BB1800CE3D7E /* stp_bank_fpx_bsn@3x.png */, - 3180E0EF2592BB1800CE3D7E /* stp_bank_fpx_hong_leong_bank@3x.png */, - 3180E0F02592BB1800CE3D7E /* stp_fpx_logo@3x.png */, - 3180E0F12592BB1800CE3D7E /* stp_bank_fpx_standard_chartered@3x.png */, - 3180E0F22592BB1800CE3D7E /* stp_bank_fpx_bank_islam@3x.png */, - 3180E0F32592BB1800CE3D7E /* stp_fpx_big_logo@3x.png */, - 3180E0F42592BB1800CE3D7E /* stp_bank_fpx_cimb@3x.png */, - 3180E0F52592BB1800CE3D7E /* stp_bank_fpx_public_bank@3x.png */, - 3180E0F62592BB1800CE3D7E /* stp_bank_fpx_alliance_bank@3x.png */, - 3180E0F72592BB1800CE3D7E /* stp_bank_fpx_hsbc@3x.png */, - 3180E0F82592BB1800CE3D7E /* stp_bank_fpx_affin_bank@3x.png */, - 3180E0F92592BB1800CE3D7E /* stp_bank_fpx_maybank2u@3x.png */, - 3180E0FA2592BB1800CE3D7E /* stp_bank_fpx_kfh@3x.png */, - 3180E0FB2592BB1800CE3D7E /* stp_bank_fpx_bank_muamalat@3x.png */, - 3180E0FC2592BB1800CE3D7E /* stp_bank_fpx_uob@3x.png */, - 3180E0FD2592BB1800CE3D7E /* stp_bank_fpx_ambank@3x.png */, - 3180E0FE2592BB1800CE3D7E /* stp_bank_fpx_maybank2e@3x.png */, - 3180E0FF2592BB1800CE3D7E /* stp_bank_fpx_bank_rakyat@3x.png */, - ); - path = FPX; - sourceTree = ""; - }; - 363BD04027344436003F9FE4 /* StripeiOSTestHostApp */ = { - isa = PBXGroup; - children = ( - 363BD04127344436003F9FE4 /* AppDelegate.swift */, - 363BD04527344436003F9FE4 /* ViewController.swift */, - 363BD04727344436003F9FE4 /* Main.storyboard */, - 363BD04A27344439003F9FE4 /* Assets.xcassets */, - 363BD04C27344439003F9FE4 /* LaunchScreen.storyboard */, - 363BD04F27344439003F9FE4 /* Info.plist */, - ); - path = StripeiOSTestHostApp; - sourceTree = ""; - }; - 364DBF8F274859FF00FD9250 /* StripeiOSAppHostedTests */ = { - isa = PBXGroup; - children = ( - D04241FF27739695004345BE /* LinkSecureCookieStoreTests.swift */, - 364DBF92274859FF00FD9250 /* Info.plist */, - ); - path = StripeiOSAppHostedTests; - sourceTree = ""; - }; - 3666589723FF48F100D00354 /* Backend */ = { - isa = PBXGroup; - children = ( - 36C7CBB12630D0E0007EF3B0 /* STPTestAPIClient+Swift.swift */, - 3666589A23FF494400D00354 /* STPTestingAPIClient.h */, - 3666589B23FF494400D00354 /* STPTestingAPIClient.m */, - ); - name = Backend; - sourceTree = ""; - }; - 8BD2133A1F0458B7007F6FD1 /* Source */ = { - isa = PBXGroup; - children = ( - F1BA241F1E57BEC600E4A1CF /* 3DSSource.json */, - F16AA26D1F5A05A100207FFF /* AlipaySource.json */, - 8B39127F20E2F6A500098401 /* BancontactSource.json */, - F1BA241C1E57BE5700E4A1CF /* CardSource.json */, - 8B39128120E2F99600098401 /* EPSSource.json */, - 8B39128420E2F9C400098401 /* GiropaySource.json */, - F152322E1EA9344000D65C67 /* iDEALSource.json */, - 8B39128620E2F9D300098401 /* MultibancoSource.json */, - 8B39128820E2F9E000098401 /* P24Source.json */, - 8BD2133D1F045D31007F6FD1 /* SEPADebitSource.json */, - 8B39128A20E2F9F500098401 /* SofortSource.json */, - B643470323173E5000754F11 /* WeChatPaySource.json */, - ); - name = Source; - sourceTree = ""; - }; - B656292323E0B9DF00458A8E /* PaymentMethod */ = { - isa = PBXGroup; - children = ( - B632989E2295BDD80007D287 /* ApplePayPaymentMethod.json */, - B66B39B5223045EF006D1CAD /* CardPaymentMethod.json */, - B656292623E10D4D00458A8E /* BacsDebitPaymentMethod.json */, - ); - name = PaymentMethod; - sourceTree = ""; - }; - C18867D61E8B069E00A77634 /* Snapshot */ = { - isa = PBXGroup; - children = ( - F35E2DA4267AB5D100BE074B /* AfterpayPriceBreakdownViewSnapshotTests.swift */, - 61202524285AD33F00B55402 /* AutoCompleteViewControllerSnapshotTests.swift */, - D03665F327D16506009FB5B0 /* ButtonLinkSnapshotTests.swift */, - D0CFE56A2788CCD600E73511 /* CircularButtonSnapshotTests.swift */, - 615EF62A27DB9B7A00F8E0EE /* ConfirmButtonSnapshotTests.swift */, - D030C9B1281CA848000AFEB0 /* LinkBadgeViewSnapshotTest.swift */, - D06C829F28FF340800832267 /* LinkCardEditElementSnapshotTests.swift */, - D08548FD279B729F00D3A3DC /* LinkInlineSignupElementSnapshotTests.swift */, - D092E36E27BF380300B72609 /* LinkInstantDebitMandateViewSnapshotTests.swift */, - D0ECE12E27A9AD560082ED18 /* LinkLegalTermsViewSnapshotTests.swift */, - D03B1DD62819D66C009F4C9A /* LinkNavigationBarSnapshotTests.swift */, - D0FA063B27F652B800EED2AD /* LinkNoticeViewSnapshotTests.swift */, - D0BEB40A273CAC350031D677 /* LinkPaymentMethodPickerSnapshotTests.swift */, - D0277ADE27604A4F00AF2CF6 /* LinkToastSnapshotTests.swift */, - D0F20327273C825400AB10BF /* OneTimeCodeTextFieldSnapshotTests.swift */, - B6A0D5FC28FF4F1F00A9F7A7 /* PaymentMethodMessagingViewSnapshotTests.swift */, - B6F09A96285BE4D400751867 /* PaymentSheetTestUtils.swift */, - 361A070A276D264D00D2339A /* PaymentTypeCellSnapshotTests.swift */, - D0D9253E27459C0600921B94 /* PayWithLinkButtonSnapshotTests.swift */, - 3111C3AE252BC79100207E32 /* STPAddCardViewControllerLocalizationTests.swift */, - 3111C3B1252BC79200207E32 /* STPAUBECSDebitFormViewSnapshotTests.swift */, - 36E28406254B38020028C186 /* STPCardCVCInputTextFieldSnapshotTests.swift */, - 36E2840C254B3BFD0028C186 /* STPCardExpiryInputTextFieldSnapshotTests.swift */, - 36E28414254B44360028C186 /* STPCardFormViewSnapshotTests.swift */, - 36E28410254B3E9F0028C186 /* STPCardNumberInputTextFieldSnapshotTests.swift */, - 36DF4E0225784CCE002554D7 /* STPCountryPickerInputFieldSnapshotTests.swift */, - 36D7A91D253111E7009F2978 /* STPFloatingPlaceholderTextFieldSnapshotTests.swift */, - 366ECD50254B4C4B0082868E /* STPFormViewSnapshotTests.swift */, - E60437F125D34316006E2E03 /* STPGenericInputPickerFieldSnapshotTests.swift */, - 36DF4E0A25784DE0002554D7 /* STPGenericInputTextFieldSnapshotTests.swift */, - 36AEBFBD241C3B7500CFCAE8 /* STPLabeledFormTextFieldViewSnapshotTests.m */, - 3111C3EF252BC79C00207E32 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift */, - C1054F901FE197AE0033C87E /* STPPaymentContextSnapshotTests.m */, - 3111C391252BC78C00207E32 /* STPPaymentOptionsViewControllerLocalizationTests.swift */, - 368E1F6C254CC87300150A2D /* STPPostalCodeInputTextFieldSnapshotTests.swift */, - 3111C3C9252BC79500207E32 /* STPShippingAddressViewControllerLocalizationTests.swift */, - 3111C3CC252BC79600207E32 /* STPShippingMethodsViewControllerLocalizationTests.swift */, - 366ECD51254B4C4B0082868E /* STPStackViewWithSeparatorSnapshotTests.swift */, - 36AEBFBB241C39A800CFCAE8 /* STPSTPViewWithSeparatorSnapshotTests.m */, - D071C95427626FDE00843C0C /* WalletHeaderViewSnapshotTests.swift */, - E2379394291B378700C63FDD /* RotatingCardBrandsViewSnapshotTests.swift */, - ); - name = Snapshot; - sourceTree = ""; - }; - C18867D71E8B07F600A77634 /* Functional */ = { - isa = PBXGroup; - children = ( - 3666589723FF48F100D00354 /* Backend */, - 36C7CBAE2630D0C8007EF3B0 /* ConsumerSessionTests.swift */, - B6A0D5FE28FF4F2E00A9F7A7 /* PaymentMethodMessagingViewFunctionalTest.swift */, - B6DF4C962411BE4D005C1AE0 /* STPApplePayContextFunctionalTest.m */, - 31315126260AB00000DD8EDE /* STPApplePayContextFunctionalTestExtras.swift */, - 3111C399252BC78E00207E32 /* STPApplePayFunctionalTest.swift */, - 04CDB5221A5F3A9300B854EE /* STPBankAccountFunctionalTest.m */, - 04CDB5241A5F3A9300B854EE /* STPCardFunctionalTest.m */, - B3C9CF2C2004595A005502ED /* STPConnectAccountFunctionalTest.m */, - 31875B5B25DC63C800884BE0 /* STPE2ETest.swift */, - C1CFCB6F1ED5E11500BE45DF /* STPFileFunctionalTest.m */, - B69CABB8246DCB620081B1EF /* STPPaymentHandlerFunctionalTest.m */, - B3BDCACE20EEF4640034F7F5 /* STPPaymentIntentFunctionalTest.m */, - 36345D5827D0198100D2445D /* STPPaymentIntentFunctionalTest.swift */, - B600F3C2223088F900264403 /* STPPaymentMethodFunctionalTest.m */, - 36AF10302800DC700093344B /* STPPaymentMethodOptionsTest.swift */, - C1CFCB711ED5E11500BE45DF /* STPPIIFunctionalTest.m */, - 3111C3FB252BC79E00207E32 /* STPPinManagementServiceFunctionalTest.swift */, - 3111C3BF252BC79400207E32 /* STPPushProvisioningDetailsFunctionalTest.swift */, - B61546062656AB2B006029D1 /* STPRadarSessionFunctionalTest.swift */, - B640DB1922C69C01003C8810 /* STPSetupIntentFunctionalTest.m */, - 36345D5A27D02D5300D2445D /* STPSetupIntentFunctionalTest.swift */, - C1D7B5241E36C70D002181F5 /* STPSourceFunctionalTest.m */, - ); - name = Functional; - sourceTree = ""; - }; - C18867D81E8B093300A77634 /* Unit */ = { - isa = PBXGroup; - children = ( - 6BC4DCA02937DF4F0022403B /* MockFiles */, - D092E37E27C5B91F00B72609 /* AnalyticsHelperTests.swift */, - B6D98972251C07FA00C3D894 /* APIRequestTest.swift */, - D0D59740280A29D900AAAB1E /* CardExpiryDateTests.swift */, - D0518C87270E168A0048B58A /* ConfirmButtonTests.swift */, - 612A8719285788D400E91CA8 /* MKPlacemark+PaymentSheetTests.swift */, - 3111C3F7252BC79D00207E32 /* FBSnapshotTestCase+STPViewControllerLoading.swift */, - B69D87D727D6D3DE00347F99 /* FormSpecProviderTest.swift */, - B6E8A92F2657F51F00A48CC8 /* FraudDetectionDataTest.swift */, - B6E6C0EC265583D400445507 /* ImageTest.swift */, - 61DBE71F273082EC008565C8 /* KlarnaHelperTest.swift */, - D092E37627C5616D00B72609 /* LinkAccountServiceTests.swift */, - D042420127739F21004345BE /* LinkInMemoryCookieStoreTests.swift */, - D0854905279B9A3D00D3A3DC /* LinkSignupViewModelTests.swift */, - 3111C411252BC7A100207E32 /* NSArray+StripeTest.swift */, - 3111C3B3252BC79200207E32 /* NSDecimalNumber+StripeTest.swift */, - 3111C3B0252BC79100207E32 /* NSDictionary+StripeTest.swift */, - 3111C3F6252BC79D00207E32 /* NSString+StripeTest.swift */, - 3111C38D252BC78C00207E32 /* NSURLComponents_StripeTest.swift */, - 3137A74126FD766F008BEF7B /* Objective-C Bridge */, - D00C2D192735C0C100E2283D /* OneTimeCodeTextFieldTests.swift */, - D0CA3DAF279E578B00143B1C /* OperationDebouncerTests.swift */, - E620F1D7265F5FA200233581 /* PaymentAnalyticTest.swift */, - D0D217CA27DC295D006220A9 /* PaymentSheetLinkAccountTests.swift */, - F3064296268C42BE0076CDDA /* PaymentSheet+APITest.swift */, - 61B4BC3226D53E790099D768 /* PaymentSheet+PaymentMethodAvailabilityTest.swift */, - B66FA0BC267EE1DB008D7F1D /* PaymentSheetFormFactoryTest.swift */, - 6BF391B22832D64500FBB32D /* PaymentSheetPaymentMethodTypeTest.swift */, - D0FA063027F62C9400EED2AD /* PayWithLinkViewController-WalletViewModelTests.swift */, - 3111C3E5252BC79A00207E32 /* PKPayment+StripeTest.swift */, - 618E787A26EFDD310034A01F /* ServerErrorMapperTest.swift */, - 3111C3F5252BC79D00207E32 /* STPAddCardViewControllerTest.swift */, - C1080F4B1CBED48A007B2D89 /* STPAddressTests.m */, - 3111C3BA252BC79300207E32 /* STPAddressViewModelTest.swift */, - E61BEEAF265F6CAC0002FA4F /* STPAnalyticsClientPaymentSheetTest.swift */, - E61BEEAD265F6BDC0002FA4F /* STPAnalyticsClientPaymentsTest.swift */, - 3111C3A9252BC79000207E32 /* STPAPIClientTest.swift */, - 6B80425727D1AC5D007CAFC1 /* STPAPIClientStubbedTest.swift */, - 3111C401252BC79F00207E32 /* STPApplePayContextTest.swift */, - 8B82C5C91F2BC78F009639F7 /* STPApplePayPaymentOptionTest.m */, - C1AED1551EE0C8C6008BEFBF /* STPApplePayTest.m */, - 31E242FE26FA424900064908 /* STPApplePayTest.swift */, - 3111C3A8252BC79000207E32 /* STPAUBECSFormViewModelTests.swift */, - 8B8DDBB21EF887A4004B141F /* STPBankAccountParamsTest.m */, - 04CDB5231A5F3A9300B854EE /* STPBankAccountTest.m */, - 3111C3A7252BC79000207E32 /* STPBECSDebitAccountNumberValidatorTests.swift */, - 3111C40A252BC7A000207E32 /* STPBinRangeTest.swift */, - 3111C3B4252BC79200207E32 /* STPBSBNumberValidatorTests.swift */, - 3111C3B5252BC79200207E32 /* STPCardBINMetadataTests.swift */, - B634497722A5BC91003881DC /* STPCardBrandTest.m */, - 36E283E5254A1B550028C186 /* STPCardCVCInputTextFieldFormatterTests.swift */, - D0BBBC9226DE9243007A9F48 /* STPCardCVCInputTextFieldTests.swift */, - 36E283F7254A35210028C186 /* STPCardCVCInputTextFieldValidatorTests.swift */, - 36E283E9254A1D030028C186 /* STPCardExpiryInputTextFieldFormatterTests.swift */, - 36E283FD254A36EC0028C186 /* STPCardExpiryInputTextFieldValidatorTests.swift */, - 3667948F25B790250094831B /* STPCardFormViewTests.swift */, - 36E283ED254A26CC0028C186 /* STPCardNumberInputTextFieldFormatterTests.swift */, - 36E28401254B2D560028C186 /* STPCardNumberInputTextFieldValidatorTests.swift */, - 8BE5AE8A1EF8905B0081A33C /* STPCardParamsTest.m */, - 3111C3DF252BC79900207E32 /* STPCardTest.swift */, - 3111C3AC252BC79100207E32 /* STPCardValidatorTest.swift */, - 3111C3D6252BC79800207E32 /* STPCertTest.swift */, - 3626616123C9019000B13AE0 /* STPConfirmCardOptionsTest.m */, - 3626616323C902FB00B13AE0 /* STPConfirmPaymentMethodOptionsTest.m */, - B6D13946230C68FF007AFF8A /* STPConnectAccountAddressTest.m */, - B3302F452006FBA7005DDBE9 /* STPConnectAccountParamsTest.m */, - 31E242FA26F9028400064908 /* STPCustomerContextTest.swift */, - C1D23FAC1D37F81F002FD83C /* STPCustomerTest.m */, - C184107D1EC2704700178149 /* STPEphemeralKeyManagerTest.m */, - 3111C400252BC79E00207E32 /* STPEphemeralKeyTest.swift */, - C1CFCB701ED5E11500BE45DF /* STPFileTest.m */, - 3111C3CD252BC79600207E32 /* STPFormEncoderTest.swift */, - 3111C3F1252BC79C00207E32 /* STPFormTextFieldTest.swift */, - 3194CF5D231487A100E1940F /* STPFPXBankBrandTest.m */, - E60437F525D37DDC006E2E03 /* STPGenericInputPickerFieldValidatorTest.swift */, - 360EBFA027FFA87E00845AB6 /* STPImageLibraryTest.swift */, - 36E283D9254A17570028C186 /* STPInputTextFieldFormatterTests.swift */, - 36E283F1254A2FE20028C186 /* STPInputTextFieldValidatorTests.swift */, - B6ED573825784E19007D74E0 /* STPIntentActionAlipayHandleRedirectTest.swift */, - B36C6D772193A16F00D17575 /* STPIntentActionTest.m */, - 36AC3D0B2523F18300F252D7 /* STPIntentActionTypeTest.swift */, - 315E4B352639D80F00C1D955 /* STPIntentActionWeChatPayRedirectToAppTest.swift */, - F3E73D492683B78300438FD6 /* STPIntentWithPreferencesTest.swift */, - 3111C3B6252BC79300207E32 /* STPMandateCustomerAcceptanceParamsTest.swift */, - 3111C3DC252BC79900207E32 /* STPMandateDataParamsTest.swift */, - 3111C3E6252BC79A00207E32 /* STPMandateOnlineParamsTest.swift */, - 3111C3BB252BC79300207E32 /* STPNetworkStubbingTestCase.swift */, - 36E283DF254A18900028C186 /* STPNumericDigitInputTextFormatterTests.swift */, - 3111C3E8252BC79A00207E32 /* STPNumericStringValidatorTests.swift */, - 045A62AA1B8E7259000165CE /* STPPaymentCardTextFieldTest.m */, - 3663CEA326D5B21B00D0E123 /* STPPaymentCardTextFieldTestsSwift.swift */, - E2379396291B37F200C63FDD /* RotatingCardBrandsViewTests.swift */, - 3111C410252BC7A100207E32 /* STPPaymentCardTextFieldViewModelTest.swift */, - 8B013C881F1E784A00DD831B /* STPPaymentConfigurationTest.m */, - F14C872E1D4FCDBA00C7CC6A /* STPPaymentContextApplePayTest.m */, - 3111C3FD252BC79E00207E32 /* STPPaymentContextApplePayTest.swift */, - 36F9A11E25F6A3D600591514 /* STPPaymentHandlerTests.swift */, - 6BC4DC9B2937DD670022403B /* STPPaymentHandlerStubbedMockedFilesTests.swift */, - 36E295CD2522B2D500CF5C06 /* STPPaymentIntentEnumsTest.swift */, - 36ADAE222523AC7700302DFB /* STPPaymentIntentLastPaymentErrorTest.swift */, - 3111C3F0252BC79C00207E32 /* STPPaymentIntentParamsTest.swift */, - 3111C3CF252BC79600207E32 /* STPPaymentIntentTest.swift */, - B6D6C932223076600092AFC8 /* STPPaymentMethodAddressTest.m */, - 6B48785227BD72F600B7632D /* STPPaymentMethodAffirmParamsTest.swift */, - 6B48785527BDB7B100B7632D /* STPPaymentMethodAffirmTests.swift */, - 0FC7C94F25B0EAF900E99D3E /* STPPaymentMethodAfterpayClearpayParamsTest.m */, - 0FC7C95225B1075D00E99D3E /* STPPaymentMethodAfterpayClearpayTest.m */, - 366658B42410756100D00354 /* STPPaymentMethodAUBECSDebitParamsTests.m */, - 3111C3D5252BC79700207E32 /* STPPaymentMethodAUBECSDebitTests.swift */, - B656292423E10AB100458A8E /* STPPaymentMethodBacsDebitTest.m */, - 44BDCFDE245A46CC007EE6D5 /* STPPaymentMethodBancontactParamsTests.m */, - 3111C39A252BC78E00207E32 /* STPPaymentMethodBancontactTests.swift */, - B6D6C934223078840092AFC8 /* STPPaymentMethodBillingDetailsTest.m */, - D060826426EA9C5C0002D656 /* STPPaymentMethodBoletoParamsTests.swift */, - D0DBD9EE26EBEB6200009C8E /* STPPaymentMethodBoletoTests.swift */, - B66D5026222F8605004A9210 /* STPPaymentMethodCardChecksTest.m */, - 317E054025D494F3006D4C29 /* STPPaymentMethodCardParamsTest.swift */, - 3111C393252BC78D00207E32 /* STPPaymentMethodCardTest.swift */, - B6B41F70223476AE0020BA7F /* STPPaymentMethodCardWalletMasterpassTest.m */, - B68F1C782234740B0030B438 /* STPPaymentMethodCardWalletTest.m */, - B6B41F72223476B90020BA7F /* STPPaymentMethodCardWalletVisaCheckoutTest.m */, - 69A6C309246EA195005FF304 /* STPPaymentMethodEPSParamsTests.m */, - 3111C3DB252BC79800207E32 /* STPPaymentMethodEPSTests.swift */, - 3194CF5B2314869400E1940F /* STPPaymentMethodFPXTest.m */, - 3619624D244FB2AE0025D60B /* STPPaymentMethodGiropayParamsTests.m */, - 3111C3B9252BC79300207E32 /* STPPaymentMethodGiropayTests.swift */, - B67F504724C794EF00CF4A9D /* STPPaymentMethodGrabPayParamsTest.m */, - B6EC63C922348D4600E4C0FB /* STPPaymentMethodiDEALTest.m */, - 61A3785E2720960700B949C5 /* STPPaymentMethodKlarnaParamsTests.swift */, - 61A378602721C48000B949C5 /* STPPaymentMethodKlarnaTests.swift */, - 8FF52D482566DF2F000C15EF /* STPPaymentMethodNetBankingParamsTest.m */, - 8FF52D422566B5BC000C15EF /* STPPaymentMethodNetBankingTests.swift */, - 316F812725411274000A80B5 /* STPPaymentMethodOXXOParamsTests.m */, - 316F81212541125E000A80B5 /* STPPaymentMethodOXXOTests.m */, - B63E42782231F8FE007B5B95 /* STPPaymentMethodParamsTest.m */, - 316F813E25411877000A80B5 /* STPPaymentMethodPayPalParamsTests.m */, - 316F814425411879000A80B5 /* STPPaymentMethodPayPalTests.m */, - 448895AE245255D800F7D0C2 /* STPPaymentMethodPrzelewy24ParamsTests.m */, - 3111C3E0252BC79900207E32 /* STPPaymentMethodPrzelewy24Tests.swift */, - 36B6CB56234BDC4400331C38 /* STPPaymentMethodSEPADebitTest.m */, - 31C8644824DDF2550015F7DF /* STPPaymentMethodSofortParamsTests.m */, - 3111C405252BC79F00207E32 /* STPPaymentMethodSofortTests.swift */, - 3111C39B252BC78E00207E32 /* STPPaymentMethodTest.swift */, - B66D5023222F5A27004A9210 /* STPPaymentMethodThreeDSecureUsageTest.m */, - 8F5ED78E2555528F003BE002 /* STPPaymentMethodUPIParamsTest.m */, - 8FF0FAFB255A6FBB00218730 /* STPPaymentMethodUPITests.swift */, - 36345D5427D011E300D2445D /* STPPaymentMethodUSBankAccountParamsTest.swift */, - 36345D5627D0181900D2445D /* STPPaymentMethodUSBankAccountTest.swift */, - 6BB54EFC27ECF1E500069F06 /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift */, - 3111C413252BC7A200207E32 /* STPPaymentOptionsViewControllerTest.swift */, - 3111C398252BC78E00207E32 /* STPPhoneNumberValidatorTest.swift */, - 368E1F64254CBFB900150A2D /* STPPostalCodeInputTextFieldFormatterTests.swift */, - D0CC64B526E2A16500FC1442 /* STPPostalCodeInputTextFieldTests.swift */, - 368E1F68254CC73600150A2D /* STPPostalCodeInputTextFieldValidatorTests.swift */, - 3111C402252BC79F00207E32 /* STPPostalCodeValidatorTest.swift */, - F152321A1EA92F9D00D65C67 /* STPRedirectContextTest.m */, - 3111C3C8252BC79500207E32 /* STPSetupIntentConfirmParamsTest.swift */, - B64763B822FE1AF700C01BC0 /* STPSetupIntentLastSetupErrorTest.m */, - B613DD3B22C54AA800C7603F /* STPSetupIntentTest.m */, - 3111C3FC252BC79E00207E32 /* STPShippingAddressViewControllerTest.swift */, - 3111C3B2252BC79200207E32 /* STPSourceCardDetailsTest.swift */, - 8B5B4B431EFDD925005CF475 /* STPSourceOwnerTest.m */, - 3111C397252BC78D00207E32 /* STPSourceParamsTest.swift */, - 8B6DC9741F0171D20025E811 /* STPSourceReceiverTest.m */, - 8BD87B8F1EFB17AA00269C2B /* STPSourceRedirectTest.m */, - 8B6DC9761F0172640025E811 /* STPSourceSEPADebitDetailsTest.m */, - C17D24ED1E37DBAC005CB188 /* STPSourceTest.m */, - 8BD87B941EFB1CB100269C2B /* STPSourceVerificationTest.m */, - F1D777BF1D81DD520076FA19 /* STPStringUtilsTest.m */, - 31138E8528DCEE12008AF554 /* STPStringUtilsTest.swift */, - D069EA2927557B4E00C1CF46 /* STPTextFieldDelegateProxyTests.swift */, - 3111C412252BC7A100207E32 /* STPThreeDSButtonCustomizationTest.swift */, - 3111C3C3252BC79400207E32 /* STPThreeDSFooterCustomizationTest.swift */, - 3111C3B8252BC79300207E32 /* STPThreeDSLabelCustomizationTest.swift */, - 3111C3EB252BC79B00207E32 /* STPThreeDSNavigationBarCustomizationTest.swift */, - 3111C3F9252BC79D00207E32 /* STPThreeDSSelectionCustomizationTest.swift */, - 3111C3BC252BC79300207E32 /* STPThreeDSTextFieldCustomizationTest.swift */, - 3111C38A252BC78B00207E32 /* STPThreeDSUICustomizationTest.swift */, - 04CDB5271A5F3A9300B854EE /* STPTokenTest.m */, - 04A4C3931C4F276100B3B290 /* STPUIVCStripeParentViewControllerTests.m */, - 3111C3F8252BC79D00207E32 /* StripeErrorTest.swift */, - B646C25326827EE500F4EAE5 /* TextFieldElement+IBANTest.swift */, - B6F2681B27C9C0BD009753F9 /* TextFieldElement+CardTest.swift */, - F1122A7D1DFB84E000A8B1AF /* UINavigationBar+StripeTest.m */, - B6E8A93D26580A6F00A48CC8 /* UserDefaults+StripeTest.swift */, - ); - name = Unit; - sourceTree = ""; - }; - C1B630B41D1D817900A05285 /* StripeiOSResources */ = { - isa = PBXGroup; - children = ( - C1B630B51D1D817900A05285 /* Info.plist */, - ); - path = StripeiOSResources; - sourceTree = ""; - }; - C1D23FB71D37FE0F002FD83C /* JSON */ = { - isa = PBXGroup; - children = ( - 8BD213361F044B57007F6FD1 /* BankAccount.json */, - C1D23FB31D37FE0B002FD83C /* Card.json */, - C1D23FB41D37FE0B002FD83C /* Customer.json */, - C1C02CCA1ECCD0E500DF5643 /* EphemeralKey.json */, - 8BD213381F0457A1007F6FD1 /* FileUpload.json */, - B3BDCADE20F0142C0034F7F5 /* PaymentIntent.json */, - B656292323E0B9DF00458A8E /* PaymentMethod */, - B613DD3D22C54BA700C7603F /* SetupIntent.json */, - 8BD2133A1F0458B7007F6FD1 /* Source */, - ); - name = JSON; - sourceTree = ""; - }; - E254411728F9E0E000C6F5D3 /* SWHttpTrafficRecorder */ = { - isa = PBXGroup; - children = ( - E254411428F9E0D600C6F5D3 /* SWHttpTrafficRecorder.h */, - E254411328F9E0D600C6F5D3 /* SWHttpTrafficRecorder.m */, - ); - name = SWHttpTrafficRecorder; - sourceTree = ""; - }; - F148ABE21D5E80420014FD92 /* Localizations */ = { - isa = PBXGroup; - children = ( - F148ABE61D5E805A0014FD92 /* Localizable.strings */, - ); - name = Localizations; - sourceTree = ""; - }; - F1DEB8941E2066FB0066B8E8 /* Source */ = { - isa = PBXGroup; - children = ( - 31227140286E54ED0007ED5E /* API Bindings */, - 3144E136253E826D00FE2605 /* Categories */, - 3144E137253E828700FE2605 /* Helpers */, - 3144E13A253E82C100FE2605 /* PaymentContext */, - 3144E13C253E831300FE2605 /* UI Components */, - 3144E123253E7D1200FE2605 /* Internal */, - ); - name = Source; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 04415C711A6605BD001225ED /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E254411628F9E0D600C6F5D3 /* SWHttpTrafficRecorder.h in Headers */, - 3111C584252BE87600207E32 /* STPTestingAPIClient.h in Headers */, - F1D96F9A1DC7DCDE00477E64 /* STPLocalizationUtils+STPTestAdditions.h in Headers */, - 3137A73F26FD4383008BEF7B /* STPNetworkStubbingTestCase.h in Headers */, - 31851272252FE770008C0C57 /* STPBlocks.h in Headers */, - F148ABFA1D5E88C40014FD92 /* STPTestUtils.h in Headers */, - 3185126C252FE67E008C0C57 /* StripeTests-Prefix.pch in Headers */, - C1CFCB6D1ED5E0F800BE45DF /* STPMocks.h in Headers */, - C18867DB1E8B0C4100A77634 /* STPFixtures.h in Headers */, - 3617A51420FE5BBB001A9E6A /* NSLocale+STPSwizzling.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 04CDB43F1A5F2E1800B854EE /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 31C2621A255F887A000C5B50 /* Stripe-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 045E7C021A5F41DE004751EF /* StripeiOS Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 045E7C0C1A5F41DE004751EF /* Build configuration list for PBXNativeTarget "StripeiOS Tests" */; - buildPhases = ( - 045E7BFF1A5F41DE004751EF /* Sources */, - 045E7C001A5F41DE004751EF /* Frameworks */, - 045E7C011A5F41DE004751EF /* Resources */, - 04415C711A6605BD001225ED /* Headers */, - F15AC18F1DBA9CC10009EADE /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - 045E7C0B1A5F41DE004751EF /* PBXTargetDependency */, - 363BD054273444CC003F9FE4 /* PBXTargetDependency */, - ); - name = "StripeiOS Tests"; - packageProductDependencies = ( - E25440FF28F9CC8800C6F5D3 /* OCMock */, - E254410428F9CCD400C6F5D3 /* iOSSnapshotTestCase */, - E254412F28F9FC3700C6F5D3 /* OHHTTPStubs */, - E254413128F9FC3700C6F5D3 /* OHHTTPStubsSwift */, - ); - productName = "StripeiOS Tests"; - productReference = 045E7C031A5F41DE004751EF /* StripeiOS Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 04CDB4411A5F2E1800B854EE /* StripeiOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 04CDB4551A5F2E1800B854EE /* Build configuration list for PBXNativeTarget "StripeiOS" */; - buildPhases = ( - 04CDB43F1A5F2E1800B854EE /* Headers */, - 04CDB43D1A5F2E1800B854EE /* Sources */, - 04CDB43E1A5F2E1800B854EE /* Frameworks */, - 04CDB4401A5F2E1800B854EE /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = StripeiOS; - packageProductDependencies = ( - ); - productName = "Stripe-iOS"; - productReference = 04CDB4421A5F2E1800B854EE /* Stripe.framework */; - productType = "com.apple.product-type.framework"; - }; - 363BD03E27344436003F9FE4 /* StripeiOSTestHostApp */ = { - isa = PBXNativeTarget; - buildConfigurationList = 363BD05027344439003F9FE4 /* Build configuration list for PBXNativeTarget "StripeiOSTestHostApp" */; - buildPhases = ( - 363BD03B27344436003F9FE4 /* Sources */, - 363BD03C27344436003F9FE4 /* Frameworks */, - 363BD03D27344436003F9FE4 /* Resources */, - 31309B8228876A8A0091010A /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = StripeiOSTestHostApp; - productName = StripeiOSTestHostApp; - productReference = 363BD03F27344436003F9FE4 /* StripeiOSTestHostApp.app */; - productType = "com.apple.product-type.application"; - }; - 364DBF8D274859FF00FD9250 /* StripeiOSAppHostedTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 364DBF96274859FF00FD9250 /* Build configuration list for PBXNativeTarget "StripeiOSAppHostedTests" */; - buildPhases = ( - 364DBF8A274859FF00FD9250 /* Sources */, - 364DBF8B274859FF00FD9250 /* Frameworks */, - 364DBF8C274859FF00FD9250 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 364DBF95274859FF00FD9250 /* PBXTargetDependency */, - 364DBF9A27485A0300FD9250 /* PBXTargetDependency */, - ); - name = StripeiOSAppHostedTests; - productName = StripeiOSAppHostedTests; - productReference = 364DBF8E274859FF00FD9250 /* StripeiOSAppHostedTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 11C74B8F164043050071C2CA /* Project object */ = { - isa = PBXProject; - attributes = { - CLASSPREFIX = STP; - LastSwiftUpdateCheck = 1250; - LastTestingUpgradeCheck = 0510; - LastUpgradeCheck = 1400; - ORGANIZATIONNAME = "Stripe, Inc"; - TargetAttributes = { - 045E7C021A5F41DE004751EF = { - CreatedOnToolsVersion = 6.1.1; - LastSwiftMigration = 1200; - }; - 04CDB4411A5F2E1800B854EE = { - CreatedOnToolsVersion = 6.1.1; - LastSwiftMigration = 1320; - }; - 363BD03E27344436003F9FE4 = { - CreatedOnToolsVersion = 12.5; - }; - 364DBF8D274859FF00FD9250 = { - CreatedOnToolsVersion = 12.5; - TestTargetID = 363BD03E27344436003F9FE4; - }; - }; - }; - buildConfigurationList = 11C74B92164043050071C2CA /* Build configuration list for PBXProject "Stripe" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - "zh-Hans", - de, - es, - it, - ja, - nl, - fr, - fi, - nb, - da, - "fr-CA", - "nn-NO", - "pt-BR", - "pt-PT", - sv, - Base, - "en-GB", - ko, - ru, - tr, - "zh-Hant", - "zh-HK", - "es-419", - hu, - mt, - hr, - fil, - tk, - vi, - id, - "ms-MY", - "bg-BG", - "ca-ES", - "cs-CZ", - "et-EE", - "el-GR", - "lt-LT", - "lv-LV", - "pl-PL", - "ro-RO", - "sk-SK", - "sl-SI", - ); - mainGroup = 11C74B8D164043050071C2CA; - packageReferences = ( - E25440FC28F9CC7F00C6F5D3 /* XCRemoteSwiftPackageReference "ocmock" */, - E254410128F9CCCB00C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, - E254412A28F9FC2C00C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */, - ); - productRefGroup = 11C74B99164043050071C2CA /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 04CDB4411A5F2E1800B854EE /* StripeiOS */, - 045E7C021A5F41DE004751EF /* StripeiOS Tests */, - 363BD03E27344436003F9FE4 /* StripeiOSTestHostApp */, - 364DBF8D274859FF00FD9250 /* StripeiOSAppHostedTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 045E7C011A5F41DE004751EF /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F1343BEA1D652CAD00F102D8 /* Customer.json in Resources */, - B643470423173E5000754F11 /* WeChatPaySource.json in Resources */, - 8BD2133E1F045D31007F6FD1 /* SEPADebitSource.json in Resources */, - B3BDCADF20F0142C0034F7F5 /* PaymentIntent.json in Resources */, - B613DD3E22C54BA800C7603F /* SetupIntent.json in Resources */, - 6BC4DCA12937DF4F0022403B /* MockFiles in Resources */, - B632989F2295BDD90007D287 /* ApplePayPaymentMethod.json in Resources */, - 8BD213371F044B57007F6FD1 /* BankAccount.json in Resources */, - C1C02CCC1ECCD0ED00DF5643 /* EphemeralKey.json in Resources */, - F1BA24211E57BECA00E4A1CF /* 3DSSource.json in Resources */, - F1BA241E1E57BE5E00E4A1CF /* CardSource.json in Resources */, - 8B39128520E2F9C400098401 /* GiropaySource.json in Resources */, - F1343BE91D652CAB00F102D8 /* Card.json in Resources */, - 8B39128720E2F9D300098401 /* MultibancoSource.json in Resources */, - 8BD213391F0457A1007F6FD1 /* FileUpload.json in Resources */, - C1CFCB7A1ED5F88D00BE45DF /* stp_test_upload_image.jpeg in Resources */, - F152322F1EA9344600D65C67 /* iDEALSource.json in Resources */, - F16AA26F1F5A0F1700207FFF /* AlipaySource.json in Resources */, - 8B39128920E2F9E000098401 /* P24Source.json in Resources */, - 04E01F8A21AA55E30061402F /* recorded_network_traffic in Resources */, - 8B39128220E2F99600098401 /* EPSSource.json in Resources */, - B66B39B6223045EF006D1CAD /* CardPaymentMethod.json in Resources */, - 8B39128320E2F9A100098401 /* BancontactSource.json in Resources */, - B656293323E1139E00458A8E /* BacsDebitPaymentMethod.json in Resources */, - 8B39128B20E2F9F500098401 /* SofortSource.json in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 04CDB4401A5F2E1800B854EE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3180E1072592BB1800CE3D7E /* stp_fpx_big_logo@3x.png in Resources */, - 3180E0D22592B99100CE3D7E /* stp_shipping_form@3x.png in Resources */, - 3180E1102592BB1800CE3D7E /* stp_bank_fpx_uob@3x.png in Resources */, - 3180E1042592BB1800CE3D7E /* stp_fpx_logo@3x.png in Resources */, - 3180E1062592BB1800CE3D7E /* stp_bank_fpx_bank_islam@3x.png in Resources */, - 3180E0C02592B98900CE3D7E /* stp_card_form_amex_cvc@3x.png in Resources */, - 3180E0D02592B99100CE3D7E /* stp_icon_bank@3x.png in Resources */, - 3180E1022592BB1800CE3D7E /* stp_bank_fpx_bsn@3x.png in Resources */, - 3180E1012592BB1800CE3D7E /* stp_bank_fpx_rhb@3x.png in Resources */, - 3180E0C22592B98900CE3D7E /* stp_card_form_front@3x.png in Resources */, - 3180E0D32592B99100CE3D7E /* stp_icon_checkmark@3x.png in Resources */, - 3180E10C2592BB1800CE3D7E /* stp_bank_fpx_affin_bank@3x.png in Resources */, - 3180E1122592BB1800CE3D7E /* stp_bank_fpx_maybank2e@3x.png in Resources */, - 3180E1002592BB1800CE3D7E /* stp_bank_fpx_ocbc@3x.png in Resources */, - 3180E0D12592B99100CE3D7E /* stp_icon_add@3x.png in Resources */, - 3180E1132592BB1800CE3D7E /* stp_bank_fpx_bank_rakyat@3x.png in Resources */, - 3180E1112592BB1800CE3D7E /* stp_bank_fpx_ambank@3x.png in Resources */, - 3180E1052592BB1800CE3D7E /* stp_bank_fpx_standard_chartered@3x.png in Resources */, - 3180E10B2592BB1800CE3D7E /* stp_bank_fpx_hsbc@3x.png in Resources */, - 3180E0B52592B98900CE3D7E /* stp_card_form_back@3x.png in Resources */, - 3180E10F2592BB1800CE3D7E /* stp_bank_fpx_bank_muamalat@3x.png in Resources */, - F148ABE81D5E805A0014FD92 /* Localizable.strings in Resources */, - 3180E10E2592BB1800CE3D7E /* stp_bank_fpx_kfh@3x.png in Resources */, - 3180E1032592BB1800CE3D7E /* stp_bank_fpx_hong_leong_bank@3x.png in Resources */, - 3180E10A2592BB1800CE3D7E /* stp_bank_fpx_alliance_bank@3x.png in Resources */, - 3180E10D2592BB1800CE3D7E /* stp_bank_fpx_maybank2u@3x.png in Resources */, - 3180E1082592BB1800CE3D7E /* stp_bank_fpx_cimb@3x.png in Resources */, - 3180E1092592BB1800CE3D7E /* stp_bank_fpx_public_bank@3x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 363BD03D27344436003F9FE4 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 363BD04E27344439003F9FE4 /* LaunchScreen.storyboard in Resources */, - 363BD04B27344439003F9FE4 /* Assets.xcassets in Resources */, - 363BD04927344436003F9FE4 /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 364DBF8C274859FF00FD9250 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 045E7BFF1A5F41DE004751EF /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3111C618252D330500207E32 /* STPSourceParamsTest.swift in Sources */, - D092E37727C5616D00B72609 /* LinkAccountServiceTests.swift in Sources */, - F1122A7E1DFB84E000A8B1AF /* UINavigationBar+StripeTest.m in Sources */, - 3111C5A2252BF16000207E32 /* STPFormTextFieldTest.swift in Sources */, - C1CFCB771ED5E12400BE45DF /* STPPIIFunctionalTest.m in Sources */, - 3111C5E5252CE42100207E32 /* STPShippingAddressViewControllerTest.swift in Sources */, - 317E054125D494F3006D4C29 /* STPPaymentMethodCardParamsTest.swift in Sources */, - 31315127260AB00000DD8EDE /* STPApplePayContextFunctionalTestExtras.swift in Sources */, - 04A4C3941C4F276100B3B290 /* STPUIVCStripeParentViewControllerTests.m in Sources */, - 3137A74026FD4388008BEF7B /* STPNetworkStubbingTestCase.m in Sources */, - 3111C649252D41BD00207E32 /* STPMandateOnlineParamsTest.swift in Sources */, - 3111C5B3252BF42000207E32 /* STPApplePayFunctionalTest.swift in Sources */, - 3111C60B252D224C00207E32 /* STPCardTest.swift in Sources */, - 3111C598252BED0500207E32 /* STPPhoneNumberValidatorTest.swift in Sources */, - B6F2681C27C9C0BD009753F9 /* TextFieldElement+CardTest.swift in Sources */, - 3619624E244FB2AE0025D60B /* STPPaymentMethodGiropayParamsTests.m in Sources */, - 31138E8728DCF410008AF554 /* STPApplePayContextFunctionalTest.m in Sources */, - B6D98973251C07FA00C3D894 /* APIRequestTest.swift in Sources */, - 3111C5D1252BFDFC00207E32 /* STPPaymentMethodCardTest.swift in Sources */, - B68F1C792234740B0030B438 /* STPPaymentMethodCardWalletTest.m in Sources */, - D092E38027C5B95000B72609 /* AnalyticsHelperTests.swift in Sources */, - 3111C646252D419600207E32 /* STPPaymentMethodEPSTests.swift in Sources */, - 3111C565252BDBCB00207E32 /* PKPayment+StripeTest.swift in Sources */, - C18867DC1E8B0C4100A77634 /* STPFixtures.m in Sources */, - D0D9253F27459C0600921B94 /* PayWithLinkButtonSnapshotTests.swift in Sources */, - 3111C615252D275A00207E32 /* STPAddressViewModelTest.swift in Sources */, - 8FF0FAFC255A6FBB00218730 /* STPPaymentMethodUPITests.swift in Sources */, - 3111C5B0252BF41A00207E32 /* STPPushProvisioningDetailsFunctionalTest.swift in Sources */, - F35E2DAA267AB89100BE074B /* AfterpayPriceBreakdownViewSnapshotTests.swift in Sources */, - B66D5024222F5A27004A9210 /* STPPaymentMethodThreeDSecureUsageTest.m in Sources */, - C1CFCB761ED5E12400BE45DF /* STPFileFunctionalTest.m in Sources */, - C1D23FAD1D37F81F002FD83C /* STPCustomerTest.m in Sources */, - B6E8A93E26580A6F00A48CC8 /* UserDefaults+StripeTest.swift in Sources */, - 3137A74C26FD7710008BEF7B /* STPErrorBridgeTest.m in Sources */, - D0DBD9EF26EBEB6200009C8E /* STPPaymentMethodBoletoTests.swift in Sources */, - C1CFCB6E1ED5E0F800BE45DF /* STPMocks.m in Sources */, - D0CFE56B2788CCD600E73511 /* CircularButtonSnapshotTests.swift in Sources */, - 36E283FE254A36EC0028C186 /* STPCardExpiryInputTextFieldValidatorTests.swift in Sources */, - 615EF62B27DB9B7A00F8E0EE /* ConfirmButtonSnapshotTests.swift in Sources */, - B6A0D5FD28FF4F2000A9F7A7 /* PaymentMethodMessagingViewSnapshotTests.swift in Sources */, - 3111C59E252BEFCD00207E32 /* STPPaymentMethodBancontactTests.swift in Sources */, - 31C5B89A252EA24800A481A7 /* STPPaymentOptionsViewControllerTest.swift in Sources */, - B634497822A5BC91003881DC /* STPCardBrandTest.m in Sources */, - 36E283E0254A18900028C186 /* STPNumericDigitInputTextFormatterTests.swift in Sources */, - 3194CF5E231487A200E1940F /* STPFPXBankBrandTest.m in Sources */, - 61202525285AD33F00B55402 /* AutoCompleteViewControllerSnapshotTests.swift in Sources */, - 3626616223C9019000B13AE0 /* STPConfirmCardOptionsTest.m in Sources */, - 8FF52D432566B5BC000C15EF /* STPPaymentMethodNetBankingTests.swift in Sources */, - B640DB1A22C69C01003C8810 /* STPSetupIntentFunctionalTest.m in Sources */, - 31D1A4AA252EAE1800913BD5 /* STPAddressTests.m in Sources */, - 3111C5F1252CE81400207E32 /* STPPostalCodeValidatorTest.swift in Sources */, - 366ECD52254B4C4B0082868E /* STPFormViewSnapshotTests.swift in Sources */, - D0518C88270E168A0048B58A /* ConfirmButtonTests.swift in Sources */, - D04242192773B3FF004345BE /* LinkInMemoryCookieStoreTests.swift in Sources */, - B6EC63CA22348D4600E4C0FB /* STPPaymentMethodiDEALTest.m in Sources */, - B61546072656AB2C006029D1 /* STPRadarSessionFunctionalTest.swift in Sources */, - 3111C562252BDB8500207E32 /* NSURLComponents_StripeTest.swift in Sources */, - 3111C64C252D41F800207E32 /* STPFormEncoderTest.swift in Sources */, - 61B4BC3426D53EB10099D768 /* PaymentSheet+PaymentMethodAvailabilityTest.swift in Sources */, - 36E28407254B38020028C186 /* STPCardCVCInputTextFieldSnapshotTests.swift in Sources */, - 36ADAE232523AC7700302DFB /* STPPaymentIntentLastPaymentErrorTest.swift in Sources */, - F148ABFB1D5E88C70014FD92 /* STPTestUtils.m in Sources */, - 6BF391B32832D64500FBB32D /* PaymentSheetPaymentMethodTypeTest.swift in Sources */, - 3111C5EE252CE7B900207E32 /* STPThreeDSFooterCustomizationTest.swift in Sources */, - 31C5B86E252E518E00A481A7 /* STPAddCardViewControllerTest.swift in Sources */, - D08548FF279B72DD00D3A3DC /* LinkInlineSignupElementSnapshotTests.swift in Sources */, - 31C5B88C252E9E0600A481A7 /* STPLabeledFormTextFieldViewSnapshotTests.m in Sources */, - 3137A74826FD76F2008BEF7B /* STPAPIClientNetworkBridgeTest.m in Sources */, - 0FC7C95325B1075D00E99D3E /* STPPaymentMethodAfterpayClearpayTest.m in Sources */, - B6D6C933223076600092AFC8 /* STPPaymentMethodAddressTest.m in Sources */, - 0FC7C95025B0EAF900E99D3E /* STPPaymentMethodAfterpayClearpayParamsTest.m in Sources */, - 3111C643252D417000207E32 /* STPPaymentMethodPrzelewy24Tests.swift in Sources */, - D0CC64B626E2A16500FC1442 /* STPPostalCodeInputTextFieldTests.swift in Sources */, - D0FA063C27F652B800EED2AD /* LinkNoticeViewSnapshotTests.swift in Sources */, - E60437F625D37DDC006E2E03 /* STPGenericInputPickerFieldValidatorTest.swift in Sources */, - 3617A51520FE5BBB001A9E6A /* NSLocale+STPSwizzling.m in Sources */, - B6A0D5FF28FF4F2E00A9F7A7 /* PaymentMethodMessagingViewFunctionalTest.swift in Sources */, - 61DBE720273082EC008565C8 /* KlarnaHelperTest.swift in Sources */, - D0F20328273C825400AB10BF /* OneTimeCodeTextFieldSnapshotTests.swift in Sources */, - 3111C621252D3B3B00207E32 /* STPEphemeralKeyTest.swift in Sources */, - 612A871A285788D400E91CA8 /* MKPlacemark+PaymentSheetTests.swift in Sources */, - C1054F911FE197AE0033C87E /* STPPaymentContextSnapshotTests.m in Sources */, - C17D24EE1E37DBAC005CB188 /* STPSourceTest.m in Sources */, - 3111C5FA252D1DC000207E32 /* STPShippingMethodsViewControllerLocalizationTests.swift in Sources */, - 31875B5C25DC63C800884BE0 /* STPE2ETest.swift in Sources */, - B69CABB9246DCB620081B1EF /* STPPaymentHandlerFunctionalTest.m in Sources */, - 618E787B26EFDD310034A01F /* ServerErrorMapperTest.swift in Sources */, - 31C5B87C252E859300A481A7 /* STPPaymentConfigurationTest.m in Sources */, - 31C5B87E252E869D00A481A7 /* StripeErrorTest.swift in Sources */, - 36E283F2254A2FE20028C186 /* STPInputTextFieldValidatorTests.swift in Sources */, - 36AC3D0C2523F18300F252D7 /* STPIntentActionTypeTest.swift in Sources */, - E60437F225D34316006E2E03 /* STPGenericInputPickerFieldSnapshotTests.swift in Sources */, - B6B41F71223476AE0020BA7F /* STPPaymentMethodCardWalletMasterpassTest.m in Sources */, - D0FA063127F62C9400EED2AD /* PayWithLinkViewController-WalletViewModelTests.swift in Sources */, - 316F813F25411877000A80B5 /* STPPaymentMethodPayPalParamsTests.m in Sources */, - 3111C61B252D36A100207E32 /* STPCertTest.swift in Sources */, - B66D5027222F8605004A9210 /* STPPaymentMethodCardChecksTest.m in Sources */, - D0CA3DB0279E578B00143B1C /* OperationDebouncerTests.swift in Sources */, - E61BEEAE265F6BDC0002FA4F /* STPAnalyticsClientPaymentsTest.swift in Sources */, - 31C5B88A252E9DBB00A481A7 /* STPEphemeralKeyManagerTest.m in Sources */, - D092E36F27BF380300B72609 /* LinkInstantDebitMandateViewSnapshotTests.swift in Sources */, - D069EA2A27557B4E00C1CF46 /* STPTextFieldDelegateProxyTests.swift in Sources */, - 36E283DA254A17570028C186 /* STPInputTextFieldFormatterTests.swift in Sources */, - 3111C714252E2A5200207E32 /* STPApplePayContextTest.swift in Sources */, - C1D7B5251E36C70D002181F5 /* STPSourceFunctionalTest.m in Sources */, - D00C2D1A2735C0C200E2283D /* OneTimeCodeTextFieldTests.swift in Sources */, - B600F3C3223088F900264403 /* STPPaymentMethodFunctionalTest.m in Sources */, - 36345D5727D0181900D2445D /* STPPaymentMethodUSBankAccountTest.swift in Sources */, - 3111C63A252D3FBF00207E32 /* STPBinRangeTest.swift in Sources */, - E2379397291B37F200C63FDD /* RotatingCardBrandsViewTests.swift in Sources */, - F3064297268C42BE0076CDDA /* PaymentSheet+APITest.swift in Sources */, - 36E28415254B44360028C186 /* STPCardFormViewSnapshotTests.swift in Sources */, - 3111C60F252D270D00207E32 /* STPPaymentMethodSofortTests.swift in Sources */, - 360EBFA127FFA87E00845AB6 /* STPImageLibraryTest.swift in Sources */, - 8BD87B951EFB1CB100269C2B /* STPSourceVerificationTest.m in Sources */, - 36E283F8254A35210028C186 /* STPCardCVCInputTextFieldValidatorTests.swift in Sources */, - 36D7A91E253111E7009F2978 /* STPFloatingPlaceholderTextFieldSnapshotTests.swift in Sources */, - B66FA0BE267EE204008D7F1D /* PaymentSheetFormFactoryTest.swift in Sources */, - B646C25526827F1200F4EAE5 /* TextFieldElement+IBANTest.swift in Sources */, - B63E42792231F8FE007B5B95 /* STPPaymentMethodParamsTest.m in Sources */, - 3111C5DF252CC5C700207E32 /* STPPaymentMethodTest.swift in Sources */, - 3111C5F7252D1BE600207E32 /* STPSetupIntentConfirmParamsTest.swift in Sources */, - 44BDCFDF245A46CC007EE6D5 /* STPPaymentMethodBancontactParamsTests.m in Sources */, - D0D217CB27DC295D006220A9 /* PaymentSheetLinkAccountTests.swift in Sources */, - D0FA063727F63EE700EED2AD /* LinkStubs.swift in Sources */, - 3111C552252BD00400207E32 /* NSDecimalNumber+StripeTest.swift in Sources */, - B6D13947230C68FF007AFF8A /* STPConnectAccountAddressTest.m in Sources */, - E254411528F9E0D600C6F5D3 /* SWHttpTrafficRecorder.m in Sources */, - E620F1D8265F5FA200233581 /* PaymentAnalyticTest.swift in Sources */, - 36DF4E0B25784DE0002554D7 /* STPGenericInputTextFieldSnapshotTests.swift in Sources */, - 3111C5BA252BF80000207E32 /* STPThreeDSSelectionCustomizationTest.swift in Sources */, - 36B6CB57234BDC4400331C38 /* STPPaymentMethodSEPADebitTest.m in Sources */, - F1D777C01D81DD520076FA19 /* STPStringUtilsTest.m in Sources */, - D03665F427D16506009FB5B0 /* ButtonLinkSnapshotTests.swift in Sources */, - 3111C71D252E394C00207E32 /* STPPaymentContextApplePayTest.swift in Sources */, - 316F814525411879000A80B5 /* STPPaymentMethodPayPalTests.m in Sources */, - 3111C5C0252BF8EB00207E32 /* STPMandateDataParamsTest.swift in Sources */, - 3111C640252D40F100207E32 /* STPCardBINMetadataTests.swift in Sources */, - 8F5ED78F2555528F003BE002 /* STPPaymentMethodUPIParamsTest.m in Sources */, - 3111C600252D1FCB00207E32 /* STPPaymentMethodAUBECSDebitTests.swift in Sources */, - 36E2840D254B3BFD0028C186 /* STPCardExpiryInputTextFieldSnapshotTests.swift in Sources */, - 3111C63D252D405400207E32 /* STPAUBECSDebitFormViewSnapshotTests.swift in Sources */, - 3111C652252D42D200207E32 /* STPTestingAPIClient.m in Sources */, - 366ECD53254B4C4B0082868E /* STPStackViewWithSeparatorSnapshotTests.swift in Sources */, - 36E283EA254A1D030028C186 /* STPCardExpiryInputTextFieldFormatterTests.swift in Sources */, - 3111C5AA252BF40100207E32 /* STPNetworkStubbingTestCase.swift in Sources */, - 31C5B896252E9FBA00A481A7 /* STPRedirectContextTest.m in Sources */, - 3111C550252BCFFD00207E32 /* NSArray+StripeTest.swift in Sources */, - 36E28402254B2D560028C186 /* STPCardNumberInputTextFieldValidatorTests.swift in Sources */, - 36DF4E0325784CCE002554D7 /* STPCountryPickerInputFieldSnapshotTests.swift in Sources */, - 3111C58D252BEC9900207E32 /* STPNumericStringValidatorTests.swift in Sources */, - 36345D5527D011E300D2445D /* STPPaymentMethodUSBankAccountParamsTest.swift in Sources */, - 3667949025B790250094831B /* STPCardFormViewTests.swift in Sources */, - 3111C55F252BDB0000207E32 /* NSString+StripeTest.swift in Sources */, - 36C7CBAF2630D0C8007EF3B0 /* ConsumerSessionTests.swift in Sources */, - 31138E8628DCEE12008AF554 /* STPStringUtilsTest.swift in Sources */, - 3111C56B252BDD5000207E32 /* FBSnapshotTestCase+STPViewControllerLoading.swift in Sources */, - D0D59741280A29D900AAAB1E /* CardExpiryDateTests.swift in Sources */, - 368E1F6D254CC87300150A2D /* STPPostalCodeInputTextFieldSnapshotTests.swift in Sources */, - F3E73D4A2683B78300438FD6 /* STPIntentWithPreferencesTest.swift in Sources */, - B3302F462006FBA7005DDBE9 /* STPConnectAccountParamsTest.m in Sources */, - 448895AF245255D800F7D0C2 /* STPPaymentMethodPrzelewy24ParamsTests.m in Sources */, - E2379395291B378700C63FDD /* RotatingCardBrandsViewSnapshotTests.swift in Sources */, - B613DD3C22C54AA800C7603F /* STPSetupIntentTest.m in Sources */, - 3111C555252BD8DD00207E32 /* NSDictionary+StripeTest.swift in Sources */, - 3111C606252D201F00207E32 /* STPMandateCustomerAcceptanceParamsTest.swift in Sources */, - D0854906279B9A3D00D3A3DC /* LinkSignupViewModelTests.swift in Sources */, - 36F9A11F25F6A3D600591514 /* STPPaymentHandlerTests.swift in Sources */, - C1AED1561EE0C8C6008BEFBF /* STPApplePayTest.m in Sources */, - C1CFCB751ED5E12400BE45DF /* STPFileTest.m in Sources */, - 8B5B4B441EFDD925005CF475 /* STPSourceOwnerTest.m in Sources */, - 8B82C5CA1F2BC78F009639F7 /* STPApplePayPaymentOptionTest.m in Sources */, - 6BC4DC9C2937DD670022403B /* STPPaymentHandlerStubbedMockedFilesTests.swift in Sources */, - B3BDCACF20EEF4640034F7F5 /* STPPaymentIntentFunctionalTest.m in Sources */, - 3111C35725279C3B00207E32 /* STPSwiftFixtures.swift in Sources */, - 3111C627252D3DCF00207E32 /* STPPaymentIntentTest.swift in Sources */, - D0BBBC9326DE9243007A9F48 /* STPCardCVCInputTextFieldTests.swift in Sources */, - B6F09A97285BE4D400751867 /* PaymentSheetTestUtils.swift in Sources */, - 3111C5F4252CE8BB00207E32 /* STPThreeDSTextFieldCustomizationTest.swift in Sources */, - 6B48785427BD740800B7632D /* STPPaymentMethodAffirmParamsTest.swift in Sources */, - D060826526EA9C5C0002D656 /* STPPaymentMethodBoletoParamsTests.swift in Sources */, - 3111C624252D3D4000207E32 /* STPAPIClientTest.swift in Sources */, - 3111C5CA252BFC7000207E32 /* STPPaymentIntentParamsTest.swift in Sources */, - D06C82A028FF340800832267 /* LinkCardEditElementSnapshotTests.swift in Sources */, - E61BEEB0265F6CAC0002FA4F /* STPAnalyticsClientPaymentSheetTest.swift in Sources */, - 8FF52D492566DF2F000C15EF /* STPPaymentMethodNetBankingParamsTest.m in Sources */, - 3111C59B252BEE6700207E32 /* STPBSBNumberValidatorTests.swift in Sources */, - 36345D5B27D02D5300D2445D /* STPSetupIntentFunctionalTest.swift in Sources */, - 315E4B362639D80F00C1D955 /* STPIntentActionWeChatPayRedirectToAppTest.swift in Sources */, - 3111C612252D272A00207E32 /* STPPaymentMethodGiropayTests.swift in Sources */, - D071C95527626FDE00843C0C /* WalletHeaderViewSnapshotTests.swift in Sources */, - 366658B52410756100D00354 /* STPPaymentMethodAUBECSDebitParamsTests.m in Sources */, - B6ED573925784E1A007D74E0 /* STPIntentActionAlipayHandleRedirectTest.swift in Sources */, - 8BD87B901EFB17AA00269C2B /* STPSourceRedirectTest.m in Sources */, - B6E6C0ED265583D400445507 /* ImageTest.swift in Sources */, - 8BE5AE8B1EF8905B0081A33C /* STPCardParamsTest.m in Sources */, - 3111C609252D217D00207E32 /* STPAUBECSFormViewModelTests.swift in Sources */, - 04415C6B1A6605B5001225ED /* STPBankAccountFunctionalTest.m in Sources */, - 8B6DC9751F0171D20025E811 /* STPSourceReceiverTest.m in Sources */, - 31E2430026FA428E00064908 /* STPApplePayTest.swift in Sources */, - B67F504824C794EF00CF4A9D /* STPPaymentMethodGrabPayParamsTest.m in Sources */, - 361A070B276D264D00D2339A /* PaymentTypeCellSnapshotTests.swift in Sources */, - 3137A74726FD76EC008BEF7B /* STPAPISettingsBridgeTest.m in Sources */, - 3111C5DC252C159900207E32 /* STPThreeDSLabelCustomizationTest.swift in Sources */, - B69D87D827D6D3DE00347F99 /* FormSpecProviderTest.swift in Sources */, - 363BD0362731F891003F9FE4 /* STPTestAPIClient+Swift.swift in Sources */, - D0BEB40C273CACBA0031D677 /* LinkPaymentMethodPickerSnapshotTests.swift in Sources */, - 3111C5AD252BF41200207E32 /* STPPinManagementServiceFunctionalTest.swift in Sources */, - 368E1F65254CBFB900150A2D /* STPPostalCodeInputTextFieldFormatterTests.swift in Sources */, - 3111C5D9252C14A500207E32 /* STPThreeDSUICustomizationTest.swift in Sources */, - 69A6C30A246EA195005FF304 /* STPPaymentMethodEPSParamsTests.m in Sources */, - 3663CEA426D5B21B00D0E123 /* STPPaymentCardTextFieldTestsSwift.swift in Sources */, - D0277ADF27604A5000AF2CF6 /* LinkToastSnapshotTests.swift in Sources */, - B656292523E10AB100458A8E /* STPPaymentMethodBacsDebitTest.m in Sources */, - 04415C6C1A6605B5001225ED /* STPBankAccountTest.m in Sources */, - 31C8644924DDF2560015F7DF /* STPPaymentMethodSofortParamsTests.m in Sources */, - 31C5B873252E773100A481A7 /* STPPaymentOptionsViewControllerLocalizationTests.swift in Sources */, - 31C5B871252E746200A481A7 /* STPBECSDebitAccountNumberValidatorTests.swift in Sources */, - 36AF10312800DC700093344B /* STPPaymentMethodOptionsTest.swift in Sources */, - B6724361252519BA002E1AAF /* STPSourceSEPADebitDetailsTest.m in Sources */, - B6B41F73223476B90020BA7F /* STPPaymentMethodCardWalletVisaCheckoutTest.m in Sources */, - 04415C6D1A6605B5001225ED /* STPCardFunctionalTest.m in Sources */, - 61A378612721C48000B949C5 /* STPPaymentMethodKlarnaTests.swift in Sources */, - 3111C70F252D4B0A00207E32 /* STPSourceCardDetailsTest.swift in Sources */, - 3111C62E252D3F1E00207E32 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift in Sources */, - 3194CF5C2314869500E1940F /* STPPaymentMethodFPXTest.m in Sources */, - B6D6C935223078840092AFC8 /* STPPaymentMethodBillingDetailsTest.m in Sources */, - 3111C568252BDCF400207E32 /* STPAddCardViewControllerLocalizationTests.swift in Sources */, - 61A3785F2720960700B949C5 /* STPPaymentMethodKlarnaParamsTests.swift in Sources */, - 316F81222541125E000A80B5 /* STPPaymentMethodOXXOTests.m in Sources */, - 3111C5EB252CE79700207E32 /* STPThreeDSNavigationBarCustomizationTest.swift in Sources */, - 3626616423C902FB00B13AE0 /* STPConfirmPaymentMethodOptionsTest.m in Sources */, - D03B1DD72819D66C009F4C9A /* LinkNavigationBarSnapshotTests.swift in Sources */, - B6E8A9302657F51F00A48CC8 /* FraudDetectionDataTest.swift in Sources */, - 316F812825411275000A80B5 /* STPPaymentMethodOXXOParamsTests.m in Sources */, - 31C5B88E252E9F0D00A481A7 /* STPPaymentCardTextFieldTest.m in Sources */, - D030C9B3281CA8CB000AFEB0 /* LinkBadgeViewSnapshotTest.swift in Sources */, - B36C6D782193A16F00D17575 /* STPIntentActionTest.m in Sources */, - D0ECE13027A9AD720082ED18 /* LinkLegalTermsViewSnapshotTests.swift in Sources */, - 36E283E6254A1B550028C186 /* STPCardCVCInputTextFieldFormatterTests.swift in Sources */, - 36AEBFBC241C39A800CFCAE8 /* STPSTPViewWithSeparatorSnapshotTests.m in Sources */, - 6B80425827D1AC5D007CAFC1 /* STPAPIClientStubbedTest.swift in Sources */, - 36E295CE2522B2D500CF5C06 /* STPPaymentIntentEnumsTest.swift in Sources */, - 3111C61E252D36F700207E32 /* STPPaymentCardTextFieldViewModelTest.swift in Sources */, - 36E28411254B3E9F0028C186 /* STPCardNumberInputTextFieldSnapshotTests.swift in Sources */, - 6BB54EFD27ECF1E500069F06 /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift in Sources */, - 31E242FB26F9028400064908 /* STPCustomerContextTest.swift in Sources */, - 36E283EE254A26CC0028C186 /* STPCardNumberInputTextFieldFormatterTests.swift in Sources */, - 04415C701A6605B5001225ED /* STPTokenTest.m in Sources */, - 6B48785627BDB7B100B7632D /* STPPaymentMethodAffirmTests.swift in Sources */, - 368E1F69254CC73600150A2D /* STPPostalCodeInputTextFieldValidatorTests.swift in Sources */, - 3111C5E2252CDCC800207E32 /* STPCardValidatorTest.swift in Sources */, - 8B8DDBB31EF887A4004B141F /* STPBankAccountParamsTest.m in Sources */, - 3111C5E8252CE69E00207E32 /* STPThreeDSButtonCustomizationTest.swift in Sources */, - 3111C722252E3EC200207E32 /* STPShippingAddressViewControllerLocalizationTests.swift in Sources */, - 36345D5927D0198100D2445D /* STPPaymentIntentFunctionalTest.swift in Sources */, - B64763B922FE1AF700C01BC0 /* STPSetupIntentLastSetupErrorTest.m in Sources */, - B3C9CF2D2004595A005502ED /* STPConnectAccountFunctionalTest.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 04CDB43D1A5F2E1800B854EE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 317ABF3425118C1E00CC59EF /* STPCardScanner.swift in Sources */, - 3176C246251A7F6500300ADE /* STPPaymentOptionTableViewCell.swift in Sources */, - 312D789B253DF824009224AF /* STPLocalizedString.swift in Sources */, - 319490612514041300AD8F0B /* STPBankSelectionViewController.swift in Sources */, - 3176C25F251A8FDA00300ADE /* STPPushProvisioningDetails.swift in Sources */, - 317ABF3B251193B600CC59EF /* STPCardScannerTableViewCell.swift in Sources */, - 3111C3522527871300207E32 /* STPCustomerContext.swift in Sources */, - 31D4D6882512EBAC00809066 /* UIToolbar+Stripe_InputAccessory.swift in Sources */, - 31227184286E5A8C0007ED5E /* STPPushProvisioningContext.swift in Sources */, - 31F9015E26FEA07000F9E11D /* STPEphemeralKeyManager.swift in Sources */, - 3111C33D2526C2A300207E32 /* STPPromise.swift in Sources */, - 3176C24A251A844900300ADE /* STPPaymentOptionTuple.swift in Sources */, - E6598C872695342000278740 /* String+Localized.swift in Sources */, - 3194907025140C4800AD8F0B /* STPCoreTableViewController.swift in Sources */, - 31227142286E54FD0007ED5E /* STPPaymentIntentParams+BasicUI.swift in Sources */, - 3194907825140CFE00AD8F0B /* STPPaymentOptionsInternalViewController.swift in Sources */, - 3111C3692527BC4200207E32 /* STPAddressFieldTableViewCell.swift in Sources */, - B6E8A9362657F82C00A48CC8 /* UserDefaults+Stripe.swift in Sources */, - 31227190286E5CA70007ED5E /* STPPaymentMethodParams+BasicUI.swift in Sources */, - 31D4D6962512EE0100809066 /* UIViewController+Stripe_ParentViewController.swift in Sources */, - 31281BC325254F8E00591A95 /* STPPaymentCardTextFieldCell.swift in Sources */, - 31D4D68A2512EC6300809066 /* UIView+Stripe_FirstResponder.swift in Sources */, - 31D4D6742512E69700809066 /* UIBarButtonItem+Stripe.swift in Sources */, - 31227187286E5B360007ED5E /* STPAddress+BasicUI.swift in Sources */, - 317ABF40251196A600CC59EF /* STPCameraView.swift in Sources */, - 31DCB10628F4CAB0002EF128 /* Stripe+Exports.swift in Sources */, - 31227189286E5BD70007ED5E /* STPCard+BasicUI.swift in Sources */, - 3194909B25144D7800AD8F0B /* STPPaymentContext.swift in Sources */, - 3194907B25140D1500AD8F0B /* STPShippingMethodsViewController.swift in Sources */, - 31D4D6802512E93B00809066 /* UINavigationController+Stripe_Completion.swift in Sources */, - E6598C8526952F7000278740 /* StripeBundleLocator.swift in Sources */, - 3194908C2514484300AD8F0B /* STPUserInformation.swift in Sources */, - 3111C2FE252688B800207E32 /* STPFakeAddPaymentPassViewController.swift in Sources */, - B6D9CEE5251AAFBA00AAD424 /* STPAPIClient+PushProvisioning.swift in Sources */, - 3194906625140BEF00AD8F0B /* STPCoreViewController.swift in Sources */, - 31281BCD2525598200591A95 /* STPPaymentConfiguration.swift in Sources */, - 3111C31125269B0700207E32 /* STPPaymentOption.swift in Sources */, - 31281BD02525725C00591A95 /* STPPaymentActivityIndicatorView.swift in Sources */, - 367F1E7325140B9B002E866B /* STPTheme.swift in Sources */, - 3137A74D26FD7AF5008BEF7B /* (null) in Sources */, - 3111BE9F251316E600288D28 /* STPAddCardViewController.swift in Sources */, - 3194907425140C9700AD8F0B /* STPPaymentOptionsViewController.swift in Sources */, - 3111C31E2526A85C00207E32 /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift in Sources */, - 3111C3612527B62C00207E32 /* STPBackendAPIAdapter.swift in Sources */, - 31D4D6922512EDEE00809066 /* UIViewController+Stripe_KeyboardAvoiding.swift in Sources */, - 3111BE792513039700288D28 /* STPShippingMethodTableViewCell.swift in Sources */, - 31D4D6942512EDF900809066 /* UIViewController+Stripe_NavigationItemProxy.swift in Sources */, - 31227185286E5A8C0007ED5E /* STPPushProvisioningDetailsParams.swift in Sources */, - 31D4D67A2512E7B200809066 /* UINavigationBar+Stripe_Theme.swift in Sources */, - 31D4D68F2512ED3F00809066 /* UIView+Stripe_SafeAreaBounds.swift in Sources */, - 3122717D286E59EC0007ED5E /* STPSource+BasicUI.swift in Sources */, - 367F1E8025141502002E866B /* STPAddressViewModel.swift in Sources */, - 31227196286E610E0007ED5E /* STPAnalyticsClient+BasicUI.swift in Sources */, - 31227179286E59620007ED5E /* STPPaymentMethod+BasicUI.swift in Sources */, - 3122714C286E55A80007ED5E /* STPBlocks.swift in Sources */, - 319567F228D38D6200BFF5D1 /* STPApplePayContextDelegate.swift in Sources */, - 3122717B286E59D60007ED5E /* STPAPIClient+BasicUI.swift in Sources */, - 31F2E8782524143F004D4B5E /* STPPaymentResult.swift in Sources */, - 31227173286E56980007ED5E /* STPEphemeralKeyProvider.swift in Sources */, - 31D4D6822512EA9500809066 /* UITableViewCell+Stripe_Borders.swift in Sources */, - B6926ACE252659BF001F208B /* STPEphemeralKey.swift in Sources */, - 3122724F2876429C0007ED5E /* STPAnalyticsClient+Payments.swift in Sources */, - 31F2E87C25241C30004D4B5E /* STPApplePayPaymentOption.swift in Sources */, - 31281BDF252579CA00591A95 /* STPBankSelectionTableViewCell.swift in Sources */, - 3111C3222526A9C600207E32 /* PKAddPaymentPassRequest+Stripe_Error.swift in Sources */, - 3176C223251A696B00300ADE /* STPSectionHeaderView.swift in Sources */, - B6D9CEBE2515245500AAD424 /* STPPaymentContextAmountModel.swift in Sources */, - 319490592513CC6200AD8F0B /* STPImageLibrary.swift in Sources */, - 31281BD52525775D00591A95 /* STPFPXBankStatusResponse.swift in Sources */, - 3194907E25140D4000AD8F0B /* STPShippingAddressViewController.swift in Sources */, - 363B926027431C4800BA52EC /* Enums+CustomStringConvertible.swift in Sources */, - 3194906C25140C0B00AD8F0B /* STPCoreScrollViewController.swift in Sources */, - 31227171286E567B0007ED5E /* STPPinManagementService.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 363BD03B27344436003F9FE4 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 363BD04627344436003F9FE4 /* ViewController.swift in Sources */, - 363BD04227344436003F9FE4 /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 364DBF8A274859FF00FD9250 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D04242182773B38A004345BE /* LinkSecureCookieStoreTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 045E7C0B1A5F41DE004751EF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 04CDB4411A5F2E1800B854EE /* StripeiOS */; - targetProxy = 045E7C0A1A5F41DE004751EF /* PBXContainerItemProxy */; - }; - 363BD054273444CC003F9FE4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 363BD03E27344436003F9FE4 /* StripeiOSTestHostApp */; - targetProxy = 363BD053273444CC003F9FE4 /* PBXContainerItemProxy */; - }; - 364DBF95274859FF00FD9250 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 04CDB4411A5F2E1800B854EE /* StripeiOS */; - targetProxy = 364DBF94274859FF00FD9250 /* PBXContainerItemProxy */; - }; - 364DBF9A27485A0300FD9250 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 363BD03E27344436003F9FE4 /* StripeiOSTestHostApp */; - targetProxy = 364DBF9927485A0300FD9250 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 363BD04727344436003F9FE4 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 363BD04827344436003F9FE4 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 363BD04C27344439003F9FE4 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 363BD04D27344439003F9FE4 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; - F148ABE61D5E805A0014FD92 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - F148ABE71D5E805A0014FD92 /* en */, - F148ABEA1D5E80790014FD92 /* zh-Hans */, - F148ABEC1D5E80860014FD92 /* de */, - F148ABED1D5E808B0014FD92 /* es */, - F148ABEE1D5E80990014FD92 /* it */, - F148ABEF1D5E809D0014FD92 /* ja */, - F148ABF01D5E80A00014FD92 /* nl */, - F148ABF11D5E81EB0014FD92 /* fr */, - 7E0B1132203572FB00271AD3 /* fi */, - ED627D57207EA348007EFC56 /* nb */, - 36D153B521AE0FDC00567EFE /* da */, - 36D153B721AE106D00567EFE /* fr-CA */, - 36D153B821AE10E300567EFE /* nn-NO */, - 36D153B921AE111500567EFE /* pt-BR */, - 36D153BA21AE111F00567EFE /* pt-PT */, - 36D153BB21AE11CF00567EFE /* sv */, - 3674EAD5232AEE25008ADA25 /* en-GB */, - 3674EAD7232AEE37008ADA25 /* ko */, - 3674EAD9232AEE4B008ADA25 /* ru */, - 3674EADB232AEE5B008ADA25 /* tr */, - 36242DFA242EBFEA00A32EEE /* zh-Hant */, - 36242DFC242EBFF300A32EEE /* zh-HK */, - 36006C70244A4D8C002E7C41 /* es-419 */, - B69A84652489A0DB009DE268 /* hu */, - B69A84672489A0EB009DE268 /* mt */, - 36F4BC7826C1BBC2001518CD /* hr */, - 36F4BC8126C1BCAA001518CD /* fil */, - 36F4BC9226C1BD6F001518CD /* tk */, - 36F4BC9A26C1BDDA001518CD /* vi */, - 36F4BCA226C1BE80001518CD /* id */, - 36064BA026D6E6BC002A8AAA /* ms-MY */, - 36064BA826D83080002A8AAA /* bg-BG */, - 36064BAF26D83138002A8AAA /* ca-ES */, - 36064BBC26D832BA002A8AAA /* cs-CZ */, - 36064BC026D83396002A8AAA /* et-EE */, - 36064BC826D8346F002A8AAA /* el-GR */, - 36064BD026D834FD002A8AAA /* lt-LT */, - 36064BD826D83591002A8AAA /* lv-LV */, - 36064BE026D83617002A8AAA /* pl-PL */, - 36064BE826D83692002A8AAA /* ro-RO */, - 36064BF026D83771002A8AAA /* sk-SK */, - 36064BF826D83816002A8AAA /* sl-SI */, - ); - name = Localizable.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 045E7C0D1A5F41DE004751EF /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 04F39F0D1AEF2AFE005B926E /* StripeiOS Tests-Debug.xcconfig */; - buildSettings = { - INFOPLIST_FILE = Tests/Tests/Info.plist; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Tests/Tests/StripeiOS Tests-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "StripeiOS_Tests-Swift.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 045E7C0E1A5F41DE004751EF /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 04F39F0E1AEF2AFE005B926E /* StripeiOS Tests-Release.xcconfig */; - buildSettings = { - INFOPLIST_FILE = Tests/Tests/Info.plist; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Tests/Tests/StripeiOS Tests-Bridging-Header.h"; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "StripeiOS_Tests-Swift.h"; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 04CDB4561A5F2E1800B854EE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 04F39F101AEF2AFE005B926E /* StripeiOS-Debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - DEFINES_MODULE = YES; - INFOPLIST_FILE = Stripe/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = Stripe/Stripe.modulemap; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-ios"; - PRODUCT_NAME = Stripe; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 04CDB4571A5F2E1800B854EE /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 04F39F111AEF2AFE005B926E /* StripeiOS-Release.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - DEFINES_MODULE = YES; - INFOPLIST_FILE = Stripe/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = Stripe/Stripe.modulemap; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-ios"; - PRODUCT_NAME = Stripe; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 11C74BBA164043050071C2CA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 04F39F0A1AEF2AFE005B926E /* Project-Debug.xcconfig */; - buildSettings = { - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREFIX_HEADER = "Tests/Tests/StripeTests-Prefix.pch"; - }; - name = Debug; - }; - 11C74BBB164043050071C2CA /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 04F39F0B1AEF2AFE005B926E /* Project-Release.xcconfig */; - buildSettings = { - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREFIX_HEADER = "Tests/Tests/StripeTests-Prefix.pch"; - SWIFT_COMPILATION_MODE = wholemodule; - }; - name = Release; - }; - 363BD05127344439003F9FE4 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = Y28TH9SHX7; - 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; - INFOPLIST_FILE = StripeiOSTestHostApp/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSTestHostApp; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 1; - }; - name = Debug; - }; - 363BD05227344439003F9FE4 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Y28TH9SHX7; - 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; - INFOPLIST_FILE = StripeiOSTestHostApp/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSTestHostApp; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 1; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 364DBF97274859FF00FD9250 /* Debug */ = { - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = Y28TH9SHX7; - 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; - INFOPLIST_FILE = StripeiOSAppHostedTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSAppHostedTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StripeiOSTestHostApp.app/StripeiOSTestHostApp"; - }; - name = Debug; - }; - 364DBF98274859FF00FD9250 /* Release */ = { - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Y28TH9SHX7; - 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; - INFOPLIST_FILE = StripeiOSAppHostedTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSAppHostedTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StripeiOSTestHostApp.app/StripeiOSTestHostApp"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 045E7C0C1A5F41DE004751EF /* Build configuration list for PBXNativeTarget "StripeiOS Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 045E7C0D1A5F41DE004751EF /* Debug */, - 045E7C0E1A5F41DE004751EF /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 04CDB4551A5F2E1800B854EE /* Build configuration list for PBXNativeTarget "StripeiOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 04CDB4561A5F2E1800B854EE /* Debug */, - 04CDB4571A5F2E1800B854EE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 11C74B92164043050071C2CA /* Build configuration list for PBXProject "Stripe" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 11C74BBA164043050071C2CA /* Debug */, - 11C74BBB164043050071C2CA /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 363BD05027344439003F9FE4 /* Build configuration list for PBXNativeTarget "StripeiOSTestHostApp" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 363BD05127344439003F9FE4 /* Debug */, - 363BD05227344439003F9FE4 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 364DBF96274859FF00FD9250 /* Build configuration list for PBXNativeTarget "StripeiOSAppHostedTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 364DBF97274859FF00FD9250 /* Debug */, - 364DBF98274859FF00FD9250 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCRemoteSwiftPackageReference section */ - E25440FC28F9CC7F00C6F5D3 /* XCRemoteSwiftPackageReference "ocmock" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/erikdoe/ocmock"; - requirement = { - branch = master; - kind = branch; - }; - }; - E254410128F9CCCB00C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/uber/ios-snapshot-test-case"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 8.0.0; - }; - }; - E254412A28F9FC2C00C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/eurias-stripe/OHHTTPStubs"; - requirement = { - branch = master; - kind = branch; - }; - }; -/* End XCRemoteSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - E25440FF28F9CC8800C6F5D3 /* OCMock */ = { - isa = XCSwiftPackageProductDependency; - package = E25440FC28F9CC7F00C6F5D3 /* XCRemoteSwiftPackageReference "ocmock" */; - productName = OCMock; - }; - E254410428F9CCD400C6F5D3 /* iOSSnapshotTestCase */ = { - isa = XCSwiftPackageProductDependency; - package = E254410128F9CCCB00C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */; - productName = iOSSnapshotTestCase; - }; - E254412F28F9FC3700C6F5D3 /* OHHTTPStubs */ = { - isa = XCSwiftPackageProductDependency; - package = E254412A28F9FC2C00C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */; - productName = OHHTTPStubs; - }; - E254413128F9FC3700C6F5D3 /* OHHTTPStubsSwift */ = { - isa = XCSwiftPackageProductDependency; - package = E254412A28F9FC2C00C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */; - productName = OHHTTPStubsSwift; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 11C74B8F164043050071C2CA /* Project object */; -} diff --git a/Stripe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Stripe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/Stripe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Stripe/Resources/Localizations/tk.lproj/Localizable.strings b/Stripe.xcworkspace/.tuist-generated similarity index 100% rename from Stripe/Resources/Localizations/tk.lproj/Localizable.strings rename to Stripe.xcworkspace/.tuist-generated diff --git a/Stripe.xcworkspace/contents.xcworkspacedata b/Stripe.xcworkspace/contents.xcworkspacedata index 7c7087bad47..9b3b48d0bb0 100644 --- a/Stripe.xcworkspace/contents.xcworkspacedata +++ b/Stripe.xcworkspace/contents.xcworkspacedata @@ -1,20 +1,39 @@ + + + + + + + + + + + + + + + + + + - - - - - - + location = "group:Package.swift"> + location = "group:Stripe/Stripe.xcodeproj"> @@ -31,48 +50,32 @@ + + + + + + + + - - - - - - - - - - - - - - - - - - + location = "group:IntegrationTester/IntegrationTester.xcodeproj"> + location = "group:LocalizationTester/LocalizationTester.xcodeproj"> diff --git a/Stripe.xcworkspace/xcshareddata/Stripe.xccheckout b/Stripe.xcworkspace/xcshareddata/Stripe.xccheckout deleted file mode 100644 index 941dfe0e3c6..00000000000 --- a/Stripe.xcworkspace/xcshareddata/Stripe.xccheckout +++ /dev/null @@ -1,53 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - 1610AC64-BC46-4B78-8270-41A398C514B7 - IDESourceControlProjectName - Stripe - IDESourceControlProjectOriginsDictionary - - A5C151FC3F18980DA2906AAA3DE9140767EF2310 - ssh://github.com/stripe/stripe-ios.git - D0DC6CE0350266C4AFFCC35DA49B75AE57E8D73E - github.com:stripe/PaymentKit.git - - IDESourceControlProjectPath - Stripe.xcworkspace - IDESourceControlProjectRelativeInstallPathDictionary - - A5C151FC3F18980DA2906AAA3DE9140767EF2310 - .. - D0DC6CE0350266C4AFFCC35DA49B75AE57E8D73E - ../Example/PaymentKit - - IDESourceControlProjectURL - ssh://github.com/stripe/stripe-ios.git - IDESourceControlProjectVersion - 111 - IDESourceControlProjectWCCIdentifier - A5C151FC3F18980DA2906AAA3DE9140767EF2310 - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - D0DC6CE0350266C4AFFCC35DA49B75AE57E8D73E - IDESourceControlWCCName - PaymentKit - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - A5C151FC3F18980DA2906AAA3DE9140767EF2310 - IDESourceControlWCCName - stripe-ios - - - - diff --git a/Stripe.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Stripe.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index f9b0d7c5ea1..08de0be8d3c 100644 --- a/Stripe.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/Stripe.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -2,7 +2,7 @@ - PreviewsEnabled + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded diff --git a/Stripe.xcodeproj/xcshareddata/xcschemes/AllStripeFrameworks.xcscheme b/Stripe.xcworkspace/xcshareddata/xcschemes/AllStripeFrameworks.xcscheme similarity index 84% rename from Stripe.xcodeproj/xcshareddata/xcschemes/AllStripeFrameworks.xcscheme rename to Stripe.xcworkspace/xcshareddata/xcschemes/AllStripeFrameworks.xcscheme index 732e43ad4b4..eebef9d493f 100644 --- a/Stripe.xcodeproj/xcshareddata/xcschemes/AllStripeFrameworks.xcscheme +++ b/Stripe.xcworkspace/xcshareddata/xcschemes/AllStripeFrameworks.xcscheme @@ -1,6 +1,6 @@ + ReferencedContainer = "container:Stripe/Stripe.xcodeproj"> @@ -42,7 +42,7 @@ buildForAnalyzing = "YES"> @@ -56,7 +56,7 @@ buildForAnalyzing = "YES"> @@ -70,7 +70,7 @@ buildForAnalyzing = "YES"> @@ -84,10 +84,10 @@ buildForAnalyzing = "YES"> + BlueprintIdentifier = "0A35A66495209E60ADD254A3" + BuildableName = "StripePayments.framework" + BlueprintName = "StripePayments" + ReferencedContainer = "container:StripePayments/StripePayments.xcodeproj"> + BlueprintIdentifier = "C159BFB17E834CD30378F9F3" + BuildableName = "StripePaymentsUI.framework" + BlueprintName = "StripePaymentsUI" + ReferencedContainer = "container:StripePaymentsUI/StripePaymentsUI.xcodeproj"> @@ -126,7 +126,7 @@ buildForAnalyzing = "YES"> @@ -140,7 +140,7 @@ buildForAnalyzing = "YES"> @@ -154,7 +154,7 @@ buildForAnalyzing = "YES"> @@ -168,7 +168,7 @@ buildForAnalyzing = "YES"> @@ -180,7 +180,8 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES" + disableMainThreadChecker = "YES"> @@ -194,6 +195,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + + ReferencedContainer = "container:Stripe/Stripe.xcodeproj"> diff --git a/Stripe.xcodeproj/xcshareddata/xcschemes/AllStripeFrameworksCatalyst.xcscheme b/Stripe.xcworkspace/xcshareddata/xcschemes/AllStripeFrameworksCatalyst.xcscheme similarity index 83% rename from Stripe.xcodeproj/xcshareddata/xcschemes/AllStripeFrameworksCatalyst.xcscheme rename to Stripe.xcworkspace/xcshareddata/xcschemes/AllStripeFrameworksCatalyst.xcscheme index 5bc76d40d95..709ea44b65b 100644 --- a/Stripe.xcodeproj/xcshareddata/xcschemes/AllStripeFrameworksCatalyst.xcscheme +++ b/Stripe.xcworkspace/xcshareddata/xcschemes/AllStripeFrameworksCatalyst.xcscheme @@ -1,6 +1,6 @@ + ReferencedContainer = "container:Stripe/Stripe.xcodeproj"> + BlueprintIdentifier = "747C9FE1743C0B4444303569" + BuildableName = "StripeApplePay.framework" + BlueprintName = "StripeApplePay" + ReferencedContainer = "container:StripeApplePay/StripeApplePay.xcodeproj"> + BlueprintIdentifier = "7877B31445857B119EA45445" + BuildableName = "StripeCore.framework" + BlueprintName = "StripeCore" + ReferencedContainer = "container:StripeCore/StripeCore.xcodeproj"> @@ -70,7 +70,7 @@ buildForAnalyzing = "YES"> @@ -84,10 +84,10 @@ buildForAnalyzing = "YES"> + BlueprintIdentifier = "A74928FD0171C3213676E29C" + BuildableName = "StripePaymentSheet.framework" + BlueprintName = "StripePaymentSheet" + ReferencedContainer = "container:StripePaymentSheet/StripePaymentSheet.xcodeproj"> + BlueprintIdentifier = "DE3C3F3D3BB67DD660A44B1E" + BuildableName = "StripeUICore.framework" + BlueprintName = "StripeUICore" + ReferencedContainer = "container:StripeUICore/StripeUICore.xcodeproj"> + BlueprintIdentifier = "57AEC53510AE0DC0539730F3" + BuildableName = "Stripe3DS2.framework" + BlueprintName = "Stripe3DS2" + ReferencedContainer = "container:Stripe3DS2/Stripe3DS2.xcodeproj"> @@ -124,7 +124,8 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES" + disableMainThreadChecker = "YES"> @@ -138,6 +139,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + + ReferencedContainer = "container:Stripe/Stripe.xcodeproj"> diff --git a/Stripe/BuildConfigurations/Stripe Tests-Debug.xcconfig b/Stripe/BuildConfigurations/Stripe Tests-Debug.xcconfig new file mode 100644 index 00000000000..6d153e27b84 --- /dev/null +++ b/Stripe/BuildConfigurations/Stripe Tests-Debug.xcconfig @@ -0,0 +1,8 @@ +// +// Stripe Tests-Debug.xcconfig +// + +#include "../../BuildConfigurations/StripeiOS Tests-Debug.xcconfig" + +SWIFT_OBJC_BRIDGING_HEADER = StripeiOSTests/StripeiOS Tests-Bridging-Header.h +GCC_PREFIX_HEADER = StripeiOSTests/StripeTests-Prefix.pch diff --git a/Stripe/BuildConfigurations/Stripe Tests-Release.xcconfig b/Stripe/BuildConfigurations/Stripe Tests-Release.xcconfig new file mode 100644 index 00000000000..b72a89b2899 --- /dev/null +++ b/Stripe/BuildConfigurations/Stripe Tests-Release.xcconfig @@ -0,0 +1,8 @@ +// +// Stripe Tests-Release.xcconfig +// + +#include "../../BuildConfigurations/StripeiOS Tests-Release.xcconfig" + +SWIFT_OBJC_BRIDGING_HEADER = StripeiOSTests/StripeiOS Tests-Bridging-Header.h +GCC_PREFIX_HEADER = StripeiOSTests/StripeTests-Prefix.pch diff --git a/Stripe/BuildConfigurations/Stripe-Debug.xcconfig b/Stripe/BuildConfigurations/Stripe-Debug.xcconfig new file mode 100644 index 00000000000..c5831ee68d6 --- /dev/null +++ b/Stripe/BuildConfigurations/Stripe-Debug.xcconfig @@ -0,0 +1,7 @@ +// +// Stripe-Debug.xcconfig +// + +#include "../../BuildConfigurations/StripeiOS-Debug.xcconfig" + +MODULEMAP_FILE = StripeiOS/Stripe.modulemap diff --git a/Stripe/BuildConfigurations/Stripe-Release.xcconfig b/Stripe/BuildConfigurations/Stripe-Release.xcconfig new file mode 100644 index 00000000000..662db163877 --- /dev/null +++ b/Stripe/BuildConfigurations/Stripe-Release.xcconfig @@ -0,0 +1,7 @@ +// +// Stripe-Release.xcconfig +// + +#include "../../BuildConfigurations/StripeiOS-Release.xcconfig" + +MODULEMAP_FILE = StripeiOS/Stripe.modulemap diff --git a/Stripe/Project.swift b/Stripe/Project.swift new file mode 100644 index 00000000000..8ee1202e954 --- /dev/null +++ b/Stripe/Project.swift @@ -0,0 +1,142 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "Stripe", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + packages: [ + .remote( + url: "https://github.com/uber/ios-snapshot-test-case", + requirement: .upToNextMajor(from: "8.0.0") + ), + .remote( + url: "https://github.com/eurias-stripe/OHHTTPStubs", + requirement: .branch("master") + ), + .remote(url: "https://github.com/erikdoe/ocmock", requirement: .branch("master")), + ], + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "StripeiOS", + platform: .iOS, + product: .framework, + productName: "Stripe", + bundleId: "com.stripe.stripe-ios", + infoPlist: "StripeiOS/Info.plist", + sources: "StripeiOS/Source/**/*.swift", + resources: "StripeiOS/Resources/**", + headers: .headers( + public: "StripeiOS/Stripe-umbrella.h" + ), + dependencies: [ + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "StripePaymentsUI", path: "//StripePaymentsUI"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/Stripe" + ) + ), + Target( + name: "StripeiOSTests", + platform: .iOS, + product: .unitTests, + productName: "StripeiOS_Tests", + bundleId: "com.stripe.StripeiOSTests", + infoPlist: "StripeiOSTests/Info.plist", + sources: [ + "StripeiOSTests/**/*.swift", + "StripeiOSTests/**/*.m", + ], + resources: .init(resources: [ + "StripeiOSTests/Resources/MockFiles/**", + "StripeiOSTests/Resources/*.*", + "StripeiOSTests/Resources/Images.xcassets", + .folderReference(path: "StripeiOSTests/Resources/recorded_network_traffic"), + ]), + headers: .headers( + project: "StripeiOSTests/*.h" + ), + dependencies: [ + .xctest, + .target(name: "StripeiOS"), + .package(product: "OHHTTPStubs"), + .package(product: "OHHTTPStubsSwift"), + .package(product: "OCMock"), + .package(product: "iOSSnapshotTestCase"), + .project(target: "StripeCoreTestUtils", path: "//StripeCore"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "StripePaymentsUI", path: "//StripePaymentsUI"), + .project(target: "StripePaymentSheet", path: "//StripePaymentSheet"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/Stripe Tests" + ), + additionalFiles: [ + "StripeiOSTests.xctestplan" + ] + ), + Target( + name: "StripeiOSTestHostApp", + platform: .iOS, + product: .app, + bundleId: "com.stripe.StripeiOSTestHostApp", + infoPlist: "StripeiOSTestHostApp/Info.plist", + sources: "StripeiOSTestHostApp/*.swift", + resources: "StripeiOSTestHostApp/Resources/**", + settings: .stripeTargetSettings( + baseXcconfigFilePath: "//BuildConfigurations/StripeiOS Tests" + ) + ), + Target( + name: "StripeiOSAppHostedTests", + platform: .iOS, + product: .unitTests, + bundleId: "com.stripe.StripeiOSAppHostedTests", + infoPlist: "StripeiOSAppHostedTests/Info.plist", + sources: "StripeiOSAppHostedTests/*.swift", + dependencies: [ + .xctest, + .target(name: "StripeiOS"), + .target(name: "StripeiOSTestHostApp"), + .project(target: "StripePaymentSheet", path: "//StripePaymentSheet"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "//BuildConfigurations/StripeiOS Tests" + ) + ), + ], + schemes: [ + Scheme( + name: "StripeiOS", + buildAction: .buildAction(targets: ["StripeiOS"]), + testAction: .testPlans(["StripeiOSTests.xctestplan"]) + ), + Scheme( + name: "StripeiOSTestHostApp", + buildAction: .buildAction(targets: ["StripeiOS"]), + testAction: .targets(["StripeiOSAppHostedTests"]), + runAction: .runAction(executable: "StripeiOSTestHostApp") + ), + ] +) diff --git a/Stripe/Stripe.xcodeproj/project.pbxproj b/Stripe/Stripe.xcodeproj/project.pbxproj new file mode 100644 index 00000000000..9f3c62874ca --- /dev/null +++ b/Stripe/Stripe.xcodeproj/project.pbxproj @@ -0,0 +1,2567 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 52; + objects = { + +/* Begin PBXBuildFile section */ + 013F991AB34E38BDBA6E4521 /* STPFormViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F44327A2B2C9483F52EE343B /* STPFormViewSnapshotTests.swift */; }; + 01F2C8715D740FDE683FAECF /* stp_card_form_amex_cvc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0227131370F51B0533585BEB /* stp_card_form_amex_cvc@3x.png */; }; + 03A2D8DD31042AC83AD2EFC5 /* AlipaySource.json in Resources */ = {isa = PBXBuildFile; fileRef = A32EE0B1FC16687797E7C9DA /* AlipaySource.json */; }; + 03E60F9EF24C975AF90E2447 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E136A967522048B313E3C62F /* StripePaymentsUI.framework */; }; + 044B7BECFBDB1F6C8CA08514 /* STPSetupIntentConfirmParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CC0B1FC92A573AAEA4F4E94 /* STPSetupIntentConfirmParamsTest.swift */; }; + 06FB8C17B3AA4957FD0F3CD2 /* STPPaymentMethodFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 45BBD120FDBA434BC7E64435 /* STPPaymentMethodFunctionalTest.m */; }; + 07A5CDBFDF2340BAD99D6EB3 /* STPCardFormViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D983E089196152DA1C69469 /* STPCardFormViewSnapshotTests.swift */; }; + 07BF3CF1656AF5F5A0678873 /* STPPhoneNumberValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924E878428D15506711CA628 /* STPPhoneNumberValidatorTest.swift */; }; + 08111F4AD3CA0755420E05F7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 147D2DC1FFDFC99269039377 /* LaunchScreen.storyboard */; }; + 088B79E49A52A57B74B23F6E /* STPPaymentMethodCardWalletVisaCheckoutTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BA1ABFF1739E4051FAE6CB /* STPPaymentMethodCardWalletVisaCheckoutTest.m */; }; + 08ED7A4EB7E64FDAED2C2D39 /* STPShippingAddressViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 789D0B49B0788794739E3DD4 /* STPShippingAddressViewControllerTest.swift */; }; + 093FE3D65978E3DB6B79AE05 /* UIToolbar+Stripe_InputAccessory.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2307F2C5E53540D4ACAA1F6 /* UIToolbar+Stripe_InputAccessory.swift */; }; + 0A181790DAF17BD039F01B15 /* STPPaymentMethodAfterpayClearpayParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CF8E26B31C0F2B256763BDDB /* STPPaymentMethodAfterpayClearpayParamsTest.m */; }; + 0A8943E08B8BC70C4D855377 /* STPPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98F7C1D780E1ED3BF8E1A271 /* STPPromise.swift */; }; + 0B9C0E9A7A750607413C9E53 /* STPFakeAddPaymentPassViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0669B4CA326CE74D125C789C /* STPFakeAddPaymentPassViewController.swift */; }; + 0CBBE909CA773D7D45B9AD4C /* STPAnalyticsClientPaymentSheetTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0241DB84973B21393BEC703E /* STPAnalyticsClientPaymentSheetTest.swift */; }; + 0D4211C0767F66A35914FE07 /* 3DSSource.json in Resources */ = {isa = PBXBuildFile; fileRef = A8F5797C145751AD55858B80 /* 3DSSource.json */; }; + 0FA3C1494BA57884B5DE3B20 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4259421D2CD26E37B96F97B2 /* Stripe.framework */; }; + 10342D659764A88A695EF38B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DFA7A75BA785EBBE4C05DAA3 /* Images.xcassets */; }; + 124D43C1A633922B1DA3E1E7 /* STPShippingAddressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71711FC8E2FB66E52A5FDD9A /* STPShippingAddressViewController.swift */; }; + 15772D8E06236054D11A1034 /* P24Source.json in Resources */ = {isa = PBXBuildFile; fileRef = A9B50EE8ABC2506A6397C056 /* P24Source.json */; }; + 162C101E57D66F0051164C4A /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4259421D2CD26E37B96F97B2 /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 172D96526023A80534D54CC0 /* STPBankSelectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81352A0CBE46A59E6B1A712E /* STPBankSelectionViewController.swift */; }; + 17BD7C0391F3182E32A63D6B /* STPAUBECSDebitFormViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCBEA9E4823F08C1F5057B5A /* STPAUBECSDebitFormViewSnapshotTests.swift */; }; + 181B8C34A3FFCF2DBEF0086E /* PaymentSheetFormFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEC1EA82490933B169915C4 /* PaymentSheetFormFactoryTest.swift */; }; + 187966C4EDE4FEE1FC6B9F24 /* stp_bank_fpx_hong_leong_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7F90C21B77335533395C4321 /* stp_bank_fpx_hong_leong_bank@3x.png */; }; + 1A058C42C4703458CA1CA522 /* STPCardNumberInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C4773C2D193BEDF1CBB530 /* STPCardNumberInputTextFieldValidatorTests.swift */; }; + 1AB740655742E5D00E905A4B /* iDEALSource.json in Resources */ = {isa = PBXBuildFile; fileRef = F24B1E06C600CA30A97F5AEA /* iDEALSource.json */; }; + 1BC4044802EE7D3E2643DC84 /* STPPaymentIntentEnumsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46C31CAD0FA74B58BA2B8530 /* STPPaymentIntentEnumsTest.swift */; }; + 1CCFC43F7FCD273E2100D321 /* STPPaymentMethodBancontactTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4E5416F6AE8BED88980D6F8 /* STPPaymentMethodBancontactTests.swift */; }; + 1E8D8E2494062262A332879C /* STPCardValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1644AA33E81233EF33022BA /* STPCardValidatorTest.swift */; }; + 1F417D0874CC86F4C9AB2790 /* STPIntentWithPreferencesTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C8FE751333F580004BD72BA /* STPIntentWithPreferencesTest.swift */; }; + 1F432D0B37949217E4299A20 /* STPPaymentOptionsInternalViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C4A4CC7D2E9B5AB3EC3B79 /* STPPaymentOptionsInternalViewController.swift */; }; + 2197EAE8DE995628312490BE /* WeChatPaySource.json in Resources */ = {isa = PBXBuildFile; fileRef = 0A726D87E8C916E8FEA0C780 /* WeChatPaySource.json */; }; + 2199D89054CACD1658CDC2F1 /* STPPaymentMethodNetBankingParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E4442901582C822007C3BB67 /* STPPaymentMethodNetBankingParamsTest.m */; }; + 222F49985A1817D8D41D8B56 /* STPCardParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 20A74D4FA51D15AF12B58767 /* STPCardParamsTest.m */; }; + 225140E0BD9C0630116DDE4A /* STPPaymentMethodUSBankAccountTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B112FFF3FCA82094281493F /* STPPaymentMethodUSBankAccountTest.swift */; }; + 229E25F8DFCC55CA9EDD15AB /* LinkInMemoryCookieStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEB30E3846E24FD57A44764A /* LinkInMemoryCookieStoreTests.swift */; }; + 22BE2ABB29F77362FF16D945 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C2427C1CDFA85BFC6570F1E9 /* Localizable.strings */; }; + 234C71F480318E9062075924 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BBCE3A905041A709E8F279A /* AppDelegate.swift */; }; + 23D1246A5DAB5333650F104F /* STPSectionHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96E1FED5CE5974C9C1162E93 /* STPSectionHeaderView.swift */; }; + 246920234EE8382FB4E56516 /* STPCardFormViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5E08A1651D9DFE502DA021 /* STPCardFormViewTests.swift */; }; + 258E3F6C9DBB2B510CCEC525 /* STPPaymentContextSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D106EFD1BF019522BE7BEBBE /* STPPaymentContextSnapshotTests.m */; }; + 25E98D9074E582E91A10F5FF /* STPPaymentMethodPayPalParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = FE1929CD1B3D3DCC2401E2F8 /* STPPaymentMethodPayPalParamsTests.m */; }; + 279D2BA91198E18730626CE6 /* STPUserInformation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1217AD643A9E8F88B60F645 /* STPUserInformation.swift */; }; + 27F1783CBFEC06BFD6C114F6 /* STPPaymentMethodKlarnaTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FD94FF270165D699DA89B24 /* STPPaymentMethodKlarnaTests.swift */; }; + 284BCD4B0744CDD91F7D8B15 /* STPPaymentMethodSofortParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3871630C99B378C67B6E9F7C /* STPPaymentMethodSofortParamsTests.m */; }; + 2990B7B1513ACA58065A1D0B /* STPApplePayPaymentOptionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0320B47C1DD836F7A7144B58 /* STPApplePayPaymentOptionTest.m */; }; + 2A528B7B2579E5F977797822 /* STPPaymentHandlerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC30E6129279F14506219E98 /* STPPaymentHandlerTests.swift */; }; + 2AC91F23CF3949ADC60D27F7 /* STPThreeDSTextFieldCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A583966A33DCDCF04322A592 /* STPThreeDSTextFieldCustomizationTest.swift */; }; + 2AE9ABA774B430E174279FEA /* stp_test_upload_image.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = FD3398E2352CEA0264F20AEA /* stp_test_upload_image.jpeg */; }; + 2BA38A013A538479C3518424 /* stp_fpx_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B2C7ED5A39AB3BB2248CEACA /* stp_fpx_logo@3x.png */; }; + 2BD45625F6F665B60C6CAD30 /* STPAddressViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28A50AFA4603E488FF3D82D0 /* STPAddressViewModel.swift */; }; + 2C7991FDF7B374E0E65E253F /* STPPaymentOptionsViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2922A32A754CFC9AB8B48AE /* STPPaymentOptionsViewControllerTest.swift */; }; + 2CD7968DA48F7129E16EA0CB /* OHHTTPStubsSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 911CA85A1610303FA0AF0643 /* OHHTTPStubsSwift */; }; + 2CE1FB3A85DE7A74D0A80901 /* CardSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 582C9C6F076A0FF1780C9769 /* CardSource.json */; }; + 2E35B0FB60FCBE7608080642 /* STPPushProvisioningContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6887F19BB9804BF45FD703FF /* STPPushProvisioningContext.swift */; }; + 2EB68A59660A4D1E14799DA4 /* OHHTTPStubs in Frameworks */ = {isa = PBXBuildFile; productRef = 62887B4538E4E41E735685E1 /* OHHTTPStubs */; }; + 2F0FC4E67BE577AD66CD1475 /* StripePaymentSheet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDC55CC034022DFAC9366E2E /* StripePaymentSheet.framework */; }; + 2F18A1903244E144C7802E09 /* STPCardValidationState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A9E7B637A8747431B38FD1D /* STPCardValidationState.swift */; }; + 2F2923C176FFD66CC5F96A2D /* stp_bank_fpx_rhb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 152E45642578F76AAEB1CF61 /* stp_bank_fpx_rhb@3x.png */; }; + 2F6814A67EA18BFD306A9E5D /* STPUIVCStripeParentViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F22EE02CE12F3EBFACDAE9A4 /* STPUIVCStripeParentViewControllerTests.m */; }; + 2F866A52BA39ED5D32BCA9DD /* LinkPaymentMethodPickerSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3024CAAF54280B0357014D39 /* LinkPaymentMethodPickerSnapshotTests.swift */; }; + 2F9FA9CBCA3C0CE52FAC9B6B /* ConfirmButtonSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 806124200E77795DCFC8418E /* ConfirmButtonSnapshotTests.swift */; }; + 2FFA7C2D1C7337FDB4C608A5 /* STPCardScannerTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B91C4D5B93FF71C61B140F1 /* STPCardScannerTableViewCell.swift */; }; + 307FD6A103EF7AF3CE451598 /* STPPaymentResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D964D9E01627B419B4BD23C /* STPPaymentResult.swift */; }; + 30D48C62B2FA6B28EC23A5BB /* Stripe-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A8598727045C6268B57A5FC7 /* Stripe-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 314B144D765DB6CD8ABE8B7D /* SetupIntent.json in Resources */ = {isa = PBXBuildFile; fileRef = 0364E74C0FB269E93D18966D /* SetupIntent.json */; }; + 315713352C770DA3ED9CBDCD /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F7E3CE2105E4A39032CD919 /* Enums+CustomStringConvertible.swift */; }; + 317275D3FB6DC708BD905040 /* NSLocale+STPSwizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = 86D961D8952114BE479E1EB7 /* NSLocale+STPSwizzling.m */; }; + 3172C789DF2CE133ECA359D7 /* STPPushProvisioningDetailsFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A8A6B88797870BC71CCB3AF /* STPPushProvisioningDetailsFunctionalTest.swift */; }; + 31B49323CC357B478431B716 /* stp_fpx_big_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CEAF8A072B0BF86AD02655B0 /* stp_fpx_big_logo@3x.png */; }; + 32874C6147344A9CB2EF4DAD /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 33FDC634FD5D79E824240DDC /* Stripe3DS2.framework */; }; + 331924F0801287BAD413FDCB /* STPMandateCustomerAcceptanceParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C713F58BC61A962C720AE0AE /* STPMandateCustomerAcceptanceParamsTest.swift */; }; + 33742D8595DCB200A2507B0A /* STPSourceFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 20D90EE8CC6606CAE9B06C63 /* STPSourceFunctionalTest.m */; }; + 34F3ABB5BF9D3645D3B6DA80 /* AddressViewControllerSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9F06DC32147A8ABCD709E79 /* AddressViewControllerSnapshotTests.swift */; }; + 35048D07C8323A96161F63C5 /* STPPaymentMethodCardWalletMasterpassTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1443F134C35E15AB9A1EA560 /* STPPaymentMethodCardWalletMasterpassTest.m */; }; + 3573889F65E85478DE770A49 /* STPPaymentMethodOXXOTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EAD0042713B4C2FEB8916EDC /* STPPaymentMethodOXXOTests.m */; }; + 35C1CF73701EECC7DB6AB722 /* FormSpecProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C04AFC9CDE50D09D38A3232 /* FormSpecProviderTest.swift */; }; + 360EEE8B706D2A4A49666F7A /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1C6EB5826E2D7C80B6CF3 /* StripePayments.framework */; }; + 369C7A7A0DA46C58B02DBA00 /* stp_bank_fpx_hsbc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 05A3E36498CBA9E5FB8323C9 /* stp_bank_fpx_hsbc@3x.png */; }; + 37E9160706C9EEEFEF133617 /* STPPaymentIntentFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDDEAB86BE4711841D426F3B /* STPPaymentIntentFunctionalTest.swift */; }; + 385CAC4D2FF119D2E925916B /* STPPostalCodeInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 917154477796779ECFA1334A /* STPPostalCodeInputTextFieldFormatterTests.swift */; }; + 3930ECBEE003772C1245D25B /* UIViewController+Stripe_ParentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5804C2B9C0704E386B3D25A4 /* UIViewController+Stripe_ParentViewController.swift */; }; + 395E5AE58C4B5B4EE511B182 /* Customer.json in Resources */ = {isa = PBXBuildFile; fileRef = 4928F057B093B6DB5D76D32D /* Customer.json */; }; + 3AAE488F2461A46143B3A687 /* STPPaymentConfigurationTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79ABE6A14AF9D14103050876 /* STPPaymentConfigurationTest.m */; }; + 3AD22E0BD44B02D968C6569A /* STPImageLibraryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F546088BA4F763334CFD3D34 /* STPImageLibraryTest.swift */; }; + 3B237145902E3DB07E747E32 /* TextFieldElement+IBANTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51BD2CE41E4F0CF648F44E4A /* TextFieldElement+IBANTest.swift */; }; + 3B6EF1B8C8C6A37D220AF282 /* STPPaymentMethodFPXTest.m in Sources */ = {isa = PBXBuildFile; fileRef = BF8A27B4CE855392E3E3F735 /* STPPaymentMethodFPXTest.m */; }; + 3C1A7B9810B038177FF1CF52 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F29C15B47C7CB0941CD4C9E /* ViewController.swift */; }; + 3C1E9069CD03ED9981D7F3E2 /* ConfirmButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFFE40AD9D875709F643D2E5 /* ConfirmButtonTests.swift */; }; + 3CE88568CB9648D6F1503B88 /* STPSource+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3B75875C55D2C2723DC5090 /* STPSource+BasicUI.swift */; }; + 3D0C7EA60D59DFC66F0E02FE /* STPRedirectContextTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E3810757AF83E98307634814 /* STPRedirectContextTest.m */; }; + 3DC523AEEA01D68424C8B41B /* STPStringUtilsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B527265D186B66150D2787E /* STPStringUtilsTest.m */; }; + 3DE8D85607C0F78C67E35DF4 /* STPSetupIntentTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BCC4BB345F320EEECE0437C /* STPSetupIntentTest.m */; }; + 3EB3745F556EA12AB27A8545 /* APIRequestTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85AAB72218409F85FE29E69E /* APIRequestTest.swift */; }; + 3EFC86756F23D8AE6708ECE2 /* ButtonLinkSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86673B13C7762666C774F124 /* ButtonLinkSnapshotTests.swift */; }; + 3F4356512B60B90BFCDA7E01 /* stp_bank_fpx_bank_islam@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87DB9F06FDC13DD3BFEAA27F /* stp_bank_fpx_bank_islam@3x.png */; }; + 3FA556CF8B11E2486F505161 /* UIViewController+Stripe_NavigationItemProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F017A08C7E633FB4297D274 /* UIViewController+Stripe_NavigationItemProxy.swift */; }; + 4048B897F3AD627A0BF36D62 /* STPPaymentMethodThreeDSecureUsageTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B5AC148E7D8B2EBAEDCB364 /* STPPaymentMethodThreeDSecureUsageTest.m */; }; + 41A4FD6DA3754A61880111D4 /* STPPIIFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = AFB9F0B171497353AADD6544 /* STPPIIFunctionalTest.m */; }; + 420F8CAB4FAD6D9AF4AF25C0 /* StripePaymentSheet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDC55CC034022DFAC9366E2E /* StripePaymentSheet.framework */; }; + 42395EF962DB8AD6A094630B /* StripePaymentSheet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DDC55CC034022DFAC9366E2E /* StripePaymentSheet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 429DBA641E926EBC2D049FE7 /* STPCustomerContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8FCDBC63A79CD1571A2DFB /* STPCustomerContext.swift */; }; + 42B74740CEF8F04A3F34971A /* stp_bank_fpx_uob@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EC1D194936D061E3255BCF4 /* stp_bank_fpx_uob@3x.png */; }; + 43FFF2881D4EFA7B57A60E09 /* STPPaymentMethodCardTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BD02D8298877F10F2EF2A9D /* STPPaymentMethodCardTest.swift */; }; + 44672917D3AC4B83F9EC3BC3 /* UIView+Stripe_SafeAreaBounds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86798C95A778362EF815B4C6 /* UIView+Stripe_SafeAreaBounds.swift */; }; + 446A108C8EB6C338A1D774F8 /* STPPaymentConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18FCB69CD3B8C3DAB216A5F0 /* STPPaymentConfiguration.swift */; }; + 447C19BDB2CF5445045F81F7 /* STPPaymentContextAmountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1C876DC7F3E31D7189506A8 /* STPPaymentContextAmountModel.swift */; }; + 44A68EC2EE889D75474422F9 /* PayWithLinkViewController-WalletViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83707086116ED364BE3C1F2E /* PayWithLinkViewController-WalletViewModelTests.swift */; }; + 450FAE41FB4538462D05F2E4 /* LinkSignupViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7C7D85A7FAAFDF4F59BA85E /* LinkSignupViewModelTests.swift */; }; + 45A2E2904C48F19F4D3AD1BF /* FileUpload.json in Resources */ = {isa = PBXBuildFile; fileRef = 3F31C891BDDD871F48F6E60B /* FileUpload.json */; }; + 45FA9B8CC2D18E29BE81CF8F /* STPIntentActionAlipayHandleRedirectTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD06AED0AF8A9A7FB4A2E66F /* STPIntentActionAlipayHandleRedirectTest.swift */; }; + 47E93085491222CB4C7FA9D4 /* STPSTPViewWithSeparatorSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9290B75648F2D23764FA71E9 /* STPSTPViewWithSeparatorSnapshotTests.m */; }; + 4935C8B3ECFBAD947E694934 /* STPIntentActionTypeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2F205F920E971DEA59E3C31 /* STPIntentActionTypeTest.swift */; }; + 4993037E5386D0AF87B24871 /* STPPaymentMethodAffirmParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D87817A1D3D213AA4ADF6A4C /* STPPaymentMethodAffirmParamsTest.swift */; }; + 49A77DA7B76E498C9F23D428 /* STPAPIClientNetworkBridgeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 51F49F2466BBBE64799209B5 /* STPAPIClientNetworkBridgeTest.m */; }; + 4A61DC36F10B9C9C24345613 /* STPRadarSessionFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D878F923A1F69B58D6B2812 /* STPRadarSessionFunctionalTest.swift */; }; + 4AAA2CD5AEF1F913395B3B95 /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF13BAEF86594C9CABD4F42A /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift */; }; + 4ABF7BEF11E1F4715DCFF446 /* STPAddressTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 81B23BF8256AA75F9903AC0C /* STPAddressTests.m */; }; + 4B0917FC15BF56D0100E0ED1 /* STPGenericInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58A53F005EA8FDDAA66126BA /* STPGenericInputTextFieldSnapshotTests.swift */; }; + 4C3B161481D11385352B06D4 /* STPCustomerContextTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC4B06AB5C02FF54091E5A8 /* STPCustomerContextTest.swift */; }; + 4DA70CAD042B5968D833B5BF /* SWHttpTrafficRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 40DC59F285B3AB0F60B33443 /* SWHttpTrafficRecorder.m */; }; + 4E09E54E7FEC35C49C59A379 /* STPPushProvisioningDetailsParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B28B8A547CD846277ECD578 /* STPPushProvisioningDetailsParams.swift */; }; + 4E31B1864DA407598FB1BBC6 /* STPPostalCodeInputTextFieldTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6618739767139C25C05B3631 /* STPPostalCodeInputTextFieldTests.swift */; }; + 4ED44ACF24949F516867235C /* STPPaymentOptionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6215A9BF343775B1BD0F62AF /* STPPaymentOptionTableViewCell.swift */; }; + 4EFF8B46B12DA4D9AAB22523 /* STPPaymentCardTextFieldCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01B42BE6FB5EC1F708875AB8 /* STPPaymentCardTextFieldCell.swift */; }; + 4F315E738D87C06682C4C504 /* LinkInstantDebitMandateViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F29142B51DC99E2258B4F60 /* LinkInstantDebitMandateViewSnapshotTests.swift */; }; + 4FB67F10A0B7106A8142B842 /* STPEphemeralKeyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 588C260880FFC584A00A89F5 /* STPEphemeralKeyManager.swift */; }; + 50D084E50661D174297FC30B /* STPCardFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 94042E0B406F6AA45593D154 /* STPCardFunctionalTest.m */; }; + 50FB2476C611B94E5D283836 /* STPPaymentMethodiDEALTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 415554EBF13241D12094103B /* STPPaymentMethodiDEALTest.m */; }; + 51044B947A7FDB99451466D8 /* STPGenericInputPickerFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 284C67269D2606DA147AE01D /* STPGenericInputPickerFieldSnapshotTests.swift */; }; + 5170651536332C4842E9D009 /* STPPaymentMethodBoletoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E371E9B3B2E343FE954531C /* STPPaymentMethodBoletoTests.swift */; }; + 51D515315F02D4C03BA12366 /* UserDefaults+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B0E131538728BC4802627B1 /* UserDefaults+StripeTest.swift */; }; + 5212C7875C07F9BF16AFD98D /* STPAPIClient+PushProvisioning.swift in Sources */ = {isa = PBXBuildFile; fileRef = 807FF966F1DE05F3496B817B /* STPAPIClient+PushProvisioning.swift */; }; + 5224B2FFB1786C8AF3095248 /* GiropaySource.json in Resources */ = {isa = PBXBuildFile; fileRef = 682296D57E9486BBCC6ED7F5 /* GiropaySource.json */; }; + 53853E75323918758A1A3B35 /* STPEphemeralKeyManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F0D010B03BB8B290806267A0 /* STPEphemeralKeyManagerTest.m */; }; + 53D0248D7927B0E62B8C967B /* PaymentIntent.json in Resources */ = {isa = PBXBuildFile; fileRef = 68778692A4A89E311FC9DEAE /* PaymentIntent.json */; }; + 542610492B38FEB652C6823E /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5398E1156E0BFEBBF56FD2F /* String+Localized.swift */; }; + 542B23E3AC288AF2F4E5D6C8 /* STPNetworkStubbingTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 9475002E030E98735A0FD2EC /* STPNetworkStubbingTestCase.m */; }; + 54331380F5AC68846DBE94D5 /* UITableViewCell+Stripe_Borders.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5476BD87E0480A93958F0328 /* UITableViewCell+Stripe_Borders.swift */; }; + 5660A88BD792A7A844084F16 /* STPLabeledFormTextFieldViewSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CF5E437205850C2039BBEBCB /* STPLabeledFormTextFieldViewSnapshotTests.m */; }; + 58240AA66FAE55131268E4A0 /* STPAddressFieldTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72903593DC432D01720DC9D9 /* STPAddressFieldTableViewCell.swift */; }; + 583DE9869C885BA02E0A071E /* STPAUBECSFormViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AAE5EE11611F9F7762B64C6 /* STPAUBECSFormViewModelTests.swift */; }; + 58A8B3F57FE98C22D8F90C77 /* STPThreeDSButtonCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6F3B966470A530E0DC53F8C /* STPThreeDSButtonCustomizationTest.swift */; }; + 590DB84AC15709E3C6F1FC3B /* STPThreeDSNavigationBarCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51408DE266D0345784ADD4FA /* STPThreeDSNavigationBarCustomizationTest.swift */; }; + 5910FCB9822259D5EC7E4051 /* AutoCompleteViewControllerSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFD2F6A5A046A620BAB75B41 /* AutoCompleteViewControllerSnapshotTests.swift */; }; + 59D4B49B6C7EEF121EE266E4 /* STPTestUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F8F79CBFDC930A18998D7B1 /* STPTestUtils.m */; }; + 5A6CF4BEE7E5B3587217C848 /* PaymentSheetLinkAccountTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9A962F163EC016697A82124 /* PaymentSheetLinkAccountTests.swift */; }; + 5A75EF4349F6B444B6D56552 /* stp_bank_fpx_affin_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A588999859430CC959C6F4B /* stp_bank_fpx_affin_bank@3x.png */; }; + 5AC2B7D5912DBD0FF7DB2349 /* BacsDebitPaymentMethod.json in Resources */ = {isa = PBXBuildFile; fileRef = 2EADE1EE40283DEF52B0B5D4 /* BacsDebitPaymentMethod.json */; }; + 5B6F1BF973FC2D8DD6127B7F /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E136A967522048B313E3C62F /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 5C51167CC14F653E7117BA61 /* OCMock in Frameworks */ = {isa = PBXBuildFile; productRef = E804AA8C4156CC85FFD9595F /* OCMock */; }; + 5C5E1CE53D89DE8F0B867115 /* STPPaymentMethodSofortTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8063E8073A32E0B081A1DFA /* STPPaymentMethodSofortTests.swift */; }; + 5D1A9F97F79DAA3F46C82A28 /* LinkAccountServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7B7ED388B6C6AE57D3D627 /* LinkAccountServiceTests.swift */; }; + 5D6B52EB4D7258129F134D07 /* STPImageLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = D93C23F55BEADF9BC74DFBDB /* STPImageLibrary.swift */; }; + 5DD402F5E453D4A2194A346B /* PaymentSheetAddressTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D61146D58FD219AE39E71D7D /* PaymentSheetAddressTests.swift */; }; + 5E5EE69D140F6FEDA5F0A346 /* STPAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8DD70E5ED8E9DE8E9752C9E /* STPAPIClientTest.swift */; }; + 5ECED204FD22CFEA3A806767 /* STPPaymentOptionTuple.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDD30E5DB8DB3AA3567F5C20 /* STPPaymentOptionTuple.swift */; }; + 605EFBDD21426FD30581563F /* STPAnalyticsClient+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12DBB3F72AEFB52DE27C27ED /* STPAnalyticsClient+BasicUI.swift */; }; + 609C2C8F10AFAA2711639CD0 /* NSArray+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C17799DC7FA54E758EED31A6 /* NSArray+StripeTest.swift */; }; + 609E4D384B75F6A111DC0E27 /* STPPaymentActivityIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FFBAA4B44967B157A4F4E91 /* STPPaymentActivityIndicatorView.swift */; }; + 621CBBB2E116055B85E860B8 /* STPPaymentMethodAfterpayClearpayTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 26D0BC36C2610307A01C52CB /* STPPaymentMethodAfterpayClearpayTest.m */; }; + 62B91808A088C4F9FDB62C53 /* STPEphemeralKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890660C21E3666CE7B82695B /* STPEphemeralKey.swift */; }; + 62D65741A6D49C7EBFB7CB61 /* stp_card_form_back@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2A0E991FB88CBE8C9135DFE0 /* stp_card_form_back@3x.png */; }; + 6326FD82A0E6AFB10C773B03 /* LinkNavigationBarSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 157826E456AC3ABFE8000B81 /* LinkNavigationBarSnapshotTests.swift */; }; + 64801CF2D2CAC9008C17D154 /* LinkSecureCookieStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10BAD33BEC6C2894F9266902 /* LinkSecureCookieStoreTests.swift */; }; + 64A685F033DC45A99FB3E300 /* STPPaymentMethodBacsDebitTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 71C175861E0F8882BCF85F78 /* STPPaymentMethodBacsDebitTest.m */; }; + 64D168991F7FF6CB9A223F54 /* STPSourceTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B7B5B626BCED2938C256BF49 /* STPSourceTest.m */; }; + 659E5859BD4F4F5BACB6F3C1 /* Card.json in Resources */ = {isa = PBXBuildFile; fileRef = C861CC96A54A24BDC1303C1B /* Card.json */; }; + 65E6B1133364DA6854F570A2 /* STPSourceSEPADebitDetailsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 342398F7CB61693AAADE3F26 /* STPSourceSEPADebitDetailsTest.m */; }; + 66065B1D65D7D5502D4E2F2B /* STPCard+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E5FB20B2BEFC00D54FDD87D /* STPCard+BasicUI.swift */; }; + 66B7EF2DC1CBF813707C767C /* STPBSBNumberValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3C732C25FD961631BD44FDD /* STPBSBNumberValidatorTests.swift */; }; + 66C38EA9CFB1ED4DF2F974BF /* STPPaymentOptionsViewControllerLocalizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C7094644EE056260D6F3B67 /* STPPaymentOptionsViewControllerLocalizationTests.swift */; }; + 66ED28E18385B2644F4EF3CC /* EPSSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 1020F76D0722D685A97EF202 /* EPSSource.json */; }; + 672B820564FFBAFFAD93B27E /* STPPaymentIntentFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A8CF4EBC85BDC771DF2213C0 /* STPPaymentIntentFunctionalTest.m */; }; + 67E18B3DA020900C83AE29B9 /* LinkInlineSignupElementSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83A5A0074F69DE467F94ABFB /* LinkInlineSignupElementSnapshotTests.swift */; }; + 68318DB86DFCD19505FC47BA /* NSURLComponents_StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1CD20E00EAD41091B71ABD5 /* NSURLComponents_StripeTest.swift */; }; + 6964CE3F9E07A53AA2954E8E /* LinkStubs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FA1AFD632CCE18C4315FC6 /* LinkStubs.swift */; }; + 69AC1EDE2A3C03B1D980CA54 /* STPPaymentOptionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9A1BB31C7B514984231125B /* STPPaymentOptionsViewController.swift */; }; + 6BF6ECC4A4E61E2FFC3EA20B /* STPAPIClient+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E8AFAE24610EC983727F860 /* STPAPIClient+BasicUI.swift */; }; + 6D578C4501AD509C88010ABB /* STPPaymentMethodAUBECSDebitParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A7FBDBADC1EBC62FFC4A366 /* STPPaymentMethodAUBECSDebitParamsTests.m */; }; + 6E7AD3CCC966A7F34922B172 /* NSDictionary+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07275F94914B7E7937D24FE /* NSDictionary+StripeTest.swift */; }; + 6EF3F611E6EA3CB479D62450 /* AfterpayPriceBreakdownViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C742844915B96CFD25BFFF9 /* AfterpayPriceBreakdownViewSnapshotTests.swift */; }; + 6F4FBB4F10B5DB2CF8BB3460 /* STPBinRangeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FC0560A312147C37CFE6CF9 /* STPBinRangeTest.swift */; }; + 6F9525063D76A9F86A10CCBF /* STPApplePayContextFunctionalTestExtras.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1272F2E05A0E294DD9ECA26 /* STPApplePayContextFunctionalTestExtras.swift */; }; + 6FCA954C32AB351F902BA876 /* STPPostalCodeValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDF7394DDD552EDE996EAD8E /* STPPostalCodeValidatorTest.swift */; }; + 701C464523173C6809544935 /* STPThreeDSUICustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ED44491EB0AC72B1B1A773C /* STPThreeDSUICustomizationTest.swift */; }; + 71116C2D5831E271E12DB059 /* ServerErrorMapperTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20879436DCFB1F03BE1608B3 /* ServerErrorMapperTest.swift */; }; + 72CB8A91146F3EC17CEFA235 /* STPSetupIntentFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 60E21B0DB0D3B307040EA88E /* STPSetupIntentFunctionalTest.m */; }; + 73AFE2A8839EFAB8330F6CF0 /* STPPaymentIntentTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACE8998EAF997A78759E49B5 /* STPPaymentIntentTest.swift */; }; + 7435E6BB6971012A9B0DB52E /* STPErrorBridgeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EAE9A2AE65771403CE57C11 /* STPErrorBridgeTest.m */; }; + 7589E37795D21AB818B0C333 /* STPAnalyticsClient+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD89580A3E41D7167C30B287 /* STPAnalyticsClient+Payments.swift */; }; + 75F81259F0DEE1ED09FDECBA /* ApplePayPaymentMethod.json in Resources */ = {isa = PBXBuildFile; fileRef = 848AAE69CBF96A057F734365 /* ApplePayPaymentMethod.json */; }; + 7797B149DF5D5CA201089BC2 /* stp_bank_fpx_bsn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = BCFA6BB95613ED3F668A0DC9 /* stp_bank_fpx_bsn@3x.png */; }; + 77ED42569FEC0EC5AF83538A /* BankAccount.json in Resources */ = {isa = PBXBuildFile; fileRef = 62169E37BD48681A914FA4CB /* BankAccount.json */; }; + 781EC0163AC001C6A66045B6 /* STPMandateDataParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7F7AA0B7B86BA5BB2FE92CE /* STPMandateDataParamsTest.swift */; }; + 7844BB705AEB002965EF82B0 /* STPPaymentMethodKlarnaParamsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47E12A0CBFA259A032F7AF0C /* STPPaymentMethodKlarnaParamsTests.swift */; }; + 78B70C2EE8334F0FA91439CA /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4259421D2CD26E37B96F97B2 /* Stripe.framework */; }; + 78F39965489F75A82584F7E9 /* STPPaymentMethodUPIParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = EAB51503D64F3464BFBC18CB /* STPPaymentMethodUPIParamsTest.m */; }; + 795F3783D62AB8E2A00DCD05 /* ConsumerSessionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6312182B5BCAB940D216650 /* ConsumerSessionTests.swift */; }; + 7A1F658DC9D1494153AF215E /* STPPaymentMethodOXXOParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F23996EC0E06D47B20316AC /* STPPaymentMethodOXXOParamsTests.m */; }; + 7B9C0D039EA9EF593AEC682D /* STPShippingMethodTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98544B08552407D41D398C68 /* STPShippingMethodTableViewCell.swift */; }; + 7BC98BE168781C5B3EC8A8DB /* STPPaymentMethod+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35C1E9B0EE03825DABF6471A /* STPPaymentMethod+BasicUI.swift */; }; + 7BEC4847DDD51C9C36C758E9 /* stp_bank_fpx_public_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CAC5FD19B4843C454E6881DB /* stp_bank_fpx_public_bank@3x.png */; }; + 7D251ABF1EBF65ACA8A4BDD4 /* STPPaymentMethodUSBankAccountParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74FDEF9F687C63BADFB96480 /* STPPaymentMethodUSBankAccountParamsTest.swift */; }; + 7EAA7334372DBC38DF8FA0AA /* STPPinManagementService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBB07171F6FDCE6E20C454A /* STPPinManagementService.swift */; }; + 7EB99B1286C38DD944D0D9DC /* MultibancoSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 63A16B33FCF0B351D4A60247 /* MultibancoSource.json */; }; + 7F235CD649F6E97E4E7DD180 /* UIView+Stripe_FirstResponder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B76DF0FE363F59BF0940A8B /* UIView+Stripe_FirstResponder.swift */; }; + 7F9D08AC5A448C7693162D7D /* STPShippingMethodsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21E4B84223DDA131544DBBA7 /* STPShippingMethodsViewController.swift */; }; + 809C8A24858027DA177D7BEF /* FBSnapshotTestCase+STPViewControllerLoading.m in Sources */ = {isa = PBXBuildFile; fileRef = C6C7959FA69D6E930834AFE5 /* FBSnapshotTestCase+STPViewControllerLoading.m */; }; + 812682EA323986B8F698FF3C /* STPPaymentMethodParams+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C5AB22D6328E85A6DDF663 /* STPPaymentMethodParams+BasicUI.swift */; }; + 825CBE20F190E96EFA95B35A /* STPAPISettingsBridgeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A57C346FA98A057AF31C8B1 /* STPAPISettingsBridgeTest.m */; }; + 829D43B6705D125FEC9926DA /* STPPaymentContextApplePayTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C995125252BED1EEC018B9D /* STPPaymentContextApplePayTest.swift */; }; + 82B4D3FC63C069728459BABD /* STPPaymentCardTextFieldTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B7439CC6C0FB060EA312FF6D /* STPPaymentCardTextFieldTest.m */; }; + 8378F2A4B0796819BB1C6C54 /* STPPaymentMethodCardParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1671EC46C713D51013AD7D8B /* STPPaymentMethodCardParamsTest.swift */; }; + 83FE814F7C472EB31DD9D28F /* stp_bank_fpx_bank_rakyat@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 34D8B80455B75885088E9DAC /* stp_bank_fpx_bank_rakyat@3x.png */; }; + 8520A27C204A068C43592024 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52F8AEC50D4623F80F04A533 /* StripeApplePay.framework */; }; + 8532FEBF4F2E0EB282D466CE /* STPGenericInputPickerFieldValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D63B73C5773432CA134D1FC /* STPGenericInputPickerFieldValidatorTest.swift */; }; + 86BAF121184D71F5F4FFAD7B /* STPPaymentCardTextFieldTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F16C36797D978E72E612100 /* STPPaymentCardTextFieldTestsSwift.swift */; }; + 87061C07E2B17DD8B7052B72 /* SEPADebitSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 252FD94C68761E893E53D5F9 /* SEPADebitSource.json */; }; + 87AACDD643A998FFDD505D22 /* KlarnaHelperTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D866DCC403994A0D3CFB1D7 /* KlarnaHelperTest.swift */; }; + 89C927D276A90357F06ECE3C /* CardPaymentMethod.json in Resources */ = {isa = PBXBuildFile; fileRef = 344C5B4D8789FEFA4CFC0E43 /* CardPaymentMethod.json */; }; + 89E246E74FACFAB5EFBA6980 /* STPCustomerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = FABC6FF8D581998A773A8656 /* STPCustomerTest.m */; }; + 8A3B74851E988FC00BE172E1 /* STPFixtures.m in Sources */ = {isa = PBXBuildFile; fileRef = 17DDEC7D4C1D5FF6488D71D5 /* STPFixtures.m */; }; + 8B80FB6FC88D411A90E9D487 /* WalletHeaderViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DB03E83746FE78361831546 /* WalletHeaderViewSnapshotTests.swift */; }; + 8C977F8D224A7360AE8E15A7 /* STPPaymentMethodBoletoParamsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1C67AC5D415615E9F27D3E3 /* STPPaymentMethodBoletoParamsTests.swift */; }; + 8CE31C2917AC0B9084C90650 /* stp_card_form_front@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5C0462C8B2776183A2B03D51 /* stp_card_form_front@3x.png */; }; + 8DB0749467DC61349532FB7B /* STPPaymentMethodPrzelewy24ParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CFB4BBE0C4760DB457DE9A57 /* STPPaymentMethodPrzelewy24ParamsTests.m */; }; + 8E423294AB602BF25DB11D8E /* OperationDebouncerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A61763BA2CCA86F9B8FD4F1F /* OperationDebouncerTests.swift */; }; + 8EC1820299152F8565D30A40 /* STPCardCVCInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1859673CAD068B345F5DD7D /* STPCardCVCInputTextFieldSnapshotTests.swift */; }; + 8F0326E98C74EB62E34B9FEA /* STPIntentActionWeChatPayRedirectToAppTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA5D11C977A95B8E936E907 /* STPIntentActionWeChatPayRedirectToAppTest.swift */; }; + 9000A4B7286F69D5B2376FCF /* PaymentSheet+PaymentMethodAvailabilityTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85989DAB8BF1AF241E086671 /* PaymentSheet+PaymentMethodAvailabilityTest.swift */; }; + 903FFB756C6ED520BE38EF6F /* STPInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FEE395C4DD0E0112AF3720C /* STPInputTextFieldValidatorTests.swift */; }; + 91558F51B87C72E745244958 /* STPPostalCodeInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA9975553E669AF69F3CE437 /* STPPostalCodeInputTextFieldValidatorTests.swift */; }; + 91A839DEDA7D1EAF6FC66BE0 /* STPFormEncoderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30964128998473CAA9F2DD7E /* STPFormEncoderTest.swift */; }; + 91F90088C3F1102E3C041014 /* LinkToastSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BB7453E4E1AD36D604A00E8 /* LinkToastSnapshotTests.swift */; }; + 9252E3E10BD2FEC4CDD05959 /* PaymentSheetPaymentMethodTypeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1CF1C43EEE33FC0AF31A2BB /* PaymentSheetPaymentMethodTypeTest.swift */; }; + 9291A08CCB34504FCA4B7481 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 005650A59D692F820EF20F5F /* XCTest.framework */; }; + 9299ECF19D79770F54AC4732 /* TextFieldElement+CardTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CE0ABE46E1C27A6AD8D8BD9 /* TextFieldElement+CardTest.swift */; }; + 9363F8F389C04C19B37D0F0A /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E136A967522048B313E3C62F /* StripePaymentsUI.framework */; }; + 9482B2A9A13CA7F5F8C79780 /* STPConfirmPaymentMethodOptionsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B989830717894A60B74E830 /* STPConfirmPaymentMethodOptionsTest.m */; }; + 951344464ACF84F0F6D43D10 /* OneTimeCodeTextFieldTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98F9CB667BC68767DFB5FACD /* OneTimeCodeTextFieldTests.swift */; }; + 96098727EFA6A72087A35A52 /* STPFormTextFieldTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E1862744F23286D1FB9D4AE /* STPFormTextFieldTest.swift */; }; + 9668F3E0DC7FAC4725B8C446 /* PaymentSheetTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDDB4BC3C16AB7218E6FF1FA /* PaymentSheetTestUtils.swift */; }; + 9708289AA2B48C0828F21FA1 /* PaymentSheet+APITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D73D989C9D488D820029FA1 /* PaymentSheet+APITest.swift */; }; + 97F2F817247B1CB07F1E6600 /* STPFileFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 547F890FCD6D6E8B0774E919 /* STPFileFunctionalTest.m */; }; + 98E2332DE7F54E970BE5EEF7 /* UIBarButtonItem+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B3000668A75E095B514241F /* UIBarButtonItem+Stripe.swift */; }; + 98EE8326C1D133E1C998114F /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFF957F38AABE5F748C38C0B /* STPLocalizedString.swift */; }; + 9A24970C5FB6D3F7314AE550 /* STPAPIClientStubbedTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4194E605BB5F31E9CBB8F96 /* STPAPIClientStubbedTest.swift */; }; + 9B149DA42FB38C3542E0CB4B /* STPApplePayFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C77C7BC4BA57EC296CF2F1C /* STPApplePayFunctionalTest.swift */; }; + 9B1AC278FDCDABF26C5E468C /* STPPostalCodeInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 090EF7D598B8DE779C275395 /* STPPostalCodeInputTextFieldSnapshotTests.swift */; }; + 9BD0FF43A32AAAA30A5973A5 /* STPConnectAccountFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = D45CA902199FABE1254E8D1F /* STPConnectAccountFunctionalTest.m */; }; + 9C13E8A017A4E23BCCDE618B /* UINavigationController+Stripe_Completion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C078573F46762353664AC92 /* UINavigationController+Stripe_Completion.swift */; }; + 9D464A252FBD0D4E2A0A7398 /* STPCountryPickerInputFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D49257A97E71A475A9F6E08 /* STPCountryPickerInputFieldSnapshotTests.swift */; }; + 9D8354BDB04CEC5D1EFCF54F /* STPSwiftFixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = E315168EF07F52B733EA77F8 /* STPSwiftFixtures.swift */; }; + 9D9692DFC4F06F8C70145000 /* UINavigationBar+Stripe_Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7E369CEC9F5B3758F78E88F /* UINavigationBar+Stripe_Theme.swift */; }; + 9FD92B3ADEBEC96660B70409 /* STPMocks.m in Sources */ = {isa = PBXBuildFile; fileRef = 88AEABC15CCBB9EA393C175F /* STPMocks.m */; }; + 9FFC5B74959F202EDF277DF8 /* STPConfirmCardOptionsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 444A6B234A4BD3CB2C1C977D /* STPConfirmCardOptionsTest.m */; }; + A08C2F0E7F642515B1D263ED /* STPPaymentMethodTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 148C1D7D1BBBC6B74894A869 /* STPPaymentMethodTest.swift */; }; + A0AA0B8AEF5B429858D71F6B /* STPBlocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3B42EBAC0DC7ED0D9200DB7 /* STPBlocks.swift */; }; + A0C3E888938414D185B71CF7 /* LinkBadgeViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72B1E4D9DA48CED66CD96308 /* LinkBadgeViewSnapshotTest.swift */; }; + A22D548084E7DE1FE5ABE8E7 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F68637E75142DCD46710796 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift */; }; + A66C279957B6AC8F72DE05C7 /* STPCardExpiryInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C75157665428685C7A4FD20 /* STPCardExpiryInputTextFieldSnapshotTests.swift */; }; + A7244AE4E4D7E5BC66303F62 /* STPBankAccountParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F304A4028D563EBD2A523C8 /* STPBankAccountParamsTest.m */; }; + A77C5769B20D7884FC8FC4FB /* STPNumericDigitInputTextFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6223E57D3A198F956A37ED89 /* STPNumericDigitInputTextFormatterTests.swift */; }; + A77EC5CE65161573062E9F98 /* STPShippingAddressViewControllerLocalizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE3D0F21FB3B3E8BCA15FF7C /* STPShippingAddressViewControllerLocalizationTests.swift */; }; + A781FB0F586B26655FAEC3C0 /* STPCertTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D51B04D83D4FEF7F90DF16A /* STPCertTest.swift */; }; + A7A1D3C0D75DCD7217D297FF /* STPShippingMethodsViewControllerLocalizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7F54E1E8FFA1505D24538A6 /* STPShippingMethodsViewControllerLocalizationTests.swift */; }; + A8B0DB753CAA2223C8BED099 /* StripeErrorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC3AD586DDED620B9E68F461 /* StripeErrorTest.swift */; }; + A9A77D698551322BF3A067BC /* BancontactSource.json in Resources */ = {isa = PBXBuildFile; fileRef = 31F32B2852B1683819BD02F3 /* BancontactSource.json */; }; + AB3BD6A5E8660EC6D2C299BD /* LinkNoticeViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 382A01724CE8659A5210073F /* LinkNoticeViewSnapshotTests.swift */; }; + AC35943F1EAD50E9D5D509B3 /* STPCardExpiryInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40BB87E28719FE0C6B946BB5 /* STPCardExpiryInputTextFieldFormatterTests.swift */; }; + AC7C127B11A60222465F4696 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 005650A59D692F820EF20F5F /* XCTest.framework */; }; + ACE783C5E133EB9962908BA8 /* STPPaymentMethodGrabPayParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 03CEA8792C992D865ECC46AA /* STPPaymentMethodGrabPayParamsTest.m */; }; + ACF6CFE0F8B88FDBBB16968C /* FraudDetectionDataTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FF7A07CFC3B9B7AD6B49EE /* FraudDetectionDataTest.swift */; }; + AD731C41CE95233A733E0289 /* STPTestingAPIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = C1AAF76C3F4850217C28E362 /* STPTestingAPIClient.m */; }; + AD9B9F3FF697D4A3892E86F2 /* PaymentAnalyticTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8F8FCC84601E4ADC6B7F3CE /* PaymentAnalyticTest.swift */; }; + AE5C68FE305F63791B59CDD1 /* STPSourceRedirectTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6799CC0D9C5FED26EE3494F /* STPSourceRedirectTest.m */; }; + AE747ADA2841AA06F32558D8 /* STPSourceCardDetailsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63114D0EAAE2606732DF5AA0 /* STPSourceCardDetailsTest.swift */; }; + AE90123C3DCF6C56329ABD72 /* STPIntentActionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CE65B72986B6B404B036183 /* STPIntentActionTest.m */; }; + AE94F473534AE66F984D0254 /* STPPaymentMethodParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B4DEF058786BD9D3D5EE2FB /* STPPaymentMethodParamsTest.m */; }; + AE9AB2E4E82CC2AFF8B2DC96 /* STPApplePayTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 47A1AA1C80AE910FCFF58996 /* STPApplePayTest.m */; }; + AF0FE00E669705885EAF6F20 /* stp_icon_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A1003B17EB955A29BC77BF01 /* stp_icon_bank@3x.png */; }; + AF18D569B296BFC1EB5A7338 /* ImageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAF368BCD5990EE5DC17D299 /* ImageTest.swift */; }; + AF23CB4EF17E87007CFC3E96 /* STPFPXBankStatusResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA08DCDD421CE92ECB61EF5C /* STPFPXBankStatusResponse.swift */; }; + AF44725558E654548FED2A2B /* STPPaymentMethodUPITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 940209E5D30E86E856016906 /* STPPaymentMethodUPITests.swift */; }; + B00F7FC372E376C6B2170D37 /* STPPaymentContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = C750C2C4AB33BC232D1592BA /* STPPaymentContext.swift */; }; + B1B3E2766CB2B4AA48D130F6 /* stp_bank_fpx_maybank2u@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A982DCED06CCAEBE2C8835F3 /* stp_bank_fpx_maybank2u@3x.png */; }; + B1BF689B91D538BDCA4C8578 /* STPCoreViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02FC9ED423D40C88D5A24441 /* STPCoreViewController.swift */; }; + B3C3DCC5BD2BE09DEC0906F0 /* STPFileTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0841697DF701B4A4637E67D9 /* STPFileTest.m */; }; + B4719234E4BBDAD260E31373 /* STPPaymentCardTextFieldViewModelTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6DEE912364C9F4B51B374D0 /* STPPaymentCardTextFieldViewModelTest.swift */; }; + B5A0B3CF303CD41FF73D4310 /* STPTestAPIClient+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3AC82FE96A69220B300FBE6 /* STPTestAPIClient+Swift.swift */; }; + B6656829DEC006DBEED2AA0E /* STPEphemeralKeyTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5BEAA15B53AC5662A33D0E1 /* STPEphemeralKeyTest.swift */; }; + B6784B7F4B9B04617C0EE510 /* PKAddPaymentPassRequest+Stripe_Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 273EE407039913F0B644172B /* PKAddPaymentPassRequest+Stripe_Error.swift */; }; + B6B89E3F7DE0811BD5CB9D31 /* STPAddCardViewControllerLocalizationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78BA15D1F0844B1DA71A5348 /* STPAddCardViewControllerLocalizationTests.swift */; }; + B7519705686EAA1BC4F0BC5A /* STPPaymentMethodPayPalTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 02DEC25F0E12F9F4396E87B2 /* STPPaymentMethodPayPalTests.m */; }; + B795A5EB8FDECA1060A9655C /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = C55551F29B99CF6D6DD9EE2F /* iOSSnapshotTestCase */; }; + B7CE5D774F8BA17274995BA2 /* STPBankAccountFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6152335A2DCCBB5490B39BB0 /* STPBankAccountFunctionalTest.m */; }; + B82859A4444B9F735720F232 /* STPMandateOnlineParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB58AC5E2E0A68221260FD44 /* STPMandateOnlineParamsTest.swift */; }; + B8385576DC25BDEEB92D812F /* STPEphemeralKeyProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 485E747DA1F72F091986787B /* STPEphemeralKeyProvider.swift */; }; + B8ED1F697519A6FCD3D79431 /* STPPaymentMethodGiropayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 583DB466066B47C0F716E474 /* STPPaymentMethodGiropayTests.swift */; }; + B917BF282C84507292112B9D /* STPCardBINMetadataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E1C5E08678292561255B1C5 /* STPCardBINMetadataTests.swift */; }; + B92C22D02FDA5BC7FCDF8EEF /* PaymentMethodMessagingViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4F116895CA31148DB6CE0DF /* PaymentMethodMessagingViewSnapshotTests.swift */; }; + B98D71ED9ACC2E1B47372F53 /* NSDecimalNumber+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20552E792B8E7BA15821AB5D /* NSDecimalNumber+StripeTest.swift */; }; + B9EE4AC9206FD77A2FB8C702 /* STPFPXBankBrandTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 966BA151AA0E428D1DD8A97C /* STPFPXBankBrandTest.m */; }; + BAEE96DF60B42EE2A559DC9F /* LinkVerificationViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24AE1B8096363F6C51A5AF7E /* LinkVerificationViewSnapshotTests.swift */; }; + BAFD06E994739E1C38DFFBBC /* STPCardScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69BD038947E8E2376A0D240B /* STPCardScanner.swift */; }; + BB46077C256C26418420F240 /* STPAddCardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA793904C7B2D3AA0A4D5EFB /* STPAddCardViewController.swift */; }; + BC6912C0DE15008C8D8C303C /* STPFloatingPlaceholderTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7385193226663A5B79E69ED /* STPFloatingPlaceholderTextFieldSnapshotTests.swift */; }; + BC694A1642DC30D530B60635 /* RotatingCardBrandsViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDA32D0C9E8A7A69F4899EDC /* RotatingCardBrandsViewSnapshotTests.swift */; }; + BF4A92064926FD7B0E3E92F7 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1C6EB5826E2D7C80B6CF3 /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + BF4ED4828114E2E89A3D4AB7 /* StripeBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4D31B0D7BD9F97AF3BB61E6 /* StripeBundleLocator.swift */; }; + C035D82D7096E3005858848C /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 43B4E4B85C598D7A9AFCB4D4 /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + C0688E067AE4FFDFFDDC03BB /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5D9F97ABC88302478220267 /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift */; }; + C1E52E633CCF8D18AC804C97 /* stp_bank_fpx_bank_muamalat@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A7B538B1223FBD7F409A4B29 /* stp_bank_fpx_bank_muamalat@3x.png */; }; + C1E70FD29BBE36D76A7E6929 /* CardExpiryDateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 153071C69A0BEE033E035DCF /* CardExpiryDateTests.swift */; }; + C314A5C55064C51C2B999E6B /* STPBackendAPIAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B782E1D974A4C131E60E2BD /* STPBackendAPIAdapter.swift */; }; + C32D7ACEBC852CBC295BBEF2 /* STPSetupIntentFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49AA313E068FB99CEAA5F7D3 /* STPSetupIntentFunctionalTest.swift */; }; + C35CF837D67AE8DB7CBDAD98 /* STPThreeDSLabelCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FDD4956E0A04D33F0856F31 /* STPThreeDSLabelCustomizationTest.swift */; }; + C3C01719939575E1519EEC2C /* STPCardBrandTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4866C83CD6596D781A053636 /* STPCardBrandTest.m */; }; + C4C1295E7DA618DFB944A534 /* NSString+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63F5F35DB97D8A176FB6ED24 /* NSString+StripeTest.swift */; }; + C4DC3F4FA93A3BAF6EE782A0 /* PKPayment+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4D12508C2F1056A7EAFEC86 /* PKPayment+StripeTest.swift */; }; + C57BDA835AED735321906977 /* STPCardExpiryInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4418164D75002AE6A0273176 /* STPCardExpiryInputTextFieldValidatorTests.swift */; }; + C5D295FE9988CA80ABA57801 /* RotatingCardBrandsViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12632E6710DE8861CAF1BAA4 /* RotatingCardBrandsViewTests.swift */; }; + C5EAA26F7A4C71DCB08015A5 /* stp_bank_fpx_cimb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1FD3467084C9B5F7B4C15364 /* stp_bank_fpx_cimb@3x.png */; }; + C71B55CAA87D9B20B68E0608 /* PaymentMethodMessagingViewFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8099EC47BB1527E2B9A2446 /* PaymentMethodMessagingViewFunctionalTest.swift */; }; + C7EB8FB325BF491FDE25FE66 /* STPPaymentMethodEPSTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C44B4366D6C4FD4B11662C8 /* STPPaymentMethodEPSTests.swift */; }; + C83D461C72BE7E4A309C8452 /* STPSetupIntentLastSetupErrorTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C0F5E7908FE3C7606DEAAD5 /* STPSetupIntentLastSetupErrorTest.m */; }; + C861BB9EAAD04949E338D7FF /* PaymentTypeCellSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B9A4A2B0FB9F8C743BBED48 /* PaymentTypeCellSnapshotTests.swift */; }; + C87E17137F8E2CBA52B43A98 /* stp_bank_fpx_maybank2e@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA581592426609EDBE9B1CF4 /* stp_bank_fpx_maybank2e@3x.png */; }; + C8A6CA6352B7C8FEE3D91476 /* UIView+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0293B82D7078EE11F9B5639 /* UIView+Helpers.swift */; }; + C9E66A22494C02050AE34A9B /* FBSnapshotTestCase+STPViewControllerLoading.swift in Sources */ = {isa = PBXBuildFile; fileRef = 180CF848E3ABF0236C494D8B /* FBSnapshotTestCase+STPViewControllerLoading.swift */; }; + CA189278AD606BEAC62D545F /* STPPaymentIntentParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF902DC49DD90860BD0E5E80 /* STPPaymentIntentParamsTest.swift */; }; + CA4F392070740C56FE2BB461 /* STPStringUtilsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB6AE83989B0596F0C111E13 /* STPStringUtilsTest.swift */; }; + CB5AADE45B7B7A40514C054B /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 52F8AEC50D4623F80F04A533 /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CBCA59D39B30D869B4FDC04B /* STPE2ETest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C1548BA518F7AC2A9ECF9D5 /* STPE2ETest.swift */; }; + CC072EBAD035AA54A2AD3ABC /* UIViewController+Stripe_KeyboardAvoiding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F08757CA6F6B2DA65C14E0A /* UIViewController+Stripe_KeyboardAvoiding.swift */; }; + CDBF169718F4882A946BF22D /* stp_icon_add@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = EC5115C4E72B99EE743139F1 /* stp_icon_add@3x.png */; }; + CEE483EB7B06B3C607BC755C /* UINavigationBar+StripeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E68F6B90F3BC61A49570FAF4 /* UINavigationBar+StripeTest.m */; }; + CEF318C74D2E44C78EF85306 /* STPBankSelectionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 458F8576215E0F8ECE1D74CE /* STPBankSelectionTableViewCell.swift */; }; + CF2E17AC77EB08393B8A3F98 /* STPCardNumberInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3803D0DED98501AA26B2EAC /* STPCardNumberInputTextFieldFormatterTests.swift */; }; + CF6AB51AA76503F2EDD42BED /* STPPaymentMethodGiropayParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AE3A8CA366854F49C28BD93 /* STPPaymentMethodGiropayParamsTests.m */; }; + CFDD431A9A8A82BAA11AE5BF /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 33FDC634FD5D79E824240DDC /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D0342D50F9AC319919D93D59 /* STPBECSDebitAccountNumberValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23997D61DF41CA84BFC33080 /* STPBECSDebitAccountNumberValidatorTests.swift */; }; + D0C81317E0AA8EB0370B1BA1 /* LinkLegalTermsViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 835CB781FBC19773ACC20676 /* LinkLegalTermsViewSnapshotTests.swift */; }; + D15160C0F0763078DBB434E4 /* STPCardTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D575C31524E596E9C1A8E9B /* STPCardTest.swift */; }; + D151C8724925DCBA4BA4F46A /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 512A0E7C246D5F044245E069 /* StripeCoreTestUtils.framework */; }; + D2869246B446B8B31F1CD368 /* STPIntentActionLinkAuthenticateAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EB24EC81CE2C8D1C863B044 /* STPIntentActionLinkAuthenticateAccount.swift */; }; + D2C062CE4E54094B1AC33E78 /* STPCardCVCInputTextFieldValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D42F83F785EAF24F5DC7ED1A /* STPCardCVCInputTextFieldValidatorTests.swift */; }; + D2F19E21D5EC275A3CF23F7C /* STPTokenTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A14673FA54CB8B85CF8D71C3 /* STPTokenTest.m */; }; + D375ADBD1F4B48380D5347D1 /* CircularButtonSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46AC0B5EC7433E081825D31B /* CircularButtonSnapshotTests.swift */; }; + D4362E8B9ACB60F1DCDEDBCF /* STPPaymentMethodSEPADebitTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4D19337AD2936DA69EAC4A /* STPPaymentMethodSEPADebitTest.m */; }; + D567569568C0D8F2D7B179B3 /* STPPaymentMethodAUBECSDebitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54426CBF6F77ABEFBDFDA8C4 /* STPPaymentMethodAUBECSDebitTests.swift */; }; + D597AF40C2DFEE3321566DD0 /* STPPaymentMethodEPSParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 28B8ADA1C10FED0733B4FAD3 /* STPPaymentMethodEPSParamsTests.m */; }; + D5BD5B1657C9D0FD7F6593F3 /* stp_shipping_form@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 21BC7D5A0DDD653571B76168 /* stp_shipping_form@3x.png */; }; + D5EECD0F9CD1DBC927E3E4E2 /* STPPaymentMethodCardWalletTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF76154CA9CACA9CDB0BA94 /* STPPaymentMethodCardWalletTest.m */; }; + D73B7A0C24EDCA415FFBBB18 /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D794C5E6396B4A19DC4F6921 /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D7956073A8FD3785193E0577 /* STPStackViewWithSeparatorSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51E62BB62EA9B782778CA880 /* STPStackViewWithSeparatorSnapshotTests.swift */; }; + D7C555B36C282B99E22B8D45 /* STPInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A22E5B87755C1F05C3DB438C /* STPInputTextFieldFormatterTests.swift */; }; + D7D24DCC9402153965AF7F1B /* STPPaymentMethodPrzelewy24Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6558C62376C2397030BD4A6 /* STPPaymentMethodPrzelewy24Tests.swift */; }; + D83F76F584BC345CFBA71CF8 /* OneTimeCodeTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D85FA7B714BDD8D1FD83B75 /* OneTimeCodeTextFieldSnapshotTests.swift */; }; + D85C432B241FDE23875037F9 /* UserDefaults+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26302721419496F37DE91DF8 /* UserDefaults+Stripe.swift */; }; + D8BECFB70834CC42BA6706D8 /* STPSourceParamsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F6CB4B8FAD14B4D70A63595 /* STPSourceParamsTest.swift */; }; + D8C7D8B5749708833F89024B /* STPPaymentMethodAddressTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DECFBCFDD8FB9362D2FB4E1 /* STPPaymentMethodAddressTest.m */; }; + D8D9DF85FE4BF1AB14DBEB95 /* stp_bank_fpx_kfh@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 43398AFBACB8BA1DB29A437C /* stp_bank_fpx_kfh@3x.png */; }; + DC57D2DC40C6BA0C9CF7EC92 /* PayWithLinkButtonSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF342CBC167F9CAB5B49CC32 /* PayWithLinkButtonSnapshotTests.swift */; }; + DCF615643A22D0A7B739547C /* Stripe+Exports.swift in Sources */ = {isa = PBXBuildFile; fileRef = B70DF0B659009041F485EE0F /* Stripe+Exports.swift */; }; + DD16FC7ABCA7817794ECC407 /* STPThreeDSSelectionCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C23D612FD5AD7772E1B30DCC /* STPThreeDSSelectionCustomizationTest.swift */; }; + DD8E2B99BAE917F83258DC35 /* STPPaymentMethodOptionsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E2638F7AA0906914117C2D5 /* STPPaymentMethodOptionsTest.swift */; }; + DDBF5AAE607C698618DDE865 /* STPCameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61F8308B7250B642D19827D8 /* STPCameraView.swift */; }; + DE23FEF74E860620A334FDF5 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 884C01B087B4D820395BD374 /* Main.storyboard */; }; + DEC21E8B6DD667AD876ABA0E /* STPPaymentMethodBillingDetailsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A00F4D8DB80EBD753E9AC961 /* STPPaymentMethodBillingDetailsTest.m */; }; + DF73457BF349BC962A6AC502 /* STPCoreScrollViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D1525AF65BDEF691F8BCBE8 /* STPCoreScrollViewController.swift */; }; + DF7C5EA613A5B8F5D1431622 /* STPConnectAccountParamsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DF470B57E61F36BD1C0A1224 /* STPConnectAccountParamsTest.m */; }; + DF85F5EC6E16CAD21491891A /* AnalyticsHelperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61AF6E95FE0DD913204CAB32 /* AnalyticsHelperTests.swift */; }; + E1EA6387717F8ACD3637AA78 /* STPBankAccountTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FA025CE30EB3DA1C4321505 /* STPBankAccountTest.m */; }; + E2FECEC25C1C69E4969B0E2A /* STPSourceOwnerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = D1681629DCEA0765515D3D49 /* STPSourceOwnerTest.m */; }; + E32AB1FF0BFE8979650FDF15 /* STPSourceReceiverTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 620CEE3CCA05E49698C4DE35 /* STPSourceReceiverTest.m */; }; + E3F1BAD22CC6E90B761B0502 /* STPTextFieldDelegateProxyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A8A2CD759D465290066EF65 /* STPTextFieldDelegateProxyTests.swift */; }; + E4BA3AF73442897BCA3A6962 /* recorded_network_traffic in Resources */ = {isa = PBXBuildFile; fileRef = FCA64B2C21FCFAC433EA3781 /* recorded_network_traffic */; }; + E611EAD0DBDBAE1AD3442CDC /* stp_bank_fpx_ocbc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7EB4A04665E4B0FBE6BA24F6 /* stp_bank_fpx_ocbc@3x.png */; }; + E63B5BAF6B5645C979BFBA71 /* STPAddress+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 498C3FB07CFD532779C755D3 /* STPAddress+BasicUI.swift */; }; + E6F428CFAD64979A8874B00B /* STPAnalyticsClientPaymentsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7ACB4FAFAD33296DE34D036 /* STPAnalyticsClientPaymentsTest.swift */; }; + E7071A87146B640C2DEE6B80 /* stp_bank_fpx_alliance_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1F6237EC7D3A866814A7DC88 /* stp_bank_fpx_alliance_bank@3x.png */; }; + E7DE88AF9BDC4EB9E6DE73F1 /* EphemeralKey.json in Resources */ = {isa = PBXBuildFile; fileRef = F8CEB050CB2231F1459824EC /* EphemeralKey.json */; }; + E97168F37D769524B58461B6 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43B4E4B85C598D7A9AFCB4D4 /* StripeCore.framework */; }; + EA34719659CB9F1A269FECC7 /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D794C5E6396B4A19DC4F6921 /* StripeUICore.framework */; }; + EA571ECEFDDF10AF87CE2B74 /* STPThreeDSFooterCustomizationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 483B243268646AE65B06E98C /* STPThreeDSFooterCustomizationTest.swift */; }; + EA7FEC518AA07BA59405A5E3 /* STPPaymentIntentParams+BasicUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F01150CD0255164FE2CF3A4 /* STPPaymentIntentParams+BasicUI.swift */; }; + EBD436689635CC28A24DECD4 /* STPPinManagementServiceFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 336CC555B845DED30208D39D /* STPPinManagementServiceFunctionalTest.swift */; }; + EE4E023ABD6C611BA3EDDD17 /* STPPaymentMethodCardChecksTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E0A27E1D77216CE0267C981C /* STPPaymentMethodCardChecksTest.m */; }; + EEA502DF8809B8FD0D00785E /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1C6EB5826E2D7C80B6CF3 /* StripePayments.framework */; }; + EEB5E5E9C4E06B148A91C7BD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6955B3A3353F8442E4FBBBF6 /* Assets.xcassets */; }; + EEBA9A95E8057A06E5E7C103 /* STPCardNumberInputTextFieldSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD289E1EA9F0CE1C848AC0BB /* STPCardNumberInputTextFieldSnapshotTests.swift */; }; + EEC27B2210C2353DDDDEEAD1 /* SofortSource.json in Resources */ = {isa = PBXBuildFile; fileRef = E412BB731BC34BB1A7EC3B8D /* SofortSource.json */; }; + EEFFE199D9769FF449BFD7FF /* STPCoreTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B78C72B0DB434EC7F700FDE0 /* STPCoreTableViewController.swift */; }; + F10FC337254A34ED8F13E341 /* STPPaymentOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B694A39D54886392AA5DE3 /* STPPaymentOption.swift */; }; + F228C86E3F2172FE6A349243 /* stp_icon_checkmark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A95FC67D6E0C11B6FE40DC92 /* stp_icon_checkmark@3x.png */; }; + F2655328479314A9C8718DE4 /* STPApplePayContextTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F7AB40A5A10C2D267323ABE /* STPApplePayContextTest.swift */; }; + F30F6DA35482988D8EC9FCEB /* STPApplePayContextFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E3D73CE47141F7D1E44283D2 /* STPApplePayContextFunctionalTest.m */; }; + F35E090A607EB5F86FFC3D31 /* STPCardCVCInputTextFieldTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A7104C1C470515616E4D2B /* STPCardCVCInputTextFieldTests.swift */; }; + F3F2B3317A63067ECA26F3E2 /* stp_bank_fpx_standard_chartered@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 40E3C9AF9FA4576DAC027275 /* stp_bank_fpx_standard_chartered@3x.png */; }; + F481DAE25F9957D23F529CF7 /* STPNetworkStubbingTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0D081A26B59DE51FDDD1798 /* STPNetworkStubbingTestCase.swift */; }; + F530ECEDE5FFDD9B4321CCD4 /* STPPaymentMethodBancontactParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 130483A5043ACC4D60E0B0D6 /* STPPaymentMethodBancontactParamsTests.m */; }; + F53E04785DB804EA5C2AAC18 /* STPAddressViewModelTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3D2DB08C335695B705F544C /* STPAddressViewModelTest.swift */; }; + F5C771A7C98E78F99E13DBA1 /* stp_bank_fpx_ambank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 89CA73D6080D5B68F6465BC1 /* stp_bank_fpx_ambank@3x.png */; }; + F5CC4F320D09A06F0B21ABE6 /* STPPaymentMethodAffirmTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F0DF2ED9232A7CC51F5FCB1 /* STPPaymentMethodAffirmTests.swift */; }; + F729E784CFFC1F79EF5F2ABE /* STPPaymentIntentLastPaymentErrorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C7B8DACB0A7294BC235E3BC /* STPPaymentIntentLastPaymentErrorTest.swift */; }; + F835CEC935464FF32726A0A0 /* STPTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E8CA4361964E1BA400EFC89 /* STPTheme.swift */; }; + F86F2DF6E46EFABE23AD5D27 /* STPApplePayContextDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E452877E5D11120B1E28A6E7 /* STPApplePayContextDelegate.swift */; }; + F975CE029DF30419B8DB0D8F /* STPNumericStringValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AA36705DED9164663A98B6A /* STPNumericStringValidatorTests.swift */; }; + FAD79E127796E97B3C1693FD /* STPSourceVerificationTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5377FE4A168F45625923AF37 /* STPSourceVerificationTest.m */; }; + FB34906C9215D0E03850064B /* STPAddCardViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8704ABFA91A5226847F4A69A /* STPAddCardViewControllerTest.swift */; }; + FBBA3B39598BBECB664C5E7F /* STPApplePayTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFC4BC1AB047ED88C4D13C89 /* STPApplePayTest.swift */; }; + FBBDAEA5DF5CB3A138D82E8A /* LinkCardEditElementSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9659E92E94316FE4955156 /* LinkCardEditElementSnapshotTests.swift */; }; + FC166455478EAF51F7C34E68 /* STPApplePayPaymentOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03ACDC7EEC28D1FE50008F65 /* STPApplePayPaymentOption.swift */; }; + FDD1858CAEFCEBB22BEC9BBC /* MKPlacemark+PaymentSheetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DCCA0E8A02B4F4B23837FB4 /* MKPlacemark+PaymentSheetTests.swift */; }; + FDF57B916B6B69E3F57A220C /* paymentIntentResponse.json in Resources */ = {isa = PBXBuildFile; fileRef = D892925D1F56E9380A2D334F /* paymentIntentResponse.json */; }; + FE6647242714D9BEA1EBC055 /* STPCardCVCInputTextFieldFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1F6514E7530C2A3478B2F5 /* STPCardCVCInputTextFieldFormatterTests.swift */; }; + FEE74744B657F86873EA2F3D /* STPPushProvisioningDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89E5DA3029F141B5111A5B2C /* STPPushProvisioningDetails.swift */; }; + FEF2E0DAC862FF42B814AFCA /* STPPaymentHandlerFunctionalTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 683F7735569D22CBEC9CA2E6 /* STPPaymentHandlerFunctionalTest.m */; }; + FF00A8AACAA255F89D9034A0 /* STPConnectAccountAddressTest.m in Sources */ = {isa = PBXBuildFile; fileRef = D82418EB84598A2CEE2DCB28 /* STPConnectAccountAddressTest.m */; }; + FF0F9BA6FE4B88297A434EA7 /* STPPaymentMethodNetBankingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 739934737B9A09775CD278C9 /* STPPaymentMethodNetBankingTests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 32221E5BA07FB5AA4EBFE81C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E63832AA5BB4225708B7C838 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1628E8B14F1F7C63CF8C9962; + remoteInfo = StripeiOSTestHostApp; + }; + 8F25D3DFD6D65DAE4B581911 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E63832AA5BB4225708B7C838 /* Project object */; + proxyType = 1; + remoteGlobalIDString = ADF894AA8F6022D9BED17346; + remoteInfo = StripeiOS; + }; + D90CE98566BBDA0E7340E1D7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E63832AA5BB4225708B7C838 /* Project object */; + proxyType = 1; + remoteGlobalIDString = ADF894AA8F6022D9BED17346; + remoteInfo = StripeiOS; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 16FB342935F756BD2EA7CE4C /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + CFDD431A9A8A82BAA11AE5BF /* Stripe3DS2.framework in Embed Frameworks */, + CB5AADE45B7B7A40514C054B /* StripeApplePay.framework in Embed Frameworks */, + C035D82D7096E3005858848C /* StripeCore.framework in Embed Frameworks */, + 42395EF962DB8AD6A094630B /* StripePaymentSheet.framework in Embed Frameworks */, + BF4A92064926FD7B0E3E92F7 /* StripePayments.framework in Embed Frameworks */, + 5B6F1BF973FC2D8DD6127B7F /* StripePaymentsUI.framework in Embed Frameworks */, + D73B7A0C24EDCA415FFBBB18 /* StripeUICore.framework in Embed Frameworks */, + 162C101E57D66F0051164C4A /* Stripe.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 5789BE2CD297329ED86678C0 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 9F30C6D40956861F588C2CD0 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + CAAA5D4C8E87896995960E8C /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 002634603200AABECC9686B1 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 005650A59D692F820EF20F5F /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 01B42BE6FB5EC1F708875AB8 /* STPPaymentCardTextFieldCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextFieldCell.swift; sourceTree = ""; }; + 0227131370F51B0533585BEB /* stp_card_form_amex_cvc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_amex_cvc@3x.png"; sourceTree = ""; }; + 0241DB84973B21393BEC703E /* STPAnalyticsClientPaymentSheetTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientPaymentSheetTest.swift; sourceTree = ""; }; + 02DEC25F0E12F9F4396E87B2 /* STPPaymentMethodPayPalTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodPayPalTests.m; sourceTree = ""; }; + 02FC9ED423D40C88D5A24441 /* STPCoreViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCoreViewController.swift; sourceTree = ""; }; + 0320B47C1DD836F7A7144B58 /* STPApplePayPaymentOptionTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPApplePayPaymentOptionTest.m; sourceTree = ""; }; + 0364E74C0FB269E93D18966D /* SetupIntent.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = SetupIntent.json; sourceTree = ""; }; + 03ACDC7EEC28D1FE50008F65 /* STPApplePayPaymentOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayPaymentOption.swift; sourceTree = ""; }; + 03CEA8792C992D865ECC46AA /* STPPaymentMethodGrabPayParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodGrabPayParamsTest.m; sourceTree = ""; }; + 04838ACE779F5CC949C276CB /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 04FE0C74090AE8A871CCE5EC /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + 05A3E36498CBA9E5FB8323C9 /* stp_bank_fpx_hsbc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_hsbc@3x.png"; sourceTree = ""; }; + 064CFCA8FCEA9E4BAB3547D0 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + 0669B4CA326CE74D125C789C /* STPFakeAddPaymentPassViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFakeAddPaymentPassViewController.swift; sourceTree = ""; }; + 0841697DF701B4A4637E67D9 /* STPFileTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPFileTest.m; sourceTree = ""; }; + 084B1B9FCCF4AB727B4ECFB2 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + 090EF7D598B8DE779C275395 /* STPPostalCodeInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldSnapshotTests.swift; sourceTree = ""; }; + 0A16326394D71637A2CF68C3 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + 0A726D87E8C916E8FEA0C780 /* WeChatPaySource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = WeChatPaySource.json; sourceTree = ""; }; + 0B91C4D5B93FF71C61B140F1 /* STPCardScannerTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardScannerTableViewCell.swift; sourceTree = ""; }; + 0B989830717894A60B74E830 /* STPConfirmPaymentMethodOptionsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPConfirmPaymentMethodOptionsTest.m; sourceTree = ""; }; + 0C44B4366D6C4FD4B11662C8 /* STPPaymentMethodEPSTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodEPSTests.swift; sourceTree = ""; }; + 0C75157665428685C7A4FD20 /* STPCardExpiryInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldSnapshotTests.swift; sourceTree = ""; }; + 0C9D6F99E303A17A91101723 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; + 0DB03E83746FE78361831546 /* WalletHeaderViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletHeaderViewSnapshotTests.swift; sourceTree = ""; }; + 0DF76154CA9CACA9CDB0BA94 /* STPPaymentMethodCardWalletTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodCardWalletTest.m; sourceTree = ""; }; + 0E10C4D64477638398251FFB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 0F735744F27D46F005BB5D67 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + 1007571188950D7FBF745A4E /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + 1020F76D0722D685A97EF202 /* EPSSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = EPSSource.json; sourceTree = ""; }; + 10BAD33BEC6C2894F9266902 /* LinkSecureCookieStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkSecureCookieStoreTests.swift; sourceTree = ""; }; + 121B7EDCCD0957C9A444A8E3 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 12632E6710DE8861CAF1BAA4 /* RotatingCardBrandsViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RotatingCardBrandsViewTests.swift; sourceTree = ""; }; + 12D757B36030685C401A6990 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + 12DBB3F72AEFB52DE27C27ED /* STPAnalyticsClient+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+BasicUI.swift"; sourceTree = ""; }; + 130483A5043ACC4D60E0B0D6 /* STPPaymentMethodBancontactParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodBancontactParamsTests.m; sourceTree = ""; }; + 131B856C6C1053E5FACD44D1 /* STPNetworkStubbingTestCase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STPNetworkStubbingTestCase.h; sourceTree = ""; }; + 13DDBEA7D444A8AC14E0F1C8 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + 1443F134C35E15AB9A1EA560 /* STPPaymentMethodCardWalletMasterpassTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodCardWalletMasterpassTest.m; sourceTree = ""; }; + 148C1D7D1BBBC6B74894A869 /* STPPaymentMethodTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodTest.swift; sourceTree = ""; }; + 152E45642578F76AAEB1CF61 /* stp_bank_fpx_rhb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_rhb@3x.png"; sourceTree = ""; }; + 153071C69A0BEE033E035DCF /* CardExpiryDateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardExpiryDateTests.swift; sourceTree = ""; }; + 157826E456AC3ABFE8000B81 /* LinkNavigationBarSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkNavigationBarSnapshotTests.swift; sourceTree = ""; }; + 1671EC46C713D51013AD7D8B /* STPPaymentMethodCardParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardParamsTest.swift; sourceTree = ""; }; + 17DDEC7D4C1D5FF6488D71D5 /* STPFixtures.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPFixtures.m; sourceTree = ""; }; + 180CF848E3ABF0236C494D8B /* FBSnapshotTestCase+STPViewControllerLoading.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FBSnapshotTestCase+STPViewControllerLoading.swift"; sourceTree = ""; }; + 18FCB69CD3B8C3DAB216A5F0 /* STPPaymentConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentConfiguration.swift; sourceTree = ""; }; + 1A8A6B88797870BC71CCB3AF /* STPPushProvisioningDetailsFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPushProvisioningDetailsFunctionalTest.swift; sourceTree = ""; }; + 1B76DF0FE363F59BF0940A8B /* UIView+Stripe_FirstResponder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Stripe_FirstResponder.swift"; sourceTree = ""; }; + 1C1548BA518F7AC2A9ECF9D5 /* STPE2ETest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPE2ETest.swift; sourceTree = ""; }; + 1D23EB567F573612E0794B3A /* Stripe Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe Tests-Debug.xcconfig"; sourceTree = ""; }; + 1D51B04D83D4FEF7F90DF16A /* STPCertTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCertTest.swift; sourceTree = ""; }; + 1D575C31524E596E9C1A8E9B /* STPCardTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardTest.swift; sourceTree = ""; }; + 1D983E089196152DA1C69469 /* STPCardFormViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardFormViewSnapshotTests.swift; sourceTree = ""; }; + 1DD6897858F46976A946394E /* StripeiOSAppHostedTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeiOSAppHostedTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 1DECFBCFDD8FB9362D2FB4E1 /* STPPaymentMethodAddressTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodAddressTest.m; sourceTree = ""; }; + 1E2638F7AA0906914117C2D5 /* STPPaymentMethodOptionsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodOptionsTest.swift; sourceTree = ""; }; + 1E8AFAE24610EC983727F860 /* STPAPIClient+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+BasicUI.swift"; sourceTree = ""; }; + 1F0DF2ED9232A7CC51F5FCB1 /* STPPaymentMethodAffirmTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAffirmTests.swift; sourceTree = ""; }; + 1F16C36797D978E72E612100 /* STPPaymentCardTextFieldTestsSwift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextFieldTestsSwift.swift; sourceTree = ""; }; + 1F29C15B47C7CB0941CD4C9E /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 1F6237EC7D3A866814A7DC88 /* stp_bank_fpx_alliance_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_alliance_bank@3x.png"; sourceTree = ""; }; + 1F6CB4B8FAD14B4D70A63595 /* STPSourceParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceParamsTest.swift; sourceTree = ""; }; + 1FD3467084C9B5F7B4C15364 /* stp_bank_fpx_cimb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_cimb@3x.png"; sourceTree = ""; }; + 1FFBAA4B44967B157A4F4E91 /* STPPaymentActivityIndicatorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentActivityIndicatorView.swift; sourceTree = ""; }; + 20552E792B8E7BA15821AB5D /* NSDecimalNumber+StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSDecimalNumber+StripeTest.swift"; sourceTree = ""; }; + 206D2A1B8D0E295F42A8C879 /* FBSnapshotTestCase+STPViewControllerLoading.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase+STPViewControllerLoading.h"; sourceTree = ""; }; + 20879436DCFB1F03BE1608B3 /* ServerErrorMapperTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerErrorMapperTest.swift; sourceTree = ""; }; + 20A74D4FA51D15AF12B58767 /* STPCardParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPCardParamsTest.m; sourceTree = ""; }; + 20D90EE8CC6606CAE9B06C63 /* STPSourceFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSourceFunctionalTest.m; sourceTree = ""; }; + 21BC7D5A0DDD653571B76168 /* stp_shipping_form@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_shipping_form@3x.png"; sourceTree = ""; }; + 21E4B84223DDA131544DBBA7 /* STPShippingMethodsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPShippingMethodsViewController.swift; sourceTree = ""; }; + 22D1C6EB5826E2D7C80B6CF3 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 23997D61DF41CA84BFC33080 /* STPBECSDebitAccountNumberValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBECSDebitAccountNumberValidatorTests.swift; sourceTree = ""; }; + 24AE1B8096363F6C51A5AF7E /* LinkVerificationViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkVerificationViewSnapshotTests.swift; sourceTree = ""; }; + 252FD94C68761E893E53D5F9 /* SEPADebitSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = SEPADebitSource.json; sourceTree = ""; }; + 2560B4EEE60D40FB31B8552F /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 26302721419496F37DE91DF8 /* UserDefaults+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+Stripe.swift"; sourceTree = ""; }; + 26D0BC36C2610307A01C52CB /* STPPaymentMethodAfterpayClearpayTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodAfterpayClearpayTest.m; sourceTree = ""; }; + 26E70469F4032553B4BB62DA /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + 273EE407039913F0B644172B /* PKAddPaymentPassRequest+Stripe_Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PKAddPaymentPassRequest+Stripe_Error.swift"; sourceTree = ""; }; + 27A4D83C0E7D4AE0CCD38B89 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + 284C67269D2606DA147AE01D /* STPGenericInputPickerFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputPickerFieldSnapshotTests.swift; sourceTree = ""; }; + 28A50AFA4603E488FF3D82D0 /* STPAddressViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAddressViewModel.swift; sourceTree = ""; }; + 28B8ADA1C10FED0733B4FAD3 /* STPPaymentMethodEPSParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodEPSParamsTests.m; sourceTree = ""; }; + 294CD46E24BB2743042872D7 /* StripeiOSTestHostApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StripeiOSTestHostApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 2A0E991FB88CBE8C9135DFE0 /* stp_card_form_back@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_back@3x.png"; sourceTree = ""; }; + 2A588999859430CC959C6F4B /* stp_bank_fpx_affin_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_affin_bank@3x.png"; sourceTree = ""; }; + 2A8A2CD759D465290066EF65 /* STPTextFieldDelegateProxyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPTextFieldDelegateProxyTests.swift; sourceTree = ""; }; + 2AE3A8CA366854F49C28BD93 /* STPPaymentMethodGiropayParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodGiropayParamsTests.m; sourceTree = ""; }; + 2B28B8A547CD846277ECD578 /* STPPushProvisioningDetailsParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPushProvisioningDetailsParams.swift; sourceTree = ""; }; + 2C078573F46762353664AC92 /* UINavigationController+Stripe_Completion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController+Stripe_Completion.swift"; sourceTree = ""; }; + 2CC4B06AB5C02FF54091E5A8 /* STPCustomerContextTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCustomerContextTest.swift; sourceTree = ""; }; + 2D1525AF65BDEF691F8BCBE8 /* STPCoreScrollViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCoreScrollViewController.swift; sourceTree = ""; }; + 2D63B73C5773432CA134D1FC /* STPGenericInputPickerFieldValidatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputPickerFieldValidatorTest.swift; sourceTree = ""; }; + 2D878F923A1F69B58D6B2812 /* STPRadarSessionFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPRadarSessionFunctionalTest.swift; sourceTree = ""; }; + 2E1862744F23286D1FB9D4AE /* STPFormTextFieldTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFormTextFieldTest.swift; sourceTree = ""; }; + 2EADE1EE40283DEF52B0B5D4 /* BacsDebitPaymentMethod.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = BacsDebitPaymentMethod.json; sourceTree = ""; }; + 2F08757CA6F6B2DA65C14E0A /* UIViewController+Stripe_KeyboardAvoiding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Stripe_KeyboardAvoiding.swift"; sourceTree = ""; }; + 3024CAAF54280B0357014D39 /* LinkPaymentMethodPickerSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkPaymentMethodPickerSnapshotTests.swift; sourceTree = ""; }; + 30964128998473CAA9F2DD7E /* STPFormEncoderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFormEncoderTest.swift; sourceTree = ""; }; + 30B694A39D54886392AA5DE3 /* STPPaymentOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentOption.swift; sourceTree = ""; }; + 313263D9DC0629C5EE279FEB /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + 31F32B2852B1683819BD02F3 /* BancontactSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = BancontactSource.json; sourceTree = ""; }; + 336CC555B845DED30208D39D /* STPPinManagementServiceFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPinManagementServiceFunctionalTest.swift; sourceTree = ""; }; + 33FDC634FD5D79E824240DDC /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 342398F7CB61693AAADE3F26 /* STPSourceSEPADebitDetailsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSourceSEPADebitDetailsTest.m; sourceTree = ""; }; + 344C5B4D8789FEFA4CFC0E43 /* CardPaymentMethod.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = CardPaymentMethod.json; sourceTree = ""; }; + 34D8B80455B75885088E9DAC /* stp_bank_fpx_bank_rakyat@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_bank_rakyat@3x.png"; sourceTree = ""; }; + 35ABE696542469B79A9D52E6 /* tk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tk; path = tk.lproj/Localizable.strings; sourceTree = ""; }; + 35C1E9B0EE03825DABF6471A /* STPPaymentMethod+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentMethod+BasicUI.swift"; sourceTree = ""; }; + 382A01724CE8659A5210073F /* LinkNoticeViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkNoticeViewSnapshotTests.swift; sourceTree = ""; }; + 3871630C99B378C67B6E9F7C /* STPPaymentMethodSofortParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodSofortParamsTests.m; sourceTree = ""; }; + 3B0E131538728BC4802627B1 /* UserDefaults+StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+StripeTest.swift"; sourceTree = ""; }; + 3B112FFF3FCA82094281493F /* STPPaymentMethodUSBankAccountTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccountTest.swift; sourceTree = ""; }; + 3B3000668A75E095B514241F /* UIBarButtonItem+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIBarButtonItem+Stripe.swift"; sourceTree = ""; }; + 3BCC4BB345F320EEECE0437C /* STPSetupIntentTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSetupIntentTest.m; sourceTree = ""; }; + 3C742844915B96CFD25BFFF9 /* AfterpayPriceBreakdownViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AfterpayPriceBreakdownViewSnapshotTests.swift; sourceTree = ""; }; + 3C77C7BC4BA57EC296CF2F1C /* STPApplePayFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayFunctionalTest.swift; sourceTree = ""; }; + 3C995125252BED1EEC018B9D /* STPPaymentContextApplePayTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentContextApplePayTest.swift; sourceTree = ""; }; + 3E1C5E08678292561255B1C5 /* STPCardBINMetadataTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardBINMetadataTests.swift; sourceTree = ""; }; + 3E5FB20B2BEFC00D54FDD87D /* STPCard+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPCard+BasicUI.swift"; sourceTree = ""; }; + 3EBB07171F6FDCE6E20C454A /* STPPinManagementService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPinManagementService.swift; sourceTree = ""; }; + 3ED44491EB0AC72B1B1A773C /* STPThreeDSUICustomizationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSUICustomizationTest.swift; sourceTree = ""; }; + 3F31C891BDDD871F48F6E60B /* FileUpload.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = FileUpload.json; sourceTree = ""; }; + 3FC0560A312147C37CFE6CF9 /* STPBinRangeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBinRangeTest.swift; sourceTree = ""; }; + 4077600B9B3C1ABFF38383BE /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + 40BB87E28719FE0C6B946BB5 /* STPCardExpiryInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldFormatterTests.swift; sourceTree = ""; }; + 40DC59F285B3AB0F60B33443 /* SWHttpTrafficRecorder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SWHttpTrafficRecorder.m; sourceTree = ""; }; + 40E3C9AF9FA4576DAC027275 /* stp_bank_fpx_standard_chartered@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_standard_chartered@3x.png"; sourceTree = ""; }; + 415554EBF13241D12094103B /* STPPaymentMethodiDEALTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodiDEALTest.m; sourceTree = ""; }; + 4259421D2CD26E37B96F97B2 /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 43398AFBACB8BA1DB29A437C /* stp_bank_fpx_kfh@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_kfh@3x.png"; sourceTree = ""; }; + 43ADFC4EF612D7C4A46E81B9 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + 43B4E4B85C598D7A9AFCB4D4 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4418164D75002AE6A0273176 /* STPCardExpiryInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldValidatorTests.swift; sourceTree = ""; }; + 444A6B234A4BD3CB2C1C977D /* STPConfirmCardOptionsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPConfirmCardOptionsTest.m; sourceTree = ""; }; + 458F8576215E0F8ECE1D74CE /* STPBankSelectionTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBankSelectionTableViewCell.swift; sourceTree = ""; }; + 45BBD120FDBA434BC7E64435 /* STPPaymentMethodFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodFunctionalTest.m; sourceTree = ""; }; + 45FF7A07CFC3B9B7AD6B49EE /* FraudDetectionDataTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FraudDetectionDataTest.swift; sourceTree = ""; }; + 46AC0B5EC7433E081825D31B /* CircularButtonSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularButtonSnapshotTests.swift; sourceTree = ""; }; + 46C31CAD0FA74B58BA2B8530 /* STPPaymentIntentEnumsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentEnumsTest.swift; sourceTree = ""; }; + 47A1AA1C80AE910FCFF58996 /* STPApplePayTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPApplePayTest.m; sourceTree = ""; }; + 47E12A0CBFA259A032F7AF0C /* STPPaymentMethodKlarnaParamsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodKlarnaParamsTests.swift; sourceTree = ""; }; + 482693A3D9A527B0E671F757 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 483B243268646AE65B06E98C /* STPThreeDSFooterCustomizationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSFooterCustomizationTest.swift; sourceTree = ""; }; + 485E747DA1F72F091986787B /* STPEphemeralKeyProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPEphemeralKeyProvider.swift; sourceTree = ""; }; + 4866C83CD6596D781A053636 /* STPCardBrandTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPCardBrandTest.m; sourceTree = ""; }; + 4928F057B093B6DB5D76D32D /* Customer.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Customer.json; sourceTree = ""; }; + 498C3FB07CFD532779C755D3 /* STPAddress+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAddress+BasicUI.swift"; sourceTree = ""; }; + 49AA313E068FB99CEAA5F7D3 /* STPSetupIntentFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSetupIntentFunctionalTest.swift; sourceTree = ""; }; + 4A57C346FA98A057AF31C8B1 /* STPAPISettingsBridgeTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPAPISettingsBridgeTest.m; sourceTree = ""; }; + 4AA36705DED9164663A98B6A /* STPNumericStringValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPNumericStringValidatorTests.swift; sourceTree = ""; }; + 4AAE5EE11611F9F7762B64C6 /* STPAUBECSFormViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAUBECSFormViewModelTests.swift; sourceTree = ""; }; + 4CA5D11C977A95B8E936E907 /* STPIntentActionWeChatPayRedirectToAppTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionWeChatPayRedirectToAppTest.swift; sourceTree = ""; }; + 4DFDFC019C67AFF7C0F7630B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + 4E29B46F2C940E0A21734E09 /* StripeiOSTests.xctestplan */ = {isa = PBXFileReference; path = StripeiOSTests.xctestplan; sourceTree = ""; }; + 4E371E9B3B2E343FE954531C /* STPPaymentMethodBoletoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBoletoTests.swift; sourceTree = ""; }; + 4FD94FF270165D699DA89B24 /* STPPaymentMethodKlarnaTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodKlarnaTests.swift; sourceTree = ""; }; + 4FFA8B446217CDE678D7287F /* STPBlocks.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STPBlocks.h; sourceTree = ""; }; + 512A0E7C246D5F044245E069 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 51408DE266D0345784ADD4FA /* STPThreeDSNavigationBarCustomizationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSNavigationBarCustomizationTest.swift; sourceTree = ""; }; + 51BD2CE41E4F0CF648F44E4A /* TextFieldElement+IBANTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+IBANTest.swift"; sourceTree = ""; }; + 51E62BB62EA9B782778CA880 /* STPStackViewWithSeparatorSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPStackViewWithSeparatorSnapshotTests.swift; sourceTree = ""; }; + 51F49F2466BBBE64799209B5 /* STPAPIClientNetworkBridgeTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPAPIClientNetworkBridgeTest.m; sourceTree = ""; }; + 52F8AEC50D4623F80F04A533 /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 52FA1AFD632CCE18C4315FC6 /* LinkStubs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkStubs.swift; sourceTree = ""; }; + 5377FE4A168F45625923AF37 /* STPSourceVerificationTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSourceVerificationTest.m; sourceTree = ""; }; + 53C5AB22D6328E85A6DDF663 /* STPPaymentMethodParams+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentMethodParams+BasicUI.swift"; sourceTree = ""; }; + 54426CBF6F77ABEFBDFDA8C4 /* STPPaymentMethodAUBECSDebitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAUBECSDebitTests.swift; sourceTree = ""; }; + 5476BD87E0480A93958F0328 /* UITableViewCell+Stripe_Borders.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITableViewCell+Stripe_Borders.swift"; sourceTree = ""; }; + 547F890FCD6D6E8B0774E919 /* STPFileFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPFileFunctionalTest.m; sourceTree = ""; }; + 57852C506CC1A2B0F978D98B /* SWHttpTrafficRecorder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SWHttpTrafficRecorder.h; sourceTree = ""; }; + 5804C2B9C0704E386B3D25A4 /* UIViewController+Stripe_ParentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Stripe_ParentViewController.swift"; sourceTree = ""; }; + 58158E8A117299834246100F /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + 582C9C6F076A0FF1780C9769 /* CardSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = CardSource.json; sourceTree = ""; }; + 583DB466066B47C0F716E474 /* STPPaymentMethodGiropayTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGiropayTests.swift; sourceTree = ""; }; + 588C260880FFC584A00A89F5 /* STPEphemeralKeyManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPEphemeralKeyManager.swift; sourceTree = ""; }; + 58A53F005EA8FDDAA66126BA /* STPGenericInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputTextFieldSnapshotTests.swift; sourceTree = ""; }; + 5BB7453E4E1AD36D604A00E8 /* LinkToastSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkToastSnapshotTests.swift; sourceTree = ""; }; + 5C0462C8B2776183A2B03D51 /* stp_card_form_front@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_form_front@3x.png"; sourceTree = ""; }; + 5CE0ABE46E1C27A6AD8D8BD9 /* TextFieldElement+CardTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+CardTest.swift"; sourceTree = ""; }; + 5E4EA6394497D1BD57ED0032 /* Stripe Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe Tests-Release.xcconfig"; sourceTree = ""; }; + 5F23996EC0E06D47B20316AC /* STPPaymentMethodOXXOParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodOXXOParamsTests.m; sourceTree = ""; }; + 5F7AB40A5A10C2D267323ABE /* STPApplePayContextTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayContextTest.swift; sourceTree = ""; }; + 5FDD4956E0A04D33F0856F31 /* STPThreeDSLabelCustomizationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSLabelCustomizationTest.swift; sourceTree = ""; }; + 60E21B0DB0D3B307040EA88E /* STPSetupIntentFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSetupIntentFunctionalTest.m; sourceTree = ""; }; + 6152335A2DCCBB5490B39BB0 /* STPBankAccountFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPBankAccountFunctionalTest.m; sourceTree = ""; }; + 618DE183886175AF23C4E668 /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + 61AF6E95FE0DD913204CAB32 /* AnalyticsHelperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsHelperTests.swift; sourceTree = ""; }; + 61F8308B7250B642D19827D8 /* STPCameraView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCameraView.swift; sourceTree = ""; }; + 620CEE3CCA05E49698C4DE35 /* STPSourceReceiverTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSourceReceiverTest.m; sourceTree = ""; }; + 6215A9BF343775B1BD0F62AF /* STPPaymentOptionTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionTableViewCell.swift; sourceTree = ""; }; + 62169E37BD48681A914FA4CB /* BankAccount.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = BankAccount.json; sourceTree = ""; }; + 6223E57D3A198F956A37ED89 /* STPNumericDigitInputTextFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPNumericDigitInputTextFormatterTests.swift; sourceTree = ""; }; + 63114D0EAAE2606732DF5AA0 /* STPSourceCardDetailsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceCardDetailsTest.swift; sourceTree = ""; }; + 63A16B33FCF0B351D4A60247 /* MultibancoSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = MultibancoSource.json; sourceTree = ""; }; + 63F5F35DB97D8A176FB6ED24 /* NSString+StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSString+StripeTest.swift"; sourceTree = ""; }; + 65DCC9BDA647E58D3882C698 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 6618739767139C25C05B3631 /* STPPostalCodeInputTextFieldTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldTests.swift; sourceTree = ""; }; + 682296D57E9486BBCC6ED7F5 /* GiropaySource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = GiropaySource.json; sourceTree = ""; }; + 683F7735569D22CBEC9CA2E6 /* STPPaymentHandlerFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentHandlerFunctionalTest.m; sourceTree = ""; }; + 68778692A4A89E311FC9DEAE /* PaymentIntent.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = PaymentIntent.json; sourceTree = ""; }; + 6887F19BB9804BF45FD703FF /* STPPushProvisioningContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPushProvisioningContext.swift; sourceTree = ""; }; + 6955B3A3353F8442E4FBBBF6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 69BD038947E8E2376A0D240B /* STPCardScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardScanner.swift; sourceTree = ""; }; + 6A9E7B637A8747431B38FD1D /* STPCardValidationState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardValidationState.swift; sourceTree = ""; }; + 6B527265D186B66150D2787E /* STPStringUtilsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPStringUtilsTest.m; sourceTree = ""; }; + 6C0F5E7908FE3C7606DEAAD5 /* STPSetupIntentLastSetupErrorTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSetupIntentLastSetupErrorTest.m; sourceTree = ""; }; + 6C7094644EE056260D6F3B67 /* STPPaymentOptionsViewControllerLocalizationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionsViewControllerLocalizationTests.swift; sourceTree = ""; }; + 6C7B8DACB0A7294BC235E3BC /* STPPaymentIntentLastPaymentErrorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentLastPaymentErrorTest.swift; sourceTree = ""; }; + 6C8FE751333F580004BD72BA /* STPIntentWithPreferencesTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentWithPreferencesTest.swift; sourceTree = ""; }; + 6CC0B1FC92A573AAEA4F4E94 /* STPSetupIntentConfirmParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSetupIntentConfirmParamsTest.swift; sourceTree = ""; }; + 6E1F6514E7530C2A3478B2F5 /* STPCardCVCInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldFormatterTests.swift; sourceTree = ""; }; + 6F01150CD0255164FE2CF3A4 /* STPPaymentIntentParams+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentIntentParams+BasicUI.swift"; sourceTree = ""; }; + 6F017A08C7E633FB4297D274 /* UIViewController+Stripe_NavigationItemProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Stripe_NavigationItemProxy.swift"; sourceTree = ""; }; + 6F29142B51DC99E2258B4F60 /* LinkInstantDebitMandateViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInstantDebitMandateViewSnapshotTests.swift; sourceTree = ""; }; + 6FA025CE30EB3DA1C4321505 /* STPBankAccountTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPBankAccountTest.m; sourceTree = ""; }; + 71711FC8E2FB66E52A5FDD9A /* STPShippingAddressViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPShippingAddressViewController.swift; sourceTree = ""; }; + 71C175861E0F8882BCF85F78 /* STPPaymentMethodBacsDebitTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodBacsDebitTest.m; sourceTree = ""; }; + 725845FAFFAE11297BCDFD29 /* NSLocale+STPSwizzling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSLocale+STPSwizzling.h"; sourceTree = ""; }; + 72903593DC432D01720DC9D9 /* STPAddressFieldTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAddressFieldTableViewCell.swift; sourceTree = ""; }; + 72AC063833D29BC984B008A8 /* STPTestUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STPTestUtils.h; sourceTree = ""; }; + 72B1E4D9DA48CED66CD96308 /* LinkBadgeViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkBadgeViewSnapshotTest.swift; sourceTree = ""; }; + 739934737B9A09775CD278C9 /* STPPaymentMethodNetBankingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodNetBankingTests.swift; sourceTree = ""; }; + 74FDEF9F687C63BADFB96480 /* STPPaymentMethodUSBankAccountParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccountParamsTest.swift; sourceTree = ""; }; + 789D0B49B0788794739E3DD4 /* STPShippingAddressViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPShippingAddressViewControllerTest.swift; sourceTree = ""; }; + 78BA15D1F0844B1DA71A5348 /* STPAddCardViewControllerLocalizationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAddCardViewControllerLocalizationTests.swift; sourceTree = ""; }; + 79ABE6A14AF9D14103050876 /* STPPaymentConfigurationTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentConfigurationTest.m; sourceTree = ""; }; + 7B10B1A15063FEDBA4A59953 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 7B4DEF058786BD9D3D5EE2FB /* STPPaymentMethodParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodParamsTest.m; sourceTree = ""; }; + 7B8ADF2EA2D5C4C90BCDDDD5 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + 7B9A4A2B0FB9F8C743BBED48 /* PaymentTypeCellSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentTypeCellSnapshotTests.swift; sourceTree = ""; }; + 7C04AFC9CDE50D09D38A3232 /* FormSpecProviderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormSpecProviderTest.swift; sourceTree = ""; }; + 7CAE7444CEFE1D1EFB888996 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + 7D964D9E01627B419B4BD23C /* STPPaymentResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentResult.swift; sourceTree = ""; }; + 7EB4A04665E4B0FBE6BA24F6 /* stp_bank_fpx_ocbc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_ocbc@3x.png"; sourceTree = ""; }; + 7F68637E75142DCD46710796 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLabeledMultiFormTextFieldViewSnapshotTests.swift; sourceTree = ""; }; + 7F90C21B77335533395C4321 /* stp_bank_fpx_hong_leong_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_hong_leong_bank@3x.png"; sourceTree = ""; }; + 7F9659E92E94316FE4955156 /* LinkCardEditElementSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkCardEditElementSnapshotTests.swift; sourceTree = ""; }; + 806124200E77795DCFC8418E /* ConfirmButtonSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmButtonSnapshotTests.swift; sourceTree = ""; }; + 807FF966F1DE05F3496B817B /* STPAPIClient+PushProvisioning.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+PushProvisioning.swift"; sourceTree = ""; }; + 81352A0CBE46A59E6B1A712E /* STPBankSelectionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBankSelectionViewController.swift; sourceTree = ""; }; + 81B23BF8256AA75F9903AC0C /* STPAddressTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPAddressTests.m; sourceTree = ""; }; + 835CB781FBC19773ACC20676 /* LinkLegalTermsViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkLegalTermsViewSnapshotTests.swift; sourceTree = ""; }; + 83707086116ED364BE3C1F2E /* PayWithLinkViewController-WalletViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-WalletViewModelTests.swift"; sourceTree = ""; }; + 83A5A0074F69DE467F94ABFB /* LinkInlineSignupElementSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInlineSignupElementSnapshotTests.swift; sourceTree = ""; }; + 848AAE69CBF96A057F734365 /* ApplePayPaymentMethod.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = ApplePayPaymentMethod.json; sourceTree = ""; }; + 85989DAB8BF1AF241E086671 /* PaymentSheet+PaymentMethodAvailabilityTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+PaymentMethodAvailabilityTest.swift"; sourceTree = ""; }; + 85AAB72218409F85FE29E69E /* APIRequestTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIRequestTest.swift; sourceTree = ""; }; + 86673B13C7762666C774F124 /* ButtonLinkSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonLinkSnapshotTests.swift; sourceTree = ""; }; + 86798C95A778362EF815B4C6 /* UIView+Stripe_SafeAreaBounds.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Stripe_SafeAreaBounds.swift"; sourceTree = ""; }; + 86D961D8952114BE479E1EB7 /* NSLocale+STPSwizzling.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSLocale+STPSwizzling.m"; sourceTree = ""; }; + 8704ABFA91A5226847F4A69A /* STPAddCardViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAddCardViewControllerTest.swift; sourceTree = ""; }; + 87DB9F06FDC13DD3BFEAA27F /* stp_bank_fpx_bank_islam@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_bank_islam@3x.png"; sourceTree = ""; }; + 88AEABC15CCBB9EA393C175F /* STPMocks.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPMocks.m; sourceTree = ""; }; + 890660C21E3666CE7B82695B /* STPEphemeralKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPEphemeralKey.swift; sourceTree = ""; }; + 89CA73D6080D5B68F6465BC1 /* stp_bank_fpx_ambank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_ambank@3x.png"; sourceTree = ""; }; + 89E5DA3029F141B5111A5B2C /* STPPushProvisioningDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPushProvisioningDetails.swift; sourceTree = ""; }; + 8A7FBDBADC1EBC62FFC4A366 /* STPPaymentMethodAUBECSDebitParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodAUBECSDebitParamsTests.m; sourceTree = ""; }; + 8B5AC148E7D8B2EBAEDCB364 /* STPPaymentMethodThreeDSecureUsageTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodThreeDSecureUsageTest.m; sourceTree = ""; }; + 8BD02D8298877F10F2EF2A9D /* STPPaymentMethodCardTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardTest.swift; sourceTree = ""; }; + 8D49257A97E71A475A9F6E08 /* STPCountryPickerInputFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCountryPickerInputFieldSnapshotTests.swift; sourceTree = ""; }; + 8D866DCC403994A0D3CFB1D7 /* KlarnaHelperTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KlarnaHelperTest.swift; sourceTree = ""; }; + 8E8CA4361964E1BA400EFC89 /* STPTheme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPTheme.swift; sourceTree = ""; }; + 8EC1D194936D061E3255BCF4 /* stp_bank_fpx_uob@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_uob@3x.png"; sourceTree = ""; }; + 8ED737CB1253C3C5704B6C05 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + 8F4D19337AD2936DA69EAC4A /* STPPaymentMethodSEPADebitTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodSEPADebitTest.m; sourceTree = ""; }; + 8F7E3CE2105E4A39032CD919 /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; + 90D0900C5FDBB7952BCF2C3A /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + 917154477796779ECFA1334A /* STPPostalCodeInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldFormatterTests.swift; sourceTree = ""; }; + 924E878428D15506711CA628 /* STPPhoneNumberValidatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPhoneNumberValidatorTest.swift; sourceTree = ""; }; + 9290B75648F2D23764FA71E9 /* STPSTPViewWithSeparatorSnapshotTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSTPViewWithSeparatorSnapshotTests.m; sourceTree = ""; }; + 940209E5D30E86E856016906 /* STPPaymentMethodUPITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUPITests.swift; sourceTree = ""; }; + 94042E0B406F6AA45593D154 /* STPCardFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPCardFunctionalTest.m; sourceTree = ""; }; + 9475002E030E98735A0FD2EC /* STPNetworkStubbingTestCase.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPNetworkStubbingTestCase.m; sourceTree = ""; }; + 94A7104C1C470515616E4D2B /* STPCardCVCInputTextFieldTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldTests.swift; sourceTree = ""; }; + 966BA151AA0E428D1DD8A97C /* STPFPXBankBrandTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPFPXBankBrandTest.m; sourceTree = ""; }; + 969E196AB597EEF68C38103E /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 96E1FED5CE5974C9C1162E93 /* STPSectionHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSectionHeaderView.swift; sourceTree = ""; }; + 98544B08552407D41D398C68 /* STPShippingMethodTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPShippingMethodTableViewCell.swift; sourceTree = ""; }; + 98F7C1D780E1ED3BF8E1A271 /* STPPromise.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPromise.swift; sourceTree = ""; }; + 98F9CB667BC68767DFB5FACD /* OneTimeCodeTextFieldTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OneTimeCodeTextFieldTests.swift; sourceTree = ""; }; + 9B782E1D974A4C131E60E2BD /* STPBackendAPIAdapter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBackendAPIAdapter.swift; sourceTree = ""; }; + 9BBCE3A905041A709E8F279A /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 9CE65B72986B6B404B036183 /* STPIntentActionTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPIntentActionTest.m; sourceTree = ""; }; + 9D3BBCE8C46A38D0E20DBF4E /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + 9D73D989C9D488D820029FA1 /* PaymentSheet+APITest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+APITest.swift"; sourceTree = ""; }; + 9D85FA7B714BDD8D1FD83B75 /* OneTimeCodeTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OneTimeCodeTextFieldSnapshotTests.swift; sourceTree = ""; }; + 9DCCA0E8A02B4F4B23837FB4 /* MKPlacemark+PaymentSheetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MKPlacemark+PaymentSheetTests.swift"; sourceTree = ""; }; + 9EAE9A2AE65771403CE57C11 /* STPErrorBridgeTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPErrorBridgeTest.m; sourceTree = ""; }; + 9EB24EC81CE2C8D1C863B044 /* STPIntentActionLinkAuthenticateAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionLinkAuthenticateAccount.swift; sourceTree = ""; }; + 9F304A4028D563EBD2A523C8 /* STPBankAccountParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPBankAccountParamsTest.m; sourceTree = ""; }; + 9F8F79CBFDC930A18998D7B1 /* STPTestUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPTestUtils.m; sourceTree = ""; }; + 9FEE395C4DD0E0112AF3720C /* STPInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPInputTextFieldValidatorTests.swift; sourceTree = ""; }; + A00F4D8DB80EBD753E9AC961 /* STPPaymentMethodBillingDetailsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodBillingDetailsTest.m; sourceTree = ""; }; + A1003B17EB955A29BC77BF01 /* stp_icon_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_icon_bank@3x.png"; sourceTree = ""; }; + A1272F2E05A0E294DD9ECA26 /* STPApplePayContextFunctionalTestExtras.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayContextFunctionalTestExtras.swift; sourceTree = ""; }; + A14673FA54CB8B85CF8D71C3 /* STPTokenTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPTokenTest.m; sourceTree = ""; }; + A1C67AC5D415615E9F27D3E3 /* STPPaymentMethodBoletoParamsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBoletoParamsTests.swift; sourceTree = ""; }; + A1C876DC7F3E31D7189506A8 /* STPPaymentContextAmountModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentContextAmountModel.swift; sourceTree = ""; }; + A1CF1C43EEE33FC0AF31A2BB /* PaymentSheetPaymentMethodTypeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetPaymentMethodTypeTest.swift; sourceTree = ""; }; + A22E5B87755C1F05C3DB438C /* STPInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPInputTextFieldFormatterTests.swift; sourceTree = ""; }; + A2922A32A754CFC9AB8B48AE /* STPPaymentOptionsViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionsViewControllerTest.swift; sourceTree = ""; }; + A32EE0B1FC16687797E7C9DA /* AlipaySource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = AlipaySource.json; sourceTree = ""; }; + A5398E1156E0BFEBBF56FD2F /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; + A583966A33DCDCF04322A592 /* STPThreeDSTextFieldCustomizationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSTextFieldCustomizationTest.swift; sourceTree = ""; }; + A61763BA2CCA86F9B8FD4F1F /* OperationDebouncerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OperationDebouncerTests.swift; sourceTree = ""; }; + A6F6634AD12771A9BB100DD3 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + A7B538B1223FBD7F409A4B29 /* stp_bank_fpx_bank_muamalat@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_bank_muamalat@3x.png"; sourceTree = ""; }; + A7E369CEC9F5B3758F78E88F /* UINavigationBar+Stripe_Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationBar+Stripe_Theme.swift"; sourceTree = ""; }; + A8598727045C6268B57A5FC7 /* Stripe-umbrella.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Stripe-umbrella.h"; sourceTree = ""; }; + A8CF4EBC85BDC771DF2213C0 /* STPPaymentIntentFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentIntentFunctionalTest.m; sourceTree = ""; }; + A8F5797C145751AD55858B80 /* 3DSSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = 3DSSource.json; sourceTree = ""; }; + A95FC67D6E0C11B6FE40DC92 /* stp_icon_checkmark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_icon_checkmark@3x.png"; sourceTree = ""; }; + A982DCED06CCAEBE2C8835F3 /* stp_bank_fpx_maybank2u@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_maybank2u@3x.png"; sourceTree = ""; }; + A9A1BB31C7B514984231125B /* STPPaymentOptionsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionsViewController.swift; sourceTree = ""; }; + A9B50EE8ABC2506A6397C056 /* P24Source.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = P24Source.json; sourceTree = ""; }; + A9F06DC32147A8ABCD709E79 /* AddressViewControllerSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressViewControllerSnapshotTests.swift; sourceTree = ""; }; + AA0FCB6E05CDF74CC1C42042 /* STPTestingAPIClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STPTestingAPIClient.h; sourceTree = ""; }; + AA3CA5B4B91838CC7ED4D5EB /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + AAF368BCD5990EE5DC17D299 /* ImageTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageTest.swift; sourceTree = ""; }; + AB1A92C77AC61335184BBDBC /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + ABAABB969BFB7102D5AA5598 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + ACE8998EAF997A78759E49B5 /* STPPaymentIntentTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentTest.swift; sourceTree = ""; }; + AD06AED0AF8A9A7FB4A2E66F /* STPIntentActionAlipayHandleRedirectTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionAlipayHandleRedirectTest.swift; sourceTree = ""; }; + AD8BED2A6066514B51693172 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + AF342CBC167F9CAB5B49CC32 /* PayWithLinkButtonSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PayWithLinkButtonSnapshotTests.swift; sourceTree = ""; }; + AFB9F0B171497353AADD6544 /* STPPIIFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPIIFunctionalTest.m; sourceTree = ""; }; + AFF957F38AABE5F748C38C0B /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; + B0D081A26B59DE51FDDD1798 /* STPNetworkStubbingTestCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPNetworkStubbingTestCase.swift; sourceTree = ""; }; + B1217AD643A9E8F88B60F645 /* STPUserInformation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPUserInformation.swift; sourceTree = ""; }; + B2C7ED5A39AB3BB2248CEACA /* stp_fpx_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_fpx_logo@3x.png"; sourceTree = ""; }; + B334078D1C3E629BEB498BAB /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + B3E0745D13EB19BAA24F3BA3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + B407FE2D39775902A95B1118 /* StripeiOS Tests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "StripeiOS Tests-Bridging-Header.h"; sourceTree = ""; }; + B4D12508C2F1056A7EAFEC86 /* PKPayment+StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PKPayment+StripeTest.swift"; sourceTree = ""; }; + B4D31B0D7BD9F97AF3BB61E6 /* StripeBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeBundleLocator.swift; sourceTree = ""; }; + B5BA1ABFF1739E4051FAE6CB /* STPPaymentMethodCardWalletVisaCheckoutTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodCardWalletVisaCheckoutTest.m; sourceTree = ""; }; + B6799CC0D9C5FED26EE3494F /* STPSourceRedirectTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSourceRedirectTest.m; sourceTree = ""; }; + B6F3B966470A530E0DC53F8C /* STPThreeDSButtonCustomizationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSButtonCustomizationTest.swift; sourceTree = ""; }; + B70DF0B659009041F485EE0F /* Stripe+Exports.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Stripe+Exports.swift"; sourceTree = ""; }; + B7439CC6C0FB060EA312FF6D /* STPPaymentCardTextFieldTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentCardTextFieldTest.m; sourceTree = ""; }; + B78C72B0DB434EC7F700FDE0 /* STPCoreTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCoreTableViewController.swift; sourceTree = ""; }; + B7B5B626BCED2938C256BF49 /* STPSourceTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSourceTest.m; sourceTree = ""; }; + B7F7AA0B7B86BA5BB2FE92CE /* STPMandateDataParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMandateDataParamsTest.swift; sourceTree = ""; }; + B8DD70E5ED8E9DE8E9752C9E /* STPAPIClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAPIClientTest.swift; sourceTree = ""; }; + BA08DCDD421CE92ECB61EF5C /* STPFPXBankStatusResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFPXBankStatusResponse.swift; sourceTree = ""; }; + BAFD938F3A149A56CC99FE96 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + BB8FCDBC63A79CD1571A2DFB /* STPCustomerContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCustomerContext.swift; sourceTree = ""; }; + BC7B7ED388B6C6AE57D3D627 /* LinkAccountServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkAccountServiceTests.swift; sourceTree = ""; }; + BCBEA9E4823F08C1F5057B5A /* STPAUBECSDebitFormViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAUBECSDebitFormViewSnapshotTests.swift; sourceTree = ""; }; + BCFA6BB95613ED3F668A0DC9 /* stp_bank_fpx_bsn@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_bsn@3x.png"; sourceTree = ""; }; + BD89580A3E41D7167C30B287 /* STPAnalyticsClient+Payments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Payments.swift"; sourceTree = ""; }; + BF8A27B4CE855392E3E3F735 /* STPPaymentMethodFPXTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodFPXTest.m; sourceTree = ""; }; + BFB4A210A30D1D4F3D3100E5 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + C17799DC7FA54E758EED31A6 /* NSArray+StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSArray+StripeTest.swift"; sourceTree = ""; }; + C1AAF76C3F4850217C28E362 /* STPTestingAPIClient.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPTestingAPIClient.m; sourceTree = ""; }; + C23D612FD5AD7772E1B30DCC /* STPThreeDSSelectionCustomizationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSSelectionCustomizationTest.swift; sourceTree = ""; }; + C3B75875C55D2C2723DC5090 /* STPSource+BasicUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPSource+BasicUI.swift"; sourceTree = ""; }; + C45852D37E323E65C47348B0 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + C5923A4DD3CD39CB64B8A8C9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + C5BEAA15B53AC5662A33D0E1 /* STPEphemeralKeyTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPEphemeralKeyTest.swift; sourceTree = ""; }; + C6C7959FA69D6E930834AFE5 /* FBSnapshotTestCase+STPViewControllerLoading.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "FBSnapshotTestCase+STPViewControllerLoading.m"; sourceTree = ""; }; + C713F58BC61A962C720AE0AE /* STPMandateCustomerAcceptanceParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMandateCustomerAcceptanceParamsTest.swift; sourceTree = ""; }; + C750C2C4AB33BC232D1592BA /* STPPaymentContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentContext.swift; sourceTree = ""; }; + C7F54E1E8FFA1505D24538A6 /* STPShippingMethodsViewControllerLocalizationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPShippingMethodsViewControllerLocalizationTests.swift; sourceTree = ""; }; + C861CC96A54A24BDC1303C1B /* Card.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Card.json; sourceTree = ""; }; + C8F8FCC84601E4ADC6B7F3CE /* PaymentAnalyticTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentAnalyticTest.swift; sourceTree = ""; }; + C980D24DDC884FECCE39139F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + CAC5FD19B4843C454E6881DB /* stp_bank_fpx_public_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_public_bank@3x.png"; sourceTree = ""; }; + CD5AC2BFBC8141F98C00CF9F /* StripeiOS_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeiOS_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + CDDB4BC3C16AB7218E6FF1FA /* PaymentSheetTestUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetTestUtils.swift; sourceTree = ""; }; + CDDEAB86BE4711841D426F3B /* STPPaymentIntentFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentFunctionalTest.swift; sourceTree = ""; }; + CEAF8A072B0BF86AD02655B0 /* stp_fpx_big_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_fpx_big_logo@3x.png"; sourceTree = ""; }; + CEB30E3846E24FD57A44764A /* LinkInMemoryCookieStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInMemoryCookieStoreTests.swift; sourceTree = ""; }; + CF13BAEF86594C9CABD4F42A /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccountParamsStubbedTest.swift; sourceTree = ""; }; + CF5E437205850C2039BBEBCB /* STPLabeledFormTextFieldViewSnapshotTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPLabeledFormTextFieldViewSnapshotTests.m; sourceTree = ""; }; + CF8E26B31C0F2B256763BDDB /* STPPaymentMethodAfterpayClearpayParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodAfterpayClearpayParamsTest.m; sourceTree = ""; }; + CF902DC49DD90860BD0E5E80 /* STPPaymentIntentParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentParamsTest.swift; sourceTree = ""; }; + CFB4BBE0C4760DB457DE9A57 /* STPPaymentMethodPrzelewy24ParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodPrzelewy24ParamsTests.m; sourceTree = ""; }; + CFC4BC1AB047ED88C4D13C89 /* STPApplePayTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayTest.swift; sourceTree = ""; }; + CFFE40AD9D875709F643D2E5 /* ConfirmButtonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmButtonTests.swift; sourceTree = ""; }; + D07275F94914B7E7937D24FE /* NSDictionary+StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSDictionary+StripeTest.swift"; sourceTree = ""; }; + D106EFD1BF019522BE7BEBBE /* STPPaymentContextSnapshotTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentContextSnapshotTests.m; sourceTree = ""; }; + D1681629DCEA0765515D3D49 /* STPSourceOwnerTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPSourceOwnerTest.m; sourceTree = ""; }; + D1859673CAD068B345F5DD7D /* STPCardCVCInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldSnapshotTests.swift; sourceTree = ""; }; + D2F205F920E971DEA59E3C31 /* STPIntentActionTypeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionTypeTest.swift; sourceTree = ""; }; + D3667F97B7665F699D6704BE /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + D3803D0DED98501AA26B2EAC /* STPCardNumberInputTextFieldFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldFormatterTests.swift; sourceTree = ""; }; + D3B00A0DC03407F2E67C3B4E /* STPFixtures.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STPFixtures.h; sourceTree = ""; }; + D3D2DB08C335695B705F544C /* STPAddressViewModelTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAddressViewModelTest.swift; sourceTree = ""; }; + D42F83F785EAF24F5DC7ED1A /* STPCardCVCInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldValidatorTests.swift; sourceTree = ""; }; + D45CA902199FABE1254E8D1F /* STPConnectAccountFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPConnectAccountFunctionalTest.m; sourceTree = ""; }; + D5C4A4CC7D2E9B5AB3EC3B79 /* STPPaymentOptionsInternalViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionsInternalViewController.swift; sourceTree = ""; }; + D609FFD051FC01BF566665A0 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + D61146D58FD219AE39E71D7D /* PaymentSheetAddressTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetAddressTests.swift; sourceTree = ""; }; + D794C5E6396B4A19DC4F6921 /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D7C4773C2D193BEDF1CBB530 /* STPCardNumberInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldValidatorTests.swift; sourceTree = ""; }; + D8099EC47BB1527E2B9A2446 /* PaymentMethodMessagingViewFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodMessagingViewFunctionalTest.swift; sourceTree = ""; }; + D82418EB84598A2CEE2DCB28 /* STPConnectAccountAddressTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPConnectAccountAddressTest.m; sourceTree = ""; }; + D87817A1D3D213AA4ADF6A4C /* STPPaymentMethodAffirmParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAffirmParamsTest.swift; sourceTree = ""; }; + D892925D1F56E9380A2D334F /* paymentIntentResponse.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = paymentIntentResponse.json; sourceTree = ""; }; + D93C23F55BEADF9BC74DFBDB /* STPImageLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPImageLibrary.swift; sourceTree = ""; }; + DA581592426609EDBE9B1CF4 /* stp_bank_fpx_maybank2e@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_bank_fpx_maybank2e@3x.png"; sourceTree = ""; }; + DA82BB67D434E76B9ABA4CEC /* Stripe-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe-Release.xcconfig"; sourceTree = ""; }; + DB58AC5E2E0A68221260FD44 /* STPMandateOnlineParamsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMandateOnlineParamsTest.swift; sourceTree = ""; }; + DC3AD586DDED620B9E68F461 /* StripeErrorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeErrorTest.swift; sourceTree = ""; }; + DDC55CC034022DFAC9366E2E /* StripePaymentSheet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentSheet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DE24B3BAD7E890661CCA817D /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + DE3D0F21FB3B3E8BCA15FF7C /* STPShippingAddressViewControllerLocalizationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPShippingAddressViewControllerLocalizationTests.swift; sourceTree = ""; }; + DF470B57E61F36BD1C0A1224 /* STPConnectAccountParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPConnectAccountParamsTest.m; sourceTree = ""; }; + DFA4E34E459EA612E065DE64 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + DFA7A75BA785EBBE4C05DAA3 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + E0A27E1D77216CE0267C981C /* STPPaymentMethodCardChecksTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodCardChecksTest.m; sourceTree = ""; }; + E136A967522048B313E3C62F /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E1644AA33E81233EF33022BA /* STPCardValidatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardValidatorTest.swift; sourceTree = ""; }; + E1A2173E0891B7138687D544 /* Stripe-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe-Debug.xcconfig"; sourceTree = ""; }; + E1CD20E00EAD41091B71ABD5 /* NSURLComponents_StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSURLComponents_StripeTest.swift; sourceTree = ""; }; + E2307F2C5E53540D4ACAA1F6 /* UIToolbar+Stripe_InputAccessory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIToolbar+Stripe_InputAccessory.swift"; sourceTree = ""; }; + E315168EF07F52B733EA77F8 /* STPSwiftFixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSwiftFixtures.swift; sourceTree = ""; }; + E3810757AF83E98307634814 /* STPRedirectContextTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPRedirectContextTest.m; sourceTree = ""; }; + E3AC82FE96A69220B300FBE6 /* STPTestAPIClient+Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPTestAPIClient+Swift.swift"; sourceTree = ""; }; + E3B42EBAC0DC7ED0D9200DB7 /* STPBlocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBlocks.swift; sourceTree = ""; }; + E3C8833E7EBA7A1EBF349D19 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + E3D73CE47141F7D1E44283D2 /* STPApplePayContextFunctionalTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPApplePayContextFunctionalTest.m; sourceTree = ""; }; + E412BB731BC34BB1A7EC3B8D /* SofortSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = SofortSource.json; sourceTree = ""; }; + E4194E605BB5F31E9CBB8F96 /* STPAPIClientStubbedTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAPIClientStubbedTest.swift; sourceTree = ""; }; + E4442901582C822007C3BB67 /* STPPaymentMethodNetBankingParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodNetBankingParamsTest.m; sourceTree = ""; }; + E452877E5D11120B1E28A6E7 /* STPApplePayContextDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayContextDelegate.swift; sourceTree = ""; }; + E5D9F97ABC88302478220267 /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PKPaymentAuthorizationViewController+Stripe_Blocks.swift"; sourceTree = ""; }; + E6312182B5BCAB940D216650 /* ConsumerSessionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsumerSessionTests.swift; sourceTree = ""; }; + E68F6B90F3BC61A49570FAF4 /* UINavigationBar+StripeTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UINavigationBar+StripeTest.m"; sourceTree = ""; }; + E6DEE912364C9F4B51B374D0 /* STPPaymentCardTextFieldViewModelTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextFieldViewModelTest.swift; sourceTree = ""; }; + E7ACB4FAFAD33296DE34D036 /* STPAnalyticsClientPaymentsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientPaymentsTest.swift; sourceTree = ""; }; + E7C7D85A7FAAFDF4F59BA85E /* LinkSignupViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkSignupViewModelTests.swift; sourceTree = ""; }; + E8063E8073A32E0B081A1DFA /* STPPaymentMethodSofortTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSofortTests.swift; sourceTree = ""; }; + E9A962F163EC016697A82124 /* PaymentSheetLinkAccountTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetLinkAccountTests.swift; sourceTree = ""; }; + EA20E0E29EDC1F61ADA226A2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + EA9975553E669AF69F3CE437 /* STPPostalCodeInputTextFieldValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldValidatorTests.swift; sourceTree = ""; }; + EAB51503D64F3464BFBC18CB /* STPPaymentMethodUPIParamsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodUPIParamsTest.m; sourceTree = ""; }; + EAD0042713B4C2FEB8916EDC /* STPPaymentMethodOXXOTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodOXXOTests.m; sourceTree = ""; }; + EB6AE83989B0596F0C111E13 /* STPStringUtilsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPStringUtilsTest.swift; sourceTree = ""; }; + EB71A4A2762CF864DB198BCF /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + EC5115C4E72B99EE743139F1 /* stp_icon_add@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_icon_add@3x.png"; sourceTree = ""; }; + EDD30E5DB8DB3AA3567F5C20 /* STPPaymentOptionTuple.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentOptionTuple.swift; sourceTree = ""; }; + EEEC1EA82490933B169915C4 /* PaymentSheetFormFactoryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetFormFactoryTest.swift; sourceTree = ""; }; + EFD2F6A5A046A620BAB75B41 /* AutoCompleteViewControllerSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoCompleteViewControllerSnapshotTests.swift; sourceTree = ""; }; + F0293B82D7078EE11F9B5639 /* UIView+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Helpers.swift"; sourceTree = ""; }; + F0D010B03BB8B290806267A0 /* STPEphemeralKeyManagerTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPEphemeralKeyManagerTest.m; sourceTree = ""; }; + F13E3DE09A463B4501733B87 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + F153420EA142B5CA76E89A04 /* STPMocks.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STPMocks.h; sourceTree = ""; }; + F22EE02CE12F3EBFACDAE9A4 /* STPUIVCStripeParentViewControllerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPUIVCStripeParentViewControllerTests.m; sourceTree = ""; }; + F24B1E06C600CA30A97F5AEA /* iDEALSource.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = iDEALSource.json; sourceTree = ""; }; + F3C732C25FD961631BD44FDD /* STPBSBNumberValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBSBNumberValidatorTests.swift; sourceTree = ""; }; + F44327A2B2C9483F52EE343B /* STPFormViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFormViewSnapshotTests.swift; sourceTree = ""; }; + F4E5416F6AE8BED88980D6F8 /* STPPaymentMethodBancontactTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBancontactTests.swift; sourceTree = ""; }; + F4F116895CA31148DB6CE0DF /* PaymentMethodMessagingViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodMessagingViewSnapshotTests.swift; sourceTree = ""; }; + F546088BA4F763334CFD3D34 /* STPImageLibraryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPImageLibraryTest.swift; sourceTree = ""; }; + F6558C62376C2397030BD4A6 /* STPPaymentMethodPrzelewy24Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPrzelewy24Tests.swift; sourceTree = ""; }; + F7385193226663A5B79E69ED /* STPFloatingPlaceholderTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFloatingPlaceholderTextFieldSnapshotTests.swift; sourceTree = ""; }; + F8CEB050CB2231F1459824EC /* EphemeralKey.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = EphemeralKey.json; sourceTree = ""; }; + FA793904C7B2D3AA0A4D5EFB /* STPAddCardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAddCardViewController.swift; sourceTree = ""; }; + FABC6FF8D581998A773A8656 /* STPCustomerTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPCustomerTest.m; sourceTree = ""; }; + FC30E6129279F14506219E98 /* STPPaymentHandlerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentHandlerTests.swift; sourceTree = ""; }; + FCA64B2C21FCFAC433EA3781 /* recorded_network_traffic */ = {isa = PBXFileReference; path = recorded_network_traffic; sourceTree = ""; }; + FD289E1EA9F0CE1C848AC0BB /* STPCardNumberInputTextFieldSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldSnapshotTests.swift; sourceTree = ""; }; + FD3398E2352CEA0264F20AEA /* stp_test_upload_image.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = stp_test_upload_image.jpeg; sourceTree = ""; }; + FDA32D0C9E8A7A69F4899EDC /* RotatingCardBrandsViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RotatingCardBrandsViewSnapshotTests.swift; sourceTree = ""; }; + FDF7394DDD552EDE996EAD8E /* STPPostalCodeValidatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeValidatorTest.swift; sourceTree = ""; }; + FE1929CD1B3D3DCC2401E2F8 /* STPPaymentMethodPayPalParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STPPaymentMethodPayPalParamsTests.m; sourceTree = ""; }; + FF5E08A1651D9DFE502DA021 /* STPCardFormViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardFormViewTests.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1587AD7E52759FBC80315765 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 32874C6147344A9CB2EF4DAD /* Stripe3DS2.framework in Frameworks */, + 8520A27C204A068C43592024 /* StripeApplePay.framework in Frameworks */, + E97168F37D769524B58461B6 /* StripeCore.framework in Frameworks */, + 360EEE8B706D2A4A49666F7A /* StripePayments.framework in Frameworks */, + 9363F8F389C04C19B37D0F0A /* StripePaymentsUI.framework in Frameworks */, + EA34719659CB9F1A269FECC7 /* StripeUICore.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6ACBDD66E08F7CEE34A8FFFA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AC7C127B11A60222465F4696 /* XCTest.framework in Frameworks */, + D151C8724925DCBA4BA4F46A /* StripeCoreTestUtils.framework in Frameworks */, + 420F8CAB4FAD6D9AF4AF25C0 /* StripePaymentSheet.framework in Frameworks */, + EEA502DF8809B8FD0D00785E /* StripePayments.framework in Frameworks */, + 03E60F9EF24C975AF90E2447 /* StripePaymentsUI.framework in Frameworks */, + 0FA3C1494BA57884B5DE3B20 /* Stripe.framework in Frameworks */, + 2EB68A59660A4D1E14799DA4 /* OHHTTPStubs in Frameworks */, + 2CD7968DA48F7129E16EA0CB /* OHHTTPStubsSwift in Frameworks */, + 5C51167CC14F653E7117BA61 /* OCMock in Frameworks */, + B795A5EB8FDECA1060A9655C /* iOSSnapshotTestCase in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 7129AA5AD64208D3B1A76AAE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9291A08CCB34504FCA4B7481 /* XCTest.framework in Frameworks */, + 2F0FC4E67BE577AD66CD1475 /* StripePaymentSheet.framework in Frameworks */, + 78B70C2EE8334F0FA91439CA /* Stripe.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C04854A8658964DDD0A15E1C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 00AA0CCB7109D2B82EF8EEA0 /* Project */ = { + isa = PBXGroup; + children = ( + D0F67D3A4FA2B67D2AB0A49F /* BuildConfigurations */, + 97BE66955C28DB78DA12F5F6 /* BuildConfigurations */, + B035E857851EAF160C88DC2B /* StripeiOS */, + 9C700DBA02FFEC23B92EF107 /* StripeiOSAppHostedTests */, + CFD249F84390F2310542962A /* StripeiOSTestHostApp */, + EB228B1D404A48918221D9D6 /* StripeiOSTests */, + 4E29B46F2C940E0A21734E09 /* StripeiOSTests.xctestplan */, + ); + name = Project; + sourceTree = ""; + }; + 0360377163257AE558A2CDAA /* FPX */ = { + isa = PBXGroup; + children = ( + 2A588999859430CC959C6F4B /* stp_bank_fpx_affin_bank@3x.png */, + 1F6237EC7D3A866814A7DC88 /* stp_bank_fpx_alliance_bank@3x.png */, + 89CA73D6080D5B68F6465BC1 /* stp_bank_fpx_ambank@3x.png */, + 87DB9F06FDC13DD3BFEAA27F /* stp_bank_fpx_bank_islam@3x.png */, + A7B538B1223FBD7F409A4B29 /* stp_bank_fpx_bank_muamalat@3x.png */, + 34D8B80455B75885088E9DAC /* stp_bank_fpx_bank_rakyat@3x.png */, + BCFA6BB95613ED3F668A0DC9 /* stp_bank_fpx_bsn@3x.png */, + 1FD3467084C9B5F7B4C15364 /* stp_bank_fpx_cimb@3x.png */, + 7F90C21B77335533395C4321 /* stp_bank_fpx_hong_leong_bank@3x.png */, + 05A3E36498CBA9E5FB8323C9 /* stp_bank_fpx_hsbc@3x.png */, + 43398AFBACB8BA1DB29A437C /* stp_bank_fpx_kfh@3x.png */, + DA581592426609EDBE9B1CF4 /* stp_bank_fpx_maybank2e@3x.png */, + A982DCED06CCAEBE2C8835F3 /* stp_bank_fpx_maybank2u@3x.png */, + 7EB4A04665E4B0FBE6BA24F6 /* stp_bank_fpx_ocbc@3x.png */, + CAC5FD19B4843C454E6881DB /* stp_bank_fpx_public_bank@3x.png */, + 152E45642578F76AAEB1CF61 /* stp_bank_fpx_rhb@3x.png */, + 40E3C9AF9FA4576DAC027275 /* stp_bank_fpx_standard_chartered@3x.png */, + 8EC1D194936D061E3255BCF4 /* stp_bank_fpx_uob@3x.png */, + CEAF8A072B0BF86AD02655B0 /* stp_fpx_big_logo@3x.png */, + B2C7ED5A39AB3BB2248CEACA /* stp_fpx_logo@3x.png */, + ); + path = FPX; + sourceTree = ""; + }; + 2EC2475EABAA6AB3ADF1A1DC /* Images */ = { + isa = PBXGroup; + children = ( + 3CF7E190074CFBA173441126 /* Cards */, + 0360377163257AE558A2CDAA /* FPX */, + EC5115C4E72B99EE743139F1 /* stp_icon_add@3x.png */, + A1003B17EB955A29BC77BF01 /* stp_icon_bank@3x.png */, + A95FC67D6E0C11B6FE40DC92 /* stp_icon_checkmark@3x.png */, + 21BC7D5A0DDD653571B76168 /* stp_shipping_form@3x.png */, + ); + path = Images; + sourceTree = ""; + }; + 3CF7E190074CFBA173441126 /* Cards */ = { + isa = PBXGroup; + children = ( + 0227131370F51B0533585BEB /* stp_card_form_amex_cvc@3x.png */, + 2A0E991FB88CBE8C9135DFE0 /* stp_card_form_back@3x.png */, + 5C0462C8B2776183A2B03D51 /* stp_card_form_front@3x.png */, + ); + path = Cards; + sourceTree = ""; + }; + 437EB711F100257495D02BD7 /* Resources */ = { + isa = PBXGroup; + children = ( + 147D2DC1FFDFC99269039377 /* LaunchScreen.storyboard */, + 884C01B087B4D820395BD374 /* Main.storyboard */, + 6955B3A3353F8442E4FBBBF6 /* Assets.xcassets */, + ); + path = Resources; + sourceTree = ""; + }; + 7EA3633D452F7A9C017F4D52 /* Source */ = { + isa = PBXGroup; + children = ( + 8F7E3CE2105E4A39032CD919 /* Enums+CustomStringConvertible.swift */, + 273EE407039913F0B644172B /* PKAddPaymentPassRequest+Stripe_Error.swift */, + E5D9F97ABC88302478220267 /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift */, + FA793904C7B2D3AA0A4D5EFB /* STPAddCardViewController.swift */, + 498C3FB07CFD532779C755D3 /* STPAddress+BasicUI.swift */, + 72903593DC432D01720DC9D9 /* STPAddressFieldTableViewCell.swift */, + 28A50AFA4603E488FF3D82D0 /* STPAddressViewModel.swift */, + 12DBB3F72AEFB52DE27C27ED /* STPAnalyticsClient+BasicUI.swift */, + BD89580A3E41D7167C30B287 /* STPAnalyticsClient+Payments.swift */, + 1E8AFAE24610EC983727F860 /* STPAPIClient+BasicUI.swift */, + 807FF966F1DE05F3496B817B /* STPAPIClient+PushProvisioning.swift */, + E452877E5D11120B1E28A6E7 /* STPApplePayContextDelegate.swift */, + 03ACDC7EEC28D1FE50008F65 /* STPApplePayPaymentOption.swift */, + 9B782E1D974A4C131E60E2BD /* STPBackendAPIAdapter.swift */, + 458F8576215E0F8ECE1D74CE /* STPBankSelectionTableViewCell.swift */, + 81352A0CBE46A59E6B1A712E /* STPBankSelectionViewController.swift */, + E3B42EBAC0DC7ED0D9200DB7 /* STPBlocks.swift */, + 61F8308B7250B642D19827D8 /* STPCameraView.swift */, + 3E5FB20B2BEFC00D54FDD87D /* STPCard+BasicUI.swift */, + 69BD038947E8E2376A0D240B /* STPCardScanner.swift */, + 0B91C4D5B93FF71C61B140F1 /* STPCardScannerTableViewCell.swift */, + 6A9E7B637A8747431B38FD1D /* STPCardValidationState.swift */, + 2D1525AF65BDEF691F8BCBE8 /* STPCoreScrollViewController.swift */, + B78C72B0DB434EC7F700FDE0 /* STPCoreTableViewController.swift */, + 02FC9ED423D40C88D5A24441 /* STPCoreViewController.swift */, + BB8FCDBC63A79CD1571A2DFB /* STPCustomerContext.swift */, + 890660C21E3666CE7B82695B /* STPEphemeralKey.swift */, + 588C260880FFC584A00A89F5 /* STPEphemeralKeyManager.swift */, + 485E747DA1F72F091986787B /* STPEphemeralKeyProvider.swift */, + 0669B4CA326CE74D125C789C /* STPFakeAddPaymentPassViewController.swift */, + BA08DCDD421CE92ECB61EF5C /* STPFPXBankStatusResponse.swift */, + D93C23F55BEADF9BC74DFBDB /* STPImageLibrary.swift */, + 9EB24EC81CE2C8D1C863B044 /* STPIntentActionLinkAuthenticateAccount.swift */, + AFF957F38AABE5F748C38C0B /* STPLocalizedString.swift */, + 1FFBAA4B44967B157A4F4E91 /* STPPaymentActivityIndicatorView.swift */, + 01B42BE6FB5EC1F708875AB8 /* STPPaymentCardTextFieldCell.swift */, + 18FCB69CD3B8C3DAB216A5F0 /* STPPaymentConfiguration.swift */, + C750C2C4AB33BC232D1592BA /* STPPaymentContext.swift */, + A1C876DC7F3E31D7189506A8 /* STPPaymentContextAmountModel.swift */, + 6F01150CD0255164FE2CF3A4 /* STPPaymentIntentParams+BasicUI.swift */, + 35C1E9B0EE03825DABF6471A /* STPPaymentMethod+BasicUI.swift */, + 53C5AB22D6328E85A6DDF663 /* STPPaymentMethodParams+BasicUI.swift */, + 30B694A39D54886392AA5DE3 /* STPPaymentOption.swift */, + D5C4A4CC7D2E9B5AB3EC3B79 /* STPPaymentOptionsInternalViewController.swift */, + A9A1BB31C7B514984231125B /* STPPaymentOptionsViewController.swift */, + 6215A9BF343775B1BD0F62AF /* STPPaymentOptionTableViewCell.swift */, + EDD30E5DB8DB3AA3567F5C20 /* STPPaymentOptionTuple.swift */, + 7D964D9E01627B419B4BD23C /* STPPaymentResult.swift */, + 3EBB07171F6FDCE6E20C454A /* STPPinManagementService.swift */, + 98F7C1D780E1ED3BF8E1A271 /* STPPromise.swift */, + 6887F19BB9804BF45FD703FF /* STPPushProvisioningContext.swift */, + 89E5DA3029F141B5111A5B2C /* STPPushProvisioningDetails.swift */, + 2B28B8A547CD846277ECD578 /* STPPushProvisioningDetailsParams.swift */, + 96E1FED5CE5974C9C1162E93 /* STPSectionHeaderView.swift */, + 71711FC8E2FB66E52A5FDD9A /* STPShippingAddressViewController.swift */, + 21E4B84223DDA131544DBBA7 /* STPShippingMethodsViewController.swift */, + 98544B08552407D41D398C68 /* STPShippingMethodTableViewCell.swift */, + C3B75875C55D2C2723DC5090 /* STPSource+BasicUI.swift */, + 8E8CA4361964E1BA400EFC89 /* STPTheme.swift */, + B1217AD643A9E8F88B60F645 /* STPUserInformation.swift */, + A5398E1156E0BFEBBF56FD2F /* String+Localized.swift */, + B70DF0B659009041F485EE0F /* Stripe+Exports.swift */, + B4D31B0D7BD9F97AF3BB61E6 /* StripeBundleLocator.swift */, + 3B3000668A75E095B514241F /* UIBarButtonItem+Stripe.swift */, + A7E369CEC9F5B3758F78E88F /* UINavigationBar+Stripe_Theme.swift */, + 2C078573F46762353664AC92 /* UINavigationController+Stripe_Completion.swift */, + 5476BD87E0480A93958F0328 /* UITableViewCell+Stripe_Borders.swift */, + E2307F2C5E53540D4ACAA1F6 /* UIToolbar+Stripe_InputAccessory.swift */, + F0293B82D7078EE11F9B5639 /* UIView+Helpers.swift */, + 1B76DF0FE363F59BF0940A8B /* UIView+Stripe_FirstResponder.swift */, + 86798C95A778362EF815B4C6 /* UIView+Stripe_SafeAreaBounds.swift */, + 2F08757CA6F6B2DA65C14E0A /* UIViewController+Stripe_KeyboardAvoiding.swift */, + 6F017A08C7E633FB4297D274 /* UIViewController+Stripe_NavigationItemProxy.swift */, + 5804C2B9C0704E386B3D25A4 /* UIViewController+Stripe_ParentViewController.swift */, + 26302721419496F37DE91DF8 /* UserDefaults+Stripe.swift */, + ); + path = Source; + sourceTree = ""; + }; + 85B4F3432AB3A8B94C9D2591 /* Products */ = { + isa = PBXGroup; + children = ( + 4259421D2CD26E37B96F97B2 /* Stripe.framework */, + 33FDC634FD5D79E824240DDC /* Stripe3DS2.framework */, + 52F8AEC50D4623F80F04A533 /* StripeApplePay.framework */, + 43B4E4B85C598D7A9AFCB4D4 /* StripeCore.framework */, + 512A0E7C246D5F044245E069 /* StripeCoreTestUtils.framework */, + CD5AC2BFBC8141F98C00CF9F /* StripeiOS_Tests.xctest */, + 1DD6897858F46976A946394E /* StripeiOSAppHostedTests.xctest */, + 294CD46E24BB2743042872D7 /* StripeiOSTestHostApp.app */, + 22D1C6EB5826E2D7C80B6CF3 /* StripePayments.framework */, + DDC55CC034022DFAC9366E2E /* StripePaymentSheet.framework */, + E136A967522048B313E3C62F /* StripePaymentsUI.framework */, + D794C5E6396B4A19DC4F6921 /* StripeUICore.framework */, + ); + name = Products; + sourceTree = ""; + }; + 97BE66955C28DB78DA12F5F6 /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + EB71A4A2762CF864DB198BCF /* Project-Debug.xcconfig */, + 969E196AB597EEF68C38103E /* Project-Release.xcconfig */, + D609FFD051FC01BF566665A0 /* StripeiOS Tests-Debug.xcconfig */, + E3C8833E7EBA7A1EBF349D19 /* StripeiOS Tests-Release.xcconfig */, + ); + name = BuildConfigurations; + path = ../BuildConfigurations; + sourceTree = ""; + }; + 9C700DBA02FFEC23B92EF107 /* StripeiOSAppHostedTests */ = { + isa = PBXGroup; + children = ( + 65DCC9BDA647E58D3882C698 /* Info.plist */, + 10BAD33BEC6C2894F9266902 /* LinkSecureCookieStoreTests.swift */, + ); + path = StripeiOSAppHostedTests; + sourceTree = ""; + }; + 9F3786310FB7789C77466A2E /* MockFiles */ = { + isa = PBXGroup; + children = ( + D892925D1F56E9380A2D334F /* paymentIntentResponse.json */, + ); + path = MockFiles; + sourceTree = ""; + }; + AF41AE099441C2A09DECC1AC /* Localizations */ = { + isa = PBXGroup; + children = ( + C2427C1CDFA85BFC6570F1E9 /* Localizable.strings */, + ); + path = Localizations; + sourceTree = ""; + }; + B035E857851EAF160C88DC2B /* StripeiOS */ = { + isa = PBXGroup; + children = ( + FBC7A77342A98B1DE8E416B7 /* Resources */, + 7EA3633D452F7A9C017F4D52 /* Source */, + C5923A4DD3CD39CB64B8A8C9 /* Info.plist */, + A8598727045C6268B57A5FC7 /* Stripe-umbrella.h */, + ); + path = StripeiOS; + sourceTree = ""; + }; + B7A38600F42999DA8F83AD27 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 005650A59D692F820EF20F5F /* XCTest.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + CFD249F84390F2310542962A /* StripeiOSTestHostApp */ = { + isa = PBXGroup; + children = ( + 437EB711F100257495D02BD7 /* Resources */, + 9BBCE3A905041A709E8F279A /* AppDelegate.swift */, + B3E0745D13EB19BAA24F3BA3 /* Info.plist */, + 1F29C15B47C7CB0941CD4C9E /* ViewController.swift */, + ); + path = StripeiOSTestHostApp; + sourceTree = ""; + }; + D0F67D3A4FA2B67D2AB0A49F /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + 1D23EB567F573612E0794B3A /* Stripe Tests-Debug.xcconfig */, + 5E4EA6394497D1BD57ED0032 /* Stripe Tests-Release.xcconfig */, + E1A2173E0891B7138687D544 /* Stripe-Debug.xcconfig */, + DA82BB67D434E76B9ABA4CEC /* Stripe-Release.xcconfig */, + ); + path = BuildConfigurations; + sourceTree = ""; + }; + E4802964A9471C082CE01BA9 = { + isa = PBXGroup; + children = ( + 00AA0CCB7109D2B82EF8EEA0 /* Project */, + B7A38600F42999DA8F83AD27 /* Frameworks */, + 85B4F3432AB3A8B94C9D2591 /* Products */, + ); + sourceTree = ""; + }; + EB228B1D404A48918221D9D6 /* StripeiOSTests */ = { + isa = PBXGroup; + children = ( + EB90CE5EA5682921B4C247A0 /* Resources */, + A9F06DC32147A8ABCD709E79 /* AddressViewControllerSnapshotTests.swift */, + 3C742844915B96CFD25BFFF9 /* AfterpayPriceBreakdownViewSnapshotTests.swift */, + 61AF6E95FE0DD913204CAB32 /* AnalyticsHelperTests.swift */, + 85AAB72218409F85FE29E69E /* APIRequestTest.swift */, + EFD2F6A5A046A620BAB75B41 /* AutoCompleteViewControllerSnapshotTests.swift */, + 86673B13C7762666C774F124 /* ButtonLinkSnapshotTests.swift */, + 153071C69A0BEE033E035DCF /* CardExpiryDateTests.swift */, + 46AC0B5EC7433E081825D31B /* CircularButtonSnapshotTests.swift */, + 806124200E77795DCFC8418E /* ConfirmButtonSnapshotTests.swift */, + CFFE40AD9D875709F643D2E5 /* ConfirmButtonTests.swift */, + E6312182B5BCAB940D216650 /* ConsumerSessionTests.swift */, + 206D2A1B8D0E295F42A8C879 /* FBSnapshotTestCase+STPViewControllerLoading.h */, + C6C7959FA69D6E930834AFE5 /* FBSnapshotTestCase+STPViewControllerLoading.m */, + 180CF848E3ABF0236C494D8B /* FBSnapshotTestCase+STPViewControllerLoading.swift */, + 7C04AFC9CDE50D09D38A3232 /* FormSpecProviderTest.swift */, + 45FF7A07CFC3B9B7AD6B49EE /* FraudDetectionDataTest.swift */, + AAF368BCD5990EE5DC17D299 /* ImageTest.swift */, + 0E10C4D64477638398251FFB /* Info.plist */, + 8D866DCC403994A0D3CFB1D7 /* KlarnaHelperTest.swift */, + BC7B7ED388B6C6AE57D3D627 /* LinkAccountServiceTests.swift */, + 72B1E4D9DA48CED66CD96308 /* LinkBadgeViewSnapshotTest.swift */, + 7F9659E92E94316FE4955156 /* LinkCardEditElementSnapshotTests.swift */, + 83A5A0074F69DE467F94ABFB /* LinkInlineSignupElementSnapshotTests.swift */, + CEB30E3846E24FD57A44764A /* LinkInMemoryCookieStoreTests.swift */, + 6F29142B51DC99E2258B4F60 /* LinkInstantDebitMandateViewSnapshotTests.swift */, + 835CB781FBC19773ACC20676 /* LinkLegalTermsViewSnapshotTests.swift */, + 157826E456AC3ABFE8000B81 /* LinkNavigationBarSnapshotTests.swift */, + 382A01724CE8659A5210073F /* LinkNoticeViewSnapshotTests.swift */, + 3024CAAF54280B0357014D39 /* LinkPaymentMethodPickerSnapshotTests.swift */, + E7C7D85A7FAAFDF4F59BA85E /* LinkSignupViewModelTests.swift */, + 52FA1AFD632CCE18C4315FC6 /* LinkStubs.swift */, + 5BB7453E4E1AD36D604A00E8 /* LinkToastSnapshotTests.swift */, + 24AE1B8096363F6C51A5AF7E /* LinkVerificationViewSnapshotTests.swift */, + 9DCCA0E8A02B4F4B23837FB4 /* MKPlacemark+PaymentSheetTests.swift */, + C17799DC7FA54E758EED31A6 /* NSArray+StripeTest.swift */, + 20552E792B8E7BA15821AB5D /* NSDecimalNumber+StripeTest.swift */, + D07275F94914B7E7937D24FE /* NSDictionary+StripeTest.swift */, + 725845FAFFAE11297BCDFD29 /* NSLocale+STPSwizzling.h */, + 86D961D8952114BE479E1EB7 /* NSLocale+STPSwizzling.m */, + 63F5F35DB97D8A176FB6ED24 /* NSString+StripeTest.swift */, + E1CD20E00EAD41091B71ABD5 /* NSURLComponents_StripeTest.swift */, + 9D85FA7B714BDD8D1FD83B75 /* OneTimeCodeTextFieldSnapshotTests.swift */, + 98F9CB667BC68767DFB5FACD /* OneTimeCodeTextFieldTests.swift */, + A61763BA2CCA86F9B8FD4F1F /* OperationDebouncerTests.swift */, + C8F8FCC84601E4ADC6B7F3CE /* PaymentAnalyticTest.swift */, + D8099EC47BB1527E2B9A2446 /* PaymentMethodMessagingViewFunctionalTest.swift */, + F4F116895CA31148DB6CE0DF /* PaymentMethodMessagingViewSnapshotTests.swift */, + 9D73D989C9D488D820029FA1 /* PaymentSheet+APITest.swift */, + 85989DAB8BF1AF241E086671 /* PaymentSheet+PaymentMethodAvailabilityTest.swift */, + D61146D58FD219AE39E71D7D /* PaymentSheetAddressTests.swift */, + EEEC1EA82490933B169915C4 /* PaymentSheetFormFactoryTest.swift */, + E9A962F163EC016697A82124 /* PaymentSheetLinkAccountTests.swift */, + A1CF1C43EEE33FC0AF31A2BB /* PaymentSheetPaymentMethodTypeTest.swift */, + CDDB4BC3C16AB7218E6FF1FA /* PaymentSheetTestUtils.swift */, + 7B9A4A2B0FB9F8C743BBED48 /* PaymentTypeCellSnapshotTests.swift */, + AF342CBC167F9CAB5B49CC32 /* PayWithLinkButtonSnapshotTests.swift */, + 83707086116ED364BE3C1F2E /* PayWithLinkViewController-WalletViewModelTests.swift */, + B4D12508C2F1056A7EAFEC86 /* PKPayment+StripeTest.swift */, + FDA32D0C9E8A7A69F4899EDC /* RotatingCardBrandsViewSnapshotTests.swift */, + 12632E6710DE8861CAF1BAA4 /* RotatingCardBrandsViewTests.swift */, + 20879436DCFB1F03BE1608B3 /* ServerErrorMapperTest.swift */, + 78BA15D1F0844B1DA71A5348 /* STPAddCardViewControllerLocalizationTests.swift */, + 8704ABFA91A5226847F4A69A /* STPAddCardViewControllerTest.swift */, + 81B23BF8256AA75F9903AC0C /* STPAddressTests.m */, + D3D2DB08C335695B705F544C /* STPAddressViewModelTest.swift */, + 0241DB84973B21393BEC703E /* STPAnalyticsClientPaymentSheetTest.swift */, + E7ACB4FAFAD33296DE34D036 /* STPAnalyticsClientPaymentsTest.swift */, + 51F49F2466BBBE64799209B5 /* STPAPIClientNetworkBridgeTest.m */, + E4194E605BB5F31E9CBB8F96 /* STPAPIClientStubbedTest.swift */, + B8DD70E5ED8E9DE8E9752C9E /* STPAPIClientTest.swift */, + 4A57C346FA98A057AF31C8B1 /* STPAPISettingsBridgeTest.m */, + E3D73CE47141F7D1E44283D2 /* STPApplePayContextFunctionalTest.m */, + A1272F2E05A0E294DD9ECA26 /* STPApplePayContextFunctionalTestExtras.swift */, + 5F7AB40A5A10C2D267323ABE /* STPApplePayContextTest.swift */, + 3C77C7BC4BA57EC296CF2F1C /* STPApplePayFunctionalTest.swift */, + 0320B47C1DD836F7A7144B58 /* STPApplePayPaymentOptionTest.m */, + 47A1AA1C80AE910FCFF58996 /* STPApplePayTest.m */, + CFC4BC1AB047ED88C4D13C89 /* STPApplePayTest.swift */, + BCBEA9E4823F08C1F5057B5A /* STPAUBECSDebitFormViewSnapshotTests.swift */, + 4AAE5EE11611F9F7762B64C6 /* STPAUBECSFormViewModelTests.swift */, + 6152335A2DCCBB5490B39BB0 /* STPBankAccountFunctionalTest.m */, + 9F304A4028D563EBD2A523C8 /* STPBankAccountParamsTest.m */, + 6FA025CE30EB3DA1C4321505 /* STPBankAccountTest.m */, + 23997D61DF41CA84BFC33080 /* STPBECSDebitAccountNumberValidatorTests.swift */, + 3FC0560A312147C37CFE6CF9 /* STPBinRangeTest.swift */, + 4FFA8B446217CDE678D7287F /* STPBlocks.h */, + F3C732C25FD961631BD44FDD /* STPBSBNumberValidatorTests.swift */, + 3E1C5E08678292561255B1C5 /* STPCardBINMetadataTests.swift */, + 4866C83CD6596D781A053636 /* STPCardBrandTest.m */, + 6E1F6514E7530C2A3478B2F5 /* STPCardCVCInputTextFieldFormatterTests.swift */, + D1859673CAD068B345F5DD7D /* STPCardCVCInputTextFieldSnapshotTests.swift */, + 94A7104C1C470515616E4D2B /* STPCardCVCInputTextFieldTests.swift */, + D42F83F785EAF24F5DC7ED1A /* STPCardCVCInputTextFieldValidatorTests.swift */, + 40BB87E28719FE0C6B946BB5 /* STPCardExpiryInputTextFieldFormatterTests.swift */, + 0C75157665428685C7A4FD20 /* STPCardExpiryInputTextFieldSnapshotTests.swift */, + 4418164D75002AE6A0273176 /* STPCardExpiryInputTextFieldValidatorTests.swift */, + 1D983E089196152DA1C69469 /* STPCardFormViewSnapshotTests.swift */, + FF5E08A1651D9DFE502DA021 /* STPCardFormViewTests.swift */, + 94042E0B406F6AA45593D154 /* STPCardFunctionalTest.m */, + D3803D0DED98501AA26B2EAC /* STPCardNumberInputTextFieldFormatterTests.swift */, + FD289E1EA9F0CE1C848AC0BB /* STPCardNumberInputTextFieldSnapshotTests.swift */, + D7C4773C2D193BEDF1CBB530 /* STPCardNumberInputTextFieldValidatorTests.swift */, + 20A74D4FA51D15AF12B58767 /* STPCardParamsTest.m */, + 1D575C31524E596E9C1A8E9B /* STPCardTest.swift */, + E1644AA33E81233EF33022BA /* STPCardValidatorTest.swift */, + 1D51B04D83D4FEF7F90DF16A /* STPCertTest.swift */, + 444A6B234A4BD3CB2C1C977D /* STPConfirmCardOptionsTest.m */, + 0B989830717894A60B74E830 /* STPConfirmPaymentMethodOptionsTest.m */, + D82418EB84598A2CEE2DCB28 /* STPConnectAccountAddressTest.m */, + D45CA902199FABE1254E8D1F /* STPConnectAccountFunctionalTest.m */, + DF470B57E61F36BD1C0A1224 /* STPConnectAccountParamsTest.m */, + 8D49257A97E71A475A9F6E08 /* STPCountryPickerInputFieldSnapshotTests.swift */, + 2CC4B06AB5C02FF54091E5A8 /* STPCustomerContextTest.swift */, + FABC6FF8D581998A773A8656 /* STPCustomerTest.m */, + 1C1548BA518F7AC2A9ECF9D5 /* STPE2ETest.swift */, + F0D010B03BB8B290806267A0 /* STPEphemeralKeyManagerTest.m */, + C5BEAA15B53AC5662A33D0E1 /* STPEphemeralKeyTest.swift */, + 9EAE9A2AE65771403CE57C11 /* STPErrorBridgeTest.m */, + 547F890FCD6D6E8B0774E919 /* STPFileFunctionalTest.m */, + 0841697DF701B4A4637E67D9 /* STPFileTest.m */, + D3B00A0DC03407F2E67C3B4E /* STPFixtures.h */, + 17DDEC7D4C1D5FF6488D71D5 /* STPFixtures.m */, + F7385193226663A5B79E69ED /* STPFloatingPlaceholderTextFieldSnapshotTests.swift */, + 30964128998473CAA9F2DD7E /* STPFormEncoderTest.swift */, + 2E1862744F23286D1FB9D4AE /* STPFormTextFieldTest.swift */, + F44327A2B2C9483F52EE343B /* STPFormViewSnapshotTests.swift */, + 966BA151AA0E428D1DD8A97C /* STPFPXBankBrandTest.m */, + 284C67269D2606DA147AE01D /* STPGenericInputPickerFieldSnapshotTests.swift */, + 2D63B73C5773432CA134D1FC /* STPGenericInputPickerFieldValidatorTest.swift */, + 58A53F005EA8FDDAA66126BA /* STPGenericInputTextFieldSnapshotTests.swift */, + F546088BA4F763334CFD3D34 /* STPImageLibraryTest.swift */, + A22E5B87755C1F05C3DB438C /* STPInputTextFieldFormatterTests.swift */, + 9FEE395C4DD0E0112AF3720C /* STPInputTextFieldValidatorTests.swift */, + AD06AED0AF8A9A7FB4A2E66F /* STPIntentActionAlipayHandleRedirectTest.swift */, + 9CE65B72986B6B404B036183 /* STPIntentActionTest.m */, + D2F205F920E971DEA59E3C31 /* STPIntentActionTypeTest.swift */, + 4CA5D11C977A95B8E936E907 /* STPIntentActionWeChatPayRedirectToAppTest.swift */, + 6C8FE751333F580004BD72BA /* STPIntentWithPreferencesTest.swift */, + CF5E437205850C2039BBEBCB /* STPLabeledFormTextFieldViewSnapshotTests.m */, + 7F68637E75142DCD46710796 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift */, + C713F58BC61A962C720AE0AE /* STPMandateCustomerAcceptanceParamsTest.swift */, + B7F7AA0B7B86BA5BB2FE92CE /* STPMandateDataParamsTest.swift */, + DB58AC5E2E0A68221260FD44 /* STPMandateOnlineParamsTest.swift */, + F153420EA142B5CA76E89A04 /* STPMocks.h */, + 88AEABC15CCBB9EA393C175F /* STPMocks.m */, + 131B856C6C1053E5FACD44D1 /* STPNetworkStubbingTestCase.h */, + 9475002E030E98735A0FD2EC /* STPNetworkStubbingTestCase.m */, + B0D081A26B59DE51FDDD1798 /* STPNetworkStubbingTestCase.swift */, + 6223E57D3A198F956A37ED89 /* STPNumericDigitInputTextFormatterTests.swift */, + 4AA36705DED9164663A98B6A /* STPNumericStringValidatorTests.swift */, + B7439CC6C0FB060EA312FF6D /* STPPaymentCardTextFieldTest.m */, + 1F16C36797D978E72E612100 /* STPPaymentCardTextFieldTestsSwift.swift */, + E6DEE912364C9F4B51B374D0 /* STPPaymentCardTextFieldViewModelTest.swift */, + 79ABE6A14AF9D14103050876 /* STPPaymentConfigurationTest.m */, + 3C995125252BED1EEC018B9D /* STPPaymentContextApplePayTest.swift */, + D106EFD1BF019522BE7BEBBE /* STPPaymentContextSnapshotTests.m */, + 683F7735569D22CBEC9CA2E6 /* STPPaymentHandlerFunctionalTest.m */, + FC30E6129279F14506219E98 /* STPPaymentHandlerTests.swift */, + 46C31CAD0FA74B58BA2B8530 /* STPPaymentIntentEnumsTest.swift */, + A8CF4EBC85BDC771DF2213C0 /* STPPaymentIntentFunctionalTest.m */, + CDDEAB86BE4711841D426F3B /* STPPaymentIntentFunctionalTest.swift */, + 6C7B8DACB0A7294BC235E3BC /* STPPaymentIntentLastPaymentErrorTest.swift */, + CF902DC49DD90860BD0E5E80 /* STPPaymentIntentParamsTest.swift */, + ACE8998EAF997A78759E49B5 /* STPPaymentIntentTest.swift */, + 1DECFBCFDD8FB9362D2FB4E1 /* STPPaymentMethodAddressTest.m */, + D87817A1D3D213AA4ADF6A4C /* STPPaymentMethodAffirmParamsTest.swift */, + 1F0DF2ED9232A7CC51F5FCB1 /* STPPaymentMethodAffirmTests.swift */, + CF8E26B31C0F2B256763BDDB /* STPPaymentMethodAfterpayClearpayParamsTest.m */, + 26D0BC36C2610307A01C52CB /* STPPaymentMethodAfterpayClearpayTest.m */, + 8A7FBDBADC1EBC62FFC4A366 /* STPPaymentMethodAUBECSDebitParamsTests.m */, + 54426CBF6F77ABEFBDFDA8C4 /* STPPaymentMethodAUBECSDebitTests.swift */, + 71C175861E0F8882BCF85F78 /* STPPaymentMethodBacsDebitTest.m */, + 130483A5043ACC4D60E0B0D6 /* STPPaymentMethodBancontactParamsTests.m */, + F4E5416F6AE8BED88980D6F8 /* STPPaymentMethodBancontactTests.swift */, + A00F4D8DB80EBD753E9AC961 /* STPPaymentMethodBillingDetailsTest.m */, + A1C67AC5D415615E9F27D3E3 /* STPPaymentMethodBoletoParamsTests.swift */, + 4E371E9B3B2E343FE954531C /* STPPaymentMethodBoletoTests.swift */, + E0A27E1D77216CE0267C981C /* STPPaymentMethodCardChecksTest.m */, + 1671EC46C713D51013AD7D8B /* STPPaymentMethodCardParamsTest.swift */, + 8BD02D8298877F10F2EF2A9D /* STPPaymentMethodCardTest.swift */, + 1443F134C35E15AB9A1EA560 /* STPPaymentMethodCardWalletMasterpassTest.m */, + 0DF76154CA9CACA9CDB0BA94 /* STPPaymentMethodCardWalletTest.m */, + B5BA1ABFF1739E4051FAE6CB /* STPPaymentMethodCardWalletVisaCheckoutTest.m */, + 28B8ADA1C10FED0733B4FAD3 /* STPPaymentMethodEPSParamsTests.m */, + 0C44B4366D6C4FD4B11662C8 /* STPPaymentMethodEPSTests.swift */, + BF8A27B4CE855392E3E3F735 /* STPPaymentMethodFPXTest.m */, + 45BBD120FDBA434BC7E64435 /* STPPaymentMethodFunctionalTest.m */, + 2AE3A8CA366854F49C28BD93 /* STPPaymentMethodGiropayParamsTests.m */, + 583DB466066B47C0F716E474 /* STPPaymentMethodGiropayTests.swift */, + 03CEA8792C992D865ECC46AA /* STPPaymentMethodGrabPayParamsTest.m */, + 415554EBF13241D12094103B /* STPPaymentMethodiDEALTest.m */, + 47E12A0CBFA259A032F7AF0C /* STPPaymentMethodKlarnaParamsTests.swift */, + 4FD94FF270165D699DA89B24 /* STPPaymentMethodKlarnaTests.swift */, + E4442901582C822007C3BB67 /* STPPaymentMethodNetBankingParamsTest.m */, + 739934737B9A09775CD278C9 /* STPPaymentMethodNetBankingTests.swift */, + 1E2638F7AA0906914117C2D5 /* STPPaymentMethodOptionsTest.swift */, + 5F23996EC0E06D47B20316AC /* STPPaymentMethodOXXOParamsTests.m */, + EAD0042713B4C2FEB8916EDC /* STPPaymentMethodOXXOTests.m */, + 7B4DEF058786BD9D3D5EE2FB /* STPPaymentMethodParamsTest.m */, + FE1929CD1B3D3DCC2401E2F8 /* STPPaymentMethodPayPalParamsTests.m */, + 02DEC25F0E12F9F4396E87B2 /* STPPaymentMethodPayPalTests.m */, + CFB4BBE0C4760DB457DE9A57 /* STPPaymentMethodPrzelewy24ParamsTests.m */, + F6558C62376C2397030BD4A6 /* STPPaymentMethodPrzelewy24Tests.swift */, + 8F4D19337AD2936DA69EAC4A /* STPPaymentMethodSEPADebitTest.m */, + 3871630C99B378C67B6E9F7C /* STPPaymentMethodSofortParamsTests.m */, + E8063E8073A32E0B081A1DFA /* STPPaymentMethodSofortTests.swift */, + 148C1D7D1BBBC6B74894A869 /* STPPaymentMethodTest.swift */, + 8B5AC148E7D8B2EBAEDCB364 /* STPPaymentMethodThreeDSecureUsageTest.m */, + EAB51503D64F3464BFBC18CB /* STPPaymentMethodUPIParamsTest.m */, + 940209E5D30E86E856016906 /* STPPaymentMethodUPITests.swift */, + CF13BAEF86594C9CABD4F42A /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift */, + 74FDEF9F687C63BADFB96480 /* STPPaymentMethodUSBankAccountParamsTest.swift */, + 3B112FFF3FCA82094281493F /* STPPaymentMethodUSBankAccountTest.swift */, + 6C7094644EE056260D6F3B67 /* STPPaymentOptionsViewControllerLocalizationTests.swift */, + A2922A32A754CFC9AB8B48AE /* STPPaymentOptionsViewControllerTest.swift */, + 924E878428D15506711CA628 /* STPPhoneNumberValidatorTest.swift */, + AFB9F0B171497353AADD6544 /* STPPIIFunctionalTest.m */, + 336CC555B845DED30208D39D /* STPPinManagementServiceFunctionalTest.swift */, + 917154477796779ECFA1334A /* STPPostalCodeInputTextFieldFormatterTests.swift */, + 090EF7D598B8DE779C275395 /* STPPostalCodeInputTextFieldSnapshotTests.swift */, + 6618739767139C25C05B3631 /* STPPostalCodeInputTextFieldTests.swift */, + EA9975553E669AF69F3CE437 /* STPPostalCodeInputTextFieldValidatorTests.swift */, + FDF7394DDD552EDE996EAD8E /* STPPostalCodeValidatorTest.swift */, + 1A8A6B88797870BC71CCB3AF /* STPPushProvisioningDetailsFunctionalTest.swift */, + 2D878F923A1F69B58D6B2812 /* STPRadarSessionFunctionalTest.swift */, + E3810757AF83E98307634814 /* STPRedirectContextTest.m */, + 6CC0B1FC92A573AAEA4F4E94 /* STPSetupIntentConfirmParamsTest.swift */, + 60E21B0DB0D3B307040EA88E /* STPSetupIntentFunctionalTest.m */, + 49AA313E068FB99CEAA5F7D3 /* STPSetupIntentFunctionalTest.swift */, + 6C0F5E7908FE3C7606DEAAD5 /* STPSetupIntentLastSetupErrorTest.m */, + 3BCC4BB345F320EEECE0437C /* STPSetupIntentTest.m */, + DE3D0F21FB3B3E8BCA15FF7C /* STPShippingAddressViewControllerLocalizationTests.swift */, + 789D0B49B0788794739E3DD4 /* STPShippingAddressViewControllerTest.swift */, + C7F54E1E8FFA1505D24538A6 /* STPShippingMethodsViewControllerLocalizationTests.swift */, + 63114D0EAAE2606732DF5AA0 /* STPSourceCardDetailsTest.swift */, + 20D90EE8CC6606CAE9B06C63 /* STPSourceFunctionalTest.m */, + D1681629DCEA0765515D3D49 /* STPSourceOwnerTest.m */, + 1F6CB4B8FAD14B4D70A63595 /* STPSourceParamsTest.swift */, + 620CEE3CCA05E49698C4DE35 /* STPSourceReceiverTest.m */, + B6799CC0D9C5FED26EE3494F /* STPSourceRedirectTest.m */, + 342398F7CB61693AAADE3F26 /* STPSourceSEPADebitDetailsTest.m */, + B7B5B626BCED2938C256BF49 /* STPSourceTest.m */, + 5377FE4A168F45625923AF37 /* STPSourceVerificationTest.m */, + 51E62BB62EA9B782778CA880 /* STPStackViewWithSeparatorSnapshotTests.swift */, + 9290B75648F2D23764FA71E9 /* STPSTPViewWithSeparatorSnapshotTests.m */, + 6B527265D186B66150D2787E /* STPStringUtilsTest.m */, + EB6AE83989B0596F0C111E13 /* STPStringUtilsTest.swift */, + E315168EF07F52B733EA77F8 /* STPSwiftFixtures.swift */, + E3AC82FE96A69220B300FBE6 /* STPTestAPIClient+Swift.swift */, + AA0FCB6E05CDF74CC1C42042 /* STPTestingAPIClient.h */, + C1AAF76C3F4850217C28E362 /* STPTestingAPIClient.m */, + 72AC063833D29BC984B008A8 /* STPTestUtils.h */, + 9F8F79CBFDC930A18998D7B1 /* STPTestUtils.m */, + 2A8A2CD759D465290066EF65 /* STPTextFieldDelegateProxyTests.swift */, + B6F3B966470A530E0DC53F8C /* STPThreeDSButtonCustomizationTest.swift */, + 483B243268646AE65B06E98C /* STPThreeDSFooterCustomizationTest.swift */, + 5FDD4956E0A04D33F0856F31 /* STPThreeDSLabelCustomizationTest.swift */, + 51408DE266D0345784ADD4FA /* STPThreeDSNavigationBarCustomizationTest.swift */, + C23D612FD5AD7772E1B30DCC /* STPThreeDSSelectionCustomizationTest.swift */, + A583966A33DCDCF04322A592 /* STPThreeDSTextFieldCustomizationTest.swift */, + 3ED44491EB0AC72B1B1A773C /* STPThreeDSUICustomizationTest.swift */, + A14673FA54CB8B85CF8D71C3 /* STPTokenTest.m */, + F22EE02CE12F3EBFACDAE9A4 /* STPUIVCStripeParentViewControllerTests.m */, + DC3AD586DDED620B9E68F461 /* StripeErrorTest.swift */, + B407FE2D39775902A95B1118 /* StripeiOS Tests-Bridging-Header.h */, + 57852C506CC1A2B0F978D98B /* SWHttpTrafficRecorder.h */, + 40DC59F285B3AB0F60B33443 /* SWHttpTrafficRecorder.m */, + 5CE0ABE46E1C27A6AD8D8BD9 /* TextFieldElement+CardTest.swift */, + 51BD2CE41E4F0CF648F44E4A /* TextFieldElement+IBANTest.swift */, + E68F6B90F3BC61A49570FAF4 /* UINavigationBar+StripeTest.m */, + 3B0E131538728BC4802627B1 /* UserDefaults+StripeTest.swift */, + 0DB03E83746FE78361831546 /* WalletHeaderViewSnapshotTests.swift */, + ); + path = StripeiOSTests; + sourceTree = ""; + }; + EB90CE5EA5682921B4C247A0 /* Resources */ = { + isa = PBXGroup; + children = ( + 9F3786310FB7789C77466A2E /* MockFiles */, + A8F5797C145751AD55858B80 /* 3DSSource.json */, + A32EE0B1FC16687797E7C9DA /* AlipaySource.json */, + 848AAE69CBF96A057F734365 /* ApplePayPaymentMethod.json */, + 2EADE1EE40283DEF52B0B5D4 /* BacsDebitPaymentMethod.json */, + 31F32B2852B1683819BD02F3 /* BancontactSource.json */, + 62169E37BD48681A914FA4CB /* BankAccount.json */, + C861CC96A54A24BDC1303C1B /* Card.json */, + 344C5B4D8789FEFA4CFC0E43 /* CardPaymentMethod.json */, + 582C9C6F076A0FF1780C9769 /* CardSource.json */, + 4928F057B093B6DB5D76D32D /* Customer.json */, + F8CEB050CB2231F1459824EC /* EphemeralKey.json */, + 1020F76D0722D685A97EF202 /* EPSSource.json */, + 3F31C891BDDD871F48F6E60B /* FileUpload.json */, + 682296D57E9486BBCC6ED7F5 /* GiropaySource.json */, + F24B1E06C600CA30A97F5AEA /* iDEALSource.json */, + DFA7A75BA785EBBE4C05DAA3 /* Images.xcassets */, + 63A16B33FCF0B351D4A60247 /* MultibancoSource.json */, + A9B50EE8ABC2506A6397C056 /* P24Source.json */, + 68778692A4A89E311FC9DEAE /* PaymentIntent.json */, + FCA64B2C21FCFAC433EA3781 /* recorded_network_traffic */, + 252FD94C68761E893E53D5F9 /* SEPADebitSource.json */, + 0364E74C0FB269E93D18966D /* SetupIntent.json */, + E412BB731BC34BB1A7EC3B8D /* SofortSource.json */, + FD3398E2352CEA0264F20AEA /* stp_test_upload_image.jpeg */, + 0A726D87E8C916E8FEA0C780 /* WeChatPaySource.json */, + ); + path = Resources; + sourceTree = ""; + }; + FBC7A77342A98B1DE8E416B7 /* Resources */ = { + isa = PBXGroup; + children = ( + 2EC2475EABAA6AB3ADF1A1DC /* Images */, + AF41AE099441C2A09DECC1AC /* Localizations */, + ); + path = Resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D1F9C232F0DF9D129FE872E /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 30D48C62B2FA6B28EC23A5BB /* Stripe-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 1628E8B14F1F7C63CF8C9962 /* StripeiOSTestHostApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = B6D8846CE184BBD9139D6D15 /* Build configuration list for PBXNativeTarget "StripeiOSTestHostApp" */; + buildPhases = ( + C4ED1B5A417CECDB38B21698 /* Sources */, + 9BE857B21623552BA4F3FAA1 /* Resources */, + 9F30C6D40956861F588C2CD0 /* Embed Frameworks */, + C04854A8658964DDD0A15E1C /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = StripeiOSTestHostApp; + productName = StripeiOSTestHostApp; + productReference = 294CD46E24BB2743042872D7 /* StripeiOSTestHostApp.app */; + productType = "com.apple.product-type.application"; + }; + 49A14BBD10B1E97F2B43C448 /* StripeiOSAppHostedTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = FCBB942DEBE57423D79373B4 /* Build configuration list for PBXNativeTarget "StripeiOSAppHostedTests" */; + buildPhases = ( + E160E75F2870000E2FA9C5DC /* Sources */, + C501B175E87CBBB0075EB9C5 /* Resources */, + 16FB342935F756BD2EA7CE4C /* Embed Frameworks */, + 7129AA5AD64208D3B1A76AAE /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 4E57D9EF1E91091C57E49111 /* PBXTargetDependency */, + 11BFD72CD1F291E0E86EC784 /* PBXTargetDependency */, + ); + name = StripeiOSAppHostedTests; + productName = StripeiOSAppHostedTests; + productReference = 1DD6897858F46976A946394E /* StripeiOSAppHostedTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 8BE23AD5D9A3D939AF46F31E /* StripeiOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 54F4DB1E9C991950FD9EB4B4 /* Build configuration list for PBXNativeTarget "StripeiOSTests" */; + buildPhases = ( + FB03810F22F4E0919BB2EF68 /* Sources */, + BADDFD2C3E190FF24FEB93C7 /* Resources */, + 5789BE2CD297329ED86678C0 /* Embed Frameworks */, + 6ACBDD66E08F7CEE34A8FFFA /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + C4F1FB6EFF8D25D54580374A /* PBXTargetDependency */, + ); + name = StripeiOSTests; + packageProductDependencies = ( + 62887B4538E4E41E735685E1 /* OHHTTPStubs */, + 911CA85A1610303FA0AF0643 /* OHHTTPStubsSwift */, + E804AA8C4156CC85FFD9595F /* OCMock */, + C55551F29B99CF6D6DD9EE2F /* iOSSnapshotTestCase */, + ); + productName = StripeiOS_Tests; + productReference = CD5AC2BFBC8141F98C00CF9F /* StripeiOS_Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + ADF894AA8F6022D9BED17346 /* StripeiOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = F0FCB32AE130ABA66178DD9B /* Build configuration list for PBXNativeTarget "StripeiOS" */; + buildPhases = ( + 8D1F9C232F0DF9D129FE872E /* Headers */, + 24CDC502E3D468F309116FE1 /* Sources */, + 0F32E5D5E633BAB349B6EB50 /* Resources */, + CAAA5D4C8E87896995960E8C /* Embed Frameworks */, + 1587AD7E52759FBC80315765 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = StripeiOS; + productName = Stripe; + productReference = 4259421D2CD26E37B96F97B2 /* Stripe.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E63832AA5BB4225708B7C838 /* Project object */ = { + isa = PBXProject; + attributes = { + TargetAttributes = { + 49A14BBD10B1E97F2B43C448 = { + TestTargetID = 1628E8B14F1F7C63CF8C9962; + }; + }; + }; + buildConfigurationList = 2804CCD7A91C99DF32596147 /* Build configuration list for PBXProject "Stripe" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + Base, + "bg-BG", + "ca-ES", + "cs-CZ", + da, + de, + "el-GR", + en, + "en-GB", + es, + "es-419", + "et-EE", + fi, + fil, + fr, + "fr-CA", + hr, + hu, + id, + it, + ja, + ko, + "lt-LT", + "lv-LV", + "ms-MY", + mt, + nb, + nl, + "nn-NO", + "pl-PL", + "pt-BR", + "pt-PT", + "ro-RO", + ru, + "sk-SK", + "sl-SI", + sv, + tk, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", + ); + mainGroup = E4802964A9471C082CE01BA9; + packageReferences = ( + D244E8B5402CB2CF89CE7872 /* XCRemoteSwiftPackageReference "ocmock" */, + 44C6210EB47ACF468D255723 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */, + 71086E1440B890A9DC01C9DF /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, + ); + productRefGroup = 85B4F3432AB3A8B94C9D2591 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + ADF894AA8F6022D9BED17346 /* StripeiOS */, + 8BE23AD5D9A3D939AF46F31E /* StripeiOSTests */, + 1628E8B14F1F7C63CF8C9962 /* StripeiOSTestHostApp */, + 49A14BBD10B1E97F2B43C448 /* StripeiOSAppHostedTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 0F32E5D5E633BAB349B6EB50 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 01F2C8715D740FDE683FAECF /* stp_card_form_amex_cvc@3x.png in Resources */, + 62D65741A6D49C7EBFB7CB61 /* stp_card_form_back@3x.png in Resources */, + 8CE31C2917AC0B9084C90650 /* stp_card_form_front@3x.png in Resources */, + 5A75EF4349F6B444B6D56552 /* stp_bank_fpx_affin_bank@3x.png in Resources */, + E7071A87146B640C2DEE6B80 /* stp_bank_fpx_alliance_bank@3x.png in Resources */, + F5C771A7C98E78F99E13DBA1 /* stp_bank_fpx_ambank@3x.png in Resources */, + 3F4356512B60B90BFCDA7E01 /* stp_bank_fpx_bank_islam@3x.png in Resources */, + C1E52E633CCF8D18AC804C97 /* stp_bank_fpx_bank_muamalat@3x.png in Resources */, + 83FE814F7C472EB31DD9D28F /* stp_bank_fpx_bank_rakyat@3x.png in Resources */, + 7797B149DF5D5CA201089BC2 /* stp_bank_fpx_bsn@3x.png in Resources */, + C5EAA26F7A4C71DCB08015A5 /* stp_bank_fpx_cimb@3x.png in Resources */, + 187966C4EDE4FEE1FC6B9F24 /* stp_bank_fpx_hong_leong_bank@3x.png in Resources */, + 369C7A7A0DA46C58B02DBA00 /* stp_bank_fpx_hsbc@3x.png in Resources */, + D8D9DF85FE4BF1AB14DBEB95 /* stp_bank_fpx_kfh@3x.png in Resources */, + C87E17137F8E2CBA52B43A98 /* stp_bank_fpx_maybank2e@3x.png in Resources */, + B1B3E2766CB2B4AA48D130F6 /* stp_bank_fpx_maybank2u@3x.png in Resources */, + E611EAD0DBDBAE1AD3442CDC /* stp_bank_fpx_ocbc@3x.png in Resources */, + 7BEC4847DDD51C9C36C758E9 /* stp_bank_fpx_public_bank@3x.png in Resources */, + 2F2923C176FFD66CC5F96A2D /* stp_bank_fpx_rhb@3x.png in Resources */, + F3F2B3317A63067ECA26F3E2 /* stp_bank_fpx_standard_chartered@3x.png in Resources */, + 42B74740CEF8F04A3F34971A /* stp_bank_fpx_uob@3x.png in Resources */, + 31B49323CC357B478431B716 /* stp_fpx_big_logo@3x.png in Resources */, + 2BA38A013A538479C3518424 /* stp_fpx_logo@3x.png in Resources */, + CDBF169718F4882A946BF22D /* stp_icon_add@3x.png in Resources */, + AF0FE00E669705885EAF6F20 /* stp_icon_bank@3x.png in Resources */, + F228C86E3F2172FE6A349243 /* stp_icon_checkmark@3x.png in Resources */, + D5BD5B1657C9D0FD7F6593F3 /* stp_shipping_form@3x.png in Resources */, + 22BE2ABB29F77362FF16D945 /* Localizable.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9BE857B21623552BA4F3FAA1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EEB5E5E9C4E06B148A91C7BD /* Assets.xcassets in Resources */, + 08111F4AD3CA0755420E05F7 /* LaunchScreen.storyboard in Resources */, + DE23FEF74E860620A334FDF5 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BADDFD2C3E190FF24FEB93C7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0D4211C0767F66A35914FE07 /* 3DSSource.json in Resources */, + 03A2D8DD31042AC83AD2EFC5 /* AlipaySource.json in Resources */, + 75F81259F0DEE1ED09FDECBA /* ApplePayPaymentMethod.json in Resources */, + 5AC2B7D5912DBD0FF7DB2349 /* BacsDebitPaymentMethod.json in Resources */, + A9A77D698551322BF3A067BC /* BancontactSource.json in Resources */, + 77ED42569FEC0EC5AF83538A /* BankAccount.json in Resources */, + 659E5859BD4F4F5BACB6F3C1 /* Card.json in Resources */, + 89C927D276A90357F06ECE3C /* CardPaymentMethod.json in Resources */, + 2CE1FB3A85DE7A74D0A80901 /* CardSource.json in Resources */, + 395E5AE58C4B5B4EE511B182 /* Customer.json in Resources */, + 66ED28E18385B2644F4EF3CC /* EPSSource.json in Resources */, + E7DE88AF9BDC4EB9E6DE73F1 /* EphemeralKey.json in Resources */, + 45A2E2904C48F19F4D3AD1BF /* FileUpload.json in Resources */, + 5224B2FFB1786C8AF3095248 /* GiropaySource.json in Resources */, + 10342D659764A88A695EF38B /* Images.xcassets in Resources */, + FDF57B916B6B69E3F57A220C /* paymentIntentResponse.json in Resources */, + 7EB99B1286C38DD944D0D9DC /* MultibancoSource.json in Resources */, + 15772D8E06236054D11A1034 /* P24Source.json in Resources */, + 53D0248D7927B0E62B8C967B /* PaymentIntent.json in Resources */, + 87061C07E2B17DD8B7052B72 /* SEPADebitSource.json in Resources */, + 314B144D765DB6CD8ABE8B7D /* SetupIntent.json in Resources */, + EEC27B2210C2353DDDDEEAD1 /* SofortSource.json in Resources */, + 2197EAE8DE995628312490BE /* WeChatPaySource.json in Resources */, + 1AB740655742E5D00E905A4B /* iDEALSource.json in Resources */, + E4BA3AF73442897BCA3A6962 /* recorded_network_traffic in Resources */, + 2AE9ABA774B430E174279FEA /* stp_test_upload_image.jpeg in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C501B175E87CBBB0075EB9C5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 24CDC502E3D468F309116FE1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 315713352C770DA3ED9CBDCD /* Enums+CustomStringConvertible.swift in Sources */, + B6784B7F4B9B04617C0EE510 /* PKAddPaymentPassRequest+Stripe_Error.swift in Sources */, + C0688E067AE4FFDFFDDC03BB /* PKPaymentAuthorizationViewController+Stripe_Blocks.swift in Sources */, + 6BF6ECC4A4E61E2FFC3EA20B /* STPAPIClient+BasicUI.swift in Sources */, + 5212C7875C07F9BF16AFD98D /* STPAPIClient+PushProvisioning.swift in Sources */, + BB46077C256C26418420F240 /* STPAddCardViewController.swift in Sources */, + E63B5BAF6B5645C979BFBA71 /* STPAddress+BasicUI.swift in Sources */, + 58240AA66FAE55131268E4A0 /* STPAddressFieldTableViewCell.swift in Sources */, + 2BD45625F6F665B60C6CAD30 /* STPAddressViewModel.swift in Sources */, + 605EFBDD21426FD30581563F /* STPAnalyticsClient+BasicUI.swift in Sources */, + 7589E37795D21AB818B0C333 /* STPAnalyticsClient+Payments.swift in Sources */, + F86F2DF6E46EFABE23AD5D27 /* STPApplePayContextDelegate.swift in Sources */, + FC166455478EAF51F7C34E68 /* STPApplePayPaymentOption.swift in Sources */, + C314A5C55064C51C2B999E6B /* STPBackendAPIAdapter.swift in Sources */, + CEF318C74D2E44C78EF85306 /* STPBankSelectionTableViewCell.swift in Sources */, + 172D96526023A80534D54CC0 /* STPBankSelectionViewController.swift in Sources */, + A0AA0B8AEF5B429858D71F6B /* STPBlocks.swift in Sources */, + DDBF5AAE607C698618DDE865 /* STPCameraView.swift in Sources */, + 66065B1D65D7D5502D4E2F2B /* STPCard+BasicUI.swift in Sources */, + BAFD06E994739E1C38DFFBBC /* STPCardScanner.swift in Sources */, + 2FFA7C2D1C7337FDB4C608A5 /* STPCardScannerTableViewCell.swift in Sources */, + 2F18A1903244E144C7802E09 /* STPCardValidationState.swift in Sources */, + DF73457BF349BC962A6AC502 /* STPCoreScrollViewController.swift in Sources */, + EEFFE199D9769FF449BFD7FF /* STPCoreTableViewController.swift in Sources */, + B1BF689B91D538BDCA4C8578 /* STPCoreViewController.swift in Sources */, + 429DBA641E926EBC2D049FE7 /* STPCustomerContext.swift in Sources */, + 62B91808A088C4F9FDB62C53 /* STPEphemeralKey.swift in Sources */, + 4FB67F10A0B7106A8142B842 /* STPEphemeralKeyManager.swift in Sources */, + B8385576DC25BDEEB92D812F /* STPEphemeralKeyProvider.swift in Sources */, + AF23CB4EF17E87007CFC3E96 /* STPFPXBankStatusResponse.swift in Sources */, + 0B9C0E9A7A750607413C9E53 /* STPFakeAddPaymentPassViewController.swift in Sources */, + 5D6B52EB4D7258129F134D07 /* STPImageLibrary.swift in Sources */, + D2869246B446B8B31F1CD368 /* STPIntentActionLinkAuthenticateAccount.swift in Sources */, + 98EE8326C1D133E1C998114F /* STPLocalizedString.swift in Sources */, + 609E4D384B75F6A111DC0E27 /* STPPaymentActivityIndicatorView.swift in Sources */, + 4EFF8B46B12DA4D9AAB22523 /* STPPaymentCardTextFieldCell.swift in Sources */, + 446A108C8EB6C338A1D774F8 /* STPPaymentConfiguration.swift in Sources */, + B00F7FC372E376C6B2170D37 /* STPPaymentContext.swift in Sources */, + 447C19BDB2CF5445045F81F7 /* STPPaymentContextAmountModel.swift in Sources */, + EA7FEC518AA07BA59405A5E3 /* STPPaymentIntentParams+BasicUI.swift in Sources */, + 7BC98BE168781C5B3EC8A8DB /* STPPaymentMethod+BasicUI.swift in Sources */, + 812682EA323986B8F698FF3C /* STPPaymentMethodParams+BasicUI.swift in Sources */, + F10FC337254A34ED8F13E341 /* STPPaymentOption.swift in Sources */, + 4ED44ACF24949F516867235C /* STPPaymentOptionTableViewCell.swift in Sources */, + 5ECED204FD22CFEA3A806767 /* STPPaymentOptionTuple.swift in Sources */, + 1F432D0B37949217E4299A20 /* STPPaymentOptionsInternalViewController.swift in Sources */, + 69AC1EDE2A3C03B1D980CA54 /* STPPaymentOptionsViewController.swift in Sources */, + 307FD6A103EF7AF3CE451598 /* STPPaymentResult.swift in Sources */, + 7EAA7334372DBC38DF8FA0AA /* STPPinManagementService.swift in Sources */, + 0A8943E08B8BC70C4D855377 /* STPPromise.swift in Sources */, + 2E35B0FB60FCBE7608080642 /* STPPushProvisioningContext.swift in Sources */, + FEE74744B657F86873EA2F3D /* STPPushProvisioningDetails.swift in Sources */, + 4E09E54E7FEC35C49C59A379 /* STPPushProvisioningDetailsParams.swift in Sources */, + 23D1246A5DAB5333650F104F /* STPSectionHeaderView.swift in Sources */, + 124D43C1A633922B1DA3E1E7 /* STPShippingAddressViewController.swift in Sources */, + 7B9C0D039EA9EF593AEC682D /* STPShippingMethodTableViewCell.swift in Sources */, + 7F9D08AC5A448C7693162D7D /* STPShippingMethodsViewController.swift in Sources */, + 3CE88568CB9648D6F1503B88 /* STPSource+BasicUI.swift in Sources */, + F835CEC935464FF32726A0A0 /* STPTheme.swift in Sources */, + 279D2BA91198E18730626CE6 /* STPUserInformation.swift in Sources */, + 542610492B38FEB652C6823E /* String+Localized.swift in Sources */, + DCF615643A22D0A7B739547C /* Stripe+Exports.swift in Sources */, + BF4ED4828114E2E89A3D4AB7 /* StripeBundleLocator.swift in Sources */, + 98E2332DE7F54E970BE5EEF7 /* UIBarButtonItem+Stripe.swift in Sources */, + 9D9692DFC4F06F8C70145000 /* UINavigationBar+Stripe_Theme.swift in Sources */, + 9C13E8A017A4E23BCCDE618B /* UINavigationController+Stripe_Completion.swift in Sources */, + 54331380F5AC68846DBE94D5 /* UITableViewCell+Stripe_Borders.swift in Sources */, + 093FE3D65978E3DB6B79AE05 /* UIToolbar+Stripe_InputAccessory.swift in Sources */, + C8A6CA6352B7C8FEE3D91476 /* UIView+Helpers.swift in Sources */, + 7F235CD649F6E97E4E7DD180 /* UIView+Stripe_FirstResponder.swift in Sources */, + 44672917D3AC4B83F9EC3BC3 /* UIView+Stripe_SafeAreaBounds.swift in Sources */, + CC072EBAD035AA54A2AD3ABC /* UIViewController+Stripe_KeyboardAvoiding.swift in Sources */, + 3FA556CF8B11E2486F505161 /* UIViewController+Stripe_NavigationItemProxy.swift in Sources */, + 3930ECBEE003772C1245D25B /* UIViewController+Stripe_ParentViewController.swift in Sources */, + D85C432B241FDE23875037F9 /* UserDefaults+Stripe.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C4ED1B5A417CECDB38B21698 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 234C71F480318E9062075924 /* AppDelegate.swift in Sources */, + 3C1A7B9810B038177FF1CF52 /* ViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E160E75F2870000E2FA9C5DC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 64801CF2D2CAC9008C17D154 /* LinkSecureCookieStoreTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB03810F22F4E0919BB2EF68 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3EB3745F556EA12AB27A8545 /* APIRequestTest.swift in Sources */, + 34F3ABB5BF9D3645D3B6DA80 /* AddressViewControllerSnapshotTests.swift in Sources */, + 6EF3F611E6EA3CB479D62450 /* AfterpayPriceBreakdownViewSnapshotTests.swift in Sources */, + DF85F5EC6E16CAD21491891A /* AnalyticsHelperTests.swift in Sources */, + 5910FCB9822259D5EC7E4051 /* AutoCompleteViewControllerSnapshotTests.swift in Sources */, + 3EFC86756F23D8AE6708ECE2 /* ButtonLinkSnapshotTests.swift in Sources */, + C1E70FD29BBE36D76A7E6929 /* CardExpiryDateTests.swift in Sources */, + D375ADBD1F4B48380D5347D1 /* CircularButtonSnapshotTests.swift in Sources */, + 2F9FA9CBCA3C0CE52FAC9B6B /* ConfirmButtonSnapshotTests.swift in Sources */, + 3C1E9069CD03ED9981D7F3E2 /* ConfirmButtonTests.swift in Sources */, + 795F3783D62AB8E2A00DCD05 /* ConsumerSessionTests.swift in Sources */, + 809C8A24858027DA177D7BEF /* FBSnapshotTestCase+STPViewControllerLoading.m in Sources */, + C9E66A22494C02050AE34A9B /* FBSnapshotTestCase+STPViewControllerLoading.swift in Sources */, + 35C1CF73701EECC7DB6AB722 /* FormSpecProviderTest.swift in Sources */, + ACF6CFE0F8B88FDBBB16968C /* FraudDetectionDataTest.swift in Sources */, + AF18D569B296BFC1EB5A7338 /* ImageTest.swift in Sources */, + 87AACDD643A998FFDD505D22 /* KlarnaHelperTest.swift in Sources */, + 5D1A9F97F79DAA3F46C82A28 /* LinkAccountServiceTests.swift in Sources */, + A0C3E888938414D185B71CF7 /* LinkBadgeViewSnapshotTest.swift in Sources */, + FBBDAEA5DF5CB3A138D82E8A /* LinkCardEditElementSnapshotTests.swift in Sources */, + 229E25F8DFCC55CA9EDD15AB /* LinkInMemoryCookieStoreTests.swift in Sources */, + 67E18B3DA020900C83AE29B9 /* LinkInlineSignupElementSnapshotTests.swift in Sources */, + 4F315E738D87C06682C4C504 /* LinkInstantDebitMandateViewSnapshotTests.swift in Sources */, + D0C81317E0AA8EB0370B1BA1 /* LinkLegalTermsViewSnapshotTests.swift in Sources */, + 6326FD82A0E6AFB10C773B03 /* LinkNavigationBarSnapshotTests.swift in Sources */, + AB3BD6A5E8660EC6D2C299BD /* LinkNoticeViewSnapshotTests.swift in Sources */, + 2F866A52BA39ED5D32BCA9DD /* LinkPaymentMethodPickerSnapshotTests.swift in Sources */, + 450FAE41FB4538462D05F2E4 /* LinkSignupViewModelTests.swift in Sources */, + 6964CE3F9E07A53AA2954E8E /* LinkStubs.swift in Sources */, + 91F90088C3F1102E3C041014 /* LinkToastSnapshotTests.swift in Sources */, + BAEE96DF60B42EE2A559DC9F /* LinkVerificationViewSnapshotTests.swift in Sources */, + FDD1858CAEFCEBB22BEC9BBC /* MKPlacemark+PaymentSheetTests.swift in Sources */, + 609C2C8F10AFAA2711639CD0 /* NSArray+StripeTest.swift in Sources */, + B98D71ED9ACC2E1B47372F53 /* NSDecimalNumber+StripeTest.swift in Sources */, + 6E7AD3CCC966A7F34922B172 /* NSDictionary+StripeTest.swift in Sources */, + 317275D3FB6DC708BD905040 /* NSLocale+STPSwizzling.m in Sources */, + C4C1295E7DA618DFB944A534 /* NSString+StripeTest.swift in Sources */, + 68318DB86DFCD19505FC47BA /* NSURLComponents_StripeTest.swift in Sources */, + D83F76F584BC345CFBA71CF8 /* OneTimeCodeTextFieldSnapshotTests.swift in Sources */, + 951344464ACF84F0F6D43D10 /* OneTimeCodeTextFieldTests.swift in Sources */, + 8E423294AB602BF25DB11D8E /* OperationDebouncerTests.swift in Sources */, + C4DC3F4FA93A3BAF6EE782A0 /* PKPayment+StripeTest.swift in Sources */, + DC57D2DC40C6BA0C9CF7EC92 /* PayWithLinkButtonSnapshotTests.swift in Sources */, + 44A68EC2EE889D75474422F9 /* PayWithLinkViewController-WalletViewModelTests.swift in Sources */, + AD9B9F3FF697D4A3892E86F2 /* PaymentAnalyticTest.swift in Sources */, + C71B55CAA87D9B20B68E0608 /* PaymentMethodMessagingViewFunctionalTest.swift in Sources */, + B92C22D02FDA5BC7FCDF8EEF /* PaymentMethodMessagingViewSnapshotTests.swift in Sources */, + 9708289AA2B48C0828F21FA1 /* PaymentSheet+APITest.swift in Sources */, + 9000A4B7286F69D5B2376FCF /* PaymentSheet+PaymentMethodAvailabilityTest.swift in Sources */, + 5DD402F5E453D4A2194A346B /* PaymentSheetAddressTests.swift in Sources */, + 181B8C34A3FFCF2DBEF0086E /* PaymentSheetFormFactoryTest.swift in Sources */, + 5A6CF4BEE7E5B3587217C848 /* PaymentSheetLinkAccountTests.swift in Sources */, + 9252E3E10BD2FEC4CDD05959 /* PaymentSheetPaymentMethodTypeTest.swift in Sources */, + 9668F3E0DC7FAC4725B8C446 /* PaymentSheetTestUtils.swift in Sources */, + C861BB9EAAD04949E338D7FF /* PaymentTypeCellSnapshotTests.swift in Sources */, + BC694A1642DC30D530B60635 /* RotatingCardBrandsViewSnapshotTests.swift in Sources */, + C5D295FE9988CA80ABA57801 /* RotatingCardBrandsViewTests.swift in Sources */, + 49A77DA7B76E498C9F23D428 /* STPAPIClientNetworkBridgeTest.m in Sources */, + 9A24970C5FB6D3F7314AE550 /* STPAPIClientStubbedTest.swift in Sources */, + 5E5EE69D140F6FEDA5F0A346 /* STPAPIClientTest.swift in Sources */, + 825CBE20F190E96EFA95B35A /* STPAPISettingsBridgeTest.m in Sources */, + 17BD7C0391F3182E32A63D6B /* STPAUBECSDebitFormViewSnapshotTests.swift in Sources */, + 583DE9869C885BA02E0A071E /* STPAUBECSFormViewModelTests.swift in Sources */, + B6B89E3F7DE0811BD5CB9D31 /* STPAddCardViewControllerLocalizationTests.swift in Sources */, + FB34906C9215D0E03850064B /* STPAddCardViewControllerTest.swift in Sources */, + 4ABF7BEF11E1F4715DCFF446 /* STPAddressTests.m in Sources */, + F53E04785DB804EA5C2AAC18 /* STPAddressViewModelTest.swift in Sources */, + 0CBBE909CA773D7D45B9AD4C /* STPAnalyticsClientPaymentSheetTest.swift in Sources */, + E6F428CFAD64979A8874B00B /* STPAnalyticsClientPaymentsTest.swift in Sources */, + F30F6DA35482988D8EC9FCEB /* STPApplePayContextFunctionalTest.m in Sources */, + 6F9525063D76A9F86A10CCBF /* STPApplePayContextFunctionalTestExtras.swift in Sources */, + F2655328479314A9C8718DE4 /* STPApplePayContextTest.swift in Sources */, + 9B149DA42FB38C3542E0CB4B /* STPApplePayFunctionalTest.swift in Sources */, + 2990B7B1513ACA58065A1D0B /* STPApplePayPaymentOptionTest.m in Sources */, + AE9AB2E4E82CC2AFF8B2DC96 /* STPApplePayTest.m in Sources */, + FBBA3B39598BBECB664C5E7F /* STPApplePayTest.swift in Sources */, + D0342D50F9AC319919D93D59 /* STPBECSDebitAccountNumberValidatorTests.swift in Sources */, + 66B7EF2DC1CBF813707C767C /* STPBSBNumberValidatorTests.swift in Sources */, + B7CE5D774F8BA17274995BA2 /* STPBankAccountFunctionalTest.m in Sources */, + A7244AE4E4D7E5BC66303F62 /* STPBankAccountParamsTest.m in Sources */, + E1EA6387717F8ACD3637AA78 /* STPBankAccountTest.m in Sources */, + 6F4FBB4F10B5DB2CF8BB3460 /* STPBinRangeTest.swift in Sources */, + B917BF282C84507292112B9D /* STPCardBINMetadataTests.swift in Sources */, + C3C01719939575E1519EEC2C /* STPCardBrandTest.m in Sources */, + FE6647242714D9BEA1EBC055 /* STPCardCVCInputTextFieldFormatterTests.swift in Sources */, + 8EC1820299152F8565D30A40 /* STPCardCVCInputTextFieldSnapshotTests.swift in Sources */, + F35E090A607EB5F86FFC3D31 /* STPCardCVCInputTextFieldTests.swift in Sources */, + D2C062CE4E54094B1AC33E78 /* STPCardCVCInputTextFieldValidatorTests.swift in Sources */, + AC35943F1EAD50E9D5D509B3 /* STPCardExpiryInputTextFieldFormatterTests.swift in Sources */, + A66C279957B6AC8F72DE05C7 /* STPCardExpiryInputTextFieldSnapshotTests.swift in Sources */, + C57BDA835AED735321906977 /* STPCardExpiryInputTextFieldValidatorTests.swift in Sources */, + 07A5CDBFDF2340BAD99D6EB3 /* STPCardFormViewSnapshotTests.swift in Sources */, + 246920234EE8382FB4E56516 /* STPCardFormViewTests.swift in Sources */, + 50D084E50661D174297FC30B /* STPCardFunctionalTest.m in Sources */, + CF2E17AC77EB08393B8A3F98 /* STPCardNumberInputTextFieldFormatterTests.swift in Sources */, + EEBA9A95E8057A06E5E7C103 /* STPCardNumberInputTextFieldSnapshotTests.swift in Sources */, + 1A058C42C4703458CA1CA522 /* STPCardNumberInputTextFieldValidatorTests.swift in Sources */, + 222F49985A1817D8D41D8B56 /* STPCardParamsTest.m in Sources */, + D15160C0F0763078DBB434E4 /* STPCardTest.swift in Sources */, + 1E8D8E2494062262A332879C /* STPCardValidatorTest.swift in Sources */, + A781FB0F586B26655FAEC3C0 /* STPCertTest.swift in Sources */, + 9FFC5B74959F202EDF277DF8 /* STPConfirmCardOptionsTest.m in Sources */, + 9482B2A9A13CA7F5F8C79780 /* STPConfirmPaymentMethodOptionsTest.m in Sources */, + FF00A8AACAA255F89D9034A0 /* STPConnectAccountAddressTest.m in Sources */, + 9BD0FF43A32AAAA30A5973A5 /* STPConnectAccountFunctionalTest.m in Sources */, + DF7C5EA613A5B8F5D1431622 /* STPConnectAccountParamsTest.m in Sources */, + 9D464A252FBD0D4E2A0A7398 /* STPCountryPickerInputFieldSnapshotTests.swift in Sources */, + 4C3B161481D11385352B06D4 /* STPCustomerContextTest.swift in Sources */, + 89E246E74FACFAB5EFBA6980 /* STPCustomerTest.m in Sources */, + CBCA59D39B30D869B4FDC04B /* STPE2ETest.swift in Sources */, + 53853E75323918758A1A3B35 /* STPEphemeralKeyManagerTest.m in Sources */, + B6656829DEC006DBEED2AA0E /* STPEphemeralKeyTest.swift in Sources */, + 7435E6BB6971012A9B0DB52E /* STPErrorBridgeTest.m in Sources */, + B9EE4AC9206FD77A2FB8C702 /* STPFPXBankBrandTest.m in Sources */, + 97F2F817247B1CB07F1E6600 /* STPFileFunctionalTest.m in Sources */, + B3C3DCC5BD2BE09DEC0906F0 /* STPFileTest.m in Sources */, + 8A3B74851E988FC00BE172E1 /* STPFixtures.m in Sources */, + BC6912C0DE15008C8D8C303C /* STPFloatingPlaceholderTextFieldSnapshotTests.swift in Sources */, + 91A839DEDA7D1EAF6FC66BE0 /* STPFormEncoderTest.swift in Sources */, + 96098727EFA6A72087A35A52 /* STPFormTextFieldTest.swift in Sources */, + 013F991AB34E38BDBA6E4521 /* STPFormViewSnapshotTests.swift in Sources */, + 51044B947A7FDB99451466D8 /* STPGenericInputPickerFieldSnapshotTests.swift in Sources */, + 8532FEBF4F2E0EB282D466CE /* STPGenericInputPickerFieldValidatorTest.swift in Sources */, + 4B0917FC15BF56D0100E0ED1 /* STPGenericInputTextFieldSnapshotTests.swift in Sources */, + 3AD22E0BD44B02D968C6569A /* STPImageLibraryTest.swift in Sources */, + D7C555B36C282B99E22B8D45 /* STPInputTextFieldFormatterTests.swift in Sources */, + 903FFB756C6ED520BE38EF6F /* STPInputTextFieldValidatorTests.swift in Sources */, + 45FA9B8CC2D18E29BE81CF8F /* STPIntentActionAlipayHandleRedirectTest.swift in Sources */, + AE90123C3DCF6C56329ABD72 /* STPIntentActionTest.m in Sources */, + 4935C8B3ECFBAD947E694934 /* STPIntentActionTypeTest.swift in Sources */, + 8F0326E98C74EB62E34B9FEA /* STPIntentActionWeChatPayRedirectToAppTest.swift in Sources */, + 1F417D0874CC86F4C9AB2790 /* STPIntentWithPreferencesTest.swift in Sources */, + 5660A88BD792A7A844084F16 /* STPLabeledFormTextFieldViewSnapshotTests.m in Sources */, + A22D548084E7DE1FE5ABE8E7 /* STPLabeledMultiFormTextFieldViewSnapshotTests.swift in Sources */, + 331924F0801287BAD413FDCB /* STPMandateCustomerAcceptanceParamsTest.swift in Sources */, + 781EC0163AC001C6A66045B6 /* STPMandateDataParamsTest.swift in Sources */, + B82859A4444B9F735720F232 /* STPMandateOnlineParamsTest.swift in Sources */, + 9FD92B3ADEBEC96660B70409 /* STPMocks.m in Sources */, + 542B23E3AC288AF2F4E5D6C8 /* STPNetworkStubbingTestCase.m in Sources */, + F481DAE25F9957D23F529CF7 /* STPNetworkStubbingTestCase.swift in Sources */, + A77C5769B20D7884FC8FC4FB /* STPNumericDigitInputTextFormatterTests.swift in Sources */, + F975CE029DF30419B8DB0D8F /* STPNumericStringValidatorTests.swift in Sources */, + 41A4FD6DA3754A61880111D4 /* STPPIIFunctionalTest.m in Sources */, + 82B4D3FC63C069728459BABD /* STPPaymentCardTextFieldTest.m in Sources */, + 86BAF121184D71F5F4FFAD7B /* STPPaymentCardTextFieldTestsSwift.swift in Sources */, + B4719234E4BBDAD260E31373 /* STPPaymentCardTextFieldViewModelTest.swift in Sources */, + 3AAE488F2461A46143B3A687 /* STPPaymentConfigurationTest.m in Sources */, + 829D43B6705D125FEC9926DA /* STPPaymentContextApplePayTest.swift in Sources */, + 258E3F6C9DBB2B510CCEC525 /* STPPaymentContextSnapshotTests.m in Sources */, + FEF2E0DAC862FF42B814AFCA /* STPPaymentHandlerFunctionalTest.m in Sources */, + 2A528B7B2579E5F977797822 /* STPPaymentHandlerTests.swift in Sources */, + 1BC4044802EE7D3E2643DC84 /* STPPaymentIntentEnumsTest.swift in Sources */, + 672B820564FFBAFFAD93B27E /* STPPaymentIntentFunctionalTest.m in Sources */, + 37E9160706C9EEEFEF133617 /* STPPaymentIntentFunctionalTest.swift in Sources */, + F729E784CFFC1F79EF5F2ABE /* STPPaymentIntentLastPaymentErrorTest.swift in Sources */, + CA189278AD606BEAC62D545F /* STPPaymentIntentParamsTest.swift in Sources */, + 73AFE2A8839EFAB8330F6CF0 /* STPPaymentIntentTest.swift in Sources */, + 6D578C4501AD509C88010ABB /* STPPaymentMethodAUBECSDebitParamsTests.m in Sources */, + D567569568C0D8F2D7B179B3 /* STPPaymentMethodAUBECSDebitTests.swift in Sources */, + D8C7D8B5749708833F89024B /* STPPaymentMethodAddressTest.m in Sources */, + 4993037E5386D0AF87B24871 /* STPPaymentMethodAffirmParamsTest.swift in Sources */, + F5CC4F320D09A06F0B21ABE6 /* STPPaymentMethodAffirmTests.swift in Sources */, + 0A181790DAF17BD039F01B15 /* STPPaymentMethodAfterpayClearpayParamsTest.m in Sources */, + 621CBBB2E116055B85E860B8 /* STPPaymentMethodAfterpayClearpayTest.m in Sources */, + 64A685F033DC45A99FB3E300 /* STPPaymentMethodBacsDebitTest.m in Sources */, + F530ECEDE5FFDD9B4321CCD4 /* STPPaymentMethodBancontactParamsTests.m in Sources */, + 1CCFC43F7FCD273E2100D321 /* STPPaymentMethodBancontactTests.swift in Sources */, + DEC21E8B6DD667AD876ABA0E /* STPPaymentMethodBillingDetailsTest.m in Sources */, + 8C977F8D224A7360AE8E15A7 /* STPPaymentMethodBoletoParamsTests.swift in Sources */, + 5170651536332C4842E9D009 /* STPPaymentMethodBoletoTests.swift in Sources */, + EE4E023ABD6C611BA3EDDD17 /* STPPaymentMethodCardChecksTest.m in Sources */, + 8378F2A4B0796819BB1C6C54 /* STPPaymentMethodCardParamsTest.swift in Sources */, + 43FFF2881D4EFA7B57A60E09 /* STPPaymentMethodCardTest.swift in Sources */, + 35048D07C8323A96161F63C5 /* STPPaymentMethodCardWalletMasterpassTest.m in Sources */, + D5EECD0F9CD1DBC927E3E4E2 /* STPPaymentMethodCardWalletTest.m in Sources */, + 088B79E49A52A57B74B23F6E /* STPPaymentMethodCardWalletVisaCheckoutTest.m in Sources */, + D597AF40C2DFEE3321566DD0 /* STPPaymentMethodEPSParamsTests.m in Sources */, + C7EB8FB325BF491FDE25FE66 /* STPPaymentMethodEPSTests.swift in Sources */, + 3B6EF1B8C8C6A37D220AF282 /* STPPaymentMethodFPXTest.m in Sources */, + 06FB8C17B3AA4957FD0F3CD2 /* STPPaymentMethodFunctionalTest.m in Sources */, + CF6AB51AA76503F2EDD42BED /* STPPaymentMethodGiropayParamsTests.m in Sources */, + B8ED1F697519A6FCD3D79431 /* STPPaymentMethodGiropayTests.swift in Sources */, + ACE783C5E133EB9962908BA8 /* STPPaymentMethodGrabPayParamsTest.m in Sources */, + 7844BB705AEB002965EF82B0 /* STPPaymentMethodKlarnaParamsTests.swift in Sources */, + 27F1783CBFEC06BFD6C114F6 /* STPPaymentMethodKlarnaTests.swift in Sources */, + 2199D89054CACD1658CDC2F1 /* STPPaymentMethodNetBankingParamsTest.m in Sources */, + FF0F9BA6FE4B88297A434EA7 /* STPPaymentMethodNetBankingTests.swift in Sources */, + 7A1F658DC9D1494153AF215E /* STPPaymentMethodOXXOParamsTests.m in Sources */, + 3573889F65E85478DE770A49 /* STPPaymentMethodOXXOTests.m in Sources */, + DD8E2B99BAE917F83258DC35 /* STPPaymentMethodOptionsTest.swift in Sources */, + AE94F473534AE66F984D0254 /* STPPaymentMethodParamsTest.m in Sources */, + 25E98D9074E582E91A10F5FF /* STPPaymentMethodPayPalParamsTests.m in Sources */, + B7519705686EAA1BC4F0BC5A /* STPPaymentMethodPayPalTests.m in Sources */, + 8DB0749467DC61349532FB7B /* STPPaymentMethodPrzelewy24ParamsTests.m in Sources */, + D7D24DCC9402153965AF7F1B /* STPPaymentMethodPrzelewy24Tests.swift in Sources */, + D4362E8B9ACB60F1DCDEDBCF /* STPPaymentMethodSEPADebitTest.m in Sources */, + 284BCD4B0744CDD91F7D8B15 /* STPPaymentMethodSofortParamsTests.m in Sources */, + 5C5E1CE53D89DE8F0B867115 /* STPPaymentMethodSofortTests.swift in Sources */, + A08C2F0E7F642515B1D263ED /* STPPaymentMethodTest.swift in Sources */, + 4048B897F3AD627A0BF36D62 /* STPPaymentMethodThreeDSecureUsageTest.m in Sources */, + 78F39965489F75A82584F7E9 /* STPPaymentMethodUPIParamsTest.m in Sources */, + AF44725558E654548FED2A2B /* STPPaymentMethodUPITests.swift in Sources */, + 4AAA2CD5AEF1F913395B3B95 /* STPPaymentMethodUSBankAccountParamsStubbedTest.swift in Sources */, + 7D251ABF1EBF65ACA8A4BDD4 /* STPPaymentMethodUSBankAccountParamsTest.swift in Sources */, + 225140E0BD9C0630116DDE4A /* STPPaymentMethodUSBankAccountTest.swift in Sources */, + 50FB2476C611B94E5D283836 /* STPPaymentMethodiDEALTest.m in Sources */, + 66C38EA9CFB1ED4DF2F974BF /* STPPaymentOptionsViewControllerLocalizationTests.swift in Sources */, + 2C7991FDF7B374E0E65E253F /* STPPaymentOptionsViewControllerTest.swift in Sources */, + 07BF3CF1656AF5F5A0678873 /* STPPhoneNumberValidatorTest.swift in Sources */, + EBD436689635CC28A24DECD4 /* STPPinManagementServiceFunctionalTest.swift in Sources */, + 385CAC4D2FF119D2E925916B /* STPPostalCodeInputTextFieldFormatterTests.swift in Sources */, + 9B1AC278FDCDABF26C5E468C /* STPPostalCodeInputTextFieldSnapshotTests.swift in Sources */, + 4E31B1864DA407598FB1BBC6 /* STPPostalCodeInputTextFieldTests.swift in Sources */, + 91558F51B87C72E745244958 /* STPPostalCodeInputTextFieldValidatorTests.swift in Sources */, + 6FCA954C32AB351F902BA876 /* STPPostalCodeValidatorTest.swift in Sources */, + 3172C789DF2CE133ECA359D7 /* STPPushProvisioningDetailsFunctionalTest.swift in Sources */, + 4A61DC36F10B9C9C24345613 /* STPRadarSessionFunctionalTest.swift in Sources */, + 3D0C7EA60D59DFC66F0E02FE /* STPRedirectContextTest.m in Sources */, + 47E93085491222CB4C7FA9D4 /* STPSTPViewWithSeparatorSnapshotTests.m in Sources */, + 044B7BECFBDB1F6C8CA08514 /* STPSetupIntentConfirmParamsTest.swift in Sources */, + 72CB8A91146F3EC17CEFA235 /* STPSetupIntentFunctionalTest.m in Sources */, + C32D7ACEBC852CBC295BBEF2 /* STPSetupIntentFunctionalTest.swift in Sources */, + C83D461C72BE7E4A309C8452 /* STPSetupIntentLastSetupErrorTest.m in Sources */, + 3DE8D85607C0F78C67E35DF4 /* STPSetupIntentTest.m in Sources */, + A77EC5CE65161573062E9F98 /* STPShippingAddressViewControllerLocalizationTests.swift in Sources */, + 08ED7A4EB7E64FDAED2C2D39 /* STPShippingAddressViewControllerTest.swift in Sources */, + A7A1D3C0D75DCD7217D297FF /* STPShippingMethodsViewControllerLocalizationTests.swift in Sources */, + AE747ADA2841AA06F32558D8 /* STPSourceCardDetailsTest.swift in Sources */, + 33742D8595DCB200A2507B0A /* STPSourceFunctionalTest.m in Sources */, + E2FECEC25C1C69E4969B0E2A /* STPSourceOwnerTest.m in Sources */, + D8BECFB70834CC42BA6706D8 /* STPSourceParamsTest.swift in Sources */, + E32AB1FF0BFE8979650FDF15 /* STPSourceReceiverTest.m in Sources */, + AE5C68FE305F63791B59CDD1 /* STPSourceRedirectTest.m in Sources */, + 65E6B1133364DA6854F570A2 /* STPSourceSEPADebitDetailsTest.m in Sources */, + 64D168991F7FF6CB9A223F54 /* STPSourceTest.m in Sources */, + FAD79E127796E97B3C1693FD /* STPSourceVerificationTest.m in Sources */, + D7956073A8FD3785193E0577 /* STPStackViewWithSeparatorSnapshotTests.swift in Sources */, + 3DC523AEEA01D68424C8B41B /* STPStringUtilsTest.m in Sources */, + CA4F392070740C56FE2BB461 /* STPStringUtilsTest.swift in Sources */, + 9D8354BDB04CEC5D1EFCF54F /* STPSwiftFixtures.swift in Sources */, + B5A0B3CF303CD41FF73D4310 /* STPTestAPIClient+Swift.swift in Sources */, + 59D4B49B6C7EEF121EE266E4 /* STPTestUtils.m in Sources */, + AD731C41CE95233A733E0289 /* STPTestingAPIClient.m in Sources */, + E3F1BAD22CC6E90B761B0502 /* STPTextFieldDelegateProxyTests.swift in Sources */, + 58A8B3F57FE98C22D8F90C77 /* STPThreeDSButtonCustomizationTest.swift in Sources */, + EA571ECEFDDF10AF87CE2B74 /* STPThreeDSFooterCustomizationTest.swift in Sources */, + C35CF837D67AE8DB7CBDAD98 /* STPThreeDSLabelCustomizationTest.swift in Sources */, + 590DB84AC15709E3C6F1FC3B /* STPThreeDSNavigationBarCustomizationTest.swift in Sources */, + DD16FC7ABCA7817794ECC407 /* STPThreeDSSelectionCustomizationTest.swift in Sources */, + 2AC91F23CF3949ADC60D27F7 /* STPThreeDSTextFieldCustomizationTest.swift in Sources */, + 701C464523173C6809544935 /* STPThreeDSUICustomizationTest.swift in Sources */, + D2F19E21D5EC275A3CF23F7C /* STPTokenTest.m in Sources */, + 2F6814A67EA18BFD306A9E5D /* STPUIVCStripeParentViewControllerTests.m in Sources */, + 4DA70CAD042B5968D833B5BF /* SWHttpTrafficRecorder.m in Sources */, + 71116C2D5831E271E12DB059 /* ServerErrorMapperTest.swift in Sources */, + A8B0DB753CAA2223C8BED099 /* StripeErrorTest.swift in Sources */, + 9299ECF19D79770F54AC4732 /* TextFieldElement+CardTest.swift in Sources */, + 3B237145902E3DB07E747E32 /* TextFieldElement+IBANTest.swift in Sources */, + CEE483EB7B06B3C607BC755C /* UINavigationBar+StripeTest.m in Sources */, + 51D515315F02D4C03BA12366 /* UserDefaults+StripeTest.swift in Sources */, + 8B80FB6FC88D411A90E9D487 /* WalletHeaderViewSnapshotTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 11BFD72CD1F291E0E86EC784 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = StripeiOSTestHostApp; + target = 1628E8B14F1F7C63CF8C9962 /* StripeiOSTestHostApp */; + targetProxy = 32221E5BA07FB5AA4EBFE81C /* PBXContainerItemProxy */; + }; + 4E57D9EF1E91091C57E49111 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = StripeiOS; + target = ADF894AA8F6022D9BED17346 /* StripeiOS */; + targetProxy = D90CE98566BBDA0E7340E1D7 /* PBXContainerItemProxy */; + }; + C4F1FB6EFF8D25D54580374A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = StripeiOS; + target = ADF894AA8F6022D9BED17346 /* StripeiOS */; + targetProxy = 8F25D3DFD6D65DAE4B581911 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 147D2DC1FFDFC99269039377 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + AD8BED2A6066514B51693172 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; + 884C01B087B4D820395BD374 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + C980D24DDC884FECCE39139F /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + C2427C1CDFA85BFC6570F1E9 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 7B8ADF2EA2D5C4C90BCDDDD5 /* bg-BG */, + 26E70469F4032553B4BB62DA /* ca-ES */, + 8ED737CB1253C3C5704B6C05 /* cs-CZ */, + 27A4D83C0E7D4AE0CCD38B89 /* da */, + 2560B4EEE60D40FB31B8552F /* de */, + DE24B3BAD7E890661CCA817D /* el-GR */, + 7B10B1A15063FEDBA4A59953 /* en */, + 90D0900C5FDBB7952BCF2C3A /* en-GB */, + A6F6634AD12771A9BB100DD3 /* es */, + AB1A92C77AC61335184BBDBC /* es-419 */, + 12D757B36030685C401A6990 /* et-EE */, + BAFD938F3A149A56CC99FE96 /* fi */, + 0A16326394D71637A2CF68C3 /* fil */, + 04838ACE779F5CC949C276CB /* fr */, + DFA4E34E459EA612E065DE64 /* fr-CA */, + 7CAE7444CEFE1D1EFB888996 /* hr */, + BFB4A210A30D1D4F3D3100E5 /* hu */, + 084B1B9FCCF4AB727B4ECFB2 /* id */, + ABAABB969BFB7102D5AA5598 /* it */, + 064CFCA8FCEA9E4BAB3547D0 /* ja */, + 1007571188950D7FBF745A4E /* ko */, + 43ADFC4EF612D7C4A46E81B9 /* lt-LT */, + 13DDBEA7D444A8AC14E0F1C8 /* lv-LV */, + 9D3BBCE8C46A38D0E20DBF4E /* ms-MY */, + 04FE0C74090AE8A871CCE5EC /* mt */, + 482693A3D9A527B0E671F757 /* nb */, + D3667F97B7665F699D6704BE /* nl */, + B334078D1C3E629BEB498BAB /* nn-NO */, + 0C9D6F99E303A17A91101723 /* pl-PL */, + 002634603200AABECC9686B1 /* pt-BR */, + C45852D37E323E65C47348B0 /* pt-PT */, + AA3CA5B4B91838CC7ED4D5EB /* ro-RO */, + 121B7EDCCD0957C9A444A8E3 /* ru */, + 0F735744F27D46F005BB5D67 /* sk-SK */, + 618DE183886175AF23C4E668 /* sl-SI */, + 58158E8A117299834246100F /* sv */, + 35ABE696542469B79A9D52E6 /* tk */, + 313263D9DC0629C5EE279FEB /* tr */, + 4077600B9B3C1ABFF38383BE /* vi */, + F13E3DE09A463B4501733B87 /* zh-Hans */, + 4DFDFC019C67AFF7C0F7630B /* zh-Hant */, + EA20E0E29EDC1F61ADA226A2 /* zh-HK */, + ); + name = Localizable.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 006D8C78BFD35DF18042E040 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1D23EB567F573612E0794B3A /* Stripe Tests-Debug.xcconfig */; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + INFOPLIST_FILE = StripeiOSTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSTests; + PRODUCT_NAME = StripeiOS_Tests; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 008139FD6C1D3C3903E1FBC4 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 969E196AB597EEF68C38103E /* Project-Release.xcconfig */; + buildSettings = { + }; + name = Release; + }; + 160D95A170FDDD08C46E4C35 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5E4EA6394497D1BD57ED0032 /* Stripe Tests-Release.xcconfig */; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + INFOPLIST_FILE = StripeiOSTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSTests; + PRODUCT_NAME = StripeiOS_Tests; + SDKROOT = iphoneos; + }; + name = Release; + }; + 2473A3BC44750A2ADE1CE6A4 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E1A2173E0891B7138687D544 /* Stripe-Debug.xcconfig */; + buildSettings = { + INFOPLIST_FILE = StripeiOS/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-ios"; + PRODUCT_NAME = Stripe; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 4CFD88FE3BC957D5059302C0 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D609FFD051FC01BF566665A0 /* StripeiOS Tests-Debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + INFOPLIST_FILE = StripeiOSAppHostedTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSAppHostedTests; + PRODUCT_NAME = StripeiOSAppHostedTests; + SDKROOT = iphoneos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StripeiOSTestHostApp.app/StripeiOSTestHostApp"; + TEST_TARGET_NAME = StripeiOSTestHostApp; + }; + name = Debug; + }; + 50C10A6D37E11392F6B0E7F2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E3C8833E7EBA7A1EBF349D19 /* StripeiOS Tests-Release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + INFOPLIST_FILE = StripeiOSAppHostedTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSAppHostedTests; + PRODUCT_NAME = StripeiOSAppHostedTests; + SDKROOT = iphoneos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StripeiOSTestHostApp.app/StripeiOSTestHostApp"; + TEST_TARGET_NAME = StripeiOSTestHostApp; + }; + name = Release; + }; + 610AD56E6CBB9E6781424682 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = EB71A4A2762CF864DB198BCF /* Project-Debug.xcconfig */; + buildSettings = { + }; + name = Debug; + }; + A71DB2DB45060267821F91EF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E3C8833E7EBA7A1EBF349D19 /* StripeiOS Tests-Release.xcconfig */; + buildSettings = { + INFOPLIST_FILE = StripeiOSTestHostApp/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSTestHostApp; + PRODUCT_NAME = StripeiOSTestHostApp; + SDKROOT = iphoneos; + }; + name = Release; + }; + D3B5E5117D5D1C186CC75505 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D609FFD051FC01BF566665A0 /* StripeiOS Tests-Debug.xcconfig */; + buildSettings = { + INFOPLIST_FILE = StripeiOSTestHostApp/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeiOSTestHostApp; + PRODUCT_NAME = StripeiOSTestHostApp; + SDKROOT = iphoneos; + }; + name = Debug; + }; + D88B8DCAA56931FBE4963518 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DA82BB67D434E76B9ABA4CEC /* Stripe-Release.xcconfig */; + buildSettings = { + INFOPLIST_FILE = StripeiOS/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-ios"; + PRODUCT_NAME = Stripe; + SDKROOT = iphoneos; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 2804CCD7A91C99DF32596147 /* Build configuration list for PBXProject "Stripe" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 610AD56E6CBB9E6781424682 /* Debug */, + 008139FD6C1D3C3903E1FBC4 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 54F4DB1E9C991950FD9EB4B4 /* Build configuration list for PBXNativeTarget "StripeiOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 006D8C78BFD35DF18042E040 /* Debug */, + 160D95A170FDDD08C46E4C35 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B6D8846CE184BBD9139D6D15 /* Build configuration list for PBXNativeTarget "StripeiOSTestHostApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D3B5E5117D5D1C186CC75505 /* Debug */, + A71DB2DB45060267821F91EF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F0FCB32AE130ABA66178DD9B /* Build configuration list for PBXNativeTarget "StripeiOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2473A3BC44750A2ADE1CE6A4 /* Debug */, + D88B8DCAA56931FBE4963518 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FCBB942DEBE57423D79373B4 /* Build configuration list for PBXNativeTarget "StripeiOSAppHostedTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4CFD88FE3BC957D5059302C0 /* Debug */, + 50C10A6D37E11392F6B0E7F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 44C6210EB47ACF468D255723 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/eurias-stripe/OHHTTPStubs"; + requirement = { + branch = master; + kind = branch; + }; + }; + 71086E1440B890A9DC01C9DF /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/uber/ios-snapshot-test-case"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 8.0.0; + }; + }; + D244E8B5402CB2CF89CE7872 /* XCRemoteSwiftPackageReference "ocmock" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/erikdoe/ocmock"; + requirement = { + branch = master; + kind = branch; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 62887B4538E4E41E735685E1 /* OHHTTPStubs */ = { + isa = XCSwiftPackageProductDependency; + productName = OHHTTPStubs; + }; + 911CA85A1610303FA0AF0643 /* OHHTTPStubsSwift */ = { + isa = XCSwiftPackageProductDependency; + productName = OHHTTPStubsSwift; + }; + C55551F29B99CF6D6DD9EE2F /* iOSSnapshotTestCase */ = { + isa = XCSwiftPackageProductDependency; + productName = iOSSnapshotTestCase; + }; + E804AA8C4156CC85FFD9595F /* OCMock */ = { + isa = XCSwiftPackageProductDependency; + productName = OCMock; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = E63832AA5BB4225708B7C838 /* Project object */; +} diff --git a/Stripe/Stripe.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Stripe/Stripe.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/Stripe/Stripe.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/StripeiOS.xcscheme b/Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/StripeiOS.xcscheme new file mode 100644 index 00000000000..e730b6df4aa --- /dev/null +++ b/Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/StripeiOS.xcscheme @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2-static.xcscheme b/Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/StripeiOSTestHostApp.xcscheme similarity index 63% rename from Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2-static.xcscheme rename to Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/StripeiOSTestHostApp.xcscheme index 1d49476c0f3..eb6c42eb29e 100644 --- a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2-static.xcscheme +++ b/Stripe/Stripe.xcodeproj/xcshareddata/xcschemes/StripeiOSTestHostApp.xcscheme @@ -1,6 +1,6 @@ + BlueprintIdentifier = "ADF894AA8F6022D9BED17346" + BuildableName = "Stripe.framework" + BlueprintName = "StripeiOS" + ReferencedContainer = "container:Stripe.xcodeproj"> @@ -32,10 +32,10 @@ skipped = "NO"> + BlueprintIdentifier = "49A14BBD10B1E97F2B43C448" + BuildableName = "StripeiOSAppHostedTests.xctest" + BlueprintName = "StripeiOSAppHostedTests" + ReferencedContainer = "container:Stripe.xcodeproj"> @@ -44,21 +44,23 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + disablePerformanceAntipatternChecker = "YES" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - + + BlueprintIdentifier = "1628E8B14F1F7C63CF8C9962" + BuildableName = "StripeiOSTestHostApp.app" + BlueprintName = "StripeiOSTestHostApp" + ReferencedContainer = "container:Stripe.xcodeproj"> - + - + + BlueprintIdentifier = "1628E8B14F1F7C63CF8C9962" + BuildableName = "StripeiOSTestHostApp.app" + BlueprintName = "StripeiOSTestHostApp" + ReferencedContainer = "container:Stripe.xcodeproj"> - + diff --git a/Stripe/Info.plist b/Stripe/StripeiOS/Info.plist similarity index 100% rename from Stripe/Info.plist rename to Stripe/StripeiOS/Info.plist diff --git a/Stripe/Resources/Images/Cards/stp_card_form_amex_cvc@3x.png b/Stripe/StripeiOS/Resources/Images/Cards/stp_card_form_amex_cvc@3x.png similarity index 100% rename from Stripe/Resources/Images/Cards/stp_card_form_amex_cvc@3x.png rename to Stripe/StripeiOS/Resources/Images/Cards/stp_card_form_amex_cvc@3x.png diff --git a/Stripe/Resources/Images/Cards/stp_card_form_back@3x.png b/Stripe/StripeiOS/Resources/Images/Cards/stp_card_form_back@3x.png similarity index 100% rename from Stripe/Resources/Images/Cards/stp_card_form_back@3x.png rename to Stripe/StripeiOS/Resources/Images/Cards/stp_card_form_back@3x.png diff --git a/Stripe/Resources/Images/Cards/stp_card_form_front@3x.png b/Stripe/StripeiOS/Resources/Images/Cards/stp_card_form_front@3x.png similarity index 100% rename from Stripe/Resources/Images/Cards/stp_card_form_front@3x.png rename to Stripe/StripeiOS/Resources/Images/Cards/stp_card_form_front@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_affin_bank@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_affin_bank@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_affin_bank@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_affin_bank@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_alliance_bank@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_alliance_bank@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_alliance_bank@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_alliance_bank@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_ambank@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_ambank@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_ambank@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_ambank@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_bank_islam@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_bank_islam@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_bank_islam@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_bank_islam@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_bank_muamalat@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_bank_muamalat@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_bank_muamalat@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_bank_muamalat@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_bank_rakyat@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_bank_rakyat@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_bank_rakyat@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_bank_rakyat@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_bsn@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_bsn@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_bsn@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_bsn@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_cimb@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_cimb@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_cimb@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_cimb@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_hong_leong_bank@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_hong_leong_bank@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_hong_leong_bank@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_hong_leong_bank@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_hsbc@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_hsbc@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_hsbc@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_hsbc@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_kfh@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_kfh@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_kfh@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_kfh@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_maybank2e@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_maybank2e@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_maybank2e@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_maybank2e@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_maybank2u@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_maybank2u@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_maybank2u@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_maybank2u@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_ocbc@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_ocbc@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_ocbc@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_ocbc@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_public_bank@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_public_bank@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_public_bank@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_public_bank@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_rhb@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_rhb@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_rhb@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_rhb@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_standard_chartered@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_standard_chartered@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_standard_chartered@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_standard_chartered@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_bank_fpx_uob@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_uob@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_bank_fpx_uob@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_bank_fpx_uob@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_fpx_big_logo@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_fpx_big_logo@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_fpx_big_logo@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_fpx_big_logo@3x.png diff --git a/Stripe/Resources/Images/FPX/stp_fpx_logo@3x.png b/Stripe/StripeiOS/Resources/Images/FPX/stp_fpx_logo@3x.png similarity index 100% rename from Stripe/Resources/Images/FPX/stp_fpx_logo@3x.png rename to Stripe/StripeiOS/Resources/Images/FPX/stp_fpx_logo@3x.png diff --git a/Stripe/Resources/Images/stp_icon_add@3x.png b/Stripe/StripeiOS/Resources/Images/stp_icon_add@3x.png similarity index 100% rename from Stripe/Resources/Images/stp_icon_add@3x.png rename to Stripe/StripeiOS/Resources/Images/stp_icon_add@3x.png diff --git a/Stripe/Resources/Images/stp_icon_bank@3x.png b/Stripe/StripeiOS/Resources/Images/stp_icon_bank@3x.png similarity index 100% rename from Stripe/Resources/Images/stp_icon_bank@3x.png rename to Stripe/StripeiOS/Resources/Images/stp_icon_bank@3x.png diff --git a/Stripe/Resources/Images/stp_icon_checkmark@3x.png b/Stripe/StripeiOS/Resources/Images/stp_icon_checkmark@3x.png similarity index 100% rename from Stripe/Resources/Images/stp_icon_checkmark@3x.png rename to Stripe/StripeiOS/Resources/Images/stp_icon_checkmark@3x.png diff --git a/Stripe/Resources/Images/stp_shipping_form@3x.png b/Stripe/StripeiOS/Resources/Images/stp_shipping_form@3x.png similarity index 100% rename from Stripe/Resources/Images/stp_shipping_form@3x.png rename to Stripe/StripeiOS/Resources/Images/stp_shipping_form@3x.png diff --git a/Stripe/Resources/Localizations/bg-BG.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/bg-BG.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/bg-BG.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/bg-BG.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/ca-ES.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/ca-ES.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/ca-ES.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/ca-ES.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/cs-CZ.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/cs-CZ.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/cs-CZ.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/cs-CZ.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/da.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/da.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/da.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/da.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/de.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/de.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/de.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/de.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/el-GR.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/el-GR.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/el-GR.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/el-GR.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/en-GB.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/en-GB.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/en-GB.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/en-GB.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/en.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/en.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/en.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/en.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/es-419.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/es-419.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/es-419.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/es-419.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/es.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/es.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/es.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/es.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/et-EE.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/et-EE.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/et-EE.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/et-EE.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/fi.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/fi.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/fi.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/fi.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/fil.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/fil.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/fil.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/fil.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/fr-CA.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/fr-CA.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/fr-CA.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/fr-CA.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/fr.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/fr.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/fr.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/fr.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/hr.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/hr.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/hr.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/hr.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/hu.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/hu.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/hu.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/hu.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/id.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/id.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/id.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/id.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/it.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/it.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/it.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/it.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/ja.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/ja.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/ja.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/ja.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/ko.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/ko.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/ko.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/ko.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/lt-LT.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/lt-LT.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/lt-LT.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/lt-LT.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/lv-LV.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/lv-LV.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/lv-LV.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/lv-LV.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/ms-MY.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/ms-MY.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/ms-MY.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/ms-MY.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/mt.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/mt.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/mt.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/mt.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/nb.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/nb.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/nb.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/nb.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/nl.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/nl.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/nl.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/nl.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/nn-NO.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/nn-NO.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/nn-NO.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/nn-NO.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/pl-PL.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/pl-PL.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/pl-PL.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/pl-PL.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/pt-BR.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/pt-BR.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/pt-BR.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/pt-BR.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/pt-PT.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/pt-PT.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/pt-PT.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/pt-PT.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/ro-RO.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/ro-RO.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/ro-RO.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/ro-RO.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/ru.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/ru.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/ru.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/ru.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/sk-SK.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/sk-SK.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/sk-SK.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/sk-SK.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/sl-SI.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/sl-SI.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/sl-SI.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/sl-SI.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/sv.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/sv.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/sv.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/sv.lproj/Localizable.strings diff --git a/Stripe/StripeiOS/Resources/Localizations/tk.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/tk.lproj/Localizable.strings new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Stripe/Resources/Localizations/tr.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/tr.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/tr.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/tr.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/vi.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/vi.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/vi.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/vi.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/zh-HK.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/zh-HK.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/zh-HK.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/zh-HK.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/zh-Hans.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/zh-Hans.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/zh-Hans.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/zh-Hans.lproj/Localizable.strings diff --git a/Stripe/Resources/Localizations/zh-Hant.lproj/Localizable.strings b/Stripe/StripeiOS/Resources/Localizations/zh-Hant.lproj/Localizable.strings similarity index 100% rename from Stripe/Resources/Localizations/zh-Hant.lproj/Localizable.strings rename to Stripe/StripeiOS/Resources/Localizations/zh-Hant.lproj/Localizable.strings diff --git a/Stripe/Enums+CustomStringConvertible.swift b/Stripe/StripeiOS/Source/Enums+CustomStringConvertible.swift similarity index 98% rename from Stripe/Enums+CustomStringConvertible.swift rename to Stripe/StripeiOS/Source/Enums+CustomStringConvertible.swift index 65b318ad0d7..a7f24c217ee 100644 --- a/Stripe/Enums+CustomStringConvertible.swift +++ b/Stripe/StripeiOS/Source/Enums+CustomStringConvertible.swift @@ -6,6 +6,8 @@ // Copyright © 2021 Stripe, Inc. All rights reserved. // +import SwiftUI + /// :nodoc: extension STPBankSelectionMethod: CustomStringConvertible { public var description: String { diff --git a/Stripe/PKAddPaymentPassRequest+Stripe_Error.swift b/Stripe/StripeiOS/Source/PKAddPaymentPassRequest+Stripe_Error.swift similarity index 100% rename from Stripe/PKAddPaymentPassRequest+Stripe_Error.swift rename to Stripe/StripeiOS/Source/PKAddPaymentPassRequest+Stripe_Error.swift diff --git a/Stripe/PKPaymentAuthorizationViewController+Stripe_Blocks.swift b/Stripe/StripeiOS/Source/PKPaymentAuthorizationViewController+Stripe_Blocks.swift similarity index 100% rename from Stripe/PKPaymentAuthorizationViewController+Stripe_Blocks.swift rename to Stripe/StripeiOS/Source/PKPaymentAuthorizationViewController+Stripe_Blocks.swift diff --git a/Stripe/STPAPIClient+BasicUI.swift b/Stripe/StripeiOS/Source/STPAPIClient+BasicUI.swift similarity index 100% rename from Stripe/STPAPIClient+BasicUI.swift rename to Stripe/StripeiOS/Source/STPAPIClient+BasicUI.swift diff --git a/Stripe/STPAPIClient+PushProvisioning.swift b/Stripe/StripeiOS/Source/STPAPIClient+PushProvisioning.swift similarity index 100% rename from Stripe/STPAPIClient+PushProvisioning.swift rename to Stripe/StripeiOS/Source/STPAPIClient+PushProvisioning.swift diff --git a/Stripe/STPAddCardViewController.swift b/Stripe/StripeiOS/Source/STPAddCardViewController.swift similarity index 100% rename from Stripe/STPAddCardViewController.swift rename to Stripe/StripeiOS/Source/STPAddCardViewController.swift diff --git a/Stripe/STPAddress+BasicUI.swift b/Stripe/StripeiOS/Source/STPAddress+BasicUI.swift similarity index 100% rename from Stripe/STPAddress+BasicUI.swift rename to Stripe/StripeiOS/Source/STPAddress+BasicUI.swift diff --git a/Stripe/STPAddressFieldTableViewCell.swift b/Stripe/StripeiOS/Source/STPAddressFieldTableViewCell.swift similarity index 100% rename from Stripe/STPAddressFieldTableViewCell.swift rename to Stripe/StripeiOS/Source/STPAddressFieldTableViewCell.swift diff --git a/Stripe/STPAddressViewModel.swift b/Stripe/StripeiOS/Source/STPAddressViewModel.swift similarity index 100% rename from Stripe/STPAddressViewModel.swift rename to Stripe/StripeiOS/Source/STPAddressViewModel.swift diff --git a/Stripe/STPAnalyticsClient+BasicUI.swift b/Stripe/StripeiOS/Source/STPAnalyticsClient+BasicUI.swift similarity index 100% rename from Stripe/STPAnalyticsClient+BasicUI.swift rename to Stripe/StripeiOS/Source/STPAnalyticsClient+BasicUI.swift diff --git a/Stripe/STPAnalyticsClient+Payments.swift b/Stripe/StripeiOS/Source/STPAnalyticsClient+Payments.swift similarity index 100% rename from Stripe/STPAnalyticsClient+Payments.swift rename to Stripe/StripeiOS/Source/STPAnalyticsClient+Payments.swift diff --git a/Stripe/STPApplePayContextDelegate.swift b/Stripe/StripeiOS/Source/STPApplePayContextDelegate.swift similarity index 100% rename from Stripe/STPApplePayContextDelegate.swift rename to Stripe/StripeiOS/Source/STPApplePayContextDelegate.swift diff --git a/Stripe/STPApplePayPaymentOption.swift b/Stripe/StripeiOS/Source/STPApplePayPaymentOption.swift similarity index 100% rename from Stripe/STPApplePayPaymentOption.swift rename to Stripe/StripeiOS/Source/STPApplePayPaymentOption.swift diff --git a/Stripe/STPBackendAPIAdapter.swift b/Stripe/StripeiOS/Source/STPBackendAPIAdapter.swift similarity index 100% rename from Stripe/STPBackendAPIAdapter.swift rename to Stripe/StripeiOS/Source/STPBackendAPIAdapter.swift diff --git a/Stripe/STPBankSelectionTableViewCell.swift b/Stripe/StripeiOS/Source/STPBankSelectionTableViewCell.swift similarity index 100% rename from Stripe/STPBankSelectionTableViewCell.swift rename to Stripe/StripeiOS/Source/STPBankSelectionTableViewCell.swift diff --git a/Stripe/STPBankSelectionViewController.swift b/Stripe/StripeiOS/Source/STPBankSelectionViewController.swift similarity index 100% rename from Stripe/STPBankSelectionViewController.swift rename to Stripe/StripeiOS/Source/STPBankSelectionViewController.swift diff --git a/Stripe/STPBlocks.swift b/Stripe/StripeiOS/Source/STPBlocks.swift similarity index 100% rename from Stripe/STPBlocks.swift rename to Stripe/StripeiOS/Source/STPBlocks.swift diff --git a/Stripe/STPCameraView.swift b/Stripe/StripeiOS/Source/STPCameraView.swift similarity index 100% rename from Stripe/STPCameraView.swift rename to Stripe/StripeiOS/Source/STPCameraView.swift diff --git a/Stripe/STPCard+BasicUI.swift b/Stripe/StripeiOS/Source/STPCard+BasicUI.swift similarity index 100% rename from Stripe/STPCard+BasicUI.swift rename to Stripe/StripeiOS/Source/STPCard+BasicUI.swift diff --git a/Stripe/STPCardScanner.swift b/Stripe/StripeiOS/Source/STPCardScanner.swift similarity index 100% rename from Stripe/STPCardScanner.swift rename to Stripe/StripeiOS/Source/STPCardScanner.swift diff --git a/Stripe/STPCardScannerTableViewCell.swift b/Stripe/StripeiOS/Source/STPCardScannerTableViewCell.swift similarity index 100% rename from Stripe/STPCardScannerTableViewCell.swift rename to Stripe/StripeiOS/Source/STPCardScannerTableViewCell.swift diff --git a/Stripe/STPCardValidationState.swift b/Stripe/StripeiOS/Source/STPCardValidationState.swift similarity index 100% rename from Stripe/STPCardValidationState.swift rename to Stripe/StripeiOS/Source/STPCardValidationState.swift diff --git a/Stripe/STPCoreScrollViewController.swift b/Stripe/StripeiOS/Source/STPCoreScrollViewController.swift similarity index 100% rename from Stripe/STPCoreScrollViewController.swift rename to Stripe/StripeiOS/Source/STPCoreScrollViewController.swift diff --git a/Stripe/STPCoreTableViewController.swift b/Stripe/StripeiOS/Source/STPCoreTableViewController.swift similarity index 100% rename from Stripe/STPCoreTableViewController.swift rename to Stripe/StripeiOS/Source/STPCoreTableViewController.swift diff --git a/Stripe/STPCoreViewController.swift b/Stripe/StripeiOS/Source/STPCoreViewController.swift similarity index 100% rename from Stripe/STPCoreViewController.swift rename to Stripe/StripeiOS/Source/STPCoreViewController.swift diff --git a/Stripe/STPCustomerContext.swift b/Stripe/StripeiOS/Source/STPCustomerContext.swift similarity index 100% rename from Stripe/STPCustomerContext.swift rename to Stripe/StripeiOS/Source/STPCustomerContext.swift diff --git a/Stripe/STPEphemeralKey.swift b/Stripe/StripeiOS/Source/STPEphemeralKey.swift similarity index 100% rename from Stripe/STPEphemeralKey.swift rename to Stripe/StripeiOS/Source/STPEphemeralKey.swift diff --git a/Stripe/STPEphemeralKeyManager.swift b/Stripe/StripeiOS/Source/STPEphemeralKeyManager.swift similarity index 100% rename from Stripe/STPEphemeralKeyManager.swift rename to Stripe/StripeiOS/Source/STPEphemeralKeyManager.swift diff --git a/Stripe/STPEphemeralKeyProvider.swift b/Stripe/StripeiOS/Source/STPEphemeralKeyProvider.swift similarity index 100% rename from Stripe/STPEphemeralKeyProvider.swift rename to Stripe/StripeiOS/Source/STPEphemeralKeyProvider.swift diff --git a/Stripe/STPFPXBankStatusResponse.swift b/Stripe/StripeiOS/Source/STPFPXBankStatusResponse.swift similarity index 100% rename from Stripe/STPFPXBankStatusResponse.swift rename to Stripe/StripeiOS/Source/STPFPXBankStatusResponse.swift diff --git a/Stripe/STPFakeAddPaymentPassViewController.swift b/Stripe/StripeiOS/Source/STPFakeAddPaymentPassViewController.swift similarity index 100% rename from Stripe/STPFakeAddPaymentPassViewController.swift rename to Stripe/StripeiOS/Source/STPFakeAddPaymentPassViewController.swift diff --git a/Stripe/STPImageLibrary.swift b/Stripe/StripeiOS/Source/STPImageLibrary.swift similarity index 100% rename from Stripe/STPImageLibrary.swift rename to Stripe/StripeiOS/Source/STPImageLibrary.swift diff --git a/Stripe/STPIntentActionLinkAuthenticateAccount.swift b/Stripe/StripeiOS/Source/STPIntentActionLinkAuthenticateAccount.swift similarity index 100% rename from Stripe/STPIntentActionLinkAuthenticateAccount.swift rename to Stripe/StripeiOS/Source/STPIntentActionLinkAuthenticateAccount.swift diff --git a/Stripe/STPLocalizedString.swift b/Stripe/StripeiOS/Source/STPLocalizedString.swift similarity index 100% rename from Stripe/STPLocalizedString.swift rename to Stripe/StripeiOS/Source/STPLocalizedString.swift diff --git a/Stripe/STPPaymentActivityIndicatorView.swift b/Stripe/StripeiOS/Source/STPPaymentActivityIndicatorView.swift similarity index 100% rename from Stripe/STPPaymentActivityIndicatorView.swift rename to Stripe/StripeiOS/Source/STPPaymentActivityIndicatorView.swift diff --git a/Stripe/STPPaymentCardTextFieldCell.swift b/Stripe/StripeiOS/Source/STPPaymentCardTextFieldCell.swift similarity index 100% rename from Stripe/STPPaymentCardTextFieldCell.swift rename to Stripe/StripeiOS/Source/STPPaymentCardTextFieldCell.swift diff --git a/Stripe/STPPaymentConfiguration.swift b/Stripe/StripeiOS/Source/STPPaymentConfiguration.swift similarity index 100% rename from Stripe/STPPaymentConfiguration.swift rename to Stripe/StripeiOS/Source/STPPaymentConfiguration.swift diff --git a/Stripe/STPPaymentContext.swift b/Stripe/StripeiOS/Source/STPPaymentContext.swift similarity index 100% rename from Stripe/STPPaymentContext.swift rename to Stripe/StripeiOS/Source/STPPaymentContext.swift diff --git a/Stripe/STPPaymentContextAmountModel.swift b/Stripe/StripeiOS/Source/STPPaymentContextAmountModel.swift similarity index 100% rename from Stripe/STPPaymentContextAmountModel.swift rename to Stripe/StripeiOS/Source/STPPaymentContextAmountModel.swift diff --git a/Stripe/STPPaymentIntentParams+BasicUI.swift b/Stripe/StripeiOS/Source/STPPaymentIntentParams+BasicUI.swift similarity index 100% rename from Stripe/STPPaymentIntentParams+BasicUI.swift rename to Stripe/StripeiOS/Source/STPPaymentIntentParams+BasicUI.swift diff --git a/Stripe/STPPaymentMethod+BasicUI.swift b/Stripe/StripeiOS/Source/STPPaymentMethod+BasicUI.swift similarity index 100% rename from Stripe/STPPaymentMethod+BasicUI.swift rename to Stripe/StripeiOS/Source/STPPaymentMethod+BasicUI.swift diff --git a/Stripe/STPPaymentMethodParams+BasicUI.swift b/Stripe/StripeiOS/Source/STPPaymentMethodParams+BasicUI.swift similarity index 100% rename from Stripe/STPPaymentMethodParams+BasicUI.swift rename to Stripe/StripeiOS/Source/STPPaymentMethodParams+BasicUI.swift diff --git a/Stripe/STPPaymentOption.swift b/Stripe/StripeiOS/Source/STPPaymentOption.swift similarity index 100% rename from Stripe/STPPaymentOption.swift rename to Stripe/StripeiOS/Source/STPPaymentOption.swift diff --git a/Stripe/STPPaymentOptionTableViewCell.swift b/Stripe/StripeiOS/Source/STPPaymentOptionTableViewCell.swift similarity index 100% rename from Stripe/STPPaymentOptionTableViewCell.swift rename to Stripe/StripeiOS/Source/STPPaymentOptionTableViewCell.swift diff --git a/Stripe/STPPaymentOptionTuple.swift b/Stripe/StripeiOS/Source/STPPaymentOptionTuple.swift similarity index 100% rename from Stripe/STPPaymentOptionTuple.swift rename to Stripe/StripeiOS/Source/STPPaymentOptionTuple.swift diff --git a/Stripe/STPPaymentOptionsInternalViewController.swift b/Stripe/StripeiOS/Source/STPPaymentOptionsInternalViewController.swift similarity index 100% rename from Stripe/STPPaymentOptionsInternalViewController.swift rename to Stripe/StripeiOS/Source/STPPaymentOptionsInternalViewController.swift diff --git a/Stripe/STPPaymentOptionsViewController.swift b/Stripe/StripeiOS/Source/STPPaymentOptionsViewController.swift similarity index 100% rename from Stripe/STPPaymentOptionsViewController.swift rename to Stripe/StripeiOS/Source/STPPaymentOptionsViewController.swift diff --git a/Stripe/STPPaymentResult.swift b/Stripe/StripeiOS/Source/STPPaymentResult.swift similarity index 100% rename from Stripe/STPPaymentResult.swift rename to Stripe/StripeiOS/Source/STPPaymentResult.swift diff --git a/Stripe/STPPinManagementService.swift b/Stripe/StripeiOS/Source/STPPinManagementService.swift similarity index 100% rename from Stripe/STPPinManagementService.swift rename to Stripe/StripeiOS/Source/STPPinManagementService.swift diff --git a/Stripe/STPPromise.swift b/Stripe/StripeiOS/Source/STPPromise.swift similarity index 100% rename from Stripe/STPPromise.swift rename to Stripe/StripeiOS/Source/STPPromise.swift diff --git a/Stripe/STPPushProvisioningContext.swift b/Stripe/StripeiOS/Source/STPPushProvisioningContext.swift similarity index 100% rename from Stripe/STPPushProvisioningContext.swift rename to Stripe/StripeiOS/Source/STPPushProvisioningContext.swift diff --git a/Stripe/STPPushProvisioningDetails.swift b/Stripe/StripeiOS/Source/STPPushProvisioningDetails.swift similarity index 100% rename from Stripe/STPPushProvisioningDetails.swift rename to Stripe/StripeiOS/Source/STPPushProvisioningDetails.swift diff --git a/Stripe/STPPushProvisioningDetailsParams.swift b/Stripe/StripeiOS/Source/STPPushProvisioningDetailsParams.swift similarity index 100% rename from Stripe/STPPushProvisioningDetailsParams.swift rename to Stripe/StripeiOS/Source/STPPushProvisioningDetailsParams.swift diff --git a/Stripe/STPSectionHeaderView.swift b/Stripe/StripeiOS/Source/STPSectionHeaderView.swift similarity index 100% rename from Stripe/STPSectionHeaderView.swift rename to Stripe/StripeiOS/Source/STPSectionHeaderView.swift diff --git a/Stripe/STPShippingAddressViewController.swift b/Stripe/StripeiOS/Source/STPShippingAddressViewController.swift similarity index 100% rename from Stripe/STPShippingAddressViewController.swift rename to Stripe/StripeiOS/Source/STPShippingAddressViewController.swift diff --git a/Stripe/STPShippingMethodTableViewCell.swift b/Stripe/StripeiOS/Source/STPShippingMethodTableViewCell.swift similarity index 100% rename from Stripe/STPShippingMethodTableViewCell.swift rename to Stripe/StripeiOS/Source/STPShippingMethodTableViewCell.swift diff --git a/Stripe/STPShippingMethodsViewController.swift b/Stripe/StripeiOS/Source/STPShippingMethodsViewController.swift similarity index 100% rename from Stripe/STPShippingMethodsViewController.swift rename to Stripe/StripeiOS/Source/STPShippingMethodsViewController.swift diff --git a/Stripe/STPSource+BasicUI.swift b/Stripe/StripeiOS/Source/STPSource+BasicUI.swift similarity index 100% rename from Stripe/STPSource+BasicUI.swift rename to Stripe/StripeiOS/Source/STPSource+BasicUI.swift diff --git a/Stripe/STPTheme.swift b/Stripe/StripeiOS/Source/STPTheme.swift similarity index 100% rename from Stripe/STPTheme.swift rename to Stripe/StripeiOS/Source/STPTheme.swift diff --git a/Stripe/STPUserInformation.swift b/Stripe/StripeiOS/Source/STPUserInformation.swift similarity index 100% rename from Stripe/STPUserInformation.swift rename to Stripe/StripeiOS/Source/STPUserInformation.swift diff --git a/Stripe/String+Localized.swift b/Stripe/StripeiOS/Source/String+Localized.swift similarity index 100% rename from Stripe/String+Localized.swift rename to Stripe/StripeiOS/Source/String+Localized.swift diff --git a/Stripe/Stripe+Exports.swift b/Stripe/StripeiOS/Source/Stripe+Exports.swift similarity index 100% rename from Stripe/Stripe+Exports.swift rename to Stripe/StripeiOS/Source/Stripe+Exports.swift diff --git a/Stripe/StripeBundleLocator.swift b/Stripe/StripeiOS/Source/StripeBundleLocator.swift similarity index 100% rename from Stripe/StripeBundleLocator.swift rename to Stripe/StripeiOS/Source/StripeBundleLocator.swift diff --git a/Stripe/UIBarButtonItem+Stripe.swift b/Stripe/StripeiOS/Source/UIBarButtonItem+Stripe.swift similarity index 100% rename from Stripe/UIBarButtonItem+Stripe.swift rename to Stripe/StripeiOS/Source/UIBarButtonItem+Stripe.swift diff --git a/Stripe/UINavigationBar+Stripe_Theme.swift b/Stripe/StripeiOS/Source/UINavigationBar+Stripe_Theme.swift similarity index 100% rename from Stripe/UINavigationBar+Stripe_Theme.swift rename to Stripe/StripeiOS/Source/UINavigationBar+Stripe_Theme.swift diff --git a/Stripe/UINavigationController+Stripe_Completion.swift b/Stripe/StripeiOS/Source/UINavigationController+Stripe_Completion.swift similarity index 100% rename from Stripe/UINavigationController+Stripe_Completion.swift rename to Stripe/StripeiOS/Source/UINavigationController+Stripe_Completion.swift diff --git a/Stripe/UITableViewCell+Stripe_Borders.swift b/Stripe/StripeiOS/Source/UITableViewCell+Stripe_Borders.swift similarity index 100% rename from Stripe/UITableViewCell+Stripe_Borders.swift rename to Stripe/StripeiOS/Source/UITableViewCell+Stripe_Borders.swift diff --git a/Stripe/UIToolbar+Stripe_InputAccessory.swift b/Stripe/StripeiOS/Source/UIToolbar+Stripe_InputAccessory.swift similarity index 100% rename from Stripe/UIToolbar+Stripe_InputAccessory.swift rename to Stripe/StripeiOS/Source/UIToolbar+Stripe_InputAccessory.swift diff --git a/Stripe/UIView+Helpers.swift b/Stripe/StripeiOS/Source/UIView+Helpers.swift similarity index 100% rename from Stripe/UIView+Helpers.swift rename to Stripe/StripeiOS/Source/UIView+Helpers.swift diff --git a/Stripe/UIView+Stripe_FirstResponder.swift b/Stripe/StripeiOS/Source/UIView+Stripe_FirstResponder.swift similarity index 100% rename from Stripe/UIView+Stripe_FirstResponder.swift rename to Stripe/StripeiOS/Source/UIView+Stripe_FirstResponder.swift diff --git a/Stripe/UIView+Stripe_SafeAreaBounds.swift b/Stripe/StripeiOS/Source/UIView+Stripe_SafeAreaBounds.swift similarity index 100% rename from Stripe/UIView+Stripe_SafeAreaBounds.swift rename to Stripe/StripeiOS/Source/UIView+Stripe_SafeAreaBounds.swift diff --git a/Stripe/UIViewController+Stripe_KeyboardAvoiding.swift b/Stripe/StripeiOS/Source/UIViewController+Stripe_KeyboardAvoiding.swift similarity index 100% rename from Stripe/UIViewController+Stripe_KeyboardAvoiding.swift rename to Stripe/StripeiOS/Source/UIViewController+Stripe_KeyboardAvoiding.swift diff --git a/Stripe/UIViewController+Stripe_NavigationItemProxy.swift b/Stripe/StripeiOS/Source/UIViewController+Stripe_NavigationItemProxy.swift similarity index 100% rename from Stripe/UIViewController+Stripe_NavigationItemProxy.swift rename to Stripe/StripeiOS/Source/UIViewController+Stripe_NavigationItemProxy.swift diff --git a/Stripe/UIViewController+Stripe_ParentViewController.swift b/Stripe/StripeiOS/Source/UIViewController+Stripe_ParentViewController.swift similarity index 100% rename from Stripe/UIViewController+Stripe_ParentViewController.swift rename to Stripe/StripeiOS/Source/UIViewController+Stripe_ParentViewController.swift diff --git a/Stripe/UserDefaults+Stripe.swift b/Stripe/StripeiOS/Source/UserDefaults+Stripe.swift similarity index 100% rename from Stripe/UserDefaults+Stripe.swift rename to Stripe/StripeiOS/Source/UserDefaults+Stripe.swift diff --git a/Stripe-umbrella.h b/Stripe/StripeiOS/Stripe-umbrella.h similarity index 100% rename from Stripe-umbrella.h rename to Stripe/StripeiOS/Stripe-umbrella.h diff --git a/Stripe/Stripe.modulemap b/Stripe/StripeiOS/Stripe.modulemap similarity index 100% rename from Stripe/Stripe.modulemap rename to Stripe/StripeiOS/Stripe.modulemap diff --git a/IntegrationTester/IntegrationTesterUITests/Info.plist b/Stripe/StripeiOSAppHostedTests/Info.plist similarity index 100% rename from IntegrationTester/IntegrationTesterUITests/Info.plist rename to Stripe/StripeiOSAppHostedTests/Info.plist diff --git a/StripeiOSAppHostedTests/LinkSecureCookieStoreTests.swift b/Stripe/StripeiOSAppHostedTests/LinkSecureCookieStoreTests.swift similarity index 100% rename from StripeiOSAppHostedTests/LinkSecureCookieStoreTests.swift rename to Stripe/StripeiOSAppHostedTests/LinkSecureCookieStoreTests.swift diff --git a/StripeiOSTestHostApp/AppDelegate.swift b/Stripe/StripeiOSTestHostApp/AppDelegate.swift similarity index 100% rename from StripeiOSTestHostApp/AppDelegate.swift rename to Stripe/StripeiOSTestHostApp/AppDelegate.swift diff --git a/StripeiOSTestHostApp/Info.plist b/Stripe/StripeiOSTestHostApp/Info.plist similarity index 100% rename from StripeiOSTestHostApp/Info.plist rename to Stripe/StripeiOSTestHostApp/Info.plist diff --git a/IntegrationTester/IntegrationTester/Assets.xcassets/AccentColor.colorset/Contents.json b/Stripe/StripeiOSTestHostApp/Resources/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from IntegrationTester/IntegrationTester/Assets.xcassets/AccentColor.colorset/Contents.json rename to Stripe/StripeiOSTestHostApp/Resources/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/IntegrationTester/IntegrationTester/Assets.xcassets/AppIcon.appiconset/Contents.json b/Stripe/StripeiOSTestHostApp/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from IntegrationTester/IntegrationTester/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Stripe/StripeiOSTestHostApp/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/IntegrationTester/IntegrationTester/Assets.xcassets/Contents.json b/Stripe/StripeiOSTestHostApp/Resources/Assets.xcassets/Contents.json similarity index 100% rename from IntegrationTester/IntegrationTester/Assets.xcassets/Contents.json rename to Stripe/StripeiOSTestHostApp/Resources/Assets.xcassets/Contents.json diff --git a/StripeiOSTestHostApp/Base.lproj/LaunchScreen.storyboard b/Stripe/StripeiOSTestHostApp/Resources/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from StripeiOSTestHostApp/Base.lproj/LaunchScreen.storyboard rename to Stripe/StripeiOSTestHostApp/Resources/Base.lproj/LaunchScreen.storyboard diff --git a/StripeiOSTestHostApp/Base.lproj/Main.storyboard b/Stripe/StripeiOSTestHostApp/Resources/Base.lproj/Main.storyboard similarity index 100% rename from StripeiOSTestHostApp/Base.lproj/Main.storyboard rename to Stripe/StripeiOSTestHostApp/Resources/Base.lproj/Main.storyboard diff --git a/StripeiOSTestHostApp/ViewController.swift b/Stripe/StripeiOSTestHostApp/ViewController.swift similarity index 100% rename from StripeiOSTestHostApp/ViewController.swift rename to Stripe/StripeiOSTestHostApp/ViewController.swift diff --git a/Stripe/StripeiOSTests.xctestplan b/Stripe/StripeiOSTests.xctestplan new file mode 100644 index 00000000000..73749570867 --- /dev/null +++ b/Stripe/StripeiOSTests.xctestplan @@ -0,0 +1,40 @@ +{ + "configurations" : [ + { + "id" : "E4E61B3B-0FEC-4C2A-BE82-E8558946FFBC", + "name" : "Configuration 1", + "options" : { + + } + } + ], + "defaultOptions" : { + "codeCoverage" : false, + "environmentVariableEntries" : [ + { + "key" : "FB_REFERENCE_IMAGE_DIR", + "value" : "$(SOURCE_ROOT)\/..\/Tests\/ReferenceImages" + } + ], + "targetForVariableExpansion" : { + "containerPath" : "container:Stripe.xcodeproj", + "identifier" : "ADF894AA8F6022D9BED17346", + "name" : "StripeiOS" + } + }, + "testTargets" : [ + { + "skippedTests" : [ + "STPCardBINMetadataTests", + "STPSourceFunctionalTest\/testCreateSource_wechatPay", + "TextFieldElementCardTest\/testBINRangeThatRequiresNetworkCallToValidate()" + ], + "target" : { + "containerPath" : "container:Stripe.xcodeproj", + "identifier" : "8BE23AD5D9A3D939AF46F31E", + "name" : "StripeiOSTests" + } + } + ], + "version" : 1 +} diff --git a/Tests/Tests/APIRequestTest.swift b/Stripe/StripeiOSTests/APIRequestTest.swift similarity index 100% rename from Tests/Tests/APIRequestTest.swift rename to Stripe/StripeiOSTests/APIRequestTest.swift diff --git a/Tests/Tests/AddressViewControllerSnapshotTests.swift b/Stripe/StripeiOSTests/AddressViewControllerSnapshotTests.swift similarity index 98% rename from Tests/Tests/AddressViewControllerSnapshotTests.swift rename to Stripe/StripeiOSTests/AddressViewControllerSnapshotTests.swift index 2cfa3c0d12b..87fb30932ff 100644 --- a/Tests/Tests/AddressViewControllerSnapshotTests.swift +++ b/Stripe/StripeiOSTests/AddressViewControllerSnapshotTests.swift @@ -6,9 +6,10 @@ // Copyright © 2022 Stripe, Inc. All rights reserved. // -import FBSnapshotTestCase +import iOSSnapshotTestCase @_spi(STP)@testable import Stripe @_spi(STP)@testable import StripeCore +@_spi(STP)@testable import StripePaymentSheet @_spi(STP)@testable import StripeUICore class AddressViewControllerSnapshotTests: FBSnapshotTestCase { diff --git a/Tests/Tests/AfterpayPriceBreakdownViewSnapshotTests.swift b/Stripe/StripeiOSTests/AfterpayPriceBreakdownViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/AfterpayPriceBreakdownViewSnapshotTests.swift rename to Stripe/StripeiOSTests/AfterpayPriceBreakdownViewSnapshotTests.swift diff --git a/Tests/Tests/AnalyticsHelperTests.swift b/Stripe/StripeiOSTests/AnalyticsHelperTests.swift similarity index 100% rename from Tests/Tests/AnalyticsHelperTests.swift rename to Stripe/StripeiOSTests/AnalyticsHelperTests.swift diff --git a/Tests/Tests/AutoCompleteViewControllerSnapshotTests.swift b/Stripe/StripeiOSTests/AutoCompleteViewControllerSnapshotTests.swift similarity index 100% rename from Tests/Tests/AutoCompleteViewControllerSnapshotTests.swift rename to Stripe/StripeiOSTests/AutoCompleteViewControllerSnapshotTests.swift diff --git a/Tests/Tests/ButtonLinkSnapshotTests.swift b/Stripe/StripeiOSTests/ButtonLinkSnapshotTests.swift similarity index 100% rename from Tests/Tests/ButtonLinkSnapshotTests.swift rename to Stripe/StripeiOSTests/ButtonLinkSnapshotTests.swift diff --git a/Tests/Tests/CardExpiryDateTests.swift b/Stripe/StripeiOSTests/CardExpiryDateTests.swift similarity index 100% rename from Tests/Tests/CardExpiryDateTests.swift rename to Stripe/StripeiOSTests/CardExpiryDateTests.swift diff --git a/Tests/Tests/CircularButtonSnapshotTests.swift b/Stripe/StripeiOSTests/CircularButtonSnapshotTests.swift similarity index 100% rename from Tests/Tests/CircularButtonSnapshotTests.swift rename to Stripe/StripeiOSTests/CircularButtonSnapshotTests.swift diff --git a/Tests/Tests/ConfirmButtonSnapshotTests.swift b/Stripe/StripeiOSTests/ConfirmButtonSnapshotTests.swift similarity index 100% rename from Tests/Tests/ConfirmButtonSnapshotTests.swift rename to Stripe/StripeiOSTests/ConfirmButtonSnapshotTests.swift diff --git a/Tests/Tests/ConfirmButtonTests.swift b/Stripe/StripeiOSTests/ConfirmButtonTests.swift similarity index 100% rename from Tests/Tests/ConfirmButtonTests.swift rename to Stripe/StripeiOSTests/ConfirmButtonTests.swift diff --git a/Tests/Tests/ConsumerSessionTests.swift b/Stripe/StripeiOSTests/ConsumerSessionTests.swift similarity index 100% rename from Tests/Tests/ConsumerSessionTests.swift rename to Stripe/StripeiOSTests/ConsumerSessionTests.swift diff --git a/Tests/Tests/FBSnapshotTestCase+STPViewControllerLoading.h b/Stripe/StripeiOSTests/FBSnapshotTestCase+STPViewControllerLoading.h similarity index 100% rename from Tests/Tests/FBSnapshotTestCase+STPViewControllerLoading.h rename to Stripe/StripeiOSTests/FBSnapshotTestCase+STPViewControllerLoading.h diff --git a/Tests/Tests/FBSnapshotTestCase+STPViewControllerLoading.m b/Stripe/StripeiOSTests/FBSnapshotTestCase+STPViewControllerLoading.m similarity index 100% rename from Tests/Tests/FBSnapshotTestCase+STPViewControllerLoading.m rename to Stripe/StripeiOSTests/FBSnapshotTestCase+STPViewControllerLoading.m diff --git a/Tests/Tests/FBSnapshotTestCase+STPViewControllerLoading.swift b/Stripe/StripeiOSTests/FBSnapshotTestCase+STPViewControllerLoading.swift similarity index 100% rename from Tests/Tests/FBSnapshotTestCase+STPViewControllerLoading.swift rename to Stripe/StripeiOSTests/FBSnapshotTestCase+STPViewControllerLoading.swift diff --git a/Tests/Tests/FormSpecProviderTest.swift b/Stripe/StripeiOSTests/FormSpecProviderTest.swift similarity index 100% rename from Tests/Tests/FormSpecProviderTest.swift rename to Stripe/StripeiOSTests/FormSpecProviderTest.swift diff --git a/Tests/Tests/FraudDetectionDataTest.swift b/Stripe/StripeiOSTests/FraudDetectionDataTest.swift similarity index 100% rename from Tests/Tests/FraudDetectionDataTest.swift rename to Stripe/StripeiOSTests/FraudDetectionDataTest.swift diff --git a/Tests/Tests/ImageTest.swift b/Stripe/StripeiOSTests/ImageTest.swift similarity index 100% rename from Tests/Tests/ImageTest.swift rename to Stripe/StripeiOSTests/ImageTest.swift diff --git a/Tests/Tests/Info.plist b/Stripe/StripeiOSTests/Info.plist similarity index 100% rename from Tests/Tests/Info.plist rename to Stripe/StripeiOSTests/Info.plist diff --git a/Tests/Tests/KlarnaHelperTest.swift b/Stripe/StripeiOSTests/KlarnaHelperTest.swift similarity index 100% rename from Tests/Tests/KlarnaHelperTest.swift rename to Stripe/StripeiOSTests/KlarnaHelperTest.swift diff --git a/Tests/Tests/LinkAccountServiceTests.swift b/Stripe/StripeiOSTests/LinkAccountServiceTests.swift similarity index 100% rename from Tests/Tests/LinkAccountServiceTests.swift rename to Stripe/StripeiOSTests/LinkAccountServiceTests.swift diff --git a/Tests/Tests/LinkBadgeViewSnapshotTest.swift b/Stripe/StripeiOSTests/LinkBadgeViewSnapshotTest.swift similarity index 100% rename from Tests/Tests/LinkBadgeViewSnapshotTest.swift rename to Stripe/StripeiOSTests/LinkBadgeViewSnapshotTest.swift diff --git a/Tests/Tests/LinkCardEditElementSnapshotTests.swift b/Stripe/StripeiOSTests/LinkCardEditElementSnapshotTests.swift similarity index 100% rename from Tests/Tests/LinkCardEditElementSnapshotTests.swift rename to Stripe/StripeiOSTests/LinkCardEditElementSnapshotTests.swift diff --git a/Tests/Tests/LinkInMemoryCookieStoreTests.swift b/Stripe/StripeiOSTests/LinkInMemoryCookieStoreTests.swift similarity index 100% rename from Tests/Tests/LinkInMemoryCookieStoreTests.swift rename to Stripe/StripeiOSTests/LinkInMemoryCookieStoreTests.swift diff --git a/Tests/Tests/LinkInlineSignupElementSnapshotTests.swift b/Stripe/StripeiOSTests/LinkInlineSignupElementSnapshotTests.swift similarity index 100% rename from Tests/Tests/LinkInlineSignupElementSnapshotTests.swift rename to Stripe/StripeiOSTests/LinkInlineSignupElementSnapshotTests.swift diff --git a/Tests/Tests/LinkInstantDebitMandateViewSnapshotTests.swift b/Stripe/StripeiOSTests/LinkInstantDebitMandateViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/LinkInstantDebitMandateViewSnapshotTests.swift rename to Stripe/StripeiOSTests/LinkInstantDebitMandateViewSnapshotTests.swift diff --git a/Tests/Tests/LinkLegalTermsViewSnapshotTests.swift b/Stripe/StripeiOSTests/LinkLegalTermsViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/LinkLegalTermsViewSnapshotTests.swift rename to Stripe/StripeiOSTests/LinkLegalTermsViewSnapshotTests.swift diff --git a/Tests/Tests/LinkNavigationBarSnapshotTests.swift b/Stripe/StripeiOSTests/LinkNavigationBarSnapshotTests.swift similarity index 100% rename from Tests/Tests/LinkNavigationBarSnapshotTests.swift rename to Stripe/StripeiOSTests/LinkNavigationBarSnapshotTests.swift diff --git a/Tests/Tests/LinkNoticeViewSnapshotTests.swift b/Stripe/StripeiOSTests/LinkNoticeViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/LinkNoticeViewSnapshotTests.swift rename to Stripe/StripeiOSTests/LinkNoticeViewSnapshotTests.swift diff --git a/Tests/Tests/LinkPaymentMethodPickerSnapshotTests.swift b/Stripe/StripeiOSTests/LinkPaymentMethodPickerSnapshotTests.swift similarity index 100% rename from Tests/Tests/LinkPaymentMethodPickerSnapshotTests.swift rename to Stripe/StripeiOSTests/LinkPaymentMethodPickerSnapshotTests.swift diff --git a/Tests/Tests/LinkSignupViewModelTests.swift b/Stripe/StripeiOSTests/LinkSignupViewModelTests.swift similarity index 100% rename from Tests/Tests/LinkSignupViewModelTests.swift rename to Stripe/StripeiOSTests/LinkSignupViewModelTests.swift diff --git a/Tests/Tests/LinkStubs.swift b/Stripe/StripeiOSTests/LinkStubs.swift similarity index 100% rename from Tests/Tests/LinkStubs.swift rename to Stripe/StripeiOSTests/LinkStubs.swift diff --git a/Tests/Tests/LinkToastSnapshotTests.swift b/Stripe/StripeiOSTests/LinkToastSnapshotTests.swift similarity index 100% rename from Tests/Tests/LinkToastSnapshotTests.swift rename to Stripe/StripeiOSTests/LinkToastSnapshotTests.swift diff --git a/Tests/Tests/LinkVerificationViewSnapshotTests.swift b/Stripe/StripeiOSTests/LinkVerificationViewSnapshotTests.swift similarity index 98% rename from Tests/Tests/LinkVerificationViewSnapshotTests.swift rename to Stripe/StripeiOSTests/LinkVerificationViewSnapshotTests.swift index f00712c32e6..b885ee2ad0c 100644 --- a/Tests/Tests/LinkVerificationViewSnapshotTests.swift +++ b/Stripe/StripeiOSTests/LinkVerificationViewSnapshotTests.swift @@ -6,7 +6,7 @@ // Copyright © 2021 Stripe, Inc. All rights reserved. // -import FBSnapshotTestCase +import iOSSnapshotTestCase import StripeCoreTestUtils import UIKit diff --git a/Tests/Tests/MKPlacemark+PaymentSheetTests.swift b/Stripe/StripeiOSTests/MKPlacemark+PaymentSheetTests.swift similarity index 100% rename from Tests/Tests/MKPlacemark+PaymentSheetTests.swift rename to Stripe/StripeiOSTests/MKPlacemark+PaymentSheetTests.swift diff --git a/Tests/Tests/NSArray+StripeTest.swift b/Stripe/StripeiOSTests/NSArray+StripeTest.swift similarity index 99% rename from Tests/Tests/NSArray+StripeTest.swift rename to Stripe/StripeiOSTests/NSArray+StripeTest.swift index d1ffdd4c398..afa44f1e26e 100644 --- a/Tests/Tests/NSArray+StripeTest.swift +++ b/Stripe/StripeiOSTests/NSArray+StripeTest.swift @@ -6,6 +6,7 @@ // Copyright © 2016 Stripe, Inc. All rights reserved. // +import XCTest @testable@_spi(STP) import Stripe @testable@_spi(STP) import StripeCore @testable@_spi(STP) import StripePaymentSheet diff --git a/Tests/Tests/NSDecimalNumber+StripeTest.swift b/Stripe/StripeiOSTests/NSDecimalNumber+StripeTest.swift similarity index 99% rename from Tests/Tests/NSDecimalNumber+StripeTest.swift rename to Stripe/StripeiOSTests/NSDecimalNumber+StripeTest.swift index 0cdd5abf929..267091c260a 100644 --- a/Tests/Tests/NSDecimalNumber+StripeTest.swift +++ b/Stripe/StripeiOSTests/NSDecimalNumber+StripeTest.swift @@ -6,6 +6,7 @@ // Copyright © 2016 Stripe, Inc. All rights reserved. // +import XCTest @testable@_spi(STP) import Stripe @testable@_spi(STP) import StripeCore @testable@_spi(STP) import StripePaymentSheet diff --git a/Tests/Tests/NSDictionary+StripeTest.swift b/Stripe/StripeiOSTests/NSDictionary+StripeTest.swift similarity index 99% rename from Tests/Tests/NSDictionary+StripeTest.swift rename to Stripe/StripeiOSTests/NSDictionary+StripeTest.swift index c9eb87cebc3..4033e6139d1 100644 --- a/Tests/Tests/NSDictionary+StripeTest.swift +++ b/Stripe/StripeiOSTests/NSDictionary+StripeTest.swift @@ -6,6 +6,7 @@ // Copyright © 2017 Stripe, Inc. All rights reserved. // +import XCTest @testable@_spi(STP) import Stripe @testable@_spi(STP) import StripeCore @testable@_spi(STP) import StripePaymentSheet diff --git a/Tests/Tests/NSLocale+STPSwizzling.h b/Stripe/StripeiOSTests/NSLocale+STPSwizzling.h similarity index 100% rename from Tests/Tests/NSLocale+STPSwizzling.h rename to Stripe/StripeiOSTests/NSLocale+STPSwizzling.h diff --git a/Tests/Tests/NSLocale+STPSwizzling.m b/Stripe/StripeiOSTests/NSLocale+STPSwizzling.m similarity index 100% rename from Tests/Tests/NSLocale+STPSwizzling.m rename to Stripe/StripeiOSTests/NSLocale+STPSwizzling.m diff --git a/Tests/Tests/NSString+StripeTest.swift b/Stripe/StripeiOSTests/NSString+StripeTest.swift similarity index 99% rename from Tests/Tests/NSString+StripeTest.swift rename to Stripe/StripeiOSTests/NSString+StripeTest.swift index c852e3affbc..430e83301b7 100644 --- a/Tests/Tests/NSString+StripeTest.swift +++ b/Stripe/StripeiOSTests/NSString+StripeTest.swift @@ -5,6 +5,8 @@ // Created by Ben Guo on 3/22/16. // Copyright © 2016 Stripe, Inc. All rights reserved. // + +import XCTest @testable@_spi(STP) import Stripe @testable@_spi(STP) import StripeCore @testable@_spi(STP) import StripePaymentSheet diff --git a/Tests/Tests/NSURLComponents_StripeTest.swift b/Stripe/StripeiOSTests/NSURLComponents_StripeTest.swift similarity index 99% rename from Tests/Tests/NSURLComponents_StripeTest.swift rename to Stripe/StripeiOSTests/NSURLComponents_StripeTest.swift index bf2223fcb8f..69a801b63df 100644 --- a/Tests/Tests/NSURLComponents_StripeTest.swift +++ b/Stripe/StripeiOSTests/NSURLComponents_StripeTest.swift @@ -5,6 +5,8 @@ // Created by Yuki Tokuhiro on 5/24/19. // Copyright © 2019 Stripe, Inc. All rights reserved. // + +import XCTest @testable@_spi(STP) import Stripe @testable@_spi(STP) import StripeCore @testable@_spi(STP) import StripePaymentSheet diff --git a/Tests/Tests/OneTimeCodeTextFieldSnapshotTests.swift b/Stripe/StripeiOSTests/OneTimeCodeTextFieldSnapshotTests.swift similarity index 100% rename from Tests/Tests/OneTimeCodeTextFieldSnapshotTests.swift rename to Stripe/StripeiOSTests/OneTimeCodeTextFieldSnapshotTests.swift diff --git a/Tests/Tests/OneTimeCodeTextFieldTests.swift b/Stripe/StripeiOSTests/OneTimeCodeTextFieldTests.swift similarity index 100% rename from Tests/Tests/OneTimeCodeTextFieldTests.swift rename to Stripe/StripeiOSTests/OneTimeCodeTextFieldTests.swift diff --git a/Tests/Tests/OperationDebouncerTests.swift b/Stripe/StripeiOSTests/OperationDebouncerTests.swift similarity index 100% rename from Tests/Tests/OperationDebouncerTests.swift rename to Stripe/StripeiOSTests/OperationDebouncerTests.swift diff --git a/Tests/Tests/PKPayment+StripeTest.swift b/Stripe/StripeiOSTests/PKPayment+StripeTest.swift similarity index 100% rename from Tests/Tests/PKPayment+StripeTest.swift rename to Stripe/StripeiOSTests/PKPayment+StripeTest.swift diff --git a/Tests/Tests/PayWithLinkButtonSnapshotTests.swift b/Stripe/StripeiOSTests/PayWithLinkButtonSnapshotTests.swift similarity index 100% rename from Tests/Tests/PayWithLinkButtonSnapshotTests.swift rename to Stripe/StripeiOSTests/PayWithLinkButtonSnapshotTests.swift diff --git a/Tests/Tests/PayWithLinkViewController-WalletViewModelTests.swift b/Stripe/StripeiOSTests/PayWithLinkViewController-WalletViewModelTests.swift similarity index 100% rename from Tests/Tests/PayWithLinkViewController-WalletViewModelTests.swift rename to Stripe/StripeiOSTests/PayWithLinkViewController-WalletViewModelTests.swift diff --git a/Tests/Tests/PaymentAnalyticTest.swift b/Stripe/StripeiOSTests/PaymentAnalyticTest.swift similarity index 100% rename from Tests/Tests/PaymentAnalyticTest.swift rename to Stripe/StripeiOSTests/PaymentAnalyticTest.swift diff --git a/Tests/Tests/PaymentMethodMessagingViewFunctionalTest.swift b/Stripe/StripeiOSTests/PaymentMethodMessagingViewFunctionalTest.swift similarity index 100% rename from Tests/Tests/PaymentMethodMessagingViewFunctionalTest.swift rename to Stripe/StripeiOSTests/PaymentMethodMessagingViewFunctionalTest.swift diff --git a/Tests/Tests/PaymentMethodMessagingViewSnapshotTests.swift b/Stripe/StripeiOSTests/PaymentMethodMessagingViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/PaymentMethodMessagingViewSnapshotTests.swift rename to Stripe/StripeiOSTests/PaymentMethodMessagingViewSnapshotTests.swift diff --git a/Tests/Tests/PaymentSheet+APITest.swift b/Stripe/StripeiOSTests/PaymentSheet+APITest.swift similarity index 100% rename from Tests/Tests/PaymentSheet+APITest.swift rename to Stripe/StripeiOSTests/PaymentSheet+APITest.swift diff --git a/Tests/Tests/PaymentSheet+PaymentMethodAvailabilityTest.swift b/Stripe/StripeiOSTests/PaymentSheet+PaymentMethodAvailabilityTest.swift similarity index 98% rename from Tests/Tests/PaymentSheet+PaymentMethodAvailabilityTest.swift rename to Stripe/StripeiOSTests/PaymentSheet+PaymentMethodAvailabilityTest.swift index d1c29ed0874..2b80804e8c6 100644 --- a/Tests/Tests/PaymentSheet+PaymentMethodAvailabilityTest.swift +++ b/Stripe/StripeiOSTests/PaymentSheet+PaymentMethodAvailabilityTest.swift @@ -8,11 +8,11 @@ import XCTest -@testable@_spi(STP) import Stripe -@testable@_spi(STP) import StripeCore -@testable@_spi(STP) import StripePaymentSheet -@testable@_spi(STP) import StripePayments -@testable@_spi(STP) import StripePaymentsUI +@testable @_spi(STP) import Stripe +@testable @_spi(STP) import StripeCore +@testable @_spi(STP) import StripePaymentSheet +@testable @_spi(STP) import StripePayments +@testable @_spi(STP) import StripePaymentsUI extension STPFixtures { static func makePaymentIntent( diff --git a/Tests/Tests/PaymentSheetAddressTests.swift b/Stripe/StripeiOSTests/PaymentSheetAddressTests.swift similarity index 99% rename from Tests/Tests/PaymentSheetAddressTests.swift rename to Stripe/StripeiOSTests/PaymentSheetAddressTests.swift index e77c2a97023..e14a5d8a580 100644 --- a/Tests/Tests/PaymentSheetAddressTests.swift +++ b/Stripe/StripeiOSTests/PaymentSheetAddressTests.swift @@ -9,6 +9,7 @@ import XCTest @testable import Stripe +@testable@_spi(STP) import StripePaymentSheet class PaymentSheetAddressTests: XCTestCase { diff --git a/Tests/Tests/PaymentSheetFormFactoryTest.swift b/Stripe/StripeiOSTests/PaymentSheetFormFactoryTest.swift similarity index 100% rename from Tests/Tests/PaymentSheetFormFactoryTest.swift rename to Stripe/StripeiOSTests/PaymentSheetFormFactoryTest.swift diff --git a/Tests/Tests/PaymentSheetLinkAccountTests.swift b/Stripe/StripeiOSTests/PaymentSheetLinkAccountTests.swift similarity index 100% rename from Tests/Tests/PaymentSheetLinkAccountTests.swift rename to Stripe/StripeiOSTests/PaymentSheetLinkAccountTests.swift diff --git a/Tests/Tests/PaymentSheetPaymentMethodTypeTest.swift b/Stripe/StripeiOSTests/PaymentSheetPaymentMethodTypeTest.swift similarity index 100% rename from Tests/Tests/PaymentSheetPaymentMethodTypeTest.swift rename to Stripe/StripeiOSTests/PaymentSheetPaymentMethodTypeTest.swift diff --git a/Tests/Tests/PaymentSheetTestUtils.swift b/Stripe/StripeiOSTests/PaymentSheetTestUtils.swift similarity index 100% rename from Tests/Tests/PaymentSheetTestUtils.swift rename to Stripe/StripeiOSTests/PaymentSheetTestUtils.swift diff --git a/Tests/Tests/PaymentTypeCellSnapshotTests.swift b/Stripe/StripeiOSTests/PaymentTypeCellSnapshotTests.swift similarity index 100% rename from Tests/Tests/PaymentTypeCellSnapshotTests.swift rename to Stripe/StripeiOSTests/PaymentTypeCellSnapshotTests.swift diff --git a/Tests/Tests/3DSSource.json b/Stripe/StripeiOSTests/Resources/3DSSource.json similarity index 100% rename from Tests/Tests/3DSSource.json rename to Stripe/StripeiOSTests/Resources/3DSSource.json diff --git a/Tests/Tests/AlipaySource.json b/Stripe/StripeiOSTests/Resources/AlipaySource.json similarity index 100% rename from Tests/Tests/AlipaySource.json rename to Stripe/StripeiOSTests/Resources/AlipaySource.json diff --git a/Tests/Tests/ApplePayPaymentMethod.json b/Stripe/StripeiOSTests/Resources/ApplePayPaymentMethod.json similarity index 100% rename from Tests/Tests/ApplePayPaymentMethod.json rename to Stripe/StripeiOSTests/Resources/ApplePayPaymentMethod.json diff --git a/Tests/Tests/BacsDebitPaymentMethod.json b/Stripe/StripeiOSTests/Resources/BacsDebitPaymentMethod.json similarity index 100% rename from Tests/Tests/BacsDebitPaymentMethod.json rename to Stripe/StripeiOSTests/Resources/BacsDebitPaymentMethod.json diff --git a/Tests/Tests/BancontactSource.json b/Stripe/StripeiOSTests/Resources/BancontactSource.json similarity index 100% rename from Tests/Tests/BancontactSource.json rename to Stripe/StripeiOSTests/Resources/BancontactSource.json diff --git a/Tests/Tests/BankAccount.json b/Stripe/StripeiOSTests/Resources/BankAccount.json similarity index 100% rename from Tests/Tests/BankAccount.json rename to Stripe/StripeiOSTests/Resources/BankAccount.json diff --git a/Tests/Tests/Card.json b/Stripe/StripeiOSTests/Resources/Card.json similarity index 100% rename from Tests/Tests/Card.json rename to Stripe/StripeiOSTests/Resources/Card.json diff --git a/Tests/Tests/CardPaymentMethod.json b/Stripe/StripeiOSTests/Resources/CardPaymentMethod.json similarity index 100% rename from Tests/Tests/CardPaymentMethod.json rename to Stripe/StripeiOSTests/Resources/CardPaymentMethod.json diff --git a/Tests/Tests/CardSource.json b/Stripe/StripeiOSTests/Resources/CardSource.json similarity index 100% rename from Tests/Tests/CardSource.json rename to Stripe/StripeiOSTests/Resources/CardSource.json diff --git a/Tests/Tests/Customer.json b/Stripe/StripeiOSTests/Resources/Customer.json similarity index 100% rename from Tests/Tests/Customer.json rename to Stripe/StripeiOSTests/Resources/Customer.json diff --git a/Tests/Tests/EPSSource.json b/Stripe/StripeiOSTests/Resources/EPSSource.json similarity index 100% rename from Tests/Tests/EPSSource.json rename to Stripe/StripeiOSTests/Resources/EPSSource.json diff --git a/Tests/Tests/EphemeralKey.json b/Stripe/StripeiOSTests/Resources/EphemeralKey.json similarity index 100% rename from Tests/Tests/EphemeralKey.json rename to Stripe/StripeiOSTests/Resources/EphemeralKey.json diff --git a/Tests/Tests/FileUpload.json b/Stripe/StripeiOSTests/Resources/FileUpload.json similarity index 100% rename from Tests/Tests/FileUpload.json rename to Stripe/StripeiOSTests/Resources/FileUpload.json diff --git a/Tests/Tests/GiropaySource.json b/Stripe/StripeiOSTests/Resources/GiropaySource.json similarity index 100% rename from Tests/Tests/GiropaySource.json rename to Stripe/StripeiOSTests/Resources/GiropaySource.json diff --git a/LocalizationTester/Assets.xcassets/Contents.json b/Stripe/StripeiOSTests/Resources/Images.xcassets/Contents.json similarity index 100% rename from LocalizationTester/Assets.xcassets/Contents.json rename to Stripe/StripeiOSTests/Resources/Images.xcassets/Contents.json diff --git a/Tests/MockFiles/paymentIntentResponse.json b/Stripe/StripeiOSTests/Resources/MockFiles/paymentIntentResponse.json similarity index 100% rename from Tests/MockFiles/paymentIntentResponse.json rename to Stripe/StripeiOSTests/Resources/MockFiles/paymentIntentResponse.json diff --git a/Tests/Tests/MultibancoSource.json b/Stripe/StripeiOSTests/Resources/MultibancoSource.json similarity index 100% rename from Tests/Tests/MultibancoSource.json rename to Stripe/StripeiOSTests/Resources/MultibancoSource.json diff --git a/Tests/Tests/P24Source.json b/Stripe/StripeiOSTests/Resources/P24Source.json similarity index 100% rename from Tests/Tests/P24Source.json rename to Stripe/StripeiOSTests/Resources/P24Source.json diff --git a/Tests/Tests/PaymentIntent.json b/Stripe/StripeiOSTests/Resources/PaymentIntent.json similarity index 100% rename from Tests/Tests/PaymentIntent.json rename to Stripe/StripeiOSTests/Resources/PaymentIntent.json diff --git a/Tests/Tests/SEPADebitSource.json b/Stripe/StripeiOSTests/Resources/SEPADebitSource.json similarity index 100% rename from Tests/Tests/SEPADebitSource.json rename to Stripe/StripeiOSTests/Resources/SEPADebitSource.json diff --git a/Tests/Tests/SetupIntent.json b/Stripe/StripeiOSTests/Resources/SetupIntent.json similarity index 100% rename from Tests/Tests/SetupIntent.json rename to Stripe/StripeiOSTests/Resources/SetupIntent.json diff --git a/Tests/Tests/SofortSource.json b/Stripe/StripeiOSTests/Resources/SofortSource.json similarity index 100% rename from Tests/Tests/SofortSource.json rename to Stripe/StripeiOSTests/Resources/SofortSource.json diff --git a/Tests/Tests/WeChatPaySource.json b/Stripe/StripeiOSTests/Resources/WeChatPaySource.json similarity index 100% rename from Tests/Tests/WeChatPaySource.json rename to Stripe/StripeiOSTests/Resources/WeChatPaySource.json diff --git a/Tests/Tests/iDEALSource.json b/Stripe/StripeiOSTests/Resources/iDEALSource.json similarity index 100% rename from Tests/Tests/iDEALSource.json rename to Stripe/StripeiOSTests/Resources/iDEALSource.json diff --git a/Tests/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testCreatesViewFromServerResponse/get_content_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testCreatesViewFromServerResponse/get_content_0.tail similarity index 97% rename from Tests/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testCreatesViewFromServerResponse/get_content_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testCreatesViewFromServerResponse/get_content_0.tail index 0be8fab0d0d..05d39f65477 100644 --- a/Tests/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testCreatesViewFromServerResponse/get_content_0.tail +++ b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testCreatesViewFromServerResponse/get_content_0.tail @@ -9,7 +9,7 @@ Server: nginx Expires: 0 referrer-policy: strict-origin-when-cross-origin Cache-Control: max-age=0, no-cache, no-store, must-revalidate -Date: Mon, 19 Dec 2022 16:03:04 GMT +Date: Tue, 20 Dec 2022 19:39:04 GMT x-robots-tag: none Content-Length: 730 Strict-Transport-Security: max-age=63072000; includeSubDomains; preload diff --git a/Tests/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testInitializingWithBadConfigurationReturnsError/get_content_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testInitializingWithBadConfigurationReturnsError/get_content_0.tail similarity index 95% rename from Tests/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testInitializingWithBadConfigurationReturnsError/get_content_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testInitializingWithBadConfigurationReturnsError/get_content_0.tail index a954cf0163e..5d7808fb2b6 100644 --- a/Tests/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testInitializingWithBadConfigurationReturnsError/get_content_0.tail +++ b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/PaymentMethodMessagingViewFunctionalTest/testInitializingWithBadConfigurationReturnsError/get_content_0.tail @@ -9,7 +9,7 @@ Server: nginx Expires: 0 referrer-policy: strict-origin-when-cross-origin Cache-Control: max-age=0, no-cache, no-store, must-revalidate -Date: Mon, 19 Dec 2022 16:03:05 GMT +Date: Tue, 20 Dec 2022 19:39:09 GMT x-robots-tag: none Content-Length: 25 Strict-Transport-Security: max-age=63072000; includeSubDomains; preload diff --git a/Tests/recorded_network_traffic/STPApplePayFunctionalTest/testCreateSourceWithPayment/post_v1_tokens_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPApplePayFunctionalTest/testCreateSourceWithPayment/post_v1_tokens_0.tail similarity index 100% rename from Tests/recorded_network_traffic/STPApplePayFunctionalTest/testCreateSourceWithPayment/post_v1_tokens_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPApplePayFunctionalTest/testCreateSourceWithPayment/post_v1_tokens_0.tail diff --git a/Tests/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPayment/post_v1_tokens_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPayment/post_v1_tokens_0.tail similarity index 100% rename from Tests/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPayment/post_v1_tokens_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPayment/post_v1_tokens_0.tail diff --git a/Tests/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPaymentClassic/post_v1_tokens_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPaymentClassic/post_v1_tokens_0.tail similarity index 100% rename from Tests/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPaymentClassic/post_v1_tokens_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPApplePayFunctionalTest/testCreateTokenWithPaymentClassic/post_v1_tokens_0.tail diff --git a/Tests/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_create_payment_intent_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_create_payment_intent_0.tail similarity index 100% rename from Tests/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_create_payment_intent_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_create_payment_intent_0.tail diff --git a/Tests/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_3ds2_authenticate_2.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_3ds2_authenticate_2.tail similarity index 100% rename from Tests/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_3ds2_authenticate_2.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_3ds2_authenticate_2.tail diff --git a/Tests/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_payment_intents_pi_3KgG1XFY0qyl6XeW1TLgmwD3_confirm_1.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_payment_intents_pi_3KgG1XFY0qyl6XeW1TLgmwD3_confirm_1.tail similarity index 100% rename from Tests/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_payment_intents_pi_3KgG1XFY0qyl6XeW1TLgmwD3_confirm_1.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPaymentHandlerStubbedTests/testCanPresentErrorsAreReported/post_v1_payment_intents_pi_3KgG1XFY0qyl6XeW1TLgmwD3_confirm_1.tail diff --git a/Tests/recorded_network_traffic/STPPaymentMethodFunctionalTest/testCreateBacsPaymentMethod/post_v1_payment_methods_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPaymentMethodFunctionalTest/testCreateBacsPaymentMethod/post_v1_payment_methods_0.tail similarity index 100% rename from Tests/recorded_network_traffic/STPPaymentMethodFunctionalTest/testCreateBacsPaymentMethod/post_v1_payment_methods_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPaymentMethodFunctionalTest/testCreateBacsPaymentMethod/post_v1_payment_methods_0.tail diff --git a/Tests/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePin/get_v1_issuing_cards_ic_token_pin_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePin/get_v1_issuing_cards_ic_token_pin_0.tail similarity index 100% rename from Tests/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePin/get_v1_issuing_cards_ic_token_pin_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePin/get_v1_issuing_cards_ic_token_pin_0.tail diff --git a/Tests/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePinWithError/get_v1_issuing_cards_ic_token_pin_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePinWithError/get_v1_issuing_cards_ic_token_pin_0.tail similarity index 100% rename from Tests/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePinWithError/get_v1_issuing_cards_ic_token_pin_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testRetrievePinWithError/get_v1_issuing_cards_ic_token_pin_0.tail diff --git a/Tests/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testUpdatePin/post_v1_issuing_cards_ic_token_pin_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testUpdatePin/post_v1_issuing_cards_ic_token_pin_0.tail similarity index 100% rename from Tests/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testUpdatePin/post_v1_issuing_cards_ic_token_pin_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPinManagementServiceFunctionalTest/testUpdatePin/post_v1_issuing_cards_ic_token_pin_0.tail diff --git a/Tests/recorded_network_traffic/STPPushProvisioningDetailsFunctionalTest/testRetrievePushProvisioningDetails/get_v1_issuing_cards_ic_1C0Xig4JYtv6MPZK91WoXa9u_push_provisioning_details_0.tail b/Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPushProvisioningDetailsFunctionalTest/testRetrievePushProvisioningDetails/get_v1_issuing_cards_ic_1C0Xig4JYtv6MPZK91WoXa9u_push_provisioning_details_0.tail similarity index 100% rename from Tests/recorded_network_traffic/STPPushProvisioningDetailsFunctionalTest/testRetrievePushProvisioningDetails/get_v1_issuing_cards_ic_1C0Xig4JYtv6MPZK91WoXa9u_push_provisioning_details_0.tail rename to Stripe/StripeiOSTests/Resources/recorded_network_traffic/STPPushProvisioningDetailsFunctionalTest/testRetrievePushProvisioningDetails/get_v1_issuing_cards_ic_1C0Xig4JYtv6MPZK91WoXa9u_push_provisioning_details_0.tail diff --git a/Tests/stp_test_upload_image.jpeg b/Stripe/StripeiOSTests/Resources/stp_test_upload_image.jpeg similarity index 100% rename from Tests/stp_test_upload_image.jpeg rename to Stripe/StripeiOSTests/Resources/stp_test_upload_image.jpeg diff --git a/Tests/Tests/RotatingCardBrandsViewSnapshotTests.swift b/Stripe/StripeiOSTests/RotatingCardBrandsViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/RotatingCardBrandsViewSnapshotTests.swift rename to Stripe/StripeiOSTests/RotatingCardBrandsViewSnapshotTests.swift diff --git a/Tests/Tests/RotatingCardBrandsViewTests.swift b/Stripe/StripeiOSTests/RotatingCardBrandsViewTests.swift similarity index 100% rename from Tests/Tests/RotatingCardBrandsViewTests.swift rename to Stripe/StripeiOSTests/RotatingCardBrandsViewTests.swift diff --git a/Tests/Tests/STPAPIClientNetworkBridgeTest.m b/Stripe/StripeiOSTests/STPAPIClientNetworkBridgeTest.m similarity index 100% rename from Tests/Tests/STPAPIClientNetworkBridgeTest.m rename to Stripe/StripeiOSTests/STPAPIClientNetworkBridgeTest.m diff --git a/Tests/Tests/STPAPIClientStubbedTest.swift b/Stripe/StripeiOSTests/STPAPIClientStubbedTest.swift similarity index 100% rename from Tests/Tests/STPAPIClientStubbedTest.swift rename to Stripe/StripeiOSTests/STPAPIClientStubbedTest.swift diff --git a/Tests/Tests/STPAPIClientTest.swift b/Stripe/StripeiOSTests/STPAPIClientTest.swift similarity index 100% rename from Tests/Tests/STPAPIClientTest.swift rename to Stripe/StripeiOSTests/STPAPIClientTest.swift diff --git a/Tests/Tests/STPAPISettingsBridgeTest.m b/Stripe/StripeiOSTests/STPAPISettingsBridgeTest.m similarity index 100% rename from Tests/Tests/STPAPISettingsBridgeTest.m rename to Stripe/StripeiOSTests/STPAPISettingsBridgeTest.m diff --git a/Tests/Tests/STPAUBECSDebitFormViewSnapshotTests.swift b/Stripe/StripeiOSTests/STPAUBECSDebitFormViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPAUBECSDebitFormViewSnapshotTests.swift rename to Stripe/StripeiOSTests/STPAUBECSDebitFormViewSnapshotTests.swift diff --git a/Tests/Tests/STPAUBECSFormViewModelTests.swift b/Stripe/StripeiOSTests/STPAUBECSFormViewModelTests.swift similarity index 100% rename from Tests/Tests/STPAUBECSFormViewModelTests.swift rename to Stripe/StripeiOSTests/STPAUBECSFormViewModelTests.swift diff --git a/Tests/Tests/STPAddCardViewControllerLocalizationTests.swift b/Stripe/StripeiOSTests/STPAddCardViewControllerLocalizationTests.swift similarity index 100% rename from Tests/Tests/STPAddCardViewControllerLocalizationTests.swift rename to Stripe/StripeiOSTests/STPAddCardViewControllerLocalizationTests.swift diff --git a/Tests/Tests/STPAddCardViewControllerTest.swift b/Stripe/StripeiOSTests/STPAddCardViewControllerTest.swift similarity index 100% rename from Tests/Tests/STPAddCardViewControllerTest.swift rename to Stripe/StripeiOSTests/STPAddCardViewControllerTest.swift diff --git a/Tests/Tests/STPAddressTests.m b/Stripe/StripeiOSTests/STPAddressTests.m similarity index 100% rename from Tests/Tests/STPAddressTests.m rename to Stripe/StripeiOSTests/STPAddressTests.m diff --git a/Tests/Tests/STPAddressViewModelTest.swift b/Stripe/StripeiOSTests/STPAddressViewModelTest.swift similarity index 100% rename from Tests/Tests/STPAddressViewModelTest.swift rename to Stripe/StripeiOSTests/STPAddressViewModelTest.swift diff --git a/Tests/Tests/STPAnalyticsClientPaymentSheetTest.swift b/Stripe/StripeiOSTests/STPAnalyticsClientPaymentSheetTest.swift similarity index 100% rename from Tests/Tests/STPAnalyticsClientPaymentSheetTest.swift rename to Stripe/StripeiOSTests/STPAnalyticsClientPaymentSheetTest.swift diff --git a/Tests/Tests/STPAnalyticsClientPaymentsTest.swift b/Stripe/StripeiOSTests/STPAnalyticsClientPaymentsTest.swift similarity index 100% rename from Tests/Tests/STPAnalyticsClientPaymentsTest.swift rename to Stripe/StripeiOSTests/STPAnalyticsClientPaymentsTest.swift diff --git a/Tests/Tests/STPApplePayContextFunctionalTest.m b/Stripe/StripeiOSTests/STPApplePayContextFunctionalTest.m similarity index 100% rename from Tests/Tests/STPApplePayContextFunctionalTest.m rename to Stripe/StripeiOSTests/STPApplePayContextFunctionalTest.m diff --git a/Tests/Tests/STPApplePayContextFunctionalTestExtras.swift b/Stripe/StripeiOSTests/STPApplePayContextFunctionalTestExtras.swift similarity index 100% rename from Tests/Tests/STPApplePayContextFunctionalTestExtras.swift rename to Stripe/StripeiOSTests/STPApplePayContextFunctionalTestExtras.swift diff --git a/Tests/Tests/STPApplePayContextTest.swift b/Stripe/StripeiOSTests/STPApplePayContextTest.swift similarity index 100% rename from Tests/Tests/STPApplePayContextTest.swift rename to Stripe/StripeiOSTests/STPApplePayContextTest.swift diff --git a/Tests/Tests/STPApplePayFunctionalTest.swift b/Stripe/StripeiOSTests/STPApplePayFunctionalTest.swift similarity index 100% rename from Tests/Tests/STPApplePayFunctionalTest.swift rename to Stripe/StripeiOSTests/STPApplePayFunctionalTest.swift diff --git a/Tests/Tests/STPApplePayPaymentOptionTest.m b/Stripe/StripeiOSTests/STPApplePayPaymentOptionTest.m similarity index 100% rename from Tests/Tests/STPApplePayPaymentOptionTest.m rename to Stripe/StripeiOSTests/STPApplePayPaymentOptionTest.m diff --git a/Tests/Tests/STPApplePayTest.m b/Stripe/StripeiOSTests/STPApplePayTest.m similarity index 100% rename from Tests/Tests/STPApplePayTest.m rename to Stripe/StripeiOSTests/STPApplePayTest.m diff --git a/Tests/Tests/STPApplePayTest.swift b/Stripe/StripeiOSTests/STPApplePayTest.swift similarity index 100% rename from Tests/Tests/STPApplePayTest.swift rename to Stripe/StripeiOSTests/STPApplePayTest.swift diff --git a/Tests/Tests/STPBECSDebitAccountNumberValidatorTests.swift b/Stripe/StripeiOSTests/STPBECSDebitAccountNumberValidatorTests.swift similarity index 100% rename from Tests/Tests/STPBECSDebitAccountNumberValidatorTests.swift rename to Stripe/StripeiOSTests/STPBECSDebitAccountNumberValidatorTests.swift diff --git a/Tests/Tests/STPBSBNumberValidatorTests.swift b/Stripe/StripeiOSTests/STPBSBNumberValidatorTests.swift similarity index 100% rename from Tests/Tests/STPBSBNumberValidatorTests.swift rename to Stripe/StripeiOSTests/STPBSBNumberValidatorTests.swift diff --git a/Tests/Tests/STPBankAccountFunctionalTest.m b/Stripe/StripeiOSTests/STPBankAccountFunctionalTest.m similarity index 100% rename from Tests/Tests/STPBankAccountFunctionalTest.m rename to Stripe/StripeiOSTests/STPBankAccountFunctionalTest.m diff --git a/Tests/Tests/STPBankAccountParamsTest.m b/Stripe/StripeiOSTests/STPBankAccountParamsTest.m similarity index 100% rename from Tests/Tests/STPBankAccountParamsTest.m rename to Stripe/StripeiOSTests/STPBankAccountParamsTest.m diff --git a/Tests/Tests/STPBankAccountTest.m b/Stripe/StripeiOSTests/STPBankAccountTest.m similarity index 100% rename from Tests/Tests/STPBankAccountTest.m rename to Stripe/StripeiOSTests/STPBankAccountTest.m diff --git a/Tests/Tests/STPBinRangeTest.swift b/Stripe/StripeiOSTests/STPBinRangeTest.swift similarity index 100% rename from Tests/Tests/STPBinRangeTest.swift rename to Stripe/StripeiOSTests/STPBinRangeTest.swift diff --git a/Tests/Tests/STPBlocks.h b/Stripe/StripeiOSTests/STPBlocks.h similarity index 100% rename from Tests/Tests/STPBlocks.h rename to Stripe/StripeiOSTests/STPBlocks.h diff --git a/Tests/Tests/STPCardBINMetadataTests.swift b/Stripe/StripeiOSTests/STPCardBINMetadataTests.swift similarity index 100% rename from Tests/Tests/STPCardBINMetadataTests.swift rename to Stripe/StripeiOSTests/STPCardBINMetadataTests.swift diff --git a/Tests/Tests/STPCardBrandTest.m b/Stripe/StripeiOSTests/STPCardBrandTest.m similarity index 100% rename from Tests/Tests/STPCardBrandTest.m rename to Stripe/StripeiOSTests/STPCardBrandTest.m diff --git a/Tests/Tests/STPCardCVCInputTextFieldFormatterTests.swift b/Stripe/StripeiOSTests/STPCardCVCInputTextFieldFormatterTests.swift similarity index 100% rename from Tests/Tests/STPCardCVCInputTextFieldFormatterTests.swift rename to Stripe/StripeiOSTests/STPCardCVCInputTextFieldFormatterTests.swift diff --git a/Tests/Tests/STPCardCVCInputTextFieldSnapshotTests.swift b/Stripe/StripeiOSTests/STPCardCVCInputTextFieldSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPCardCVCInputTextFieldSnapshotTests.swift rename to Stripe/StripeiOSTests/STPCardCVCInputTextFieldSnapshotTests.swift diff --git a/Tests/Tests/STPCardCVCInputTextFieldTests.swift b/Stripe/StripeiOSTests/STPCardCVCInputTextFieldTests.swift similarity index 100% rename from Tests/Tests/STPCardCVCInputTextFieldTests.swift rename to Stripe/StripeiOSTests/STPCardCVCInputTextFieldTests.swift diff --git a/Tests/Tests/STPCardCVCInputTextFieldValidatorTests.swift b/Stripe/StripeiOSTests/STPCardCVCInputTextFieldValidatorTests.swift similarity index 100% rename from Tests/Tests/STPCardCVCInputTextFieldValidatorTests.swift rename to Stripe/StripeiOSTests/STPCardCVCInputTextFieldValidatorTests.swift diff --git a/Tests/Tests/STPCardExpiryInputTextFieldFormatterTests.swift b/Stripe/StripeiOSTests/STPCardExpiryInputTextFieldFormatterTests.swift similarity index 100% rename from Tests/Tests/STPCardExpiryInputTextFieldFormatterTests.swift rename to Stripe/StripeiOSTests/STPCardExpiryInputTextFieldFormatterTests.swift diff --git a/Tests/Tests/STPCardExpiryInputTextFieldSnapshotTests.swift b/Stripe/StripeiOSTests/STPCardExpiryInputTextFieldSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPCardExpiryInputTextFieldSnapshotTests.swift rename to Stripe/StripeiOSTests/STPCardExpiryInputTextFieldSnapshotTests.swift diff --git a/Tests/Tests/STPCardExpiryInputTextFieldValidatorTests.swift b/Stripe/StripeiOSTests/STPCardExpiryInputTextFieldValidatorTests.swift similarity index 100% rename from Tests/Tests/STPCardExpiryInputTextFieldValidatorTests.swift rename to Stripe/StripeiOSTests/STPCardExpiryInputTextFieldValidatorTests.swift diff --git a/Tests/Tests/STPCardFormViewSnapshotTests.swift b/Stripe/StripeiOSTests/STPCardFormViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPCardFormViewSnapshotTests.swift rename to Stripe/StripeiOSTests/STPCardFormViewSnapshotTests.swift diff --git a/Tests/Tests/STPCardFormViewTests.swift b/Stripe/StripeiOSTests/STPCardFormViewTests.swift similarity index 100% rename from Tests/Tests/STPCardFormViewTests.swift rename to Stripe/StripeiOSTests/STPCardFormViewTests.swift diff --git a/Tests/Tests/STPCardFunctionalTest.m b/Stripe/StripeiOSTests/STPCardFunctionalTest.m similarity index 100% rename from Tests/Tests/STPCardFunctionalTest.m rename to Stripe/StripeiOSTests/STPCardFunctionalTest.m diff --git a/Tests/Tests/STPCardNumberInputTextFieldFormatterTests.swift b/Stripe/StripeiOSTests/STPCardNumberInputTextFieldFormatterTests.swift similarity index 100% rename from Tests/Tests/STPCardNumberInputTextFieldFormatterTests.swift rename to Stripe/StripeiOSTests/STPCardNumberInputTextFieldFormatterTests.swift diff --git a/Tests/Tests/STPCardNumberInputTextFieldSnapshotTests.swift b/Stripe/StripeiOSTests/STPCardNumberInputTextFieldSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPCardNumberInputTextFieldSnapshotTests.swift rename to Stripe/StripeiOSTests/STPCardNumberInputTextFieldSnapshotTests.swift diff --git a/Tests/Tests/STPCardNumberInputTextFieldValidatorTests.swift b/Stripe/StripeiOSTests/STPCardNumberInputTextFieldValidatorTests.swift similarity index 100% rename from Tests/Tests/STPCardNumberInputTextFieldValidatorTests.swift rename to Stripe/StripeiOSTests/STPCardNumberInputTextFieldValidatorTests.swift diff --git a/Tests/Tests/STPCardParamsTest.m b/Stripe/StripeiOSTests/STPCardParamsTest.m similarity index 100% rename from Tests/Tests/STPCardParamsTest.m rename to Stripe/StripeiOSTests/STPCardParamsTest.m diff --git a/Tests/Tests/STPCardTest.swift b/Stripe/StripeiOSTests/STPCardTest.swift similarity index 100% rename from Tests/Tests/STPCardTest.swift rename to Stripe/StripeiOSTests/STPCardTest.swift diff --git a/Tests/Tests/STPCardValidatorTest.swift b/Stripe/StripeiOSTests/STPCardValidatorTest.swift similarity index 100% rename from Tests/Tests/STPCardValidatorTest.swift rename to Stripe/StripeiOSTests/STPCardValidatorTest.swift diff --git a/Tests/Tests/STPCertTest.swift b/Stripe/StripeiOSTests/STPCertTest.swift similarity index 100% rename from Tests/Tests/STPCertTest.swift rename to Stripe/StripeiOSTests/STPCertTest.swift diff --git a/Tests/Tests/STPConfirmCardOptionsTest.m b/Stripe/StripeiOSTests/STPConfirmCardOptionsTest.m similarity index 100% rename from Tests/Tests/STPConfirmCardOptionsTest.m rename to Stripe/StripeiOSTests/STPConfirmCardOptionsTest.m diff --git a/Tests/Tests/STPConfirmPaymentMethodOptionsTest.m b/Stripe/StripeiOSTests/STPConfirmPaymentMethodOptionsTest.m similarity index 100% rename from Tests/Tests/STPConfirmPaymentMethodOptionsTest.m rename to Stripe/StripeiOSTests/STPConfirmPaymentMethodOptionsTest.m diff --git a/Tests/Tests/STPConnectAccountAddressTest.m b/Stripe/StripeiOSTests/STPConnectAccountAddressTest.m similarity index 100% rename from Tests/Tests/STPConnectAccountAddressTest.m rename to Stripe/StripeiOSTests/STPConnectAccountAddressTest.m diff --git a/Tests/Tests/STPConnectAccountFunctionalTest.m b/Stripe/StripeiOSTests/STPConnectAccountFunctionalTest.m similarity index 100% rename from Tests/Tests/STPConnectAccountFunctionalTest.m rename to Stripe/StripeiOSTests/STPConnectAccountFunctionalTest.m diff --git a/Tests/Tests/STPConnectAccountParamsTest.m b/Stripe/StripeiOSTests/STPConnectAccountParamsTest.m similarity index 100% rename from Tests/Tests/STPConnectAccountParamsTest.m rename to Stripe/StripeiOSTests/STPConnectAccountParamsTest.m diff --git a/Tests/Tests/STPCountryPickerInputFieldSnapshotTests.swift b/Stripe/StripeiOSTests/STPCountryPickerInputFieldSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPCountryPickerInputFieldSnapshotTests.swift rename to Stripe/StripeiOSTests/STPCountryPickerInputFieldSnapshotTests.swift diff --git a/Tests/Tests/STPCustomerContextTest.swift b/Stripe/StripeiOSTests/STPCustomerContextTest.swift similarity index 100% rename from Tests/Tests/STPCustomerContextTest.swift rename to Stripe/StripeiOSTests/STPCustomerContextTest.swift diff --git a/Tests/Tests/STPCustomerTest.m b/Stripe/StripeiOSTests/STPCustomerTest.m similarity index 100% rename from Tests/Tests/STPCustomerTest.m rename to Stripe/StripeiOSTests/STPCustomerTest.m diff --git a/Tests/Tests/STPE2ETest.swift b/Stripe/StripeiOSTests/STPE2ETest.swift similarity index 100% rename from Tests/Tests/STPE2ETest.swift rename to Stripe/StripeiOSTests/STPE2ETest.swift diff --git a/Tests/Tests/STPEphemeralKeyManagerTest.m b/Stripe/StripeiOSTests/STPEphemeralKeyManagerTest.m similarity index 100% rename from Tests/Tests/STPEphemeralKeyManagerTest.m rename to Stripe/StripeiOSTests/STPEphemeralKeyManagerTest.m diff --git a/Tests/Tests/STPEphemeralKeyTest.swift b/Stripe/StripeiOSTests/STPEphemeralKeyTest.swift similarity index 100% rename from Tests/Tests/STPEphemeralKeyTest.swift rename to Stripe/StripeiOSTests/STPEphemeralKeyTest.swift diff --git a/Tests/Tests/STPErrorBridgeTest.m b/Stripe/StripeiOSTests/STPErrorBridgeTest.m similarity index 100% rename from Tests/Tests/STPErrorBridgeTest.m rename to Stripe/StripeiOSTests/STPErrorBridgeTest.m diff --git a/Tests/Tests/STPFPXBankBrandTest.m b/Stripe/StripeiOSTests/STPFPXBankBrandTest.m similarity index 100% rename from Tests/Tests/STPFPXBankBrandTest.m rename to Stripe/StripeiOSTests/STPFPXBankBrandTest.m diff --git a/Tests/Tests/STPFileFunctionalTest.m b/Stripe/StripeiOSTests/STPFileFunctionalTest.m similarity index 100% rename from Tests/Tests/STPFileFunctionalTest.m rename to Stripe/StripeiOSTests/STPFileFunctionalTest.m diff --git a/Tests/Tests/STPFileTest.m b/Stripe/StripeiOSTests/STPFileTest.m similarity index 100% rename from Tests/Tests/STPFileTest.m rename to Stripe/StripeiOSTests/STPFileTest.m diff --git a/Tests/Tests/STPFixtures.h b/Stripe/StripeiOSTests/STPFixtures.h similarity index 100% rename from Tests/Tests/STPFixtures.h rename to Stripe/StripeiOSTests/STPFixtures.h diff --git a/Tests/Tests/STPFixtures.m b/Stripe/StripeiOSTests/STPFixtures.m similarity index 100% rename from Tests/Tests/STPFixtures.m rename to Stripe/StripeiOSTests/STPFixtures.m diff --git a/Tests/Tests/STPFloatingPlaceholderTextFieldSnapshotTests.swift b/Stripe/StripeiOSTests/STPFloatingPlaceholderTextFieldSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPFloatingPlaceholderTextFieldSnapshotTests.swift rename to Stripe/StripeiOSTests/STPFloatingPlaceholderTextFieldSnapshotTests.swift diff --git a/Tests/Tests/STPFormEncoderTest.swift b/Stripe/StripeiOSTests/STPFormEncoderTest.swift similarity index 100% rename from Tests/Tests/STPFormEncoderTest.swift rename to Stripe/StripeiOSTests/STPFormEncoderTest.swift diff --git a/Tests/Tests/STPFormTextFieldTest.swift b/Stripe/StripeiOSTests/STPFormTextFieldTest.swift similarity index 100% rename from Tests/Tests/STPFormTextFieldTest.swift rename to Stripe/StripeiOSTests/STPFormTextFieldTest.swift diff --git a/Tests/Tests/STPFormViewSnapshotTests.swift b/Stripe/StripeiOSTests/STPFormViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPFormViewSnapshotTests.swift rename to Stripe/StripeiOSTests/STPFormViewSnapshotTests.swift diff --git a/Tests/Tests/STPGenericInputPickerFieldSnapshotTests.swift b/Stripe/StripeiOSTests/STPGenericInputPickerFieldSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPGenericInputPickerFieldSnapshotTests.swift rename to Stripe/StripeiOSTests/STPGenericInputPickerFieldSnapshotTests.swift diff --git a/Tests/Tests/STPGenericInputPickerFieldValidatorTest.swift b/Stripe/StripeiOSTests/STPGenericInputPickerFieldValidatorTest.swift similarity index 100% rename from Tests/Tests/STPGenericInputPickerFieldValidatorTest.swift rename to Stripe/StripeiOSTests/STPGenericInputPickerFieldValidatorTest.swift diff --git a/Tests/Tests/STPGenericInputTextFieldSnapshotTests.swift b/Stripe/StripeiOSTests/STPGenericInputTextFieldSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPGenericInputTextFieldSnapshotTests.swift rename to Stripe/StripeiOSTests/STPGenericInputTextFieldSnapshotTests.swift diff --git a/Tests/Tests/STPImageLibraryTest.swift b/Stripe/StripeiOSTests/STPImageLibraryTest.swift similarity index 100% rename from Tests/Tests/STPImageLibraryTest.swift rename to Stripe/StripeiOSTests/STPImageLibraryTest.swift diff --git a/Tests/Tests/STPInputTextFieldFormatterTests.swift b/Stripe/StripeiOSTests/STPInputTextFieldFormatterTests.swift similarity index 100% rename from Tests/Tests/STPInputTextFieldFormatterTests.swift rename to Stripe/StripeiOSTests/STPInputTextFieldFormatterTests.swift diff --git a/Tests/Tests/STPInputTextFieldValidatorTests.swift b/Stripe/StripeiOSTests/STPInputTextFieldValidatorTests.swift similarity index 100% rename from Tests/Tests/STPInputTextFieldValidatorTests.swift rename to Stripe/StripeiOSTests/STPInputTextFieldValidatorTests.swift diff --git a/Tests/Tests/STPIntentActionAlipayHandleRedirectTest.swift b/Stripe/StripeiOSTests/STPIntentActionAlipayHandleRedirectTest.swift similarity index 100% rename from Tests/Tests/STPIntentActionAlipayHandleRedirectTest.swift rename to Stripe/StripeiOSTests/STPIntentActionAlipayHandleRedirectTest.swift diff --git a/Tests/Tests/STPIntentActionTest.m b/Stripe/StripeiOSTests/STPIntentActionTest.m similarity index 100% rename from Tests/Tests/STPIntentActionTest.m rename to Stripe/StripeiOSTests/STPIntentActionTest.m diff --git a/Tests/Tests/STPIntentActionTypeTest.swift b/Stripe/StripeiOSTests/STPIntentActionTypeTest.swift similarity index 100% rename from Tests/Tests/STPIntentActionTypeTest.swift rename to Stripe/StripeiOSTests/STPIntentActionTypeTest.swift diff --git a/Tests/Tests/STPIntentActionWeChatPayRedirectToAppTest.swift b/Stripe/StripeiOSTests/STPIntentActionWeChatPayRedirectToAppTest.swift similarity index 100% rename from Tests/Tests/STPIntentActionWeChatPayRedirectToAppTest.swift rename to Stripe/StripeiOSTests/STPIntentActionWeChatPayRedirectToAppTest.swift diff --git a/Tests/Tests/STPIntentWithPreferencesTest.swift b/Stripe/StripeiOSTests/STPIntentWithPreferencesTest.swift similarity index 100% rename from Tests/Tests/STPIntentWithPreferencesTest.swift rename to Stripe/StripeiOSTests/STPIntentWithPreferencesTest.swift diff --git a/Tests/Tests/STPLabeledFormTextFieldViewSnapshotTests.m b/Stripe/StripeiOSTests/STPLabeledFormTextFieldViewSnapshotTests.m similarity index 100% rename from Tests/Tests/STPLabeledFormTextFieldViewSnapshotTests.m rename to Stripe/StripeiOSTests/STPLabeledFormTextFieldViewSnapshotTests.m diff --git a/Tests/Tests/STPLabeledMultiFormTextFieldViewSnapshotTests.swift b/Stripe/StripeiOSTests/STPLabeledMultiFormTextFieldViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPLabeledMultiFormTextFieldViewSnapshotTests.swift rename to Stripe/StripeiOSTests/STPLabeledMultiFormTextFieldViewSnapshotTests.swift diff --git a/Tests/Tests/STPMandateCustomerAcceptanceParamsTest.swift b/Stripe/StripeiOSTests/STPMandateCustomerAcceptanceParamsTest.swift similarity index 100% rename from Tests/Tests/STPMandateCustomerAcceptanceParamsTest.swift rename to Stripe/StripeiOSTests/STPMandateCustomerAcceptanceParamsTest.swift diff --git a/Tests/Tests/STPMandateDataParamsTest.swift b/Stripe/StripeiOSTests/STPMandateDataParamsTest.swift similarity index 100% rename from Tests/Tests/STPMandateDataParamsTest.swift rename to Stripe/StripeiOSTests/STPMandateDataParamsTest.swift diff --git a/Tests/Tests/STPMandateOnlineParamsTest.swift b/Stripe/StripeiOSTests/STPMandateOnlineParamsTest.swift similarity index 100% rename from Tests/Tests/STPMandateOnlineParamsTest.swift rename to Stripe/StripeiOSTests/STPMandateOnlineParamsTest.swift diff --git a/Tests/Tests/STPMocks.h b/Stripe/StripeiOSTests/STPMocks.h similarity index 100% rename from Tests/Tests/STPMocks.h rename to Stripe/StripeiOSTests/STPMocks.h diff --git a/Tests/Tests/STPMocks.m b/Stripe/StripeiOSTests/STPMocks.m similarity index 100% rename from Tests/Tests/STPMocks.m rename to Stripe/StripeiOSTests/STPMocks.m diff --git a/Tests/Tests/STPNetworkStubbingTestCase.h b/Stripe/StripeiOSTests/STPNetworkStubbingTestCase.h similarity index 100% rename from Tests/Tests/STPNetworkStubbingTestCase.h rename to Stripe/StripeiOSTests/STPNetworkStubbingTestCase.h diff --git a/Tests/Tests/STPNetworkStubbingTestCase.m b/Stripe/StripeiOSTests/STPNetworkStubbingTestCase.m similarity index 100% rename from Tests/Tests/STPNetworkStubbingTestCase.m rename to Stripe/StripeiOSTests/STPNetworkStubbingTestCase.m diff --git a/Tests/Tests/STPNetworkStubbingTestCase.swift b/Stripe/StripeiOSTests/STPNetworkStubbingTestCase.swift similarity index 94% rename from Tests/Tests/STPNetworkStubbingTestCase.swift rename to Stripe/StripeiOSTests/STPNetworkStubbingTestCase.swift index 7575104f407..3624ac0e9c8 100644 --- a/Tests/Tests/STPNetworkStubbingTestCase.swift +++ b/Stripe/StripeiOSTests/STPNetworkStubbingTestCase.swift @@ -68,9 +68,9 @@ class STPNetworkStubbingTestCase: XCTestCase { return fileName } - // The goal is for `basePath` to be e.g. `~/stripe/stripe-ios/Tests` + // The goal is for `basePath` to be e.g. `~/stripe-ios/Stripe/StripeiOSTests` // A little gross/hardcoded (but it works fine); feel free to improve this... - let testDirectoryName = "stripe-ios/Tests" + let testDirectoryName = "stripe-ios/Stripe/StripeiOSTests" var basePath = "\(#file)" while !basePath.hasSuffix(testDirectoryName) { assert( @@ -80,7 +80,9 @@ class STPNetworkStubbingTestCase: XCTestCase { basePath = URL(fileURLWithPath: basePath).deletingLastPathComponent().path } - let recordingPath = URL(fileURLWithPath: basePath).appendingPathComponent(relativePath) + let recordingPath = URL(fileURLWithPath: basePath) + .appendingPathComponent("Resources") + .appendingPathComponent(relativePath) .path // Delete existing stubs do { @@ -94,6 +96,7 @@ class STPNetworkStubbingTestCase: XCTestCase { ) else { assert(false, "Error recording requests") + return } // Make sure to fail, to remind ourselves to turn this off diff --git a/Tests/Tests/STPNumericDigitInputTextFormatterTests.swift b/Stripe/StripeiOSTests/STPNumericDigitInputTextFormatterTests.swift similarity index 100% rename from Tests/Tests/STPNumericDigitInputTextFormatterTests.swift rename to Stripe/StripeiOSTests/STPNumericDigitInputTextFormatterTests.swift diff --git a/Tests/Tests/STPNumericStringValidatorTests.swift b/Stripe/StripeiOSTests/STPNumericStringValidatorTests.swift similarity index 100% rename from Tests/Tests/STPNumericStringValidatorTests.swift rename to Stripe/StripeiOSTests/STPNumericStringValidatorTests.swift diff --git a/Tests/Tests/STPPIIFunctionalTest.m b/Stripe/StripeiOSTests/STPPIIFunctionalTest.m similarity index 100% rename from Tests/Tests/STPPIIFunctionalTest.m rename to Stripe/StripeiOSTests/STPPIIFunctionalTest.m diff --git a/Tests/Tests/STPPaymentCardTextFieldTest.m b/Stripe/StripeiOSTests/STPPaymentCardTextFieldTest.m similarity index 100% rename from Tests/Tests/STPPaymentCardTextFieldTest.m rename to Stripe/StripeiOSTests/STPPaymentCardTextFieldTest.m diff --git a/Tests/Tests/STPPaymentCardTextFieldTestsSwift.swift b/Stripe/StripeiOSTests/STPPaymentCardTextFieldTestsSwift.swift similarity index 100% rename from Tests/Tests/STPPaymentCardTextFieldTestsSwift.swift rename to Stripe/StripeiOSTests/STPPaymentCardTextFieldTestsSwift.swift diff --git a/Tests/Tests/STPPaymentCardTextFieldViewModelTest.swift b/Stripe/StripeiOSTests/STPPaymentCardTextFieldViewModelTest.swift similarity index 100% rename from Tests/Tests/STPPaymentCardTextFieldViewModelTest.swift rename to Stripe/StripeiOSTests/STPPaymentCardTextFieldViewModelTest.swift diff --git a/Tests/Tests/STPPaymentConfigurationTest.m b/Stripe/StripeiOSTests/STPPaymentConfigurationTest.m similarity index 100% rename from Tests/Tests/STPPaymentConfigurationTest.m rename to Stripe/StripeiOSTests/STPPaymentConfigurationTest.m diff --git a/Tests/Tests/STPPaymentContextApplePayTest.swift b/Stripe/StripeiOSTests/STPPaymentContextApplePayTest.swift similarity index 100% rename from Tests/Tests/STPPaymentContextApplePayTest.swift rename to Stripe/StripeiOSTests/STPPaymentContextApplePayTest.swift diff --git a/Tests/Tests/STPPaymentContextSnapshotTests.m b/Stripe/StripeiOSTests/STPPaymentContextSnapshotTests.m similarity index 100% rename from Tests/Tests/STPPaymentContextSnapshotTests.m rename to Stripe/StripeiOSTests/STPPaymentContextSnapshotTests.m diff --git a/Tests/Tests/STPPaymentHandlerFunctionalTest.m b/Stripe/StripeiOSTests/STPPaymentHandlerFunctionalTest.m similarity index 100% rename from Tests/Tests/STPPaymentHandlerFunctionalTest.m rename to Stripe/StripeiOSTests/STPPaymentHandlerFunctionalTest.m diff --git a/Tests/Tests/STPPaymentHandlerTests.swift b/Stripe/StripeiOSTests/STPPaymentHandlerTests.swift similarity index 100% rename from Tests/Tests/STPPaymentHandlerTests.swift rename to Stripe/StripeiOSTests/STPPaymentHandlerTests.swift diff --git a/Tests/Tests/STPPaymentIntentEnumsTest.swift b/Stripe/StripeiOSTests/STPPaymentIntentEnumsTest.swift similarity index 100% rename from Tests/Tests/STPPaymentIntentEnumsTest.swift rename to Stripe/StripeiOSTests/STPPaymentIntentEnumsTest.swift diff --git a/Tests/Tests/STPPaymentIntentFunctionalTest.m b/Stripe/StripeiOSTests/STPPaymentIntentFunctionalTest.m similarity index 100% rename from Tests/Tests/STPPaymentIntentFunctionalTest.m rename to Stripe/StripeiOSTests/STPPaymentIntentFunctionalTest.m diff --git a/Tests/Tests/STPPaymentIntentFunctionalTest.swift b/Stripe/StripeiOSTests/STPPaymentIntentFunctionalTest.swift similarity index 100% rename from Tests/Tests/STPPaymentIntentFunctionalTest.swift rename to Stripe/StripeiOSTests/STPPaymentIntentFunctionalTest.swift diff --git a/Tests/Tests/STPPaymentIntentLastPaymentErrorTest.swift b/Stripe/StripeiOSTests/STPPaymentIntentLastPaymentErrorTest.swift similarity index 100% rename from Tests/Tests/STPPaymentIntentLastPaymentErrorTest.swift rename to Stripe/StripeiOSTests/STPPaymentIntentLastPaymentErrorTest.swift diff --git a/Tests/Tests/STPPaymentIntentParamsTest.swift b/Stripe/StripeiOSTests/STPPaymentIntentParamsTest.swift similarity index 100% rename from Tests/Tests/STPPaymentIntentParamsTest.swift rename to Stripe/StripeiOSTests/STPPaymentIntentParamsTest.swift diff --git a/Tests/Tests/STPPaymentIntentTest.swift b/Stripe/StripeiOSTests/STPPaymentIntentTest.swift similarity index 100% rename from Tests/Tests/STPPaymentIntentTest.swift rename to Stripe/StripeiOSTests/STPPaymentIntentTest.swift diff --git a/Tests/Tests/STPPaymentMethodAUBECSDebitParamsTests.m b/Stripe/StripeiOSTests/STPPaymentMethodAUBECSDebitParamsTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodAUBECSDebitParamsTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodAUBECSDebitParamsTests.m diff --git a/Tests/Tests/STPPaymentMethodAUBECSDebitTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodAUBECSDebitTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodAUBECSDebitTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodAUBECSDebitTests.swift diff --git a/Tests/Tests/STPPaymentMethodAddressTest.m b/Stripe/StripeiOSTests/STPPaymentMethodAddressTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodAddressTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodAddressTest.m diff --git a/Tests/Tests/STPPaymentMethodAffirmParamsTest.swift b/Stripe/StripeiOSTests/STPPaymentMethodAffirmParamsTest.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodAffirmParamsTest.swift rename to Stripe/StripeiOSTests/STPPaymentMethodAffirmParamsTest.swift diff --git a/Tests/Tests/STPPaymentMethodAffirmTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodAffirmTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodAffirmTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodAffirmTests.swift diff --git a/Tests/Tests/STPPaymentMethodAfterpayClearpayParamsTest.m b/Stripe/StripeiOSTests/STPPaymentMethodAfterpayClearpayParamsTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodAfterpayClearpayParamsTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodAfterpayClearpayParamsTest.m diff --git a/Tests/Tests/STPPaymentMethodAfterpayClearpayTest.m b/Stripe/StripeiOSTests/STPPaymentMethodAfterpayClearpayTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodAfterpayClearpayTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodAfterpayClearpayTest.m diff --git a/Tests/Tests/STPPaymentMethodBacsDebitTest.m b/Stripe/StripeiOSTests/STPPaymentMethodBacsDebitTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodBacsDebitTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodBacsDebitTest.m diff --git a/Tests/Tests/STPPaymentMethodBancontactParamsTests.m b/Stripe/StripeiOSTests/STPPaymentMethodBancontactParamsTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodBancontactParamsTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodBancontactParamsTests.m diff --git a/Tests/Tests/STPPaymentMethodBancontactTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodBancontactTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodBancontactTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodBancontactTests.swift diff --git a/Tests/Tests/STPPaymentMethodBillingDetailsTest.m b/Stripe/StripeiOSTests/STPPaymentMethodBillingDetailsTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodBillingDetailsTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodBillingDetailsTest.m diff --git a/Tests/Tests/STPPaymentMethodBoletoParamsTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodBoletoParamsTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodBoletoParamsTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodBoletoParamsTests.swift diff --git a/Tests/Tests/STPPaymentMethodBoletoTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodBoletoTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodBoletoTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodBoletoTests.swift diff --git a/Tests/Tests/STPPaymentMethodCardChecksTest.m b/Stripe/StripeiOSTests/STPPaymentMethodCardChecksTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodCardChecksTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodCardChecksTest.m diff --git a/Tests/Tests/STPPaymentMethodCardParamsTest.swift b/Stripe/StripeiOSTests/STPPaymentMethodCardParamsTest.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodCardParamsTest.swift rename to Stripe/StripeiOSTests/STPPaymentMethodCardParamsTest.swift diff --git a/Tests/Tests/STPPaymentMethodCardTest.swift b/Stripe/StripeiOSTests/STPPaymentMethodCardTest.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodCardTest.swift rename to Stripe/StripeiOSTests/STPPaymentMethodCardTest.swift diff --git a/Tests/Tests/STPPaymentMethodCardWalletMasterpassTest.m b/Stripe/StripeiOSTests/STPPaymentMethodCardWalletMasterpassTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodCardWalletMasterpassTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodCardWalletMasterpassTest.m diff --git a/Tests/Tests/STPPaymentMethodCardWalletTest.m b/Stripe/StripeiOSTests/STPPaymentMethodCardWalletTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodCardWalletTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodCardWalletTest.m diff --git a/Tests/Tests/STPPaymentMethodCardWalletVisaCheckoutTest.m b/Stripe/StripeiOSTests/STPPaymentMethodCardWalletVisaCheckoutTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodCardWalletVisaCheckoutTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodCardWalletVisaCheckoutTest.m diff --git a/Tests/Tests/STPPaymentMethodEPSParamsTests.m b/Stripe/StripeiOSTests/STPPaymentMethodEPSParamsTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodEPSParamsTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodEPSParamsTests.m diff --git a/Tests/Tests/STPPaymentMethodEPSTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodEPSTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodEPSTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodEPSTests.swift diff --git a/Tests/Tests/STPPaymentMethodFPXTest.m b/Stripe/StripeiOSTests/STPPaymentMethodFPXTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodFPXTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodFPXTest.m diff --git a/Tests/Tests/STPPaymentMethodFunctionalTest.m b/Stripe/StripeiOSTests/STPPaymentMethodFunctionalTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodFunctionalTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodFunctionalTest.m diff --git a/Tests/Tests/STPPaymentMethodGiropayParamsTests.m b/Stripe/StripeiOSTests/STPPaymentMethodGiropayParamsTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodGiropayParamsTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodGiropayParamsTests.m diff --git a/Tests/Tests/STPPaymentMethodGiropayTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodGiropayTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodGiropayTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodGiropayTests.swift diff --git a/Tests/Tests/STPPaymentMethodGrabPayParamsTest.m b/Stripe/StripeiOSTests/STPPaymentMethodGrabPayParamsTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodGrabPayParamsTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodGrabPayParamsTest.m diff --git a/Tests/Tests/STPPaymentMethodKlarnaParamsTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodKlarnaParamsTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodKlarnaParamsTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodKlarnaParamsTests.swift diff --git a/Tests/Tests/STPPaymentMethodKlarnaTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodKlarnaTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodKlarnaTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodKlarnaTests.swift diff --git a/Tests/Tests/STPPaymentMethodNetBankingParamsTest.m b/Stripe/StripeiOSTests/STPPaymentMethodNetBankingParamsTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodNetBankingParamsTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodNetBankingParamsTest.m diff --git a/Tests/Tests/STPPaymentMethodNetBankingTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodNetBankingTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodNetBankingTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodNetBankingTests.swift diff --git a/Tests/Tests/STPPaymentMethodOXXOParamsTests.m b/Stripe/StripeiOSTests/STPPaymentMethodOXXOParamsTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodOXXOParamsTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodOXXOParamsTests.m diff --git a/Tests/Tests/STPPaymentMethodOXXOTests.m b/Stripe/StripeiOSTests/STPPaymentMethodOXXOTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodOXXOTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodOXXOTests.m diff --git a/Tests/Tests/STPPaymentMethodOptionsTest.swift b/Stripe/StripeiOSTests/STPPaymentMethodOptionsTest.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodOptionsTest.swift rename to Stripe/StripeiOSTests/STPPaymentMethodOptionsTest.swift diff --git a/Tests/Tests/STPPaymentMethodParamsTest.m b/Stripe/StripeiOSTests/STPPaymentMethodParamsTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodParamsTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodParamsTest.m diff --git a/Tests/Tests/STPPaymentMethodPayPalParamsTests.m b/Stripe/StripeiOSTests/STPPaymentMethodPayPalParamsTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodPayPalParamsTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodPayPalParamsTests.m diff --git a/Tests/Tests/STPPaymentMethodPayPalTests.m b/Stripe/StripeiOSTests/STPPaymentMethodPayPalTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodPayPalTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodPayPalTests.m diff --git a/Tests/Tests/STPPaymentMethodPrzelewy24ParamsTests.m b/Stripe/StripeiOSTests/STPPaymentMethodPrzelewy24ParamsTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodPrzelewy24ParamsTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodPrzelewy24ParamsTests.m diff --git a/Tests/Tests/STPPaymentMethodPrzelewy24Tests.swift b/Stripe/StripeiOSTests/STPPaymentMethodPrzelewy24Tests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodPrzelewy24Tests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodPrzelewy24Tests.swift diff --git a/Tests/Tests/STPPaymentMethodSEPADebitTest.m b/Stripe/StripeiOSTests/STPPaymentMethodSEPADebitTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodSEPADebitTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodSEPADebitTest.m diff --git a/Tests/Tests/STPPaymentMethodSofortParamsTests.m b/Stripe/StripeiOSTests/STPPaymentMethodSofortParamsTests.m similarity index 100% rename from Tests/Tests/STPPaymentMethodSofortParamsTests.m rename to Stripe/StripeiOSTests/STPPaymentMethodSofortParamsTests.m diff --git a/Tests/Tests/STPPaymentMethodSofortTests.swift b/Stripe/StripeiOSTests/STPPaymentMethodSofortTests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodSofortTests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodSofortTests.swift diff --git a/Tests/Tests/STPPaymentMethodTest.swift b/Stripe/StripeiOSTests/STPPaymentMethodTest.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodTest.swift rename to Stripe/StripeiOSTests/STPPaymentMethodTest.swift diff --git a/Tests/Tests/STPPaymentMethodThreeDSecureUsageTest.m b/Stripe/StripeiOSTests/STPPaymentMethodThreeDSecureUsageTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodThreeDSecureUsageTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodThreeDSecureUsageTest.m diff --git a/Tests/Tests/STPPaymentMethodUPIParamsTest.m b/Stripe/StripeiOSTests/STPPaymentMethodUPIParamsTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodUPIParamsTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodUPIParamsTest.m diff --git a/Tests/Tests/STPPaymentMethodUPITests.swift b/Stripe/StripeiOSTests/STPPaymentMethodUPITests.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodUPITests.swift rename to Stripe/StripeiOSTests/STPPaymentMethodUPITests.swift diff --git a/Tests/Tests/STPPaymentMethodUSBankAccountParamsStubbedTest.swift b/Stripe/StripeiOSTests/STPPaymentMethodUSBankAccountParamsStubbedTest.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodUSBankAccountParamsStubbedTest.swift rename to Stripe/StripeiOSTests/STPPaymentMethodUSBankAccountParamsStubbedTest.swift diff --git a/Tests/Tests/STPPaymentMethodUSBankAccountParamsTest.swift b/Stripe/StripeiOSTests/STPPaymentMethodUSBankAccountParamsTest.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodUSBankAccountParamsTest.swift rename to Stripe/StripeiOSTests/STPPaymentMethodUSBankAccountParamsTest.swift diff --git a/Tests/Tests/STPPaymentMethodUSBankAccountTest.swift b/Stripe/StripeiOSTests/STPPaymentMethodUSBankAccountTest.swift similarity index 100% rename from Tests/Tests/STPPaymentMethodUSBankAccountTest.swift rename to Stripe/StripeiOSTests/STPPaymentMethodUSBankAccountTest.swift diff --git a/Tests/Tests/STPPaymentMethodiDEALTest.m b/Stripe/StripeiOSTests/STPPaymentMethodiDEALTest.m similarity index 100% rename from Tests/Tests/STPPaymentMethodiDEALTest.m rename to Stripe/StripeiOSTests/STPPaymentMethodiDEALTest.m diff --git a/Tests/Tests/STPPaymentOptionsViewControllerLocalizationTests.swift b/Stripe/StripeiOSTests/STPPaymentOptionsViewControllerLocalizationTests.swift similarity index 100% rename from Tests/Tests/STPPaymentOptionsViewControllerLocalizationTests.swift rename to Stripe/StripeiOSTests/STPPaymentOptionsViewControllerLocalizationTests.swift diff --git a/Tests/Tests/STPPaymentOptionsViewControllerTest.swift b/Stripe/StripeiOSTests/STPPaymentOptionsViewControllerTest.swift similarity index 100% rename from Tests/Tests/STPPaymentOptionsViewControllerTest.swift rename to Stripe/StripeiOSTests/STPPaymentOptionsViewControllerTest.swift diff --git a/Tests/Tests/STPPhoneNumberValidatorTest.swift b/Stripe/StripeiOSTests/STPPhoneNumberValidatorTest.swift similarity index 100% rename from Tests/Tests/STPPhoneNumberValidatorTest.swift rename to Stripe/StripeiOSTests/STPPhoneNumberValidatorTest.swift diff --git a/Tests/Tests/STPPinManagementServiceFunctionalTest.swift b/Stripe/StripeiOSTests/STPPinManagementServiceFunctionalTest.swift similarity index 100% rename from Tests/Tests/STPPinManagementServiceFunctionalTest.swift rename to Stripe/StripeiOSTests/STPPinManagementServiceFunctionalTest.swift diff --git a/Tests/Tests/STPPostalCodeInputTextFieldFormatterTests.swift b/Stripe/StripeiOSTests/STPPostalCodeInputTextFieldFormatterTests.swift similarity index 100% rename from Tests/Tests/STPPostalCodeInputTextFieldFormatterTests.swift rename to Stripe/StripeiOSTests/STPPostalCodeInputTextFieldFormatterTests.swift diff --git a/Tests/Tests/STPPostalCodeInputTextFieldSnapshotTests.swift b/Stripe/StripeiOSTests/STPPostalCodeInputTextFieldSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPPostalCodeInputTextFieldSnapshotTests.swift rename to Stripe/StripeiOSTests/STPPostalCodeInputTextFieldSnapshotTests.swift diff --git a/Tests/Tests/STPPostalCodeInputTextFieldTests.swift b/Stripe/StripeiOSTests/STPPostalCodeInputTextFieldTests.swift similarity index 100% rename from Tests/Tests/STPPostalCodeInputTextFieldTests.swift rename to Stripe/StripeiOSTests/STPPostalCodeInputTextFieldTests.swift diff --git a/Tests/Tests/STPPostalCodeInputTextFieldValidatorTests.swift b/Stripe/StripeiOSTests/STPPostalCodeInputTextFieldValidatorTests.swift similarity index 100% rename from Tests/Tests/STPPostalCodeInputTextFieldValidatorTests.swift rename to Stripe/StripeiOSTests/STPPostalCodeInputTextFieldValidatorTests.swift diff --git a/Tests/Tests/STPPostalCodeValidatorTest.swift b/Stripe/StripeiOSTests/STPPostalCodeValidatorTest.swift similarity index 100% rename from Tests/Tests/STPPostalCodeValidatorTest.swift rename to Stripe/StripeiOSTests/STPPostalCodeValidatorTest.swift diff --git a/Tests/Tests/STPPushProvisioningDetailsFunctionalTest.swift b/Stripe/StripeiOSTests/STPPushProvisioningDetailsFunctionalTest.swift similarity index 100% rename from Tests/Tests/STPPushProvisioningDetailsFunctionalTest.swift rename to Stripe/StripeiOSTests/STPPushProvisioningDetailsFunctionalTest.swift diff --git a/Tests/Tests/STPRadarSessionFunctionalTest.swift b/Stripe/StripeiOSTests/STPRadarSessionFunctionalTest.swift similarity index 100% rename from Tests/Tests/STPRadarSessionFunctionalTest.swift rename to Stripe/StripeiOSTests/STPRadarSessionFunctionalTest.swift diff --git a/Tests/Tests/STPRedirectContextTest.m b/Stripe/StripeiOSTests/STPRedirectContextTest.m similarity index 100% rename from Tests/Tests/STPRedirectContextTest.m rename to Stripe/StripeiOSTests/STPRedirectContextTest.m diff --git a/Tests/Tests/STPSTPViewWithSeparatorSnapshotTests.m b/Stripe/StripeiOSTests/STPSTPViewWithSeparatorSnapshotTests.m similarity index 100% rename from Tests/Tests/STPSTPViewWithSeparatorSnapshotTests.m rename to Stripe/StripeiOSTests/STPSTPViewWithSeparatorSnapshotTests.m diff --git a/Tests/Tests/STPSetupIntentConfirmParamsTest.swift b/Stripe/StripeiOSTests/STPSetupIntentConfirmParamsTest.swift similarity index 100% rename from Tests/Tests/STPSetupIntentConfirmParamsTest.swift rename to Stripe/StripeiOSTests/STPSetupIntentConfirmParamsTest.swift diff --git a/Tests/Tests/STPSetupIntentFunctionalTest.m b/Stripe/StripeiOSTests/STPSetupIntentFunctionalTest.m similarity index 100% rename from Tests/Tests/STPSetupIntentFunctionalTest.m rename to Stripe/StripeiOSTests/STPSetupIntentFunctionalTest.m diff --git a/Tests/Tests/STPSetupIntentFunctionalTest.swift b/Stripe/StripeiOSTests/STPSetupIntentFunctionalTest.swift similarity index 100% rename from Tests/Tests/STPSetupIntentFunctionalTest.swift rename to Stripe/StripeiOSTests/STPSetupIntentFunctionalTest.swift diff --git a/Tests/Tests/STPSetupIntentLastSetupErrorTest.m b/Stripe/StripeiOSTests/STPSetupIntentLastSetupErrorTest.m similarity index 100% rename from Tests/Tests/STPSetupIntentLastSetupErrorTest.m rename to Stripe/StripeiOSTests/STPSetupIntentLastSetupErrorTest.m diff --git a/Tests/Tests/STPSetupIntentTest.m b/Stripe/StripeiOSTests/STPSetupIntentTest.m similarity index 100% rename from Tests/Tests/STPSetupIntentTest.m rename to Stripe/StripeiOSTests/STPSetupIntentTest.m diff --git a/Tests/Tests/STPShippingAddressViewControllerLocalizationTests.swift b/Stripe/StripeiOSTests/STPShippingAddressViewControllerLocalizationTests.swift similarity index 100% rename from Tests/Tests/STPShippingAddressViewControllerLocalizationTests.swift rename to Stripe/StripeiOSTests/STPShippingAddressViewControllerLocalizationTests.swift diff --git a/Tests/Tests/STPShippingAddressViewControllerTest.swift b/Stripe/StripeiOSTests/STPShippingAddressViewControllerTest.swift similarity index 100% rename from Tests/Tests/STPShippingAddressViewControllerTest.swift rename to Stripe/StripeiOSTests/STPShippingAddressViewControllerTest.swift diff --git a/Tests/Tests/STPShippingMethodsViewControllerLocalizationTests.swift b/Stripe/StripeiOSTests/STPShippingMethodsViewControllerLocalizationTests.swift similarity index 100% rename from Tests/Tests/STPShippingMethodsViewControllerLocalizationTests.swift rename to Stripe/StripeiOSTests/STPShippingMethodsViewControllerLocalizationTests.swift diff --git a/Tests/Tests/STPSourceCardDetailsTest.swift b/Stripe/StripeiOSTests/STPSourceCardDetailsTest.swift similarity index 100% rename from Tests/Tests/STPSourceCardDetailsTest.swift rename to Stripe/StripeiOSTests/STPSourceCardDetailsTest.swift diff --git a/Tests/Tests/STPSourceFunctionalTest.m b/Stripe/StripeiOSTests/STPSourceFunctionalTest.m similarity index 100% rename from Tests/Tests/STPSourceFunctionalTest.m rename to Stripe/StripeiOSTests/STPSourceFunctionalTest.m diff --git a/Tests/Tests/STPSourceOwnerTest.m b/Stripe/StripeiOSTests/STPSourceOwnerTest.m similarity index 100% rename from Tests/Tests/STPSourceOwnerTest.m rename to Stripe/StripeiOSTests/STPSourceOwnerTest.m diff --git a/Tests/Tests/STPSourceParamsTest.swift b/Stripe/StripeiOSTests/STPSourceParamsTest.swift similarity index 100% rename from Tests/Tests/STPSourceParamsTest.swift rename to Stripe/StripeiOSTests/STPSourceParamsTest.swift diff --git a/Tests/Tests/STPSourceReceiverTest.m b/Stripe/StripeiOSTests/STPSourceReceiverTest.m similarity index 100% rename from Tests/Tests/STPSourceReceiverTest.m rename to Stripe/StripeiOSTests/STPSourceReceiverTest.m diff --git a/Tests/Tests/STPSourceRedirectTest.m b/Stripe/StripeiOSTests/STPSourceRedirectTest.m similarity index 100% rename from Tests/Tests/STPSourceRedirectTest.m rename to Stripe/StripeiOSTests/STPSourceRedirectTest.m diff --git a/Tests/Tests/STPSourceSEPADebitDetailsTest.m b/Stripe/StripeiOSTests/STPSourceSEPADebitDetailsTest.m similarity index 100% rename from Tests/Tests/STPSourceSEPADebitDetailsTest.m rename to Stripe/StripeiOSTests/STPSourceSEPADebitDetailsTest.m diff --git a/Tests/Tests/STPSourceTest.m b/Stripe/StripeiOSTests/STPSourceTest.m similarity index 100% rename from Tests/Tests/STPSourceTest.m rename to Stripe/StripeiOSTests/STPSourceTest.m diff --git a/Tests/Tests/STPSourceVerificationTest.m b/Stripe/StripeiOSTests/STPSourceVerificationTest.m similarity index 100% rename from Tests/Tests/STPSourceVerificationTest.m rename to Stripe/StripeiOSTests/STPSourceVerificationTest.m diff --git a/Tests/Tests/STPStackViewWithSeparatorSnapshotTests.swift b/Stripe/StripeiOSTests/STPStackViewWithSeparatorSnapshotTests.swift similarity index 100% rename from Tests/Tests/STPStackViewWithSeparatorSnapshotTests.swift rename to Stripe/StripeiOSTests/STPStackViewWithSeparatorSnapshotTests.swift diff --git a/Tests/Tests/STPStringUtilsTest.m b/Stripe/StripeiOSTests/STPStringUtilsTest.m similarity index 100% rename from Tests/Tests/STPStringUtilsTest.m rename to Stripe/StripeiOSTests/STPStringUtilsTest.m diff --git a/Tests/Tests/STPStringUtilsTest.swift b/Stripe/StripeiOSTests/STPStringUtilsTest.swift similarity index 100% rename from Tests/Tests/STPStringUtilsTest.swift rename to Stripe/StripeiOSTests/STPStringUtilsTest.swift diff --git a/Tests/Tests/STPSwiftFixtures.swift b/Stripe/StripeiOSTests/STPSwiftFixtures.swift similarity index 100% rename from Tests/Tests/STPSwiftFixtures.swift rename to Stripe/StripeiOSTests/STPSwiftFixtures.swift diff --git a/Tests/Tests/STPTestAPIClient+Swift.swift b/Stripe/StripeiOSTests/STPTestAPIClient+Swift.swift similarity index 100% rename from Tests/Tests/STPTestAPIClient+Swift.swift rename to Stripe/StripeiOSTests/STPTestAPIClient+Swift.swift diff --git a/Tests/Tests/STPTestUtils.h b/Stripe/StripeiOSTests/STPTestUtils.h similarity index 100% rename from Tests/Tests/STPTestUtils.h rename to Stripe/StripeiOSTests/STPTestUtils.h diff --git a/Tests/Tests/STPTestUtils.m b/Stripe/StripeiOSTests/STPTestUtils.m similarity index 100% rename from Tests/Tests/STPTestUtils.m rename to Stripe/StripeiOSTests/STPTestUtils.m diff --git a/Tests/Tests/STPTestingAPIClient.h b/Stripe/StripeiOSTests/STPTestingAPIClient.h similarity index 100% rename from Tests/Tests/STPTestingAPIClient.h rename to Stripe/StripeiOSTests/STPTestingAPIClient.h diff --git a/Tests/Tests/STPTestingAPIClient.m b/Stripe/StripeiOSTests/STPTestingAPIClient.m similarity index 100% rename from Tests/Tests/STPTestingAPIClient.m rename to Stripe/StripeiOSTests/STPTestingAPIClient.m diff --git a/Tests/Tests/STPTextFieldDelegateProxyTests.swift b/Stripe/StripeiOSTests/STPTextFieldDelegateProxyTests.swift similarity index 100% rename from Tests/Tests/STPTextFieldDelegateProxyTests.swift rename to Stripe/StripeiOSTests/STPTextFieldDelegateProxyTests.swift diff --git a/Tests/Tests/STPThreeDSButtonCustomizationTest.swift b/Stripe/StripeiOSTests/STPThreeDSButtonCustomizationTest.swift similarity index 100% rename from Tests/Tests/STPThreeDSButtonCustomizationTest.swift rename to Stripe/StripeiOSTests/STPThreeDSButtonCustomizationTest.swift diff --git a/Tests/Tests/STPThreeDSFooterCustomizationTest.swift b/Stripe/StripeiOSTests/STPThreeDSFooterCustomizationTest.swift similarity index 100% rename from Tests/Tests/STPThreeDSFooterCustomizationTest.swift rename to Stripe/StripeiOSTests/STPThreeDSFooterCustomizationTest.swift diff --git a/Tests/Tests/STPThreeDSLabelCustomizationTest.swift b/Stripe/StripeiOSTests/STPThreeDSLabelCustomizationTest.swift similarity index 100% rename from Tests/Tests/STPThreeDSLabelCustomizationTest.swift rename to Stripe/StripeiOSTests/STPThreeDSLabelCustomizationTest.swift diff --git a/Tests/Tests/STPThreeDSNavigationBarCustomizationTest.swift b/Stripe/StripeiOSTests/STPThreeDSNavigationBarCustomizationTest.swift similarity index 100% rename from Tests/Tests/STPThreeDSNavigationBarCustomizationTest.swift rename to Stripe/StripeiOSTests/STPThreeDSNavigationBarCustomizationTest.swift diff --git a/Tests/Tests/STPThreeDSSelectionCustomizationTest.swift b/Stripe/StripeiOSTests/STPThreeDSSelectionCustomizationTest.swift similarity index 100% rename from Tests/Tests/STPThreeDSSelectionCustomizationTest.swift rename to Stripe/StripeiOSTests/STPThreeDSSelectionCustomizationTest.swift diff --git a/Tests/Tests/STPThreeDSTextFieldCustomizationTest.swift b/Stripe/StripeiOSTests/STPThreeDSTextFieldCustomizationTest.swift similarity index 100% rename from Tests/Tests/STPThreeDSTextFieldCustomizationTest.swift rename to Stripe/StripeiOSTests/STPThreeDSTextFieldCustomizationTest.swift diff --git a/Tests/Tests/STPThreeDSUICustomizationTest.swift b/Stripe/StripeiOSTests/STPThreeDSUICustomizationTest.swift similarity index 100% rename from Tests/Tests/STPThreeDSUICustomizationTest.swift rename to Stripe/StripeiOSTests/STPThreeDSUICustomizationTest.swift diff --git a/Tests/Tests/STPTokenTest.m b/Stripe/StripeiOSTests/STPTokenTest.m similarity index 100% rename from Tests/Tests/STPTokenTest.m rename to Stripe/StripeiOSTests/STPTokenTest.m diff --git a/Tests/Tests/STPUIVCStripeParentViewControllerTests.m b/Stripe/StripeiOSTests/STPUIVCStripeParentViewControllerTests.m similarity index 100% rename from Tests/Tests/STPUIVCStripeParentViewControllerTests.m rename to Stripe/StripeiOSTests/STPUIVCStripeParentViewControllerTests.m diff --git a/Tests/Tests/SWHttpTrafficRecorder.h b/Stripe/StripeiOSTests/SWHttpTrafficRecorder.h similarity index 100% rename from Tests/Tests/SWHttpTrafficRecorder.h rename to Stripe/StripeiOSTests/SWHttpTrafficRecorder.h diff --git a/Tests/Tests/SWHttpTrafficRecorder.m b/Stripe/StripeiOSTests/SWHttpTrafficRecorder.m similarity index 100% rename from Tests/Tests/SWHttpTrafficRecorder.m rename to Stripe/StripeiOSTests/SWHttpTrafficRecorder.m diff --git a/Tests/Tests/ServerErrorMapperTest.swift b/Stripe/StripeiOSTests/ServerErrorMapperTest.swift similarity index 100% rename from Tests/Tests/ServerErrorMapperTest.swift rename to Stripe/StripeiOSTests/ServerErrorMapperTest.swift diff --git a/Tests/Tests/StripeErrorTest.swift b/Stripe/StripeiOSTests/StripeErrorTest.swift similarity index 100% rename from Tests/Tests/StripeErrorTest.swift rename to Stripe/StripeiOSTests/StripeErrorTest.swift diff --git a/Tests/Tests/StripeTests-Prefix.pch b/Stripe/StripeiOSTests/StripeTests-Prefix.pch similarity index 100% rename from Tests/Tests/StripeTests-Prefix.pch rename to Stripe/StripeiOSTests/StripeTests-Prefix.pch diff --git a/Tests/Tests/StripeiOS Tests-Bridging-Header.h b/Stripe/StripeiOSTests/StripeiOS Tests-Bridging-Header.h similarity index 100% rename from Tests/Tests/StripeiOS Tests-Bridging-Header.h rename to Stripe/StripeiOSTests/StripeiOS Tests-Bridging-Header.h diff --git a/Tests/Tests/TextFieldElement+CardTest.swift b/Stripe/StripeiOSTests/TextFieldElement+CardTest.swift similarity index 100% rename from Tests/Tests/TextFieldElement+CardTest.swift rename to Stripe/StripeiOSTests/TextFieldElement+CardTest.swift diff --git a/Tests/Tests/TextFieldElement+IBANTest.swift b/Stripe/StripeiOSTests/TextFieldElement+IBANTest.swift similarity index 100% rename from Tests/Tests/TextFieldElement+IBANTest.swift rename to Stripe/StripeiOSTests/TextFieldElement+IBANTest.swift diff --git a/Tests/Tests/UINavigationBar+StripeTest.m b/Stripe/StripeiOSTests/UINavigationBar+StripeTest.m similarity index 100% rename from Tests/Tests/UINavigationBar+StripeTest.m rename to Stripe/StripeiOSTests/UINavigationBar+StripeTest.m diff --git a/Tests/Tests/UserDefaults+StripeTest.swift b/Stripe/StripeiOSTests/UserDefaults+StripeTest.swift similarity index 100% rename from Tests/Tests/UserDefaults+StripeTest.swift rename to Stripe/StripeiOSTests/UserDefaults+StripeTest.swift diff --git a/Tests/Tests/WalletHeaderViewSnapshotTests.swift b/Stripe/StripeiOSTests/WalletHeaderViewSnapshotTests.swift similarity index 100% rename from Tests/Tests/WalletHeaderViewSnapshotTests.swift rename to Stripe/StripeiOSTests/WalletHeaderViewSnapshotTests.swift diff --git a/Stripe3DS2/BuildConfigurations/Project-Debug.xcconfig b/Stripe3DS2/BuildConfigurations/Project-Debug.xcconfig new file mode 100644 index 00000000000..039738aeb39 --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Project-Debug.xcconfig @@ -0,0 +1,15 @@ +// +// Project-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Project-Shared.xcconfig" + +ENABLE_TESTABILITY = YES +GCC_DYNAMIC_NO_PIC = NO +GCC_OPTIMIZATION_LEVEL = 0 +GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 $(inherited) +MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE +ONLY_ACTIVE_ARCH = YES \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Project-Release.xcconfig b/Stripe3DS2/BuildConfigurations/Project-Release.xcconfig new file mode 100644 index 00000000000..e2ec59cac8e --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Project-Release.xcconfig @@ -0,0 +1,12 @@ +// +// Project-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Project-Shared.xcconfig" + +ENABLE_NS_ASSERTIONS = NO +MTL_ENABLE_DEBUG_INFO = NO +VALIDATE_PRODUCT = YES \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Project-Shared.xcconfig b/Stripe3DS2/BuildConfigurations/Project-Shared.xcconfig new file mode 100644 index 00000000000..cca99b2c84d --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Project-Shared.xcconfig @@ -0,0 +1,63 @@ +// +// Project-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +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__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_ASSIGN_ENUM = 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_IMPLICIT_SIGN_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_INTERFACE_IVARS = YES +CLANG_WARN_OBJC_LITERAL_CONVERSION = YES +CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR +CLANG_WARN_RANGE_LOOP_ANALYSIS = YES +CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES +CLANG_WARN_SUSPICIOUS_MOVE = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN_UNREACHABLE_CODE = YES +COPY_PHASE_STRIP = NO +CURRENT_PROJECT_VERSION = 1.0 +DEBUG_INFORMATION_FORMAT = dwarf-with-dsym +ENABLE_STRICT_OBJC_MSGSEND = YES +GCC_C_LANGUAGE_STANDARD = gnu11 +GCC_NO_COMMON_BLOCKS = YES +GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES +GCC_TREAT_WARNINGS_AS_ERRORS = YES +GCC_WARN_64_TO_32_BIT_CONVERSION = YES +GCC_WARN_ABOUT_MISSING_NEWLINE = YES +GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR +GCC_WARN_SIGN_COMPARE = YES +GCC_WARN_UNDECLARED_SELECTOR = YES +GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE +GCC_WARN_UNUSED_FUNCTION = YES +GCC_WARN_UNUSED_VARIABLE = YES +IPHONEOS_DEPLOYMENT_TARGET = 13.0 +MTL_FAST_MATH = YES +SDKROOT = iphoneos +SWIFT_VERSION=5.0 +VERSION_INFO_PREFIX = +VERSIONING_SYSTEM = apple-generic diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2-Debug.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2-Debug.xcconfig new file mode 100644 index 00000000000..34a46e79b0f --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// Stripe3DS2-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Stripe3DS2-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2-Release.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2-Release.xcconfig new file mode 100644 index 00000000000..1885c226504 --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2-Release.xcconfig @@ -0,0 +1,12 @@ +// +// Stripe3DS2-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Stripe3DS2-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2-Shared.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2-Shared.xcconfig new file mode 100644 index 00000000000..02d8fe27e3d --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2-Shared.xcconfig @@ -0,0 +1,23 @@ +// +// Stripe3DS2-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +APPLICATION_EXTENSION_API_ONLY = YES +BUILD_LIBRARY_FOR_DISTRIBUTION = YES +CODE_SIGN_STYLE = Automatic +DEFINES_MODULE = YES +DEPLOYMENT_POSTPROCESSING = YES +DYLIB_COMPATIBILITY_VERSION = 1 +DYLIB_CURRENT_VERSION = 1 +DYLIB_INSTALL_NAME_BASE = @rpath +GCC_PREFIX_HEADER = $(SRCROOT)/Stripe3DS2/include/Stripe3DS2-Prefix.pch +INSTALL_PATH = $(LOCAL_LIBRARY_DIR)/Frameworks +IPHONEOS_DEPLOYMENT_TARGET = 13.0 +OTHER_LDFLAGS = +SKIP_INSTALL = YES +STRIP_STYLE = non-global +TARGETED_DEVICE_FAMILY = 1,2 +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Debug.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Debug.xcconfig new file mode 100644 index 00000000000..bd71fac1c1f --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// Stripe3DS2DemoUI-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Stripe3DS2DemoUI-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Release.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Release.xcconfig new file mode 100644 index 00000000000..baf7454512f --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Release.xcconfig @@ -0,0 +1,12 @@ +// +// Stripe3DS2DemoUI-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Stripe3DS2DemoUI-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Shared.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Shared.xcconfig new file mode 100644 index 00000000000..fb8baac4b69 --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUI-Shared.xcconfig @@ -0,0 +1,13 @@ +// +// Stripe3DS2DemoUI-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +CODE_SIGN_STYLE = Automatic +IPHONEOS_DEPLOYMENT_TARGET = 13.0 +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Debug.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Debug.xcconfig new file mode 100644 index 00000000000..53c3f9ffe0f --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// Stripe3DS2DemoUITests-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Stripe3DS2DemoUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Release.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Release.xcconfig new file mode 100644 index 00000000000..7251a5cce22 --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Release.xcconfig @@ -0,0 +1,12 @@ +// +// Stripe3DS2DemoUITests-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Stripe3DS2DemoUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Shared.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Shared.xcconfig new file mode 100644 index 00000000000..e520a8afc2b --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2DemoUITests-Shared.xcconfig @@ -0,0 +1,13 @@ +// +// Stripe3DS2DemoUITests-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +BUNDLE_LOADER = $(TEST_HOST) +CODE_SIGN_STYLE = Automatic +TARGETED_DEVICE_FAMILY = 1,2 +TEST_HOST = $(BUILT_PRODUCTS_DIR)/Stripe3DS2DemoUI.app/Stripe3DS2DemoUI +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Debug.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Debug.xcconfig new file mode 100644 index 00000000000..1744b0253ff --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// Stripe3DS2Tests-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Stripe3DS2Tests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Release.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Release.xcconfig new file mode 100644 index 00000000000..f03b2ac4213 --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Release.xcconfig @@ -0,0 +1,12 @@ +// +// Stripe3DS2Tests-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +#include "Stripe3DS2Tests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Shared.xcconfig b/Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Shared.xcconfig new file mode 100644 index 00000000000..2e597a2e109 --- /dev/null +++ b/Stripe3DS2/BuildConfigurations/Stripe3DS2Tests-Shared.xcconfig @@ -0,0 +1,12 @@ +// +// Stripe3DS2Tests-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/5/22 +// https://buildsettingextractor.com +// + +CODE_SIGN_STYLE = Automatic +OTHER_LDFLAGS = -ObjC +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Stripe3DS2/Project.swift b/Stripe3DS2/Project.swift new file mode 100644 index 00000000000..79d166c5e89 --- /dev/null +++ b/Stripe3DS2/Project.swift @@ -0,0 +1,126 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "Stripe3DS2", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + packages: [ + .remote( + url: "https://github.com/uber/ios-snapshot-test-case", + requirement: .upToNextMajor(from: "8.0.0") + ) + ], + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "Stripe3DS2", + platform: .iOS, + product: .framework, + bundleId: "com.stripe.stripe-3ds2", + infoPlist: "Stripe3DS2/Info.plist", + sources: "Stripe3DS2/**/*.m", + resources: "Stripe3DS2/Resources/**", + headers: .headers( + public: [ + "Stripe3DS2/include/*.h", + ], + project: "Stripe3DS2/*.h" + ), + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/Stripe3DS2" + ) + ), + Target( + name: "Stripe3DS2Tests", + platform: .iOS, + product: .unitTests, + bundleId: "com.stripe.Stripe3DS2Tests", + infoPlist: "Stripe3DS2Tests/Info.plist", + sources: "Stripe3DS2Tests/**/*.m", + resources: "Stripe3DS2Tests/JSON/**", + headers: .headers( + project: "Stripe3DS2/**/*.h" + ), + dependencies: [ + .xctest, + .target(name: "Stripe3DS2"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/Stripe3DS2Tests" + ) + ), + Target( + name: "Stripe3DS2DemoUI", + platform: .iOS, + product: .app, + bundleId: "com.stripe.Stripe3DS2DemoUI", + infoPlist: "Stripe3DS2DemoUI/Info.plist", + sources: "Stripe3DS2DemoUI/Sources/**/*.m", + resources: "Stripe3DS2DemoUI/Resources/**", + headers: .headers( + project: "Stripe3DS2DemoUI/Sources/**/*.h" + ), + dependencies: [ + .target(name: "Stripe3DS2"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/Stripe3DS2DemoUI" + ) + ), + Target( + name: "Stripe3DS2DemoUITests", + platform: .iOS, + product: .unitTests, + bundleId: "com.stripe.Stripe3DS2DemoUITests", + infoPlist: "Stripe3DS2DemoUITests/Info.plist", + sources: "Stripe3DS2DemoUITests/**/*.m", + dependencies: [ + .xctest, + .target(name: "Stripe3DS2"), + .target(name: "Stripe3DS2DemoUI"), + .package(product: "iOSSnapshotTestCase"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/Stripe3DS2DemoUITests" + ) + ), + ], + schemes: [ + Scheme( + name: "Stripe3DS2", + buildAction: .buildAction(targets: ["Stripe3DS2"]), + testAction: .targets(["Stripe3DS2Tests"]) + ), + Scheme( + name: "Stripe3DS2DemoUI", + buildAction: .buildAction(targets: ["Stripe3DS2DemoUI"]), + testAction: .targets( + ["Stripe3DS2DemoUITests"], + arguments: Arguments( + environment: [ + "FB_REFERENCE_IMAGE_DIR": + "$(SOURCE_ROOT)/../Tests/ReferenceImages", + ] + ), + expandVariableFromTarget: "Stripe3DS2DemoUITests" + ), + runAction: .runAction(executable: "Stripe3DS2DemoUI") + ), + ] +) diff --git a/Stripe3DS2/Stripe3DS2.xcodeproj/project.pbxproj b/Stripe3DS2/Stripe3DS2.xcodeproj/project.pbxproj index 3f75bf26b32..57238d43a7d 100644 --- a/Stripe3DS2/Stripe3DS2.xcodeproj/project.pbxproj +++ b/Stripe3DS2/Stripe3DS2.xcodeproj/project.pbxproj @@ -3,275 +3,315 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 3135271425A55A0200DDBA74 /* error@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3135270D25A55A0200DDBA74 /* error@3x.png */; }; - 3135271525A55A0200DDBA74 /* mastercard-logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3135270E25A55A0200DDBA74 /* mastercard-logo@3x.png */; }; - 3135271625A55A0200DDBA74 /* visa-white-logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3135270F25A55A0200DDBA74 /* visa-white-logo@3x.png */; }; - 3135271725A55A0200DDBA74 /* discover-logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 3135271025A55A0200DDBA74 /* discover-logo.png */; }; - 3135271825A55A0200DDBA74 /* Chevron@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3135271125A55A0200DDBA74 /* Chevron@3x.png */; }; - 3135271925A55A0200DDBA74 /* visa-logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3135271225A55A0200DDBA74 /* visa-logo@3x.png */; }; - 3135271A25A55A0200DDBA74 /* amex-logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3135271325A55A0200DDBA74 /* amex-logo@3x.png */; }; - 31580102230DCA8100244FFB /* UIColor+ThirteenSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 31580100230DCA8100244FFB /* UIColor+ThirteenSupport.h */; }; - 31580103230DCA8100244FFB /* UIColor+ThirteenSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 31580101230DCA8100244FFB /* UIColor+ThirteenSupport.m */; }; - 31D5DDCD2565A8A900F4FC03 /* STDSCategoryLinker.h in Headers */ = {isa = PBXBuildFile; fileRef = 31D5DDCB2565A8A900F4FC03 /* STDSCategoryLinker.h */; }; - 31D5DDCE2565A8A900F4FC03 /* STDSCategoryLinker.m in Sources */ = {isa = PBXBuildFile; fileRef = 31D5DDCC2565A8A900F4FC03 /* STDSCategoryLinker.m */; }; - 31EFEE3A258AE53F0069BC5F /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36DDBEA021EFEE9700CB47C9 /* Stripe3DS2.framework */; }; - 3604008322C57861004CF80B /* STDSThreeDSProtocolVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 3604008222C57861004CF80B /* STDSThreeDSProtocolVersion.m */; }; - 3604008422C57861004CF80B /* STDSThreeDSProtocolVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 3604008222C57861004CF80B /* STDSThreeDSProtocolVersion.m */; }; - 3604008522C57861004CF80B /* STDSThreeDSProtocolVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 3604008222C57861004CF80B /* STDSThreeDSProtocolVersion.m */; }; - 3604008622C57861004CF80B /* STDSThreeDSProtocolVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 3604008222C57861004CF80B /* STDSThreeDSProtocolVersion.m */; }; - 3604008822C57886004CF80B /* STDSThreeDSProtocolVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 3604008722C57878004CF80B /* STDSThreeDSProtocolVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3610A48924492513004EE443 /* Stripe3DS2-Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 3610A48824492513004EE443 /* Stripe3DS2-Prefix.pch */; settings = {ATTRIBUTES = (Public, ); }; }; - 3612A6D621F8FC7700CBECC6 /* STDSDeviceInformationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3612A6D421F8FC7700CBECC6 /* STDSDeviceInformationManager.h */; }; - 3612A6D721F8FC7700CBECC6 /* STDSDeviceInformationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3612A6D521F8FC7700CBECC6 /* STDSDeviceInformationManager.m */; }; - 3612A6DA21F8FCF900CBECC6 /* STDSDeviceInformationParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 3612A6D821F8FCF900CBECC6 /* STDSDeviceInformationParameter.h */; }; - 3612A6DB21F8FCF900CBECC6 /* STDSDeviceInformationParameter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3612A6D921F8FCF900CBECC6 /* STDSDeviceInformationParameter.m */; }; - 3612A6DE21F908B700CBECC6 /* STDSIPAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 3612A6DC21F908B700CBECC6 /* STDSIPAddress.h */; }; - 3612A6DF21F908B700CBECC6 /* STDSIPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 3612A6DD21F908B700CBECC6 /* STDSIPAddress.m */; }; - 3612A6E221F9148200CBECC6 /* STDSSynchronousLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3612A6E021F9148200CBECC6 /* STDSSynchronousLocationManager.h */; }; - 3612A6E321F9148200CBECC6 /* STDSSynchronousLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3612A6E121F9148200CBECC6 /* STDSSynchronousLocationManager.m */; }; - 3612CE062213549900A84993 /* STDSWarning.h in Headers */ = {isa = PBXBuildFile; fileRef = 3612CE042213549900A84993 /* STDSWarning.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3612CE072213549900A84993 /* STDSWarning.m in Sources */ = {isa = PBXBuildFile; fileRef = 3612CE052213549900A84993 /* STDSWarning.m */; }; - 3612CE092213588100A84993 /* STDSWarningTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3612CE082213588100A84993 /* STDSWarningTests.m */; }; - 3624FAFC224A932B00660581 /* STDSEphemeralKeyPairTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3624FAFB224A932B00660581 /* STDSEphemeralKeyPairTests.m */; }; - 3624FB00224C2FF400660581 /* STDSDirectoryServerCertificate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3624FAFE224C2FF400660581 /* STDSDirectoryServerCertificate.h */; }; - 3624FB01224C2FF400660581 /* STDSDirectoryServerCertificate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3624FAFF224C2FF400660581 /* STDSDirectoryServerCertificate.m */; }; - 3624FB03224D46CC00660581 /* STDSDirectoryServerCertificateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3624FB02224D46CC00660581 /* STDSDirectoryServerCertificateTests.m */; }; - 362FAB7D21F9287100A7F82D /* STDSDeviceInformationParameter+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 362FAB7C21F9287100A7F82D /* STDSDeviceInformationParameter+Private.h */; }; - 362FAB8321FA521B00A7F82D /* STDSDeviceInformationParameterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 362FAB8221FA521B00A7F82D /* STDSDeviceInformationParameterTests.m */; }; - 362FD33922D562B4003455F0 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 362FD33B22D562B4003455F0 /* Localizable.strings */; }; - 362FD36022D5702C003455F0 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 362FD34E22D56D96003455F0 /* Info.plist */; }; - 362FD36522D690EF003455F0 /* visa.der in Resources */ = {isa = PBXBuildFile; fileRef = 362FD36122D690EF003455F0 /* visa.der */; }; - 362FD36622D690EF003455F0 /* discover.der in Resources */ = {isa = PBXBuildFile; fileRef = 362FD36222D690EF003455F0 /* discover.der */; }; - 362FD36722D690EF003455F0 /* mastercard.der in Resources */ = {isa = PBXBuildFile; fileRef = 362FD36322D690EF003455F0 /* mastercard.der */; }; - 362FD36822D690EF003455F0 /* amex.der in Resources */ = {isa = PBXBuildFile; fileRef = 362FD36422D690EF003455F0 /* amex.der */; }; - 36514CBF21F7CA9C00CBC619 /* STDSThreeDS2Service.h in Headers */ = {isa = PBXBuildFile; fileRef = 36514CBD21F7CA9C00CBC619 /* STDSThreeDS2Service.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36514CC021F7CA9C00CBC619 /* STDSThreeDS2Service.m in Sources */ = {isa = PBXBuildFile; fileRef = 36514CBE21F7CA9C00CBC619 /* STDSThreeDS2Service.m */; }; - 36514CC321F7D16D00CBC619 /* STDSConfigParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 36514CC121F7D16D00CBC619 /* STDSConfigParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36514CC421F7D16D00CBC619 /* STDSConfigParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 36514CC221F7D16D00CBC619 /* STDSConfigParameters.m */; }; - 36514CCE21F7D3DC00CBC619 /* STDSInvalidInputException.h in Headers */ = {isa = PBXBuildFile; fileRef = 36514CCC21F7D3DC00CBC619 /* STDSInvalidInputException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36514CCF21F7D3DC00CBC619 /* STDSInvalidInputException.m in Sources */ = {isa = PBXBuildFile; fileRef = 36514CCD21F7D3DC00CBC619 /* STDSInvalidInputException.m */; }; - 36514CD221F7D41F00CBC619 /* STDSAlreadyInitializedException.h in Headers */ = {isa = PBXBuildFile; fileRef = 36514CD021F7D41F00CBC619 /* STDSAlreadyInitializedException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36514CD321F7D41F00CBC619 /* STDSAlreadyInitializedException.m in Sources */ = {isa = PBXBuildFile; fileRef = 36514CD121F7D41F00CBC619 /* STDSAlreadyInitializedException.m */; }; - 36514CD621F7D43100CBC619 /* STDSRuntimeException.h in Headers */ = {isa = PBXBuildFile; fileRef = 36514CD421F7D43100CBC619 /* STDSRuntimeException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36514CD721F7D43100CBC619 /* STDSRuntimeException.m in Sources */ = {isa = PBXBuildFile; fileRef = 36514CD521F7D43100CBC619 /* STDSRuntimeException.m */; }; - 36514CDA21F7D7DE00CBC619 /* STDSException+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 36514CD921F7D7DE00CBC619 /* STDSException+Internal.h */; }; - 36514CDC21F7E17500CBC619 /* STDSThreeDS2ServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36514CDB21F7E17500CBC619 /* STDSThreeDS2ServiceTests.m */; }; - 36514CE021F7E47800CBC619 /* STDSException.h in Headers */ = {isa = PBXBuildFile; fileRef = 36514CDE21F7E47800CBC619 /* STDSException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36514CE121F7E47800CBC619 /* STDSException.m in Sources */ = {isa = PBXBuildFile; fileRef = 36514CDF21F7E47800CBC619 /* STDSException.m */; }; - 36546BF52293556700D392BF /* ARes.json in Resources */ = {isa = PBXBuildFile; fileRef = 36546BF42293556700D392BF /* ARes.json */; }; - 36546BF7229355C900D392BF /* STDSAuthenticationResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36546BF6229355C900D392BF /* STDSAuthenticationResponseTests.m */; }; - 36546BFA229358E800D392BF /* STDSAuthenticationResponseObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 36546BF8229358E800D392BF /* STDSAuthenticationResponseObject.h */; }; - 36546BFB229358E800D392BF /* STDSAuthenticationResponseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 36546BF9229358E800D392BF /* STDSAuthenticationResponseObject.m */; }; - 366794AF25BB59390094831B /* STDSChallengeResponseObject+TestObjects.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCB1822317F5F003852FF /* STDSChallengeResponseObject+TestObjects.m */; }; - 366794B325BB59430094831B /* acs_challenge.html in Resources */ = {isa = PBXBuildFile; fileRef = B691261C2270F18C00D06B77 /* acs_challenge.html */; }; - 366A316922557496005705D7 /* STDSACSNetworkingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 366A316722557496005705D7 /* STDSACSNetworkingManager.h */; }; - 366A316A22557496005705D7 /* STDSACSNetworkingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 366A316822557496005705D7 /* STDSACSNetworkingManager.m */; }; - 366A316C2257FCDC005705D7 /* STDSEllipticCurvePointTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 366A316B2257FCDC005705D7 /* STDSEllipticCurvePointTests.m */; }; - 366BB211224301AB00AF577B /* STDSEllipticCurvePoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 366BB20F224301AB00AF577B /* STDSEllipticCurvePoint.h */; }; - 366BB212224301AB00AF577B /* STDSEllipticCurvePoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 366BB210224301AB00AF577B /* STDSEllipticCurvePoint.m */; }; - 366BB2142245652800AF577B /* ec_test.der in Resources */ = {isa = PBXBuildFile; fileRef = 366BB2132245652800AF577B /* ec_test.der */; }; - 366BB21622494ED500AF577B /* STDSBase64URLEncodingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 366BB21522494ED500AF577B /* STDSBase64URLEncodingTests.m */; }; - 366CA10F2253DA5E0040DE8B /* STDSJSONWebSignature.h in Headers */ = {isa = PBXBuildFile; fileRef = 366CA10D2253DA5E0040DE8B /* STDSJSONWebSignature.h */; }; - 366CA1102253DA5E0040DE8B /* STDSJSONWebSignature.m in Sources */ = {isa = PBXBuildFile; fileRef = 366CA10E2253DA5E0040DE8B /* STDSJSONWebSignature.m */; }; - 366CA1132253E61C0040DE8B /* STDSJSONWebSignatureTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 366CA1122253E61C0040DE8B /* STDSJSONWebSignatureTests.m */; }; - 36AC3D5825253FEE00F252D7 /* STDSSwiftTryCatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 36AC3D5625253FEE00F252D7 /* STDSSwiftTryCatch.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36AC3D5925253FEE00F252D7 /* STDSSwiftTryCatch.m in Sources */ = {isa = PBXBuildFile; fileRef = 36AC3D5725253FEE00F252D7 /* STDSSwiftTryCatch.m */; }; - 36B20EDD2220600C00EBD38C /* STDSChallengeParametersTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36B20EDC2220600C00EBD38C /* STDSChallengeParametersTests.m */; }; - 36C4CBEB2683E59900B43289 /* cartes-bancaires-logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 36C4CBEA2683E59900B43289 /* cartes-bancaires-logo.png */; }; - 36C4CBED2683E78500B43289 /* cartes-bancaires.der in Resources */ = {isa = PBXBuildFile; fileRef = 36C4CBEC2683E78400B43289 /* cartes-bancaires.der */; }; - 36CEAE0B21FA5B9B00BE1190 /* STDSSynchronousLocationManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CEAE0A21FA5B9B00BE1190 /* STDSSynchronousLocationManagerTests.m */; }; - 36CEAE0D21FA5CC300BE1190 /* STDSDeviceInformationManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CEAE0C21FA5CC300BE1190 /* STDSDeviceInformationManagerTests.m */; }; - 36CEAE1021FA62C200BE1190 /* STDSJSONWebEncryption.h in Headers */ = {isa = PBXBuildFile; fileRef = 36CEAE0E21FA62C200BE1190 /* STDSJSONWebEncryption.h */; }; - 36CEAE1121FA62C200BE1190 /* STDSJSONWebEncryption.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CEAE0F21FA62C200BE1190 /* STDSJSONWebEncryption.m */; }; - 36CEAE1C21FFAFBA00BE1190 /* STDSSecTypeUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 36CEAE1A21FFAFBA00BE1190 /* STDSSecTypeUtilities.h */; }; - 36CEAE1D21FFAFBA00BE1190 /* STDSSecTypeUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CEAE1B21FFAFBA00BE1190 /* STDSSecTypeUtilities.m */; }; - 36CEAE1F21FFC36500BE1190 /* STDSSecTypeUtilitiesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CEAE1E21FFC36500BE1190 /* STDSSecTypeUtilitiesTests.m */; }; - 36CEAE2221FFC62200BE1190 /* STDSBundleLocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 36CEAE2021FFC62200BE1190 /* STDSBundleLocator.h */; }; - 36CEAE2321FFC62200BE1190 /* STDSBundleLocator.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CEAE2121FFC62200BE1190 /* STDSBundleLocator.m */; }; - 36CEAE2521FFCBA600BE1190 /* ul-test.der in Resources */ = {isa = PBXBuildFile; fileRef = 36CEAE2421FFCBA600BE1190 /* ul-test.der */; }; - 36CEAE282200DCEB00BE1190 /* NSString+JWEHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 36CEAE262200DCEB00BE1190 /* NSString+JWEHelpers.h */; }; - 36CEAE292200DCEB00BE1190 /* NSString+JWEHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CEAE272200DCEB00BE1190 /* NSString+JWEHelpers.m */; }; - 36CEAE2C2200DD5E00BE1190 /* NSData+JWEHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 36CEAE2A2200DD5E00BE1190 /* NSData+JWEHelpers.h */; }; - 36CEAE2D2200DD5E00BE1190 /* NSData+JWEHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CEAE2B2200DD5E00BE1190 /* NSData+JWEHelpers.m */; }; - 36CEAE342200E7C500BE1190 /* STDSJSONWebEncryptionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36CEAE332200E7C500BE1190 /* STDSJSONWebEncryptionTests.m */; }; - 36DDBEB121EFEE9800CB47C9 /* Stripe3DS2.h in Headers */ = {isa = PBXBuildFile; fileRef = 36DDBEA321EFEE9700CB47C9 /* Stripe3DS2.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36EE22012214A5D300CD4A78 /* STDSNotInitializedException.h in Headers */ = {isa = PBXBuildFile; fileRef = 36EE21FF2214A5D300CD4A78 /* STDSNotInitializedException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36EE22022214A5D300CD4A78 /* STDSNotInitializedException.m in Sources */ = {isa = PBXBuildFile; fileRef = 36EE22002214A5D300CD4A78 /* STDSNotInitializedException.m */; }; - 36EE22052214B4C500CD4A78 /* STDSConfigParametersTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 36EE22042214B4C500CD4A78 /* STDSConfigParametersTests.m */; }; - 36EE22082214E8E800CD4A78 /* STDSChallengeParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 36EE22062214E8E800CD4A78 /* STDSChallengeParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36EE22092214E8E800CD4A78 /* STDSChallengeParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 36EE22072214E8E800CD4A78 /* STDSChallengeParameters.m */; }; - 36EE220C2214EA9200CD4A78 /* STDSAuthenticationResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 36EE220A2214EA9200CD4A78 /* STDSAuthenticationResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 36F726BC22499301009AFEEA /* STDSEphemeralKeyPair.h in Headers */ = {isa = PBXBuildFile; fileRef = 36F726BA22499301009AFEEA /* STDSEphemeralKeyPair.h */; }; - 36F726BD22499301009AFEEA /* STDSEphemeralKeyPair.m in Sources */ = {isa = PBXBuildFile; fileRef = 36F726BB22499301009AFEEA /* STDSEphemeralKeyPair.m */; }; - 36FE29832249A3730015BD0C /* STDSDeviceInformation.h in Headers */ = {isa = PBXBuildFile; fileRef = 36FE29812249A3730015BD0C /* STDSDeviceInformation.h */; }; - 36FE29842249A3730015BD0C /* STDSDeviceInformation.m in Sources */ = {isa = PBXBuildFile; fileRef = 36FE29822249A3730015BD0C /* STDSDeviceInformation.m */; }; - 7B05BA25225BB59F00071A59 /* STDSDebuggerChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B05BA23225BB59F00071A59 /* STDSDebuggerChecker.h */; }; - 7B05BA26225BB59F00071A59 /* STDSDebuggerChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B05BA24225BB59F00071A59 /* STDSDebuggerChecker.m */; }; - 7B05BA29225BB87D00071A59 /* STDSOSVersionChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B05BA27225BB87D00071A59 /* STDSOSVersionChecker.h */; }; - 7B05BA2A225BB87D00071A59 /* STDSOSVersionChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B05BA28225BB87D00071A59 /* STDSOSVersionChecker.m */; }; - 7B05BA2D225BE72000071A59 /* STDSSimulatorChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B05BA2B225BE72000071A59 /* STDSSimulatorChecker.h */; }; - 7B05BA2E225BE72000071A59 /* STDSSimulatorChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B05BA2C225BE72000071A59 /* STDSSimulatorChecker.m */; }; - 7B05BA31225BECCD00071A59 /* STDSJailbreakChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B05BA2F225BECCD00071A59 /* STDSJailbreakChecker.h */; }; - 7B05BA32225BECCD00071A59 /* STDSJailbreakChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B05BA30225BECCD00071A59 /* STDSJailbreakChecker.m */; }; - 7B05BA35225BEFE900071A59 /* STDSIntegrityChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B05BA33225BEFE900071A59 /* STDSIntegrityChecker.h */; }; - 7B05BA36225BEFE900071A59 /* STDSIntegrityChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B05BA34225BEFE900071A59 /* STDSIntegrityChecker.m */; }; - 7B66B43F224D4F3300E256EE /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36DDBEA021EFEE9700CB47C9 /* Stripe3DS2.framework */; }; - 7B66B440224D4F3300E256EE /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 36DDBEA021EFEE9700CB47C9 /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 7B66B457224D522300E256EE /* STDSChallengeResponseViewControllerSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B66B455224D522300E256EE /* STDSChallengeResponseViewControllerSnapshotTests.m */; }; - 7B66B459224D53E900E256EE /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36DDBEA021EFEE9700CB47C9 /* Stripe3DS2.framework */; }; - 7BECCA2722245537003852FF /* STDSChallengeResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCA2522245537003852FF /* STDSChallengeResponse.h */; }; - 7BECCA2C2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCA2A2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.h */; }; - 7BECCA2D2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCA2B2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.m */; }; - 7BECCA3222248177003852FF /* STDSChallengeResponseMessageExtensionObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCA3022248177003852FF /* STDSChallengeResponseMessageExtensionObject.h */; }; - 7BECCA3322248177003852FF /* STDSChallengeResponseMessageExtensionObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCA3122248177003852FF /* STDSChallengeResponseMessageExtensionObject.m */; }; - 7BECCA3822248220003852FF /* STDSChallengeResponseImageObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCA3622248220003852FF /* STDSChallengeResponseImageObject.h */; }; - 7BECCA3922248220003852FF /* STDSChallengeResponseImageObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCA3722248220003852FF /* STDSChallengeResponseImageObject.m */; }; - 7BECCA3C22248250003852FF /* STDSChallengeResponseObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCA3A22248250003852FF /* STDSChallengeResponseObject.h */; }; - 7BECCA3D22248250003852FF /* STDSChallengeResponseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCA3B22248250003852FF /* STDSChallengeResponseObject.m */; }; - 7BECCA3F2224B47A003852FF /* STDSChallengeResponseImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCA3E2224B47A003852FF /* STDSChallengeResponseImage.h */; }; - 7BECCAAC22270BF9003852FF /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCAAB22270BF9003852FF /* AppDelegate.m */; }; - 7BECCABA22270BFA003852FF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCAB922270BFA003852FF /* main.m */; }; - 7BECCAE1222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCADB222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.h */; }; - 7BECCAE2222D8E77003852FF /* UIView+LayoutSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCADC222D8E77003852FF /* UIView+LayoutSupport.m */; }; - 7BECCAE3222D8E77003852FF /* STDSStackView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCADD222D8E77003852FF /* STDSStackView.h */; }; - 7BECCAE4222D8E77003852FF /* STDSStackView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCADE222D8E77003852FF /* STDSStackView.m */; }; - 7BECCAE5222D8E77003852FF /* UIView+LayoutSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCADF222D8E77003852FF /* UIView+LayoutSupport.h */; }; - 7BECCAE6222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCAE0222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.m */; }; - 7BECCAE9222D985A003852FF /* STDSBrandingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCAE7222D985A003852FF /* STDSBrandingView.m */; }; - 7BECCAEA222D985A003852FF /* STDSBrandingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCAE8222D985A003852FF /* STDSBrandingView.h */; }; - 7BECCAEE222D98A3003852FF /* STDSChallengeResponseViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCAEC222D98A3003852FF /* STDSChallengeResponseViewController.h */; }; - 7BECCAEF222D98A3003852FF /* STDSChallengeResponseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCAED222D98A3003852FF /* STDSChallengeResponseViewController.m */; }; - 7BECCAF5222DBB75003852FF /* STDSChallengeInformationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCAF3222DBB75003852FF /* STDSChallengeInformationView.h */; }; - 7BECCAF6222DBB75003852FF /* STDSChallengeInformationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCAF4222DBB75003852FF /* STDSChallengeInformationView.m */; }; - 7BECCAF9222DCF3D003852FF /* NSString+EmptyChecking.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCAF7222DCF3D003852FF /* NSString+EmptyChecking.h */; }; - 7BECCAFA222DCF3D003852FF /* NSString+EmptyChecking.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCAF8222DCF3D003852FF /* NSString+EmptyChecking.m */; }; - 7BECCAFC222DCFF4003852FF /* NSString+EmptyCheckingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCAFB222DCFF4003852FF /* NSString+EmptyCheckingTests.m */; }; - 7BECCAFF222DD2EF003852FF /* STDSSpacerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCAFD222DD2EF003852FF /* STDSSpacerView.h */; }; - 7BECCB00222DD2EF003852FF /* STDSSpacerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCAFE222DD2EF003852FF /* STDSSpacerView.m */; }; - 7BECCB07222EA822003852FF /* STDSImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCB05222EA822003852FF /* STDSImageLoader.h */; }; - 7BECCB08222EA822003852FF /* STDSImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCB06222EA822003852FF /* STDSImageLoader.m */; }; - 7BECCB0D222EF228003852FF /* STDSTextChallengeView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCB0B222EF228003852FF /* STDSTextChallengeView.h */; }; - 7BECCB0E222EF228003852FF /* STDSTextChallengeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCB0C222EF228003852FF /* STDSTextChallengeView.m */; }; - 7BECCB1122301325003852FF /* STDSChallengeSelectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BECCB0F22301325003852FF /* STDSChallengeSelectionView.h */; }; - 7BECCB1222301325003852FF /* STDSChallengeSelectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCB1022301325003852FF /* STDSChallengeSelectionView.m */; }; - 7BECCB1922317F5F003852FF /* STDSChallengeResponseObject+TestObjects.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BECCB1822317F5F003852FF /* STDSChallengeResponseObject+TestObjects.m */; }; - 7BF9D8382236A6AD001EA73F /* STDSDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D8372236A6AD001EA73F /* STDSDemoViewController.m */; }; - 7BF9D83B2236AD5E001EA73F /* STDSWhitelistView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D8392236AD5E001EA73F /* STDSWhitelistView.h */; }; - 7BF9D83C2236AD5E001EA73F /* STDSWhitelistView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D83A2236AD5E001EA73F /* STDSWhitelistView.m */; }; - 7BF9D83F2236B65B001EA73F /* STDSExpandableInformationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D83D2236B65B001EA73F /* STDSExpandableInformationView.h */; }; - 7BF9D8402236B65B001EA73F /* STDSExpandableInformationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D83E2236B65B001EA73F /* STDSExpandableInformationView.m */; }; - 7BF9D843223957E9001EA73F /* STDSWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D841223957E9001EA73F /* STDSWebView.h */; }; - 7BF9D844223957E9001EA73F /* STDSWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D842223957E9001EA73F /* STDSWebView.m */; }; - 7BF9D848223A9BEA001EA73F /* STDSUICustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D846223A9BEA001EA73F /* STDSUICustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BF9D849223A9BEA001EA73F /* STDSUICustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D847223A9BEA001EA73F /* STDSUICustomization.m */; }; - 7BF9D84C223AC200001EA73F /* STDSCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D84A223AC200001EA73F /* STDSCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BF9D84D223AC200001EA73F /* STDSCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D84B223AC200001EA73F /* STDSCustomization.m */; }; - 7BF9D850223AC4E5001EA73F /* STDSButtonCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D84E223AC4E5001EA73F /* STDSButtonCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BF9D851223AC4E5001EA73F /* STDSButtonCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D84F223AC4E5001EA73F /* STDSButtonCustomization.m */; }; - 7BF9D854223AD1C6001EA73F /* STDSNavigationBarCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D852223AD1C6001EA73F /* STDSNavigationBarCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BF9D855223AD1C6001EA73F /* STDSNavigationBarCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D853223AD1C6001EA73F /* STDSNavigationBarCustomization.m */; }; - 7BF9D858223AD3AA001EA73F /* STDSLabelCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D856223AD3AA001EA73F /* STDSLabelCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BF9D859223AD3AA001EA73F /* STDSLabelCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D857223AD3AA001EA73F /* STDSLabelCustomization.m */; }; - 7BF9D85C223AD453001EA73F /* STDSTextFieldCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D85A223AD453001EA73F /* STDSTextFieldCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BF9D85D223AD453001EA73F /* STDSTextFieldCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D85B223AD453001EA73F /* STDSTextFieldCustomization.m */; }; - 7BF9D85F223AD75B001EA73F /* STDSUICustomizationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D85E223AD75B001EA73F /* STDSUICustomizationTests.m */; }; - 7BF9D867223FEB80001EA73F /* UIColor+DefaultColors.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D865223FEB80001EA73F /* UIColor+DefaultColors.h */; }; - 7BF9D868223FEB80001EA73F /* UIColor+DefaultColors.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D866223FEB80001EA73F /* UIColor+DefaultColors.m */; }; - 7BF9D86B223FEB8D001EA73F /* UIFont+DefaultFonts.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D869223FEB8D001EA73F /* UIFont+DefaultFonts.h */; }; - 7BF9D86C223FEB8D001EA73F /* UIFont+DefaultFonts.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D86A223FEB8D001EA73F /* UIFont+DefaultFonts.m */; }; - 7BF9D86F223FF3E8001EA73F /* UIButton+CustomInitialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D86D223FF3E8001EA73F /* UIButton+CustomInitialization.h */; }; - 7BF9D870223FF3E8001EA73F /* UIButton+CustomInitialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D86E223FF3E8001EA73F /* UIButton+CustomInitialization.m */; }; - 7BF9D87922417B03001EA73F /* STDSProcessingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF9D87722417B03001EA73F /* STDSProcessingView.h */; }; - 7BF9D87A22417B03001EA73F /* STDSProcessingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BF9D87822417B03001EA73F /* STDSProcessingView.m */; }; - A20FCD3FE282675D8187FC3E /* Pods_Stripe3DS2DemoUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0319067541DD5F4C9A8391CA /* Pods_Stripe3DS2DemoUITests.framework */; }; - B616CE6E22430005003FC60C /* STDSRuntimeErrorEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = B616CE6C22430005003FC60C /* STDSRuntimeErrorEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B616CE6F22430005003FC60C /* STDSRuntimeErrorEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = B616CE6D22430005003FC60C /* STDSRuntimeErrorEvent.m */; }; - B616CE7222430237003FC60C /* STDSChallengeStatusReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = B616CE7022430237003FC60C /* STDSChallengeStatusReceiver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B616CE7622431FA7003FC60C /* STDSProtocolErrorEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = B616CE7422431FA7003FC60C /* STDSProtocolErrorEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B616CE7722431FA7003FC60C /* STDSProtocolErrorEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = B616CE7522431FA7003FC60C /* STDSProtocolErrorEvent.m */; }; - B616CE7B22442C60003FC60C /* STDSErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B616CE7922442C60003FC60C /* STDSErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B616CE7C22442C60003FC60C /* STDSErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = B616CE7A22442C60003FC60C /* STDSErrorMessage.m */; }; - B616CE7F2244452F003FC60C /* STDSTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = B616CE7D2244452F003FC60C /* STDSTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B616CE802244452F003FC60C /* STDSTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = B616CE7E2244452F003FC60C /* STDSTransaction.m */; }; - B616CE8422444BF1003FC60C /* STDSAuthenticationRequestParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = B616CE8222444BF1003FC60C /* STDSAuthenticationRequestParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B616CE8522444BF1003FC60C /* STDSAuthenticationRequestParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = B616CE8322444BF1003FC60C /* STDSAuthenticationRequestParameters.m */; }; - B633076622AF006F006169E5 /* STDSFooterCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = B633076422AF006F006169E5 /* STDSFooterCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B633076722AF006F006169E5 /* STDSFooterCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = B633076522AF006F006169E5 /* STDSFooterCustomization.m */; }; - B633076A22B02D38006169E5 /* STDSSelectionCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = B633076822B02D38006169E5 /* STDSSelectionCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B633076B22B02D38006169E5 /* STDSSelectionCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = B633076922B02D38006169E5 /* STDSSelectionCustomization.m */; }; - B633076E22B033F7006169E5 /* STDSSelectionButton.h in Headers */ = {isa = PBXBuildFile; fileRef = B633076C22B033F7006169E5 /* STDSSelectionButton.h */; }; - B633076F22B033F7006169E5 /* STDSSelectionButton.m in Sources */ = {isa = PBXBuildFile; fileRef = B633076D22B033F7006169E5 /* STDSSelectionButton.m */; }; - B67900412249893500DD9F18 /* STDSAuthenticationRequestParametersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B67900402249893500DD9F18 /* STDSAuthenticationRequestParametersTest.m */; }; - B679004422498B4B00DD9F18 /* STDSJSONEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = B679004222498B4B00DD9F18 /* STDSJSONEncoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B679004522498B4B00DD9F18 /* STDSJSONEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = B679004322498B4B00DD9F18 /* STDSJSONEncoder.m */; }; - B67900472249903400DD9F18 /* STDSJSONEncoderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B67900462249903400DD9F18 /* STDSJSONEncoderTest.m */; }; - B679004D224C066800DD9F18 /* STDSJSONDecodable.h in Headers */ = {isa = PBXBuildFile; fileRef = B679004B224C066800DD9F18 /* STDSJSONDecodable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B6790051224C088400DD9F18 /* NSDictionary+DecodingHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = B679004F224C088400DD9F18 /* NSDictionary+DecodingHelpers.h */; }; - B6790052224C088400DD9F18 /* NSDictionary+DecodingHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = B6790050224C088400DD9F18 /* NSDictionary+DecodingHelpers.m */; }; - B6790056224C2D1500DD9F18 /* NSError+Stripe3DS2.h in Headers */ = {isa = PBXBuildFile; fileRef = B6790054224C2D1500DD9F18 /* NSError+Stripe3DS2.h */; }; - B6790057224C2D1500DD9F18 /* NSError+Stripe3DS2.m in Sources */ = {isa = PBXBuildFile; fileRef = B6790055224C2D1500DD9F18 /* NSError+Stripe3DS2.m */; }; - B679005A224C386600DD9F18 /* STDSStripe3DS2Error.h in Headers */ = {isa = PBXBuildFile; fileRef = B6790058224C386500DD9F18 /* STDSStripe3DS2Error.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B679005B224C386600DD9F18 /* STDSStripe3DS2Error.m in Sources */ = {isa = PBXBuildFile; fileRef = B6790059224C386500DD9F18 /* STDSStripe3DS2Error.m */; }; - B679005E224D9A2C00DD9F18 /* NSDictionary+DecodingHelpersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B679005D224D9A2C00DD9F18 /* NSDictionary+DecodingHelpersTest.m */; }; - B6790060224ECA3E00DD9F18 /* STDSChallengeResponseObjectTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B679005F224ECA3E00DD9F18 /* STDSChallengeResponseObjectTest.m */; }; - B6790063224ECAF400DD9F18 /* CRes.json in Resources */ = {isa = PBXBuildFile; fileRef = B6790062224ECAF300DD9F18 /* CRes.json */; }; - B6790066224ECBEC00DD9F18 /* STDSTestJSONUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = B6790065224ECBEC00DD9F18 /* STDSTestJSONUtils.m */; }; - B6790068224EDBA300DD9F18 /* STDSErrorMessageTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6790067224EDBA300DD9F18 /* STDSErrorMessageTest.m */; }; - B679006A224EE6B600DD9F18 /* ErrorMessage.json in Resources */ = {isa = PBXBuildFile; fileRef = B6790069224EE6B600DD9F18 /* ErrorMessage.json */; }; - B679006D2252905C00DD9F18 /* STDSChallengeRequestParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = B679006B2252905C00DD9F18 /* STDSChallengeRequestParameters.h */; }; - B679006E2252905C00DD9F18 /* STDSChallengeRequestParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = B679006C2252905C00DD9F18 /* STDSChallengeRequestParameters.m */; }; - B67900702252A87D00DD9F18 /* STDSChallengeRequestParametersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B679006F2252A87D00DD9F18 /* STDSChallengeRequestParametersTest.m */; }; - B691261D2270F18C00D06B77 /* acs_challenge.html in Resources */ = {isa = PBXBuildFile; fileRef = B691261C2270F18C00D06B77 /* acs_challenge.html */; }; - B6B6ACB82280BB0C00B35AE5 /* STDSProgressViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = B6B6ACB62280BB0C00B35AE5 /* STDSProgressViewController.h */; }; - B6B6ACB92280BB0C00B35AE5 /* STDSProgressViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B6ACB72280BB0C00B35AE5 /* STDSProgressViewController.m */; }; - B6B6ACC02280D16D00B35AE5 /* UIViewController+Stripe3DS2.h in Headers */ = {isa = PBXBuildFile; fileRef = B6B6ACBE2280D16D00B35AE5 /* UIViewController+Stripe3DS2.h */; }; - B6B6ACC12280D16D00B35AE5 /* UIViewController+Stripe3DS2.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B6ACBF2280D16D00B35AE5 /* UIViewController+Stripe3DS2.m */; }; - B6C9BCE22242D7DB00409475 /* STDSCompletionEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C9BCE02242D7DB00409475 /* STDSCompletionEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B6C9BCE32242D7DB00409475 /* STDSCompletionEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = B6C9BCE12242D7DB00409475 /* STDSCompletionEvent.m */; }; - B6CAFFA3224555C6009CD1B0 /* STDSTransactionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6CAFFA2224555C6009CD1B0 /* STDSTransactionTest.m */; }; - B6CAFFA7224561CE009CD1B0 /* STDSTransaction+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CAFFA5224561CE009CD1B0 /* STDSTransaction+Private.h */; }; - B6CAFFAB22495547009CD1B0 /* STDSJSONEncodable.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CAFFA922495547009CD1B0 /* STDSJSONEncodable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B6CFBF7A22695094009A007B /* STDSACSNetworkingManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = B6CFBF7922695094009A007B /* STDSACSNetworkingManagerTest.m */; }; - B6DC6A17225D5E53008C9172 /* STDSErrorMessage+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = B6DC6A15225D5E53008C9172 /* STDSErrorMessage+Internal.h */; }; - B6DC6A18225D5E53008C9172 /* STDSErrorMessage+Internal.m in Sources */ = {isa = PBXBuildFile; fileRef = B6DC6A16225D5E53008C9172 /* STDSErrorMessage+Internal.m */; }; + 01706B4660728A5BFAC12840 /* STDSRuntimeException.m in Sources */ = {isa = PBXBuildFile; fileRef = CD33421F13A675DCFE597FFB /* STDSRuntimeException.m */; }; + 05647ABCFBDBE1209D5044AC /* STDSEphemeralKeyPair.m in Sources */ = {isa = PBXBuildFile; fileRef = F9D521B45783D36C8E83F0EA /* STDSEphemeralKeyPair.m */; }; + 0615DD02C0B022AE207DADF0 /* STDSUICustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 210B22FF4DCB0C6E7C763EAB /* STDSUICustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 081347606D48F64161D95B45 /* mastercard.der in Resources */ = {isa = PBXBuildFile; fileRef = 1104D5855D28E49E104CA004 /* mastercard.der */; }; + 089DAFECA444861762781974 /* NSError+Stripe3DS2.m in Sources */ = {isa = PBXBuildFile; fileRef = 26C20D4B77372845627D6466 /* NSError+Stripe3DS2.m */; }; + 08ECC7E70E7478E76793ED1E /* UIViewController+Stripe3DS2.m in Sources */ = {isa = PBXBuildFile; fileRef = 99451064136843047C7881AD /* UIViewController+Stripe3DS2.m */; }; + 09DFAF7B38EAB76BC66AC9C8 /* STDSChallengeResponseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 24CE086326AF3DE336BF4F4C /* STDSChallengeResponseObject.m */; }; + 09F0B1945CC12FB1215119FD /* STDSProcessingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 95641ECBE1AE1CC198013405 /* STDSProcessingView.h */; }; + 0A0D73B3004DC5854D2BC639 /* mastercard-logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5862FA7E6300A2169A3CD3D7 /* mastercard-logo@3x.png */; }; + 0A2BC6A9E388B242C46C09D9 /* UIButton+CustomInitialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD55BECC3FB85216FE46218 /* UIButton+CustomInitialization.h */; }; + 0BA0F0CADC4CFF419E1F7EFC /* STDSLabelCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 6932DD26C7C16938DFA0E198 /* STDSLabelCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0D3D9C95CB14A610EAAAEF6E /* STDSJSONEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 0681C043F732148587737233 /* STDSJSONEncoder.m */; }; + 0D4B42EC5019D213BDBC84E7 /* NSDictionary+DecodingHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = C566D6E444FCA4BCEC65F3D2 /* NSDictionary+DecodingHelpers.m */; }; + 0EEFDE04392FD017EA0A017A /* STDSDeviceInformationParameter.m in Sources */ = {isa = PBXBuildFile; fileRef = 25C7D18868DDADEF4CB6220C /* STDSDeviceInformationParameter.m */; }; + 1134F81C7D015BA5EA52BFD1 /* NSDictionary+DecodingHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = C78AA1D7AD2BAB52EE58D078 /* NSDictionary+DecodingHelpers.h */; }; + 1156B25EBE0135B627E174D2 /* STDSProgressViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 84967ED0D9B206B3F5AA4F02 /* STDSProgressViewController.m */; }; + 125427F1322501AA12EAEBE6 /* visa.der in Resources */ = {isa = PBXBuildFile; fileRef = A70071543985284E0D9DAC64 /* visa.der */; }; + 128B64380D6724F016EE8D56 /* STDSDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 382C583385FAECA91366769E /* STDSDemoViewController.m */; }; + 136255493F3F0E930FBA8606 /* STDSImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = A09A89BBE7360F93195641C9 /* STDSImageLoader.m */; }; + 1469551DB874336B68F6C39D /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE4030C50383B488C97F4B56 /* Stripe3DS2.framework */; }; + 149FE0C2910F08910B250BD8 /* STDSException+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 461F938CDE7ED6D06D9D2700 /* STDSException+Internal.h */; }; + 14BDBD98F8E15576403255C9 /* STDSChallengeInformationView.m in Sources */ = {isa = PBXBuildFile; fileRef = D24777EE9931075405F370DB /* STDSChallengeInformationView.m */; }; + 15D4A2F07EA477B84CD48B15 /* STDSRuntimeErrorEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = DE7D85369E012B15702D8DF9 /* STDSRuntimeErrorEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1767509FDC216602A5E43F0E /* STDSErrorMessageTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 278F2C40987F5218BD031E3D /* STDSErrorMessageTest.m */; }; + 1B20B454D0C309613A1FAF68 /* STDSThreeDSProtocolVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AC648332A706809F1BDFD59 /* STDSThreeDSProtocolVersion.m */; }; + 206B93BDE91CFED74A053B87 /* STDSStackView.h in Headers */ = {isa = PBXBuildFile; fileRef = B7AE3B4732D203134FE096FE /* STDSStackView.h */; }; + 2086DFD1FC02783FB106AD35 /* UIColor+DefaultColors.m in Sources */ = {isa = PBXBuildFile; fileRef = 869733153BCA6BE2EB7A452F /* UIColor+DefaultColors.m */; }; + 2224463CE5FB99D4BEE6A479 /* STDSJSONEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 06C5207432FB07BD71703BCC /* STDSJSONEncoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 24D49F833E1ED28DE557F219 /* STDSException.h in Headers */ = {isa = PBXBuildFile; fileRef = B71A1C110DCC23A9CE929837 /* STDSException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 24F626CD0F93B7AF59B1D6AA /* STDSThreeDS2Service.m in Sources */ = {isa = PBXBuildFile; fileRef = 77646CEC7EE754F47EDBDA4F /* STDSThreeDS2Service.m */; }; + 27F3EA1BB7E7B56A1A8524BA /* UIColor+ThirteenSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A8B0001705400C661678617 /* UIColor+ThirteenSupport.h */; }; + 284F72D3FD8C06C0E5974086 /* STDSTextFieldCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 97163B5E9598CA3A298920B9 /* STDSTextFieldCustomization.m */; }; + 28AD7EC6F6DA2AECD7F61BA7 /* NSLayoutConstraint+LayoutSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = E0949399E96663964091C0EF /* NSLayoutConstraint+LayoutSupport.h */; }; + 2938D9CC41899DC78D01EF9F /* STDSDeviceInformationParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 172AF5C85EDBD92A1030E361 /* STDSDeviceInformationParameter.h */; }; + 2970D4880EBFAEFABA2E8EBD /* STDSChallengeRequestParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 60693BC560C4927ACFD2E6C3 /* STDSChallengeRequestParameters.m */; }; + 2AB06EC20B22306F1DDF9F4B /* STDSChallengeResponseImageObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A9F828840A3B361842E38DE /* STDSChallengeResponseImageObject.m */; }; + 2B09B7FDF8C4AA551F7EE18E /* STDSDeviceInformationParameterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = FC52C3C844BDA981EE34BAB9 /* STDSDeviceInformationParameterTests.m */; }; + 2B2787A7103C0D0AB5F00B78 /* STDSAuthenticationResponseObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 138E82072FC6572612A8E248 /* STDSAuthenticationResponseObject.h */; }; + 2BBA82878804711E06CBFCCB /* STDSErrorMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 645D0BB927B7F8A0D37EE04D /* STDSErrorMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2C5621AABECF6192F92A20CF /* STDSStripe3DS2Error.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4376BB07FD1EE783249AED /* STDSStripe3DS2Error.m */; }; + 2C6DB6516699B4EFADDF3360 /* STDSRuntimeException.h in Headers */ = {isa = PBXBuildFile; fileRef = B8619CA38E2A5B49DBF8546B /* STDSRuntimeException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2CB6DF5CCCBC1EB9ABD03143 /* STDSNotInitializedException.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FCABBF51CBA7F9FEF757B4C /* STDSNotInitializedException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2E2022723BC7A4B2DD5ECE76 /* STDSErrorMessage+Internal.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CB591796654445B8434A501 /* STDSErrorMessage+Internal.m */; }; + 30632F7C730BF8D23B607CF7 /* STDSWarningTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 474F39AA3F47D84F8D54E5B7 /* STDSWarningTests.m */; }; + 30B25163BEDEB99CDD101B5F /* NSString+EmptyChecking.h in Headers */ = {isa = PBXBuildFile; fileRef = A8A77DB1C711B8696B2E5FEF /* NSString+EmptyChecking.h */; }; + 3192FCC841152A7E5E6F19D6 /* STDSAlreadyInitializedException.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F1FD11407319293954C6D81 /* STDSAlreadyInitializedException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 31C636A25BF83316EE7EB57D /* STDSThreeDS2Service.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EAA444FA7C82BDA4AD907BF /* STDSThreeDS2Service.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 326AD1DD7BB8A2A6DA66EC67 /* STDSThreeDSProtocolVersion+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 47C29E9F3D2A62676B424CD1 /* STDSThreeDSProtocolVersion+Private.h */; }; + 32BE38D04DD76CA4490389C6 /* STDSConfigParametersTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F551808E65CDADD9B3A9CB8 /* STDSConfigParametersTests.m */; }; + 3343DA94A5032627843A343C /* STDSEphemeralKeyPair+Testing.h in Headers */ = {isa = PBXBuildFile; fileRef = 52D6E4F76CBA258163E57DF3 /* STDSEphemeralKeyPair+Testing.h */; }; + 335553A547A3CA80B3901CCF /* STDSStripe3DS2Error.h in Headers */ = {isa = PBXBuildFile; fileRef = AE53BAA72835AFA3B35C58D3 /* STDSStripe3DS2Error.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 34256504F0E0E519D586B7CE /* STDSErrorMessage+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5463EB1CC8E85BE3BD12DEFF /* STDSErrorMessage+Internal.h */; }; + 3617B07ABD719F1A5F8302FA /* NSError+Stripe3DS2.h in Headers */ = {isa = PBXBuildFile; fileRef = A6778F8CE36F769DF608F932 /* NSError+Stripe3DS2.h */; }; + 3844F0E21742F43BCB32499A /* STDSDeviceInformationParameter+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4869D6E14F01EDB960CB3065 /* STDSDeviceInformationParameter+Private.h */; }; + 390691CA0EAF81418B0C65DB /* UIView+LayoutSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B0F0485B7048DDAA7DA8F9B /* UIView+LayoutSupport.m */; }; + 3909D8028AC485BCCF17B48B /* STDSStackView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D6269F8B91341C387A911DB /* STDSStackView.m */; }; + 3B430F172A3AD6AA9AFDFC04 /* STDSNavigationBarCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = E1630D876436E43547FF69CE /* STDSNavigationBarCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3C6D16D8E7B5BC865D956A0B /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = 0118969F6608A92583CC6C98 /* iOSSnapshotTestCase */; }; + 3C88AE37A760B91E93D423CF /* STDSException.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F030410FDABFF833CD8FE46 /* STDSException.m */; }; + 3C8C3BCDDDDEF6B9E150D4E1 /* STDSChallengeResponseSelectionInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 52EEBC7D74623E1A1D7E3219 /* STDSChallengeResponseSelectionInfo.h */; }; + 3D674B4EE5ABACD65EB21A1E /* discover.der in Resources */ = {isa = PBXBuildFile; fileRef = 04AB48F014A8D5BA56FEF463 /* discover.der */; }; + 3F2624C33291FCE00D596768 /* STDSDeviceInformationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9580A82A59EB2B0103EDF47A /* STDSDeviceInformationManager.m */; }; + 3F30A8F418870D176A626F00 /* STDSSpacerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 51E4A57094A671EB14380882 /* STDSSpacerView.m */; }; + 41246FCC0695BABE1489C53E /* UIViewController+Stripe3DS2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F72413F99F8E50FD0FA085D /* UIViewController+Stripe3DS2.h */; }; + 4142A3AB3E384F91A1E5550B /* STDSExpandableInformationView.m in Sources */ = {isa = PBXBuildFile; fileRef = AE1BBF3A441B1F782B766F61 /* STDSExpandableInformationView.m */; }; + 425849564519D6454DDA3424 /* NSData+JWEHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B05A609753EE71502409082 /* NSData+JWEHelpers.h */; }; + 435EFC9119D4B42B2C6A6F88 /* STDSAuthenticationResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EA4AB3BA2FB41B3D5F38978 /* STDSAuthenticationResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4518AD83580FC222B883DAFB /* STDSSimulatorChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 14D60BDF245487FE3362BE07 /* STDSSimulatorChecker.m */; }; + 4587DADB1B2D98560E8BB181 /* error@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E3640C73D001D32CCC449F1 /* error@3x.png */; }; + 458BC5A3D0E7B4D05549474F /* STDSBrandingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CFAC8D74AFFC2E61BAD82A5 /* STDSBrandingView.h */; }; + 480CD62EC91F4796D1D8D8DC /* STDSSecTypeUtilitiesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 30D22985091381DFCDF077E9 /* STDSSecTypeUtilitiesTests.m */; }; + 48316C1AB1D9151C205A59A4 /* STDSChallengeResponseMessageExtensionObject.h in Headers */ = {isa = PBXBuildFile; fileRef = BAAC56EDE0AAD2E50E02E9AE /* STDSChallengeResponseMessageExtensionObject.h */; }; + 4A9423CC79312BC3A0DEC38B /* STDSChallengeRequestParametersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAD29E57D206B5D6BAF9099 /* STDSChallengeRequestParametersTest.m */; }; + 4C0E13298F08D391FE8600CF /* STDSJSONWebSignatureTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E4C668442518B446D573AD24 /* STDSJSONWebSignatureTests.m */; }; + 4C267E9A30ADC18E71408ED5 /* STDSTextFieldCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 68ED2A0E11E1B27980E0C60A /* STDSTextFieldCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4C573A44AB0A9CB28D76C621 /* STDSJSONWebEncryption.h in Headers */ = {isa = PBXBuildFile; fileRef = 76EA9DF8572C992E30BCF8A3 /* STDSJSONWebEncryption.h */; }; + 4D73C2FBAC9B96ECB45BDC94 /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE4030C50383B488C97F4B56 /* Stripe3DS2.framework */; }; + 4D79F0CFC54E8B923E9238CF /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CE4030C50383B488C97F4B56 /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 4E35267801D94FB84816C519 /* STDSInvalidInputException.h in Headers */ = {isa = PBXBuildFile; fileRef = 853A361AB630A2BD402D1B47 /* STDSInvalidInputException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4E4E4BC1E2D041FA530336EE /* STDSSwiftTryCatch.m in Sources */ = {isa = PBXBuildFile; fileRef = 9946D28A86E85A6C84EB6C7B /* STDSSwiftTryCatch.m */; }; + 4FE8C076102C195D609977F5 /* STDSChallengeSelectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = A4D460893CB5DDE52AA0AB85 /* STDSChallengeSelectionView.m */; }; + 511513A9180F9835B08CBE56 /* STDSProgressViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E629F85B783E42244E37DFA9 /* STDSProgressViewController.h */; }; + 53DBABFCA9B7E264366922F2 /* visa-logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 34FCE3CEEDC2D23116C11DAA /* visa-logo@3x.png */; }; + 574A7976213046F02F7F60C4 /* STDSProcessingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AC1C5F6F1311F50D9C37291 /* STDSProcessingView.m */; }; + 57E58A3B88D9EEB9FAE9B383 /* STDSDeviceInformation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FBE88F6E2C3153A8315EDC6 /* STDSDeviceInformation.h */; }; + 59756023104E4FB886B48936 /* STDSTextChallengeView.h in Headers */ = {isa = PBXBuildFile; fileRef = 82C41E6DC2CC247ECC17F2B9 /* STDSTextChallengeView.h */; }; + 5B16918BF5F67B0F5FB1AFD5 /* ARes.json in Resources */ = {isa = PBXBuildFile; fileRef = 237977B021FE538E5E4FA35C /* ARes.json */; }; + 5C83A3A4631E51EEECBEAA0F /* STDSEllipticCurvePoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 5049A72A6BEB558D8559A5EB /* STDSEllipticCurvePoint.h */; }; + 5DAC25EBAB19555229654E44 /* STDSAuthenticationResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 28E32DA72CAFBF2AF8099151 /* STDSAuthenticationResponseTests.m */; }; + 5FE5FB933E2651C8D84FA477 /* STDSAuthenticationResponseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 5043E1CF6955176EC3D43F88 /* STDSAuthenticationResponseObject.m */; }; + 602C526C0B52DF81846DA664 /* STDSOSVersionChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = F363439353A6DD554FC44AC2 /* STDSOSVersionChecker.m */; }; + 613EF855524F7861A6DDD8C1 /* STDSImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = ECC649704CDDA50E73DB3C10 /* STDSImageLoader.h */; }; + 63AFB3C739DD987EE56F801F /* STDSDirectoryServerCertificate.h in Headers */ = {isa = PBXBuildFile; fileRef = 069990DA025BE9F33602E96A /* STDSDirectoryServerCertificate.h */; }; + 64D05353B50FAF3BB76D6527 /* STDSRuntimeErrorEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 1501A7A3010FFE53D00E318F /* STDSRuntimeErrorEvent.m */; }; + 65C3CC17DA8E8B98A5ACA320 /* cartes-bancaires-logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 581BD6EEB19753FC873EB077 /* cartes-bancaires-logo.png */; }; + 675801746AD86B23F8560F59 /* Chevron@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 41CB752E5656578F2437E247 /* Chevron@3x.png */; }; + 67D431374DECE36B2606D944 /* STDSProtocolErrorEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A6D20D1DAB7D769E5E97528 /* STDSProtocolErrorEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68F314D63323954EFE309E49 /* STDSOSVersionChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = FAE7026135B5049B732CEDEB /* STDSOSVersionChecker.h */; }; + 6B3AA85EE71FC42EF9BD999F /* STDSEllipticCurvePoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EF5AA537586EF706E4056FD /* STDSEllipticCurvePoint.m */; }; + 6BA3F565B6C0B78F6DED8826 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F31A6580385C6390910AFD93 /* Localizable.strings */; }; + 6DB54DBAEFD08967367B6BF7 /* STDSChallengeParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C929BF760735CC01E1E8F5 /* STDSChallengeParameters.m */; }; + 6E727D2B738D7A3527952D28 /* STDSTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FDE2481364C454058BF2377 /* STDSTransaction.m */; }; + 72F430506E684D61BD5CFE3B /* STDSChallengeStatusReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = B7A75140FB62A71261CAF5EC /* STDSChallengeStatusReceiver.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7337FB20DC0EF491B5922913 /* STDSChallengeResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 315AEE1534F9D9974DC1674B /* STDSChallengeResponse.h */; }; + 75150C4678B8207AA6E7D969 /* STDSBrandingView.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C39A42ECBA58571EFA03C5 /* STDSBrandingView.m */; }; + 75CDFDABD7F9813563E3F618 /* Stripe3DS2-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F024DEAD6628A0229856656 /* Stripe3DS2-Bridging-Header.h */; }; + 7706F5211DE7A4411CD108EA /* visa-white-logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C7F1C55E51129933B02576E7 /* visa-white-logo@3x.png */; }; + 793D61AD55630DD336A141A7 /* STDSChallengeResponseMessageExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BE982004398CF8AAA7D1E /* STDSChallengeResponseMessageExtension.h */; }; + 794D78D81790620AFA6AA5C3 /* amex-logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 947935869E5A08E35FA11E13 /* amex-logo@3x.png */; }; + 79557307ECD48D17C566997A /* STDSFooterCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = BA96C9FFA48B85F9C42E8C68 /* STDSFooterCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C20B044ACFD3A50FD4AC9A8 /* acs_challenge.html in Resources */ = {isa = PBXBuildFile; fileRef = 7971EB56716D5E2F59053B6D /* acs_challenge.html */; }; + 7C7073B54628ED836F422F1D /* STDSJailbreakChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 94943BEAB94E949AF9830EFA /* STDSJailbreakChecker.h */; }; + 7EC8E5523F29B0F01FE827DB /* STDSWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 581EEE576D24047004C828DF /* STDSWebView.h */; }; + 7ED98325E7E54A54BFE54D6C /* STDSAuthenticationRequestParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = AB871F64FC72EBC7A91F96C1 /* STDSAuthenticationRequestParameters.m */; }; + 81B1C12449852CEB3C59793F /* ul-test.der in Resources */ = {isa = PBXBuildFile; fileRef = B6275E7099E55F0C04688890 /* ul-test.der */; }; + 8233B9F131602DD7143FF96F /* STDSBundleLocator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9564F43EF7CF4F60C3C202CD /* STDSBundleLocator.m */; }; + 825ACBE0734BDCE746E66AB0 /* STDSWhitelistView.h in Headers */ = {isa = PBXBuildFile; fileRef = 33CEADC8006E456FD82CE134 /* STDSWhitelistView.h */; }; + 8322973CD09F2E1C88B6046E /* UIColor+DefaultColors.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A567E08748C86FCE2A75FEA /* UIColor+DefaultColors.h */; }; + 83878337274D8C43D492EC45 /* STDSUICustomizationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CB3154597040B803ADE14F9E /* STDSUICustomizationTests.m */; }; + 847926A68A88BEB58C92D9BC /* STDSThreeDSProtocolVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E6A9565E97DF2544254AA94 /* STDSThreeDSProtocolVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 851D7278CE4C988FCDA0978E /* STDSCategoryLinker.m in Sources */ = {isa = PBXBuildFile; fileRef = D046CA7EEDE0571C74AB64D0 /* STDSCategoryLinker.m */; }; + 88197445522F39DB1E9F6AE7 /* NSString+JWEHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 43CB8F416E4F4CEA34391481 /* NSString+JWEHelpers.m */; }; + 884D59AF7FD70889276AFC02 /* STDSWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = AA85BC717C46C1B95AF8C1E3 /* STDSWebView.m */; }; + 890E22971E6F7B0FA1C8D649 /* STDSJSONEncodable.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A3C5D4C46E681B7D76B2BA /* STDSJSONEncodable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 893713F4464A88FAB92BC2C6 /* Stripe3DS2.h in Headers */ = {isa = PBXBuildFile; fileRef = 28C6B4F6BA431B9342970FD6 /* Stripe3DS2.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8A0872706BF4CDE72EF0C480 /* STDSConfigParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 89B5ED899439D1C1054CB448 /* STDSConfigParameters.m */; }; + 8A64AFBB2AC15E0E0F57ED25 /* STDSNotInitializedException.m in Sources */ = {isa = PBXBuildFile; fileRef = B7BD1E24EA9427121E148DFC /* STDSNotInitializedException.m */; }; + 8C9BD4B150F384111CBD3BD3 /* STDSErrorMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DDB6222A2EF31FDB7592368 /* STDSErrorMessage.m */; }; + 8E0501C3BB849C2D2D99F34E /* STDSLocalizedString.h in Headers */ = {isa = PBXBuildFile; fileRef = 41E0F638E776A7F3456BDA3E /* STDSLocalizedString.h */; }; + 8E27285FE76F8BECFD70286D /* STDSCompletionEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 10DB3CD8F2541AC06681F2C8 /* STDSCompletionEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8E833B7FCBC3A99072582FEA /* UIFont+DefaultFonts.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E844798B2733C8511AC080E /* UIFont+DefaultFonts.h */; }; + 9146B2E3B89EF3F489D7E233 /* STDSIPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = CB00E968CF4DD07FB8BF2AAA /* STDSIPAddress.m */; }; + 955CBE0C979291F89567D8A7 /* STDSJSONWebEncryption.m in Sources */ = {isa = PBXBuildFile; fileRef = 99392D3F702EC6BF7CE15291 /* STDSJSONWebEncryption.m */; }; + 95A2D58051AADDBE16CCA0B6 /* STDSChallengeResponseImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 10C45EE3433B731253E21E24 /* STDSChallengeResponseImage.h */; }; + 9673946B78A7763070E05CD0 /* STDSAuthenticationRequestParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = C91B239583899192C7B26FCF /* STDSAuthenticationRequestParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 97CE8B57A97D037E977E62F3 /* STDSBundleLocator.h in Headers */ = {isa = PBXBuildFile; fileRef = A137A31BEFCCB646FB754EE2 /* STDSBundleLocator.h */; }; + 98075195759ABB91B0D19847 /* STDSJSONWebEncryptionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 97505E93BE83F233E69BB5A9 /* STDSJSONWebEncryptionTests.m */; }; + 9843F6AABF7B0A623E7DF979 /* STDSDeviceInformationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A637DA708BC866C2903E0EA /* STDSDeviceInformationManager.h */; }; + 987347CA74818CEB716B9DB3 /* UIFont+DefaultFonts.m in Sources */ = {isa = PBXBuildFile; fileRef = 634095EA97A4E48BF7CAA03F /* UIFont+DefaultFonts.m */; }; + 9B32E9A4CD2BDA61C730F5EB /* STDSJSONDecodable.h in Headers */ = {isa = PBXBuildFile; fileRef = B219360BFB325779485BF702 /* STDSJSONDecodable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9B7081D378D1441B98B81207 /* STDSTransactionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A4A3CCBE9A2E8C1A73D8214E /* STDSTransactionTest.m */; }; + 9C225B9C556C20D1A6F97180 /* STDSChallengeResponseSelectionInfoObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CCA15E0819F9A9D89FEF9EA /* STDSChallengeResponseSelectionInfoObject.h */; }; + 9DC5612697835A383DC6606E /* STDSTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = F40CC91AA69F5296B0AA985C /* STDSTransaction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9E46777893FA2D6691F496D7 /* STDSChallengeResponseViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E45303DCFFDC390971E6E122 /* STDSChallengeResponseViewController.h */; }; + 9ED9C602C10682CD5DD91C12 /* NSLayoutConstraint+LayoutSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = F99B290CF2B4987A4CFE5DCE /* NSLayoutConstraint+LayoutSupport.m */; }; + 9F0F6085FBD892BF5F14CF86 /* STDSWarning.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BEB5006261C5E070FEE62BF /* STDSWarning.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F52F67A1A3A2199AEA598FC /* STDSEllipticCurvePointTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DA1EE83D91993BCAF13EC72 /* STDSEllipticCurvePointTests.m */; }; + 9F9BB9E7FA18FEDA44F7042E /* STDSDirectoryServerCertificate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9754FA4F3CC6AA921787916B /* STDSDirectoryServerCertificate.m */; }; + A026717FFF299A7C1C51565F /* UIView+LayoutSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 99CB2B66DBD356B5D222EDA9 /* UIView+LayoutSupport.h */; }; + A33A549CF12209280E3B1DBA /* STDSAuthenticationRequestParametersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 969DE2FA3845BB7939D3CD2E /* STDSAuthenticationRequestParametersTest.m */; }; + A39CFB56BF33B21A89987F9C /* STDSChallengeResponseObject+TestObjects.m in Sources */ = {isa = PBXBuildFile; fileRef = 99DB24A9B44979EA19347A76 /* STDSChallengeResponseObject+TestObjects.m */; }; + A4CFDBFC3099BD7E1A694E3E /* UIButton+CustomInitialization.m in Sources */ = {isa = PBXBuildFile; fileRef = AA29B74DD3963B1205AA1C0C /* UIButton+CustomInitialization.m */; }; + A5193DADCD0F48911F775D88 /* NSString+JWEHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 018F4AA25D84E9CBD2546BB5 /* NSString+JWEHelpers.h */; }; + A56AE2CD941D7ADAC7FC8BCC /* STDSBase64URLEncodingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B1E3760B1369DB1A33C9DFE /* STDSBase64URLEncodingTests.m */; }; + A6909D6C1A68963504733939 /* STDSDebuggerChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = C29F78CC37253B0D33FF86F2 /* STDSDebuggerChecker.m */; }; + A78F19DA3D146A258FB9DE3C /* STDSACSNetworkingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D827473D1858B2BED85BDFA1 /* STDSACSNetworkingManager.h */; }; + A8A86B9BCE9702D74E0D2DB6 /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE4030C50383B488C97F4B56 /* Stripe3DS2.framework */; }; + A8CAD8276ED8057A760147CB /* NSData+JWEHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FC15225A5E83948EF546B71 /* NSData+JWEHelpers.m */; }; + A97E1DF84D381952A0FB4C1C /* amex.der in Resources */ = {isa = PBXBuildFile; fileRef = D8B7EE0F935EF44EB2EF7D45 /* amex.der */; }; + AA4D157F31A246890D446981 /* STDSChallengeResponseSelectionInfoObject.m in Sources */ = {isa = PBXBuildFile; fileRef = F046DE266BAAE3DA0AC43785 /* STDSChallengeResponseSelectionInfoObject.m */; }; + AA94519687902E34E5243AEA /* STDSSpacerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 72DBE992B33F45C059EDB597 /* STDSSpacerView.h */; }; + AC474013841CE1DED97F3FA8 /* STDSSimulatorChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = A0ADFB365AD2DE9E84873BB1 /* STDSSimulatorChecker.h */; }; + AE1894FEA510AC394DE73C4B /* STDSTransaction+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A9F5C315222AFCD14C9342F /* STDSTransaction+Private.h */; }; + B012C4A8ACA1D064C40A1B63 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C22D410C297E2C3AFE727A6 /* main.m */; }; + B1C2AA6259CE34B0042A1FB1 /* STDSDeviceInformationManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A4050F381183D6FDCC990D01 /* STDSDeviceInformationManagerTests.m */; }; + B31168F5FEC3464AC212DB85 /* STDSACSNetworkingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D6004F2D9880055C0C0BCF1 /* STDSACSNetworkingManager.m */; }; + B426123CC7FCA337E13304F9 /* NSDictionary+DecodingHelpersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EE8BF51F49E161737406B3A /* NSDictionary+DecodingHelpersTest.m */; }; + B51D1C218F460F67B58A1F0D /* STDSProtocolErrorEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 3255706D2304FB551C97305F /* STDSProtocolErrorEvent.m */; }; + B84ED7FBD49865F23B774067 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B59CC3349FD9BBF37624667 /* AppDelegate.m */; }; + B94E5A5BF5F22998E4CA9ED3 /* STDSEphemeralKeyPair.h in Headers */ = {isa = PBXBuildFile; fileRef = 20533E2C69C4B80BB33A4766 /* STDSEphemeralKeyPair.h */; }; + B9A456E52E62E9DAE9F424A7 /* STDSChallengeResponseMessageExtensionObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D02FAFC403BC901931A629F /* STDSChallengeResponseMessageExtensionObject.m */; }; + BA00D11D792C99B7D5749F59 /* STDSJailbreakChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BFBB92DBE97E16DE9D18B4A /* STDSJailbreakChecker.m */; }; + BA65731CDB75C3124834586C /* STDSSynchronousLocationManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F02456AB660E709F332C0C7D /* STDSSynchronousLocationManagerTests.m */; }; + BB379E68231A7DA62F87E628 /* STDSNavigationBarCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F1A5A8E5922748A9BEC724 /* STDSNavigationBarCustomization.m */; }; + BF06B99FECD98C26F7B64665 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08D577934984712C20C5E903 /* XCTest.framework */; }; + BF2651A9F3A31CB1AFEC44BB /* STDSCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = A8E62EC973FC5C9905A40CA8 /* STDSCustomization.m */; }; + BF342613EE89845EB1C4B72A /* STDSChallengeRequestParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 762DEC6662DF8240FE19CFFC /* STDSChallengeRequestParameters.h */; }; + BFC5852E14724750E70DA2A6 /* STDSEphemeralKeyPairTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BF80634E06E8D6F598CFC667 /* STDSEphemeralKeyPairTests.m */; }; + C2BA2E6ABDD8E80963FFC671 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08D577934984712C20C5E903 /* XCTest.framework */; }; + C430332104547BA508416B41 /* STDSButtonCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 5489DCAA65624C6F966816B6 /* STDSButtonCustomization.m */; }; + C4BA75544A7F51355BF4B5F8 /* STDSDirectoryServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AA43E7E90E4002DD56B7C3D /* STDSDirectoryServer.h */; }; + C6662AAA303ADB0DA6D47809 /* discover-logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 0DE0C407AFDBD26ABDBE7496 /* discover-logo.png */; }; + CA617B6F5CDFB8FDEEE38636 /* STDSJSONWebSignature.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AA2E6DA60350400C5270E08 /* STDSJSONWebSignature.h */; }; + CC1E335EEC438E855AD6A685 /* STDSCategoryLinker.h in Headers */ = {isa = PBXBuildFile; fileRef = 74147E01D0E2A62B0F374401 /* STDSCategoryLinker.h */; }; + CCC376FE7424029342A8D15E /* STDSChallengeResponseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B064352BB2876CA7266C410A /* STDSChallengeResponseViewController.m */; }; + CEA1EB91858043A837638FE0 /* STDSSecTypeUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = C8F0E11AA6794BFB1715685E /* STDSSecTypeUtilities.h */; }; + D1427392DA8AD8F5B4118781 /* STDSACSNetworkingManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6118F98576E9A39A7292C6C6 /* STDSACSNetworkingManagerTest.m */; }; + D189220981C7705913D93687 /* STDSJSONEncoderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B9B49A5CF64DCB23CD0AEDE /* STDSJSONEncoderTest.m */; }; + D3432C5BF5211A60D5C15D9E /* STDSIntegrityChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = C02DF839637771684BC57B3A /* STDSIntegrityChecker.h */; }; + D3AA14D1E059E90F5A965CC4 /* STDSSelectionCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 43540AB7D13C0C9A563C3F4D /* STDSSelectionCustomization.m */; }; + D41F091BE1579B801D1BBC20 /* STDSSelectionButton.m in Sources */ = {isa = PBXBuildFile; fileRef = B458FCA7DFDBF75E62A43BA1 /* STDSSelectionButton.m */; }; + D5706ACF84F0A993CE1885D4 /* STDSTextChallengeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04E6B6D3CAE363114723472F /* STDSTextChallengeView.m */; }; + D63E3DDC92DD46062A265D86 /* STDSChallengeParametersTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 89ED2133B61092FE1B478204 /* STDSChallengeParametersTests.m */; }; + D819C341ECEE1EFE6FE66085 /* STDSChallengeResponseImageObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F83E51E99D453DF9C2DDE1 /* STDSChallengeResponseImageObject.h */; }; + D83D2FF20387FACC383A2A0F /* STDSAlreadyInitializedException.m in Sources */ = {isa = PBXBuildFile; fileRef = 27AC486DA2A80A43C1F517B2 /* STDSAlreadyInitializedException.m */; }; + D927789F89B413C08DE4D388 /* STDSThreeDS2ServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FF8ACC073E814B7DEBA7647 /* STDSThreeDS2ServiceTests.m */; }; + D9F8BA88953A91DC082FA6DA /* STDSSelectionButton.h in Headers */ = {isa = PBXBuildFile; fileRef = C4777F15603AC755362BD846 /* STDSSelectionButton.h */; }; + DB96817598FCE73F5131437E /* STDSDirectoryServerCertificate+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = B015B937DD3657D62C61CE58 /* STDSDirectoryServerCertificate+Internal.h */; }; + DBDB8B56FFF5C4234705E698 /* STDSSecTypeUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CF3DED43BD4E0226BFB0759D /* STDSSecTypeUtilities.m */; }; + DC0D9A57F2E312663C088FB8 /* STDSChallengeParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = D03B98D5861739833B197D8F /* STDSChallengeParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DC32281BF0847A98B100C3A1 /* STDSConfigParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = A1BFB8640032796CDA016765 /* STDSConfigParameters.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DDB98914E1135E8D445545C8 /* STDSIPAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = A3DFB001DB5BA7F1AFA7353A /* STDSIPAddress.h */; }; + DE32EAA8F5C2645652FCFB48 /* STDSSwiftTryCatch.h in Headers */ = {isa = PBXBuildFile; fileRef = E5BC34A661D9080A2EE239F8 /* STDSSwiftTryCatch.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DEEF260365A4D9B0D83E557D /* NSString+EmptyChecking.m in Sources */ = {isa = PBXBuildFile; fileRef = D8D309E4FBE7E73D0BB83BF5 /* NSString+EmptyChecking.m */; }; + DF4D38DC0AF89EAAA8718AAE /* STDSUICustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = A55B2474CD1A39D70869B75B /* STDSUICustomization.m */; }; + E0644CE0260178023E643B23 /* STDSSynchronousLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A5DBDDEB5C5DAE2EA8C95CC3 /* STDSSynchronousLocationManager.m */; }; + E08AF96E690D75F6AB52021F /* STDSWarning.m in Sources */ = {isa = PBXBuildFile; fileRef = A502CCC5190F6B642EEC0CE6 /* STDSWarning.m */; }; + E19C8104FC1A9BAEA0BE8A9D /* UIColor+ThirteenSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 37ED28756222539D37554CC7 /* UIColor+ThirteenSupport.m */; }; + E4DA2CE8DC8C60DE40222185 /* STDSDirectoryServerCertificateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AA75957DD13FA92FA866AF3 /* STDSDirectoryServerCertificateTests.m */; }; + E630DCBBEFAAD0435BEF989C /* STDSDeviceInformation.m in Sources */ = {isa = PBXBuildFile; fileRef = 56B1A52548593FE78D801734 /* STDSDeviceInformation.m */; }; + E70CFDC59731BA62DD89906C /* STDSWhitelistView.m in Sources */ = {isa = PBXBuildFile; fileRef = 615F1BD510661B38D6825128 /* STDSWhitelistView.m */; }; + E73028FD4537F6E48F927127 /* NSString+EmptyCheckingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B8822D21AADE7DA51931CC /* NSString+EmptyCheckingTests.m */; }; + E7A72BB7CC8DE8DA7FA0DEC5 /* ErrorMessage.json in Resources */ = {isa = PBXBuildFile; fileRef = E12798864D5CFFB7157D4CF5 /* ErrorMessage.json */; }; + E7E424C5264A4DE4A1EC19B6 /* STDSChallengeSelectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = EB910E98EDD6D3E00802793C /* STDSChallengeSelectionView.h */; }; + E90749131EDA0C86BBBFCE5C /* STDSChallengeResponseObject.h in Headers */ = {isa = PBXBuildFile; fileRef = EB1BDF12DBD6264C6199FFA7 /* STDSChallengeResponseObject.h */; }; + EA19A7AEC298F3EC010D1199 /* STDSTestJSONUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FF3235EDD908CC1500399A1 /* STDSTestJSONUtils.m */; }; + EA89021709AFB5F04961EB78 /* cartes-bancaires.der in Resources */ = {isa = PBXBuildFile; fileRef = 83838563F29179FB1E9F2E66 /* cartes-bancaires.der */; }; + EB791827A943AA61976D8C29 /* STDSIntegrityChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = BB065D6900E95C5E90864C16 /* STDSIntegrityChecker.m */; }; + EC51189277D7D68D08C2A65C /* STDSButtonCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = BD94CAE01A17E083E5617E56 /* STDSButtonCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ECF8755D2602E0E06DCB3210 /* STDSChallengeResponseObjectTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E401845EE5759CCD30786AA /* STDSChallengeResponseObjectTest.m */; }; + EE3854BC2A14F87E8D51B0D0 /* STDSInvalidInputException.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FDAC320458399141EB161E2 /* STDSInvalidInputException.m */; }; + EEE77034728D2CFE38CC5A85 /* STDSLabelCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 01D320CD5ADA49F17B8BC1B0 /* STDSLabelCustomization.m */; }; + EFC72E766F9FD4EE18D309BC /* STDSJSONWebSignature.m in Sources */ = {isa = PBXBuildFile; fileRef = A1DC6B47C06B522B22EB19FF /* STDSJSONWebSignature.m */; }; + F04482C663F6DF8E522B0833 /* STDSCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = AFF187D1D58405C736474042 /* STDSCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F0B9EFD359B1AB28A695CB48 /* STDSSynchronousLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C12AE31D386D4A193C00004B /* STDSSynchronousLocationManager.h */; }; + F13A032A4AF15BB61EA18A8D /* STDSChallengeInformationView.h in Headers */ = {isa = PBXBuildFile; fileRef = C893FD867C964775E68AE85F /* STDSChallengeInformationView.h */; }; + F28AD6CA8AB1A5DEE7A8F429 /* STDSDebuggerChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = D122FAE093BC4F649CC6E7AB /* STDSDebuggerChecker.h */; }; + F35963DB86D90320CFA7BCB9 /* STDSExpandableInformationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 939C45AE068CF4F5BEB4C138 /* STDSExpandableInformationView.h */; }; + F4E8353A470750D9BCEA3CD8 /* CRes.json in Resources */ = {isa = PBXBuildFile; fileRef = 8C6D262891811FB3FE0C947E /* CRes.json */; }; + F5513045A25210C524A05DF5 /* STDSSelectionCustomization.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CD753D9BBFC378C1B491B00 /* STDSSelectionCustomization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F569B584D357DC5C55542015 /* STDSFooterCustomization.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CFF141AC98F213122D037C6 /* STDSFooterCustomization.m */; }; + F939E05536AE838DC489C3AA /* STDSChallengeResponseViewControllerSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 466DF80D33CEC20DF4E844A9 /* STDSChallengeResponseViewControllerSnapshotTests.m */; }; + FD6456BD86F07C446B9FB6C8 /* ec_test.der in Resources */ = {isa = PBXBuildFile; fileRef = 3E4C02D9D6978AD5C3D7E3D2 /* ec_test.der */; }; + FD8A81873C3BC7579ED07460 /* STDSCompletionEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B6B71C61CF5ADC7796441F5 /* STDSCompletionEvent.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 313A2A8627B7330D00E5EA99 /* PBXContainerItemProxy */ = { + 35B6793A7F3FB130F40209F1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 36DDBE9721EFEE9700CB47C9 /* Project object */; + containerPortal = 8D219187B704575AD3CD3EC5 /* Project object */; proxyType = 1; - remoteGlobalIDString = 7BECCAA722270BF9003852FF; + remoteGlobalIDString = 5907C55B1F111921112DF2BF; remoteInfo = Stripe3DS2DemoUI; }; - 7B66B441224D4F3300E256EE /* PBXContainerItemProxy */ = { + 52E1EB51359DA6E75D851D71 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 36DDBE9721EFEE9700CB47C9 /* Project object */; + containerPortal = 8D219187B704575AD3CD3EC5 /* Project object */; proxyType = 1; - remoteGlobalIDString = 36DDBE9F21EFEE9700CB47C9; + remoteGlobalIDString = 57AEC53510AE0DC0539730F3; remoteInfo = Stripe3DS2; }; - 7B66B44D224D520400E256EE /* PBXContainerItemProxy */ = { + 6C355B127D670833C76237D3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 36DDBE9721EFEE9700CB47C9 /* Project object */; + containerPortal = 8D219187B704575AD3CD3EC5 /* Project object */; proxyType = 1; - remoteGlobalIDString = 7BECCAA722270BF9003852FF; - remoteInfo = Stripe3DS2DemoUI; + remoteGlobalIDString = 57AEC53510AE0DC0539730F3; + remoteInfo = Stripe3DS2; + }; + 947ED275EAB25AD4CD701936 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8D219187B704575AD3CD3EC5 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 57AEC53510AE0DC0539730F3; + remoteInfo = Stripe3DS2; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - 7B66B443224D4F3300E256EE /* Embed Frameworks */ = { + 00E415680C602ED1D6D8E71F /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 4D79F0CFC54E8B923E9238CF /* Stripe3DS2.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 43B749EC915FB6D2FF5ABEE0 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 58FA2FE74AE67CD3CDAFD7E5 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 726DD7176204D90BD7552B84 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 7B66B440224D4F3300E256EE /* Stripe3DS2.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -279,943 +319,829 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0319067541DD5F4C9A8391CA /* Pods_Stripe3DS2DemoUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Stripe3DS2DemoUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3135270D25A55A0200DDBA74 /* error@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "error@3x.png"; sourceTree = ""; }; - 3135270E25A55A0200DDBA74 /* mastercard-logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mastercard-logo@3x.png"; sourceTree = ""; }; - 3135270F25A55A0200DDBA74 /* visa-white-logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "visa-white-logo@3x.png"; sourceTree = ""; }; - 3135271025A55A0200DDBA74 /* discover-logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "discover-logo.png"; sourceTree = ""; }; - 3135271125A55A0200DDBA74 /* Chevron@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Chevron@3x.png"; sourceTree = ""; }; - 3135271225A55A0200DDBA74 /* visa-logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "visa-logo@3x.png"; sourceTree = ""; }; - 3135271325A55A0200DDBA74 /* amex-logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "amex-logo@3x.png"; sourceTree = ""; }; - 31580100230DCA8100244FFB /* UIColor+ThirteenSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIColor+ThirteenSupport.h"; sourceTree = ""; }; - 31580101230DCA8100244FFB /* UIColor+ThirteenSupport.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIColor+ThirteenSupport.m"; sourceTree = ""; }; - 31D5DDCB2565A8A900F4FC03 /* STDSCategoryLinker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSCategoryLinker.h; sourceTree = ""; }; - 31D5DDCC2565A8A900F4FC03 /* STDSCategoryLinker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSCategoryLinker.m; sourceTree = ""; }; - 31EFEDEF258AE3310069BC5F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3604008222C57861004CF80B /* STDSThreeDSProtocolVersion.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSThreeDSProtocolVersion.m; sourceTree = ""; }; - 3604008722C57878004CF80B /* STDSThreeDSProtocolVersion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSThreeDSProtocolVersion.h; path = include/STDSThreeDSProtocolVersion.h; sourceTree = ""; }; - 36064BA126D6E6DE002A8AAA /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BA226D6E6DF002A8AAA /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "ms-MY"; path = "ms-MY.lproj/Info.plist"; sourceTree = ""; }; - 36064BA926D830A4002A8AAA /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BAA26D830A5002A8AAA /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "bg-BG"; path = "bg-BG.lproj/Info.plist"; sourceTree = ""; }; - 36064BB026D8314C002A8AAA /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BB126D8314C002A8AAA /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "ca-ES"; path = "ca-ES.lproj/Info.plist"; sourceTree = ""; }; - 36064BBA26D832AF002A8AAA /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BBB26D832AF002A8AAA /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "cs-CZ"; path = "cs-CZ.lproj/Info.plist"; sourceTree = ""; }; - 36064BC126D833A5002A8AAA /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BC226D833A5002A8AAA /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "et-EE"; path = "et-EE.lproj/Info.plist"; sourceTree = ""; }; - 36064BC926D8347D002A8AAA /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BCA26D8347D002A8AAA /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "el-GR"; path = "el-GR.lproj/Info.plist"; sourceTree = ""; }; - 36064BD126D83510002A8AAA /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BD226D83510002A8AAA /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "lt-LT"; path = "lt-LT.lproj/Info.plist"; sourceTree = ""; }; - 36064BD926D835AC002A8AAA /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BDA26D835AC002A8AAA /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "lv-LV"; path = "lv-LV.lproj/Info.plist"; sourceTree = ""; }; - 36064BE126D83622002A8AAA /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BE226D83623002A8AAA /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "pl-PL"; path = "pl-PL.lproj/Info.plist"; sourceTree = ""; }; - 36064BE926D8369B002A8AAA /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BEA26D8369B002A8AAA /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "ro-RO"; path = "ro-RO.lproj/Info.plist"; sourceTree = ""; }; - 36064BF126D83781002A8AAA /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BF226D83781002A8AAA /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "sk-SK"; path = "sk-SK.lproj/Info.plist"; sourceTree = ""; }; - 36064BF926D83827002A8AAA /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BFA26D83827002A8AAA /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "sl-SI"; path = "sl-SI.lproj/Info.plist"; sourceTree = ""; }; - 3610A48824492513004EE443 /* Stripe3DS2-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "Stripe3DS2-Prefix.pch"; path = "include/Stripe3DS2-Prefix.pch"; sourceTree = ""; }; - 3612A6D421F8FC7700CBECC6 /* STDSDeviceInformationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDeviceInformationManager.h; sourceTree = ""; }; - 3612A6D521F8FC7700CBECC6 /* STDSDeviceInformationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformationManager.m; sourceTree = ""; }; - 3612A6D821F8FCF900CBECC6 /* STDSDeviceInformationParameter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDeviceInformationParameter.h; sourceTree = ""; }; - 3612A6D921F8FCF900CBECC6 /* STDSDeviceInformationParameter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformationParameter.m; sourceTree = ""; }; - 3612A6DC21F908B700CBECC6 /* STDSIPAddress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSIPAddress.h; sourceTree = ""; }; - 3612A6DD21F908B700CBECC6 /* STDSIPAddress.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSIPAddress.m; sourceTree = ""; }; - 3612A6E021F9148200CBECC6 /* STDSSynchronousLocationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSynchronousLocationManager.h; sourceTree = ""; }; - 3612A6E121F9148200CBECC6 /* STDSSynchronousLocationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSynchronousLocationManager.m; sourceTree = ""; }; - 3612CE042213549900A84993 /* STDSWarning.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSWarning.h; path = include/STDSWarning.h; sourceTree = ""; }; - 3612CE052213549900A84993 /* STDSWarning.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSWarning.m; sourceTree = ""; }; - 3612CE082213588100A84993 /* STDSWarningTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSWarningTests.m; sourceTree = ""; }; - 36242DF5242EB9ED00A32EEE /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - 36242DF6242EB9ED00A32EEE /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "zh-Hant"; path = "zh-Hant.lproj/Info.plist"; sourceTree = ""; }; - 36242DF7242EB9F700A32EEE /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - 36242DF8242EB9F700A32EEE /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "zh-HK"; path = "zh-HK.lproj/Info.plist"; sourceTree = ""; }; - 3624FAFB224A932B00660581 /* STDSEphemeralKeyPairTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSEphemeralKeyPairTests.m; sourceTree = ""; }; - 3624FAFE224C2FF400660581 /* STDSDirectoryServerCertificate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDirectoryServerCertificate.h; sourceTree = ""; }; - 3624FAFF224C2FF400660581 /* STDSDirectoryServerCertificate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDirectoryServerCertificate.m; sourceTree = ""; }; - 3624FB02224D46CC00660581 /* STDSDirectoryServerCertificateTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDirectoryServerCertificateTests.m; sourceTree = ""; }; - 362FAB7C21F9287100A7F82D /* STDSDeviceInformationParameter+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSDeviceInformationParameter+Private.h"; sourceTree = ""; }; - 362FAB8221FA521B00A7F82D /* STDSDeviceInformationParameterTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformationParameterTests.m; sourceTree = ""; }; - 362FD33A22D562B4003455F0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 362FD33C22D562BD003455F0 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - 362FD33D22D562BE003455F0 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - 362FD33E22D562C0003455F0 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 362FD33F22D562C1003455F0 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - 362FD34022D562C1003455F0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 362FD34122D562C2003455F0 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - 362FD34222D562C3003455F0 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 362FD34322D562C4003455F0 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 362FD34422D562C5003455F0 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 362FD34522D562C6003455F0 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - 362FD34622D562C7003455F0 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - 362FD34722D562C8003455F0 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - 362FD34822D562C9003455F0 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - 362FD34922D562CA003455F0 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - 362FD34A22D562CB003455F0 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - 362FD34B22D562CD003455F0 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - 362FD34C22D56651003455F0 /* STDSLocalizedString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSLocalizedString.h; path = ../STDSLocalizedString.h; sourceTree = ""; }; - 362FD34D22D56D96003455F0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Base; path = Base.lproj/Info.plist; sourceTree = ""; }; - 362FD34F22D56D9F003455F0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = en; path = en.lproj/Info.plist; sourceTree = ""; }; - 362FD35022D56DA0003455F0 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "zh-Hans"; path = "zh-Hans.lproj/Info.plist"; sourceTree = ""; }; - 362FD35122D56DA2003455F0 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = da; path = da.lproj/Info.plist; sourceTree = ""; }; - 362FD35222D56DA2003455F0 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = nl; path = nl.lproj/Info.plist; sourceTree = ""; }; - 362FD35322D56DA3003455F0 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = fi; path = fi.lproj/Info.plist; sourceTree = ""; }; - 362FD35422D56DA4003455F0 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = fr; path = fr.lproj/Info.plist; sourceTree = ""; }; - 362FD35522D56DA5003455F0 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "fr-CA"; path = "fr-CA.lproj/Info.plist"; sourceTree = ""; }; - 362FD35622D56DA5003455F0 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = de; path = de.lproj/Info.plist; sourceTree = ""; }; - 362FD35722D56DA6003455F0 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = it; path = it.lproj/Info.plist; sourceTree = ""; }; - 362FD35822D56DA7003455F0 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = ja; path = ja.lproj/Info.plist; sourceTree = ""; }; - 362FD35922D56DA7003455F0 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = nb; path = nb.lproj/Info.plist; sourceTree = ""; }; - 362FD35A22D56DA9003455F0 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "nn-NO"; path = "nn-NO.lproj/Info.plist"; sourceTree = ""; }; - 362FD35B22D56DA9003455F0 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "pt-BR"; path = "pt-BR.lproj/Info.plist"; sourceTree = ""; }; - 362FD35C22D56DAA003455F0 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "pt-PT"; path = "pt-PT.lproj/Info.plist"; sourceTree = ""; }; - 362FD35D22D56DAA003455F0 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = es; path = es.lproj/Info.plist; sourceTree = ""; }; - 362FD35E22D56DAB003455F0 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "es-419"; path = "es-419.lproj/Info.plist"; sourceTree = ""; }; - 362FD35F22D56DAC003455F0 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = sv; path = sv.lproj/Info.plist; sourceTree = ""; }; - 362FD36122D690EF003455F0 /* visa.der */ = {isa = PBXFileReference; lastKnownFileType = file; path = visa.der; sourceTree = ""; }; - 362FD36222D690EF003455F0 /* discover.der */ = {isa = PBXFileReference; lastKnownFileType = file; path = discover.der; sourceTree = ""; }; - 362FD36322D690EF003455F0 /* mastercard.der */ = {isa = PBXFileReference; lastKnownFileType = file; path = mastercard.der; sourceTree = ""; }; - 362FD36422D690EF003455F0 /* amex.der */ = {isa = PBXFileReference; lastKnownFileType = file; path = amex.der; sourceTree = ""; }; - 36514CBD21F7CA9C00CBC619 /* STDSThreeDS2Service.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSThreeDS2Service.h; path = include/STDSThreeDS2Service.h; sourceTree = ""; }; - 36514CBE21F7CA9C00CBC619 /* STDSThreeDS2Service.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSThreeDS2Service.m; sourceTree = ""; }; - 36514CC121F7D16D00CBC619 /* STDSConfigParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSConfigParameters.h; path = include/STDSConfigParameters.h; sourceTree = ""; }; - 36514CC221F7D16D00CBC619 /* STDSConfigParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSConfigParameters.m; sourceTree = ""; }; - 36514CCC21F7D3DC00CBC619 /* STDSInvalidInputException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSInvalidInputException.h; path = include/STDSInvalidInputException.h; sourceTree = ""; }; - 36514CCD21F7D3DC00CBC619 /* STDSInvalidInputException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSInvalidInputException.m; sourceTree = ""; }; - 36514CD021F7D41F00CBC619 /* STDSAlreadyInitializedException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSAlreadyInitializedException.h; path = include/STDSAlreadyInitializedException.h; sourceTree = ""; }; - 36514CD121F7D41F00CBC619 /* STDSAlreadyInitializedException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAlreadyInitializedException.m; sourceTree = ""; }; - 36514CD421F7D43100CBC619 /* STDSRuntimeException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSRuntimeException.h; path = include/STDSRuntimeException.h; sourceTree = ""; }; - 36514CD521F7D43100CBC619 /* STDSRuntimeException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSRuntimeException.m; sourceTree = ""; }; - 36514CD921F7D7DE00CBC619 /* STDSException+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSException+Internal.h"; sourceTree = ""; }; - 36514CDB21F7E17500CBC619 /* STDSThreeDS2ServiceTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSThreeDS2ServiceTests.m; sourceTree = ""; }; - 36514CDE21F7E47800CBC619 /* STDSException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSException.h; path = include/STDSException.h; sourceTree = ""; }; - 36514CDF21F7E47800CBC619 /* STDSException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSException.m; sourceTree = ""; }; - 365411A32330504000359676 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - 365411A42330504000359676 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "en-GB"; path = "en-GB.lproj/Info.plist"; sourceTree = ""; }; - 365411A52330504800359676 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 365411A62330504800359676 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = ru; path = ru.lproj/Info.plist; sourceTree = ""; }; - 365411A72330504D00359676 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - 365411A82330504D00359676 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = ko; path = ko.lproj/Info.plist; sourceTree = ""; }; - 365411A92330505300359676 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - 365411AA2330505300359676 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = tr; path = tr.lproj/Info.plist; sourceTree = ""; }; - 36546BF42293556700D392BF /* ARes.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = ARes.json; sourceTree = ""; }; - 36546BF6229355C900D392BF /* STDSAuthenticationResponseTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAuthenticationResponseTests.m; sourceTree = ""; }; - 36546BF8229358E800D392BF /* STDSAuthenticationResponseObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSAuthenticationResponseObject.h; sourceTree = ""; }; - 36546BF9229358E800D392BF /* STDSAuthenticationResponseObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAuthenticationResponseObject.m; sourceTree = ""; }; - 366A316722557496005705D7 /* STDSACSNetworkingManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSACSNetworkingManager.h; sourceTree = ""; }; - 366A316822557496005705D7 /* STDSACSNetworkingManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSACSNetworkingManager.m; sourceTree = ""; }; - 366A316B2257FCDC005705D7 /* STDSEllipticCurvePointTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSEllipticCurvePointTests.m; sourceTree = ""; }; - 366BB20F224301AB00AF577B /* STDSEllipticCurvePoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSEllipticCurvePoint.h; sourceTree = ""; }; - 366BB210224301AB00AF577B /* STDSEllipticCurvePoint.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSEllipticCurvePoint.m; sourceTree = ""; }; - 366BB2132245652800AF577B /* ec_test.der */ = {isa = PBXFileReference; lastKnownFileType = file; path = ec_test.der; sourceTree = ""; }; - 366BB21522494ED500AF577B /* STDSBase64URLEncodingTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSBase64URLEncodingTests.m; sourceTree = ""; }; - 366CA10D2253DA5E0040DE8B /* STDSJSONWebSignature.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSJSONWebSignature.h; sourceTree = ""; }; - 366CA10E2253DA5E0040DE8B /* STDSJSONWebSignature.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONWebSignature.m; sourceTree = ""; }; - 366CA1112253E40F0040DE8B /* STDSDirectoryServerCertificate+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSDirectoryServerCertificate+Internal.h"; sourceTree = ""; }; - 366CA1122253E61C0040DE8B /* STDSJSONWebSignatureTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONWebSignatureTests.m; sourceTree = ""; }; - 369BAD272269287600F50FCB /* STDSEphemeralKeyPair+Testing.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSEphemeralKeyPair+Testing.h"; sourceTree = ""; }; - 36AC3D5625253FEE00F252D7 /* STDSSwiftTryCatch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSSwiftTryCatch.h; path = include/STDSSwiftTryCatch.h; sourceTree = ""; }; - 36AC3D5725253FEE00F252D7 /* STDSSwiftTryCatch.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSwiftTryCatch.m; sourceTree = ""; }; - 36B20EDC2220600C00EBD38C /* STDSChallengeParametersTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeParametersTests.m; sourceTree = ""; }; - 36C4CBEA2683E59900B43289 /* cartes-bancaires-logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cartes-bancaires-logo.png"; sourceTree = ""; }; - 36C4CBEC2683E78400B43289 /* cartes-bancaires.der */ = {isa = PBXFileReference; lastKnownFileType = file; path = "cartes-bancaires.der"; sourceTree = ""; }; - 36CEAE0A21FA5B9B00BE1190 /* STDSSynchronousLocationManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSynchronousLocationManagerTests.m; sourceTree = ""; }; - 36CEAE0C21FA5CC300BE1190 /* STDSDeviceInformationManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformationManagerTests.m; sourceTree = ""; }; - 36CEAE0E21FA62C200BE1190 /* STDSJSONWebEncryption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSJSONWebEncryption.h; sourceTree = ""; }; - 36CEAE0F21FA62C200BE1190 /* STDSJSONWebEncryption.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONWebEncryption.m; sourceTree = ""; }; - 36CEAE1A21FFAFBA00BE1190 /* STDSSecTypeUtilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSecTypeUtilities.h; sourceTree = ""; }; - 36CEAE1B21FFAFBA00BE1190 /* STDSSecTypeUtilities.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSecTypeUtilities.m; sourceTree = ""; }; - 36CEAE1E21FFC36500BE1190 /* STDSSecTypeUtilitiesTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSecTypeUtilitiesTests.m; sourceTree = ""; }; - 36CEAE2021FFC62200BE1190 /* STDSBundleLocator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSBundleLocator.h; sourceTree = ""; }; - 36CEAE2121FFC62200BE1190 /* STDSBundleLocator.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSBundleLocator.m; sourceTree = ""; }; - 36CEAE2421FFCBA600BE1190 /* ul-test.der */ = {isa = PBXFileReference; lastKnownFileType = file; path = "ul-test.der"; sourceTree = ""; }; - 36CEAE262200DCEB00BE1190 /* NSString+JWEHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+JWEHelpers.h"; sourceTree = ""; }; - 36CEAE272200DCEB00BE1190 /* NSString+JWEHelpers.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+JWEHelpers.m"; sourceTree = ""; }; - 36CEAE2A2200DD5E00BE1190 /* NSData+JWEHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSData+JWEHelpers.h"; sourceTree = ""; }; - 36CEAE2B2200DD5E00BE1190 /* NSData+JWEHelpers.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSData+JWEHelpers.m"; sourceTree = ""; }; - 36CEAE332200E7C500BE1190 /* STDSJSONWebEncryptionTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONWebEncryptionTests.m; sourceTree = ""; }; - 36DDBEA021EFEE9700CB47C9 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 36DDBEA321EFEE9700CB47C9 /* Stripe3DS2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Stripe3DS2.h; path = include/Stripe3DS2.h; sourceTree = ""; }; - 36DDBEA421EFEE9700CB47C9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 36DDBEA921EFEE9700CB47C9 /* Stripe3DS2Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Stripe3DS2Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 36DDBEB021EFEE9800CB47C9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 36EE21FF2214A5D300CD4A78 /* STDSNotInitializedException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSNotInitializedException.h; path = include/STDSNotInitializedException.h; sourceTree = ""; }; - 36EE22002214A5D300CD4A78 /* STDSNotInitializedException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSNotInitializedException.m; sourceTree = ""; }; - 36EE22042214B4C500CD4A78 /* STDSConfigParametersTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSConfigParametersTests.m; sourceTree = ""; }; - 36EE22062214E8E800CD4A78 /* STDSChallengeParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSChallengeParameters.h; path = include/STDSChallengeParameters.h; sourceTree = ""; }; - 36EE22072214E8E800CD4A78 /* STDSChallengeParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeParameters.m; sourceTree = ""; }; - 36EE220A2214EA9200CD4A78 /* STDSAuthenticationResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSAuthenticationResponse.h; path = include/STDSAuthenticationResponse.h; sourceTree = ""; }; - 36F4BC7926C1BBCC001518CD /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC7A26C1BBCC001518CD /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = hr; path = hr.lproj/Info.plist; sourceTree = ""; }; - 36F4BC8226C1BCB8001518CD /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC8326C1BCB8001518CD /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = fil; path = fil.lproj/Info.plist; sourceTree = ""; }; - 36F4BC9B26C1BDE1001518CD /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC9C26C1BDE1001518CD /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = vi; path = vi.lproj/Info.plist; sourceTree = ""; }; - 36F4BCA326C1BE86001518CD /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BCA426C1BE87001518CD /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = id; path = id.lproj/Info.plist; sourceTree = ""; }; - 36F726B8224988EA009AFEEA /* STDSDirectoryServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDirectoryServer.h; sourceTree = ""; }; - 36F726B922498BB2009AFEEA /* STDSThreeDSProtocolVersion+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSThreeDSProtocolVersion+Private.h"; sourceTree = ""; }; - 36F726BA22499301009AFEEA /* STDSEphemeralKeyPair.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSEphemeralKeyPair.h; sourceTree = ""; }; - 36F726BB22499301009AFEEA /* STDSEphemeralKeyPair.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSEphemeralKeyPair.m; sourceTree = ""; }; - 36FE29812249A3730015BD0C /* STDSDeviceInformation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDeviceInformation.h; sourceTree = ""; }; - 36FE29822249A3730015BD0C /* STDSDeviceInformation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformation.m; sourceTree = ""; }; - 4ECB97A9B55BAA6A0F150383 /* Pods-Stripe3DS2DemoUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Stripe3DS2DemoUITests.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-Stripe3DS2DemoUITests/Pods-Stripe3DS2DemoUITests.debug.xcconfig"; sourceTree = ""; }; - 7AA36DBCF0BA0E43D222D831 /* Pods-Stripe3DS2DemoUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Stripe3DS2DemoUITests.release.xcconfig"; path = "Target Support Files/Pods-Stripe3DS2DemoUITests/Pods-Stripe3DS2DemoUITests.release.xcconfig"; sourceTree = ""; }; - 7B05BA23225BB59F00071A59 /* STDSDebuggerChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDebuggerChecker.h; sourceTree = ""; }; - 7B05BA24225BB59F00071A59 /* STDSDebuggerChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDebuggerChecker.m; sourceTree = ""; }; - 7B05BA27225BB87D00071A59 /* STDSOSVersionChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSOSVersionChecker.h; sourceTree = ""; }; - 7B05BA28225BB87D00071A59 /* STDSOSVersionChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSOSVersionChecker.m; sourceTree = ""; }; - 7B05BA2B225BE72000071A59 /* STDSSimulatorChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSimulatorChecker.h; sourceTree = ""; }; - 7B05BA2C225BE72000071A59 /* STDSSimulatorChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSimulatorChecker.m; sourceTree = ""; }; - 7B05BA2F225BECCD00071A59 /* STDSJailbreakChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSJailbreakChecker.h; sourceTree = ""; }; - 7B05BA30225BECCD00071A59 /* STDSJailbreakChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJailbreakChecker.m; sourceTree = ""; }; - 7B05BA33225BEFE900071A59 /* STDSIntegrityChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSIntegrityChecker.h; sourceTree = ""; }; - 7B05BA34225BEFE900071A59 /* STDSIntegrityChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSIntegrityChecker.m; sourceTree = ""; }; - 7B05BA37225E76DE00071A59 /* Stripe3DS2-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Stripe3DS2-Bridging-Header.h"; sourceTree = ""; }; - 7B66B448224D520400E256EE /* Stripe3DS2DemoUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Stripe3DS2DemoUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 7B66B455224D522300E256EE /* STDSChallengeResponseViewControllerSnapshotTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseViewControllerSnapshotTests.m; sourceTree = ""; }; - 7B66B456224D522300E256EE /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7BECCA2522245537003852FF /* STDSChallengeResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponse.h; sourceTree = ""; }; - 7BECCA2A2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseSelectionInfoObject.h; sourceTree = ""; }; - 7BECCA2B2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseSelectionInfoObject.m; sourceTree = ""; }; - 7BECCA3022248177003852FF /* STDSChallengeResponseMessageExtensionObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseMessageExtensionObject.h; sourceTree = ""; }; - 7BECCA3122248177003852FF /* STDSChallengeResponseMessageExtensionObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseMessageExtensionObject.m; sourceTree = ""; }; - 7BECCA3622248220003852FF /* STDSChallengeResponseImageObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseImageObject.h; sourceTree = ""; }; - 7BECCA3722248220003852FF /* STDSChallengeResponseImageObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseImageObject.m; sourceTree = ""; }; - 7BECCA3A22248250003852FF /* STDSChallengeResponseObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseObject.h; sourceTree = ""; }; - 7BECCA3B22248250003852FF /* STDSChallengeResponseObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseObject.m; sourceTree = ""; }; - 7BECCA3E2224B47A003852FF /* STDSChallengeResponseImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseImage.h; sourceTree = ""; }; - 7BECCA402224B5D5003852FF /* STDSChallengeResponseMessageExtension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseMessageExtension.h; sourceTree = ""; }; - 7BECCA412224B6B6003852FF /* STDSChallengeResponseSelectionInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseSelectionInfo.h; sourceTree = ""; }; - 7BECCAA822270BF9003852FF /* Stripe3DS2DemoUI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Stripe3DS2DemoUI.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 7BECCAAA22270BF9003852FF /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7BECCAAB22270BF9003852FF /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 7BECCAB922270BFA003852FF /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 7BECCADB222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSLayoutConstraint+LayoutSupport.h"; sourceTree = ""; }; - 7BECCADC222D8E77003852FF /* UIView+LayoutSupport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+LayoutSupport.m"; sourceTree = ""; }; - 7BECCADD222D8E77003852FF /* STDSStackView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STDSStackView.h; sourceTree = ""; }; - 7BECCADE222D8E77003852FF /* STDSStackView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STDSStackView.m; sourceTree = ""; }; - 7BECCADF222D8E77003852FF /* UIView+LayoutSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+LayoutSupport.h"; sourceTree = ""; }; - 7BECCAE0222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSLayoutConstraint+LayoutSupport.m"; sourceTree = ""; }; - 7BECCAE7222D985A003852FF /* STDSBrandingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STDSBrandingView.m; sourceTree = ""; }; - 7BECCAE8222D985A003852FF /* STDSBrandingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STDSBrandingView.h; sourceTree = ""; }; - 7BECCAEC222D98A3003852FF /* STDSChallengeResponseViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseViewController.h; sourceTree = ""; }; - 7BECCAED222D98A3003852FF /* STDSChallengeResponseViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseViewController.m; sourceTree = ""; }; - 7BECCAF3222DBB75003852FF /* STDSChallengeInformationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeInformationView.h; sourceTree = ""; }; - 7BECCAF4222DBB75003852FF /* STDSChallengeInformationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeInformationView.m; sourceTree = ""; }; - 7BECCAF7222DCF3D003852FF /* NSString+EmptyChecking.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+EmptyChecking.h"; sourceTree = ""; }; - 7BECCAF8222DCF3D003852FF /* NSString+EmptyChecking.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+EmptyChecking.m"; sourceTree = ""; }; - 7BECCAFB222DCFF4003852FF /* NSString+EmptyCheckingTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+EmptyCheckingTests.m"; sourceTree = ""; }; - 7BECCAFD222DD2EF003852FF /* STDSSpacerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSpacerView.h; sourceTree = ""; }; - 7BECCAFE222DD2EF003852FF /* STDSSpacerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSpacerView.m; sourceTree = ""; }; - 7BECCB05222EA822003852FF /* STDSImageLoader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSImageLoader.h; sourceTree = ""; }; - 7BECCB06222EA822003852FF /* STDSImageLoader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSImageLoader.m; sourceTree = ""; }; - 7BECCB0B222EF228003852FF /* STDSTextChallengeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSTextChallengeView.h; sourceTree = ""; }; - 7BECCB0C222EF228003852FF /* STDSTextChallengeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTextChallengeView.m; sourceTree = ""; }; - 7BECCB0F22301325003852FF /* STDSChallengeSelectionView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeSelectionView.h; sourceTree = ""; }; - 7BECCB1022301325003852FF /* STDSChallengeSelectionView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeSelectionView.m; sourceTree = ""; }; - 7BECCB1722317F4C003852FF /* STDSChallengeResponseObject+TestObjects.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSChallengeResponseObject+TestObjects.h"; sourceTree = ""; }; - 7BECCB1822317F5F003852FF /* STDSChallengeResponseObject+TestObjects.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "STDSChallengeResponseObject+TestObjects.m"; sourceTree = ""; }; - 7BF9D8362236A6AD001EA73F /* STDSDemoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDemoViewController.h; sourceTree = ""; }; - 7BF9D8372236A6AD001EA73F /* STDSDemoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDemoViewController.m; sourceTree = ""; }; - 7BF9D8392236AD5E001EA73F /* STDSWhitelistView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSWhitelistView.h; sourceTree = ""; }; - 7BF9D83A2236AD5E001EA73F /* STDSWhitelistView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSWhitelistView.m; sourceTree = ""; }; - 7BF9D83D2236B65B001EA73F /* STDSExpandableInformationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSExpandableInformationView.h; sourceTree = ""; }; - 7BF9D83E2236B65B001EA73F /* STDSExpandableInformationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSExpandableInformationView.m; sourceTree = ""; }; - 7BF9D841223957E9001EA73F /* STDSWebView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSWebView.h; sourceTree = ""; }; - 7BF9D842223957E9001EA73F /* STDSWebView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSWebView.m; sourceTree = ""; }; - 7BF9D846223A9BEA001EA73F /* STDSUICustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSUICustomization.h; path = include/STDSUICustomization.h; sourceTree = ""; }; - 7BF9D847223A9BEA001EA73F /* STDSUICustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSUICustomization.m; sourceTree = ""; }; - 7BF9D84A223AC200001EA73F /* STDSCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSCustomization.h; path = include/STDSCustomization.h; sourceTree = ""; }; - 7BF9D84B223AC200001EA73F /* STDSCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSCustomization.m; sourceTree = ""; }; - 7BF9D84E223AC4E5001EA73F /* STDSButtonCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSButtonCustomization.h; path = include/STDSButtonCustomization.h; sourceTree = ""; }; - 7BF9D84F223AC4E5001EA73F /* STDSButtonCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSButtonCustomization.m; sourceTree = ""; }; - 7BF9D852223AD1C6001EA73F /* STDSNavigationBarCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSNavigationBarCustomization.h; path = include/STDSNavigationBarCustomization.h; sourceTree = ""; }; - 7BF9D853223AD1C6001EA73F /* STDSNavigationBarCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSNavigationBarCustomization.m; sourceTree = ""; }; - 7BF9D856223AD3AA001EA73F /* STDSLabelCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSLabelCustomization.h; path = include/STDSLabelCustomization.h; sourceTree = ""; }; - 7BF9D857223AD3AA001EA73F /* STDSLabelCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSLabelCustomization.m; sourceTree = ""; }; - 7BF9D85A223AD453001EA73F /* STDSTextFieldCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSTextFieldCustomization.h; path = include/STDSTextFieldCustomization.h; sourceTree = ""; }; - 7BF9D85B223AD453001EA73F /* STDSTextFieldCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTextFieldCustomization.m; sourceTree = ""; }; - 7BF9D85E223AD75B001EA73F /* STDSUICustomizationTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSUICustomizationTests.m; sourceTree = ""; }; - 7BF9D865223FEB80001EA73F /* UIColor+DefaultColors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIColor+DefaultColors.h"; sourceTree = ""; }; - 7BF9D866223FEB80001EA73F /* UIColor+DefaultColors.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIColor+DefaultColors.m"; sourceTree = ""; }; - 7BF9D869223FEB8D001EA73F /* UIFont+DefaultFonts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIFont+DefaultFonts.h"; sourceTree = ""; }; - 7BF9D86A223FEB8D001EA73F /* UIFont+DefaultFonts.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIFont+DefaultFonts.m"; sourceTree = ""; }; - 7BF9D86D223FF3E8001EA73F /* UIButton+CustomInitialization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIButton+CustomInitialization.h"; sourceTree = ""; }; - 7BF9D86E223FF3E8001EA73F /* UIButton+CustomInitialization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIButton+CustomInitialization.m"; sourceTree = ""; }; - 7BF9D87722417B03001EA73F /* STDSProcessingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSProcessingView.h; sourceTree = ""; }; - 7BF9D87822417B03001EA73F /* STDSProcessingView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSProcessingView.m; sourceTree = ""; }; - B32A6DD76651E04EE9088B9C /* Pods-Stripe3DS2-Stripe3DS2DemoUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Stripe3DS2-Stripe3DS2DemoUITests.release.xcconfig"; path = "Target Support Files/Pods-Stripe3DS2-Stripe3DS2DemoUITests/Pods-Stripe3DS2-Stripe3DS2DemoUITests.release.xcconfig"; sourceTree = ""; }; - B616CE6C22430005003FC60C /* STDSRuntimeErrorEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSRuntimeErrorEvent.h; path = include/STDSRuntimeErrorEvent.h; sourceTree = ""; }; - B616CE6D22430005003FC60C /* STDSRuntimeErrorEvent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSRuntimeErrorEvent.m; sourceTree = ""; }; - B616CE7022430237003FC60C /* STDSChallengeStatusReceiver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSChallengeStatusReceiver.h; path = include/STDSChallengeStatusReceiver.h; sourceTree = ""; }; - B616CE7422431FA7003FC60C /* STDSProtocolErrorEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSProtocolErrorEvent.h; path = include/STDSProtocolErrorEvent.h; sourceTree = ""; }; - B616CE7522431FA7003FC60C /* STDSProtocolErrorEvent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSProtocolErrorEvent.m; sourceTree = ""; }; - B616CE7922442C60003FC60C /* STDSErrorMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSErrorMessage.h; path = include/STDSErrorMessage.h; sourceTree = ""; }; - B616CE7A22442C60003FC60C /* STDSErrorMessage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSErrorMessage.m; sourceTree = ""; }; - B616CE7D2244452F003FC60C /* STDSTransaction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSTransaction.h; path = include/STDSTransaction.h; sourceTree = ""; }; - B616CE7E2244452F003FC60C /* STDSTransaction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTransaction.m; sourceTree = ""; }; - B616CE8222444BF1003FC60C /* STDSAuthenticationRequestParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSAuthenticationRequestParameters.h; path = include/STDSAuthenticationRequestParameters.h; sourceTree = ""; }; - B616CE8322444BF1003FC60C /* STDSAuthenticationRequestParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAuthenticationRequestParameters.m; sourceTree = ""; }; - B633076422AF006F006169E5 /* STDSFooterCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSFooterCustomization.h; path = include/STDSFooterCustomization.h; sourceTree = ""; }; - B633076522AF006F006169E5 /* STDSFooterCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSFooterCustomization.m; sourceTree = ""; }; - B633076822B02D38006169E5 /* STDSSelectionCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSSelectionCustomization.h; path = include/STDSSelectionCustomization.h; sourceTree = ""; }; - B633076922B02D38006169E5 /* STDSSelectionCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSelectionCustomization.m; sourceTree = ""; }; - B633076C22B033F7006169E5 /* STDSSelectionButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSelectionButton.h; sourceTree = ""; }; - B633076D22B033F7006169E5 /* STDSSelectionButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSelectionButton.m; sourceTree = ""; }; - B67900402249893500DD9F18 /* STDSAuthenticationRequestParametersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAuthenticationRequestParametersTest.m; sourceTree = ""; }; - B679004222498B4B00DD9F18 /* STDSJSONEncoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSJSONEncoder.h; path = include/STDSJSONEncoder.h; sourceTree = ""; }; - B679004322498B4B00DD9F18 /* STDSJSONEncoder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONEncoder.m; sourceTree = ""; }; - B67900462249903400DD9F18 /* STDSJSONEncoderTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONEncoderTest.m; sourceTree = ""; }; - B679004B224C066800DD9F18 /* STDSJSONDecodable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSJSONDecodable.h; path = include/STDSJSONDecodable.h; sourceTree = ""; }; - B679004F224C088400DD9F18 /* NSDictionary+DecodingHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+DecodingHelpers.h"; sourceTree = ""; }; - B6790050224C088400DD9F18 /* NSDictionary+DecodingHelpers.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+DecodingHelpers.m"; sourceTree = ""; }; - B6790054224C2D1500DD9F18 /* NSError+Stripe3DS2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSError+Stripe3DS2.h"; sourceTree = ""; }; - B6790055224C2D1500DD9F18 /* NSError+Stripe3DS2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSError+Stripe3DS2.m"; sourceTree = ""; }; - B6790058224C386500DD9F18 /* STDSStripe3DS2Error.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSStripe3DS2Error.h; path = include/STDSStripe3DS2Error.h; sourceTree = ""; }; - B6790059224C386500DD9F18 /* STDSStripe3DS2Error.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSStripe3DS2Error.m; sourceTree = ""; }; - B679005D224D9A2C00DD9F18 /* NSDictionary+DecodingHelpersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+DecodingHelpersTest.m"; sourceTree = ""; }; - B679005F224ECA3E00DD9F18 /* STDSChallengeResponseObjectTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseObjectTest.m; sourceTree = ""; }; - B6790062224ECAF300DD9F18 /* CRes.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = CRes.json; sourceTree = ""; }; - B6790064224ECBEC00DD9F18 /* STDSTestJSONUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSTestJSONUtils.h; sourceTree = ""; }; - B6790065224ECBEC00DD9F18 /* STDSTestJSONUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTestJSONUtils.m; sourceTree = ""; }; - B6790067224EDBA300DD9F18 /* STDSErrorMessageTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSErrorMessageTest.m; sourceTree = ""; }; - B6790069224EE6B600DD9F18 /* ErrorMessage.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = ErrorMessage.json; sourceTree = ""; }; - B679006B2252905C00DD9F18 /* STDSChallengeRequestParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeRequestParameters.h; sourceTree = ""; }; - B679006C2252905C00DD9F18 /* STDSChallengeRequestParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeRequestParameters.m; sourceTree = ""; }; - B679006F2252A87D00DD9F18 /* STDSChallengeRequestParametersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeRequestParametersTest.m; sourceTree = ""; }; - B691261C2270F18C00D06B77 /* acs_challenge.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = acs_challenge.html; path = Stripe3DS2DemoUITests/acs_challenge.html; sourceTree = SOURCE_ROOT; }; - B69A84682489A46F009DE268 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - B69A84692489A46F009DE268 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = hu; path = hu.lproj/Info.plist; sourceTree = ""; }; - B69A846A2489A476009DE268 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; - B69A846B2489A476009DE268 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = mt; path = mt.lproj/Info.plist; sourceTree = ""; }; - B6B6ACB62280BB0C00B35AE5 /* STDSProgressViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSProgressViewController.h; sourceTree = ""; }; - B6B6ACB72280BB0C00B35AE5 /* STDSProgressViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSProgressViewController.m; sourceTree = ""; }; - B6B6ACBE2280D16D00B35AE5 /* UIViewController+Stripe3DS2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Stripe3DS2.h"; sourceTree = ""; }; - B6B6ACBF2280D16D00B35AE5 /* UIViewController+Stripe3DS2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Stripe3DS2.m"; sourceTree = ""; }; - B6C9BCE02242D7DB00409475 /* STDSCompletionEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSCompletionEvent.h; path = include/STDSCompletionEvent.h; sourceTree = ""; }; - B6C9BCE12242D7DB00409475 /* STDSCompletionEvent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSCompletionEvent.m; sourceTree = ""; }; - B6CAFFA2224555C6009CD1B0 /* STDSTransactionTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTransactionTest.m; sourceTree = ""; }; - B6CAFFA5224561CE009CD1B0 /* STDSTransaction+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSTransaction+Private.h"; sourceTree = ""; }; - B6CAFFA922495547009CD1B0 /* STDSJSONEncodable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = STDSJSONEncodable.h; path = include/STDSJSONEncodable.h; sourceTree = ""; }; - B6CFBF7922695094009A007B /* STDSACSNetworkingManagerTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSACSNetworkingManagerTest.m; sourceTree = ""; }; - B6DC6A15225D5E53008C9172 /* STDSErrorMessage+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSErrorMessage+Internal.h"; sourceTree = ""; }; - B6DC6A16225D5E53008C9172 /* STDSErrorMessage+Internal.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "STDSErrorMessage+Internal.m"; sourceTree = ""; }; - C6EA04AC9FC81D87DE7A0CDC /* Pods-Stripe3DS2DemoUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Stripe3DS2DemoUITests.debug.xcconfig"; path = "Target Support Files/Pods-Stripe3DS2DemoUITests/Pods-Stripe3DS2DemoUITests.debug.xcconfig"; sourceTree = ""; }; - CF81749BFB052F9A3A5475EC /* Pods-Stripe3DS2-Stripe3DS2DemoUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Stripe3DS2-Stripe3DS2DemoUITests.debug.xcconfig"; path = "Target Support Files/Pods-Stripe3DS2-Stripe3DS2DemoUITests/Pods-Stripe3DS2-Stripe3DS2DemoUITests.debug.xcconfig"; sourceTree = ""; }; - ED0E87C4B5B3D1D1D638D312 /* libPods-Stripe3DS2-Stripe3DS2DemoUITests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Stripe3DS2-Stripe3DS2DemoUITests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - F20971A299FD01516B0AA817 /* Pods-Stripe3DS2DemoUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Stripe3DS2DemoUITests.release.xcconfig"; path = "../Pods/Target Support Files/Pods-Stripe3DS2DemoUITests/Pods-Stripe3DS2DemoUITests.release.xcconfig"; sourceTree = ""; }; + 00658E077ECB223C90484AF7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 018F4AA25D84E9CBD2546BB5 /* NSString+JWEHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+JWEHelpers.h"; sourceTree = ""; }; + 01D320CD5ADA49F17B8BC1B0 /* STDSLabelCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSLabelCustomization.m; sourceTree = ""; }; + 02D762271DBCC1AE80E0F9D4 /* Stripe3DS2DemoUI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Stripe3DS2DemoUI.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 037C294011A01E4B4DCE5BB7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 04AB48F014A8D5BA56FEF463 /* discover.der */ = {isa = PBXFileReference; path = discover.der; sourceTree = ""; }; + 04E6B6D3CAE363114723472F /* STDSTextChallengeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTextChallengeView.m; sourceTree = ""; }; + 0681C043F732148587737233 /* STDSJSONEncoder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONEncoder.m; sourceTree = ""; }; + 069990DA025BE9F33602E96A /* STDSDirectoryServerCertificate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDirectoryServerCertificate.h; sourceTree = ""; }; + 06C5207432FB07BD71703BCC /* STDSJSONEncoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSJSONEncoder.h; sourceTree = ""; }; + 08D577934984712C20C5E903 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 0BEB5006261C5E070FEE62BF /* STDSWarning.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSWarning.h; sourceTree = ""; }; + 0DA1EE83D91993BCAF13EC72 /* STDSEllipticCurvePointTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSEllipticCurvePointTests.m; sourceTree = ""; }; + 0DE0C407AFDBD26ABDBE7496 /* discover-logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "discover-logo.png"; sourceTree = ""; }; + 0E38A775DB9F529427E900CF /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + 0E3C05BE55CF3086738AA182 /* Stripe3DS2DemoUITests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe3DS2DemoUITests-Debug.xcconfig"; sourceTree = ""; }; + 0F024DEAD6628A0229856656 /* Stripe3DS2-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Stripe3DS2-Bridging-Header.h"; sourceTree = ""; }; + 10C45EE3433B731253E21E24 /* STDSChallengeResponseImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseImage.h; sourceTree = ""; }; + 10DB3CD8F2541AC06681F2C8 /* STDSCompletionEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSCompletionEvent.h; sourceTree = ""; }; + 1104D5855D28E49E104CA004 /* mastercard.der */ = {isa = PBXFileReference; path = mastercard.der; sourceTree = ""; }; + 138E82072FC6572612A8E248 /* STDSAuthenticationResponseObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSAuthenticationResponseObject.h; sourceTree = ""; }; + 13ED1CC076C6B3FB49C9197A /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 14D60BDF245487FE3362BE07 /* STDSSimulatorChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSimulatorChecker.m; sourceTree = ""; }; + 14F83E51E99D453DF9C2DDE1 /* STDSChallengeResponseImageObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseImageObject.h; sourceTree = ""; }; + 1501A7A3010FFE53D00E318F /* STDSRuntimeErrorEvent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSRuntimeErrorEvent.m; sourceTree = ""; }; + 157970FF5B4A817041E3D668 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + 172AF5C85EDBD92A1030E361 /* STDSDeviceInformationParameter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDeviceInformationParameter.h; sourceTree = ""; }; + 18D88DE3E34106F934015BF9 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + 1BBADD412A7C2D1FF35A7C86 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 1BFBB92DBE97E16DE9D18B4A /* STDSJailbreakChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJailbreakChecker.m; sourceTree = ""; }; + 1D6269F8B91341C387A911DB /* STDSStackView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSStackView.m; sourceTree = ""; }; + 1E3640C73D001D32CCC449F1 /* error@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "error@3x.png"; sourceTree = ""; }; + 1E844798B2733C8511AC080E /* UIFont+DefaultFonts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIFont+DefaultFonts.h"; sourceTree = ""; }; + 1F0DADEABA0B043A6CA36DD6 /* STDSDemoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDemoViewController.h; sourceTree = ""; }; + 1F1FD11407319293954C6D81 /* STDSAlreadyInitializedException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSAlreadyInitializedException.h; sourceTree = ""; }; + 1FBE88F6E2C3153A8315EDC6 /* STDSDeviceInformation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDeviceInformation.h; sourceTree = ""; }; + 1FC15225A5E83948EF546B71 /* NSData+JWEHelpers.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSData+JWEHelpers.m"; sourceTree = ""; }; + 20533E2C69C4B80BB33A4766 /* STDSEphemeralKeyPair.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSEphemeralKeyPair.h; sourceTree = ""; }; + 210B22FF4DCB0C6E7C763EAB /* STDSUICustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSUICustomization.h; sourceTree = ""; }; + 2192708AD201F80F6E1A39F7 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + 237977B021FE538E5E4FA35C /* ARes.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = ARes.json; sourceTree = ""; }; + 23A3DDCE911F8C43CF74CDF4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 23C929BF760735CC01E1E8F5 /* STDSChallengeParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeParameters.m; sourceTree = ""; }; + 24CE086326AF3DE336BF4F4C /* STDSChallengeResponseObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseObject.m; sourceTree = ""; }; + 25C7D18868DDADEF4CB6220C /* STDSDeviceInformationParameter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformationParameter.m; sourceTree = ""; }; + 26C20D4B77372845627D6466 /* NSError+Stripe3DS2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSError+Stripe3DS2.m"; sourceTree = ""; }; + 278F2C40987F5218BD031E3D /* STDSErrorMessageTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSErrorMessageTest.m; sourceTree = ""; }; + 27AC486DA2A80A43C1F517B2 /* STDSAlreadyInitializedException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAlreadyInitializedException.m; sourceTree = ""; }; + 28C6B4F6BA431B9342970FD6 /* Stripe3DS2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Stripe3DS2.h; sourceTree = ""; }; + 28E32DA72CAFBF2AF8099151 /* STDSAuthenticationResponseTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAuthenticationResponseTests.m; sourceTree = ""; }; + 2C2666DF7D23EBC3FFE7CCF1 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 2CB591796654445B8434A501 /* STDSErrorMessage+Internal.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "STDSErrorMessage+Internal.m"; sourceTree = ""; }; + 2CFAC8D74AFFC2E61BAD82A5 /* STDSBrandingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSBrandingView.h; sourceTree = ""; }; + 2D6004F2D9880055C0C0BCF1 /* STDSACSNetworkingManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSACSNetworkingManager.m; sourceTree = ""; }; + 2EF5AA537586EF706E4056FD /* STDSEllipticCurvePoint.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSEllipticCurvePoint.m; sourceTree = ""; }; + 2FCABBF51CBA7F9FEF757B4C /* STDSNotInitializedException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSNotInitializedException.h; sourceTree = ""; }; + 30D22985091381DFCDF077E9 /* STDSSecTypeUtilitiesTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSecTypeUtilitiesTests.m; sourceTree = ""; }; + 315AEE1534F9D9974DC1674B /* STDSChallengeResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponse.h; sourceTree = ""; }; + 3255706D2304FB551C97305F /* STDSProtocolErrorEvent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSProtocolErrorEvent.m; sourceTree = ""; }; + 33CEADC8006E456FD82CE134 /* STDSWhitelistView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSWhitelistView.h; sourceTree = ""; }; + 34FCE3CEEDC2D23116C11DAA /* visa-logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "visa-logo@3x.png"; sourceTree = ""; }; + 371F8076630A8839C1F6A508 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + 37ED28756222539D37554CC7 /* UIColor+ThirteenSupport.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIColor+ThirteenSupport.m"; sourceTree = ""; }; + 382C583385FAECA91366769E /* STDSDemoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDemoViewController.m; sourceTree = ""; }; + 38572D4E32BF3670F1C83409 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + 38F3A7D625E4B0D3506A37F6 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + 3A6D20D1DAB7D769E5E97528 /* STDSProtocolErrorEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSProtocolErrorEvent.h; sourceTree = ""; }; + 3A8CD68A006F970DDC54469A /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 3A9F828840A3B361842E38DE /* STDSChallengeResponseImageObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseImageObject.m; sourceTree = ""; }; + 3AA2E6DA60350400C5270E08 /* STDSJSONWebSignature.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSJSONWebSignature.h; sourceTree = ""; }; + 3B6B71C61CF5ADC7796441F5 /* STDSCompletionEvent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSCompletionEvent.m; sourceTree = ""; }; + 3B9A821F35B93898A7AC1ADF /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + 3C22D410C297E2C3AFE727A6 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 3E4C02D9D6978AD5C3D7E3D2 /* ec_test.der */ = {isa = PBXFileReference; path = ec_test.der; sourceTree = ""; }; + 3F017BF6ECE0EBE4E0DFCF9C /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 406D88ADED27D64DED2002A2 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + 40DC4913154C3D3A27E35207 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + 41CB752E5656578F2437E247 /* Chevron@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Chevron@3x.png"; sourceTree = ""; }; + 41E0F638E776A7F3456BDA3E /* STDSLocalizedString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSLocalizedString.h; sourceTree = ""; }; + 43540AB7D13C0C9A563C3F4D /* STDSSelectionCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSelectionCustomization.m; sourceTree = ""; }; + 43CB8F416E4F4CEA34391481 /* NSString+JWEHelpers.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+JWEHelpers.m"; sourceTree = ""; }; + 461F938CDE7ED6D06D9D2700 /* STDSException+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSException+Internal.h"; sourceTree = ""; }; + 461FDC130846625171164A9E /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + 466DF80D33CEC20DF4E844A9 /* STDSChallengeResponseViewControllerSnapshotTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseViewControllerSnapshotTests.m; sourceTree = ""; }; + 474F39AA3F47D84F8D54E5B7 /* STDSWarningTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSWarningTests.m; sourceTree = ""; }; + 47C29E9F3D2A62676B424CD1 /* STDSThreeDSProtocolVersion+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSThreeDSProtocolVersion+Private.h"; sourceTree = ""; }; + 4869D6E14F01EDB960CB3065 /* STDSDeviceInformationParameter+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSDeviceInformationParameter+Private.h"; sourceTree = ""; }; + 49EF79D69693F937FEC46906 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + 4A567E08748C86FCE2A75FEA /* UIColor+DefaultColors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIColor+DefaultColors.h"; sourceTree = ""; }; + 4B1E3760B1369DB1A33C9DFE /* STDSBase64URLEncodingTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSBase64URLEncodingTests.m; sourceTree = ""; }; + 4BC4D9FD1D3869D491CC2CF8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 4C158B552B0CBE635A2AF7BB /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + 4CCA15E0819F9A9D89FEF9EA /* STDSChallengeResponseSelectionInfoObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseSelectionInfoObject.h; sourceTree = ""; }; + 4DB91F58CF23E72636C69C41 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 4DD55BECC3FB85216FE46218 /* UIButton+CustomInitialization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIButton+CustomInitialization.h"; sourceTree = ""; }; + 4EA4AB3BA2FB41B3D5F38978 /* STDSAuthenticationResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSAuthenticationResponse.h; sourceTree = ""; }; + 4EAD29E57D206B5D6BAF9099 /* STDSChallengeRequestParametersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeRequestParametersTest.m; sourceTree = ""; }; + 4EB746D4E46ABD2452A154AE /* Stripe3DS2Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Stripe3DS2Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 5043E1CF6955176EC3D43F88 /* STDSAuthenticationResponseObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAuthenticationResponseObject.m; sourceTree = ""; }; + 5049A72A6BEB558D8559A5EB /* STDSEllipticCurvePoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSEllipticCurvePoint.h; sourceTree = ""; }; + 51E4A57094A671EB14380882 /* STDSSpacerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSpacerView.m; sourceTree = ""; }; + 52D6E4F76CBA258163E57DF3 /* STDSEphemeralKeyPair+Testing.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSEphemeralKeyPair+Testing.h"; sourceTree = ""; }; + 52EEBC7D74623E1A1D7E3219 /* STDSChallengeResponseSelectionInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseSelectionInfo.h; sourceTree = ""; }; + 5316D0759F7F2ED0BF1D3B2E /* Stripe3DS2DemoUI-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe3DS2DemoUI-Debug.xcconfig"; sourceTree = ""; }; + 5463EB1CC8E85BE3BD12DEFF /* STDSErrorMessage+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSErrorMessage+Internal.h"; sourceTree = ""; }; + 5489DCAA65624C6F966816B6 /* STDSButtonCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSButtonCustomization.m; sourceTree = ""; }; + 56B1A52548593FE78D801734 /* STDSDeviceInformation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformation.m; sourceTree = ""; }; + 57B8822D21AADE7DA51931CC /* NSString+EmptyCheckingTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+EmptyCheckingTests.m"; sourceTree = ""; }; + 581BD6EEB19753FC873EB077 /* cartes-bancaires-logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cartes-bancaires-logo.png"; sourceTree = ""; }; + 581EEE576D24047004C828DF /* STDSWebView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSWebView.h; sourceTree = ""; }; + 5862FA7E6300A2169A3CD3D7 /* mastercard-logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mastercard-logo@3x.png"; sourceTree = ""; }; + 58C38FF9205C9B7D79C51A37 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + 5B05A609753EE71502409082 /* NSData+JWEHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSData+JWEHelpers.h"; sourceTree = ""; }; + 5D93713CADD5589B5E6F6A0D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 5E401845EE5759CCD30786AA /* STDSChallengeResponseObjectTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseObjectTest.m; sourceTree = ""; }; + 5E6A9565E97DF2544254AA94 /* STDSThreeDSProtocolVersion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSThreeDSProtocolVersion.h; sourceTree = ""; }; + 5EAA444FA7C82BDA4AD907BF /* STDSThreeDS2Service.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSThreeDS2Service.h; sourceTree = ""; }; + 5EE8BF51F49E161737406B3A /* NSDictionary+DecodingHelpersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+DecodingHelpersTest.m"; sourceTree = ""; }; + 5F551808E65CDADD9B3A9CB8 /* STDSConfigParametersTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSConfigParametersTests.m; sourceTree = ""; }; + 5FDE2481364C454058BF2377 /* STDSTransaction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTransaction.m; sourceTree = ""; }; + 5FF3235EDD908CC1500399A1 /* STDSTestJSONUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTestJSONUtils.m; sourceTree = ""; }; + 60693BC560C4927ACFD2E6C3 /* STDSChallengeRequestParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeRequestParameters.m; sourceTree = ""; }; + 6118F98576E9A39A7292C6C6 /* STDSACSNetworkingManagerTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSACSNetworkingManagerTest.m; sourceTree = ""; }; + 615F1BD510661B38D6825128 /* STDSWhitelistView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSWhitelistView.m; sourceTree = ""; }; + 62773D5C85C567F28BCE0DA5 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + 634095EA97A4E48BF7CAA03F /* UIFont+DefaultFonts.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIFont+DefaultFonts.m"; sourceTree = ""; }; + 645D0BB927B7F8A0D37EE04D /* STDSErrorMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSErrorMessage.h; sourceTree = ""; }; + 6690476C1BEA59C37576FB36 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 68ED2A0E11E1B27980E0C60A /* STDSTextFieldCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSTextFieldCustomization.h; sourceTree = ""; }; + 6932DD26C7C16938DFA0E198 /* STDSLabelCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSLabelCustomization.h; sourceTree = ""; }; + 6940D75CA36F7DB9FB56196B /* Stripe3DS2DemoUI-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe3DS2DemoUI-Release.xcconfig"; sourceTree = ""; }; + 694DF6F47767A651907D55D4 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 6AA43E7E90E4002DD56B7C3D /* STDSDirectoryServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDirectoryServer.h; sourceTree = ""; }; + 6AA75957DD13FA92FA866AF3 /* STDSDirectoryServerCertificateTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDirectoryServerCertificateTests.m; sourceTree = ""; }; + 6B487D8DD39DAC17042A3F04 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 6B9B49A5CF64DCB23CD0AEDE /* STDSJSONEncoderTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONEncoderTest.m; sourceTree = ""; }; + 6CFF141AC98F213122D037C6 /* STDSFooterCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSFooterCustomization.m; sourceTree = ""; }; + 6DDB6222A2EF31FDB7592368 /* STDSErrorMessage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSErrorMessage.m; sourceTree = ""; }; + 6F030410FDABFF833CD8FE46 /* STDSException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSException.m; sourceTree = ""; }; + 6FDAC320458399141EB161E2 /* STDSInvalidInputException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSInvalidInputException.m; sourceTree = ""; }; + 71494F94F36F4B731A27D182 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + 72DBE992B33F45C059EDB597 /* STDSSpacerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSpacerView.h; sourceTree = ""; }; + 74147E01D0E2A62B0F374401 /* STDSCategoryLinker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSCategoryLinker.h; sourceTree = ""; }; + 762DEC6662DF8240FE19CFFC /* STDSChallengeRequestParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeRequestParameters.h; sourceTree = ""; }; + 76EA9DF8572C992E30BCF8A3 /* STDSJSONWebEncryption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSJSONWebEncryption.h; sourceTree = ""; }; + 77646CEC7EE754F47EDBDA4F /* STDSThreeDS2Service.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSThreeDS2Service.m; sourceTree = ""; }; + 7859D635964B2854A07B5285 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + 7971EB56716D5E2F59053B6D /* acs_challenge.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = acs_challenge.html; sourceTree = ""; }; + 7A637DA708BC866C2903E0EA /* STDSDeviceInformationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDeviceInformationManager.h; sourceTree = ""; }; + 7AC1C5F6F1311F50D9C37291 /* STDSProcessingView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSProcessingView.m; sourceTree = ""; }; + 7CD753D9BBFC378C1B491B00 /* STDSSelectionCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSelectionCustomization.h; sourceTree = ""; }; + 7D02FAFC403BC901931A629F /* STDSChallengeResponseMessageExtensionObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseMessageExtensionObject.m; sourceTree = ""; }; + 7FF8ACC073E814B7DEBA7647 /* STDSThreeDS2ServiceTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSThreeDS2ServiceTests.m; sourceTree = ""; }; + 82C41E6DC2CC247ECC17F2B9 /* STDSTextChallengeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSTextChallengeView.h; sourceTree = ""; }; + 83838563F29179FB1E9F2E66 /* cartes-bancaires.der */ = {isa = PBXFileReference; path = "cartes-bancaires.der"; sourceTree = ""; }; + 83BDD516620860DC08B36B96 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 84967ED0D9B206B3F5AA4F02 /* STDSProgressViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSProgressViewController.m; sourceTree = ""; }; + 853A361AB630A2BD402D1B47 /* STDSInvalidInputException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSInvalidInputException.h; sourceTree = ""; }; + 869733153BCA6BE2EB7A452F /* UIColor+DefaultColors.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIColor+DefaultColors.m"; sourceTree = ""; }; + 89B5ED899439D1C1054CB448 /* STDSConfigParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSConfigParameters.m; sourceTree = ""; }; + 89ED2133B61092FE1B478204 /* STDSChallengeParametersTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeParametersTests.m; sourceTree = ""; }; + 8A6035A8211B3D50D10EB947 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + 8A9F5C315222AFCD14C9342F /* STDSTransaction+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSTransaction+Private.h"; sourceTree = ""; }; + 8AC648332A706809F1BDFD59 /* STDSThreeDSProtocolVersion.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSThreeDSProtocolVersion.m; sourceTree = ""; }; + 8B0F0485B7048DDAA7DA8F9B /* UIView+LayoutSupport.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIView+LayoutSupport.m"; sourceTree = ""; }; + 8B59CC3349FD9BBF37624667 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 8B8D429F1C03603DB218700F /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + 8C6D262891811FB3FE0C947E /* CRes.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = CRes.json; sourceTree = ""; }; + 8F72413F99F8E50FD0FA085D /* UIViewController+Stripe3DS2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Stripe3DS2.h"; sourceTree = ""; }; + 939C45AE068CF4F5BEB4C138 /* STDSExpandableInformationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSExpandableInformationView.h; sourceTree = ""; }; + 947935869E5A08E35FA11E13 /* amex-logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "amex-logo@3x.png"; sourceTree = ""; }; + 94943BEAB94E949AF9830EFA /* STDSJailbreakChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSJailbreakChecker.h; sourceTree = ""; }; + 95641ECBE1AE1CC198013405 /* STDSProcessingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSProcessingView.h; sourceTree = ""; }; + 9564F43EF7CF4F60C3C202CD /* STDSBundleLocator.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSBundleLocator.m; sourceTree = ""; }; + 9580A82A59EB2B0103EDF47A /* STDSDeviceInformationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformationManager.m; sourceTree = ""; }; + 969DE2FA3845BB7939D3CD2E /* STDSAuthenticationRequestParametersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAuthenticationRequestParametersTest.m; sourceTree = ""; }; + 97163B5E9598CA3A298920B9 /* STDSTextFieldCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTextFieldCustomization.m; sourceTree = ""; }; + 97505E93BE83F233E69BB5A9 /* STDSJSONWebEncryptionTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONWebEncryptionTests.m; sourceTree = ""; }; + 9754FA4F3CC6AA921787916B /* STDSDirectoryServerCertificate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDirectoryServerCertificate.m; sourceTree = ""; }; + 99392D3F702EC6BF7CE15291 /* STDSJSONWebEncryption.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONWebEncryption.m; sourceTree = ""; }; + 99451064136843047C7881AD /* UIViewController+Stripe3DS2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Stripe3DS2.m"; sourceTree = ""; }; + 9946D28A86E85A6C84EB6C7B /* STDSSwiftTryCatch.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSwiftTryCatch.m; sourceTree = ""; }; + 99CB2B66DBD356B5D222EDA9 /* UIView+LayoutSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIView+LayoutSupport.h"; sourceTree = ""; }; + 99DB24A9B44979EA19347A76 /* STDSChallengeResponseObject+TestObjects.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "STDSChallengeResponseObject+TestObjects.m"; sourceTree = ""; }; + 9A8B0001705400C661678617 /* UIColor+ThirteenSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIColor+ThirteenSupport.h"; sourceTree = ""; }; + 9F4376BB07FD1EE783249AED /* STDSStripe3DS2Error.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSStripe3DS2Error.m; sourceTree = ""; }; + 9F5C194C81AF1F5578698A27 /* STDSChallengeResponseObject+TestObjects.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSChallengeResponseObject+TestObjects.h"; sourceTree = ""; }; + A09A89BBE7360F93195641C9 /* STDSImageLoader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSImageLoader.m; sourceTree = ""; }; + A0ADFB365AD2DE9E84873BB1 /* STDSSimulatorChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSimulatorChecker.h; sourceTree = ""; }; + A137A31BEFCCB646FB754EE2 /* STDSBundleLocator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSBundleLocator.h; sourceTree = ""; }; + A1BFB8640032796CDA016765 /* STDSConfigParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSConfigParameters.h; sourceTree = ""; }; + A1DC6B47C06B522B22EB19FF /* STDSJSONWebSignature.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONWebSignature.m; sourceTree = ""; }; + A3DFB001DB5BA7F1AFA7353A /* STDSIPAddress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSIPAddress.h; sourceTree = ""; }; + A4050F381183D6FDCC990D01 /* STDSDeviceInformationManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformationManagerTests.m; sourceTree = ""; }; + A4620559FBB8A42E15044E32 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + A4A3CCBE9A2E8C1A73D8214E /* STDSTransactionTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSTransactionTest.m; sourceTree = ""; }; + A4D460893CB5DDE52AA0AB85 /* STDSChallengeSelectionView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeSelectionView.m; sourceTree = ""; }; + A502CCC5190F6B642EEC0CE6 /* STDSWarning.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSWarning.m; sourceTree = ""; }; + A55B2474CD1A39D70869B75B /* STDSUICustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSUICustomization.m; sourceTree = ""; }; + A5DBDDEB5C5DAE2EA8C95CC3 /* STDSSynchronousLocationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSynchronousLocationManager.m; sourceTree = ""; }; + A6778F8CE36F769DF608F932 /* NSError+Stripe3DS2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSError+Stripe3DS2.h"; sourceTree = ""; }; + A70071543985284E0D9DAC64 /* visa.der */ = {isa = PBXFileReference; path = visa.der; sourceTree = ""; }; + A8A77DB1C711B8696B2E5FEF /* NSString+EmptyChecking.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+EmptyChecking.h"; sourceTree = ""; }; + A8E62EC973FC5C9905A40CA8 /* STDSCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSCustomization.m; sourceTree = ""; }; + A9CD7EC589C5CC6CE5CF9310 /* Stripe3DS2-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe3DS2-Debug.xcconfig"; sourceTree = ""; }; + AA29B74DD3963B1205AA1C0C /* UIButton+CustomInitialization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIButton+CustomInitialization.m"; sourceTree = ""; }; + AA85BC717C46C1B95AF8C1E3 /* STDSWebView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSWebView.m; sourceTree = ""; }; + AA8A113E655E23381CB3BDA4 /* Stripe3DS2DemoUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Stripe3DS2DemoUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + AA8BE982004398CF8AAA7D1E /* STDSChallengeResponseMessageExtension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseMessageExtension.h; sourceTree = ""; }; + AB871F64FC72EBC7A91F96C1 /* STDSAuthenticationRequestParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSAuthenticationRequestParameters.m; sourceTree = ""; }; + AE1BBF3A441B1F782B766F61 /* STDSExpandableInformationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSExpandableInformationView.m; sourceTree = ""; }; + AE53BAA72835AFA3B35C58D3 /* STDSStripe3DS2Error.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSStripe3DS2Error.h; sourceTree = ""; }; + AF389752CCEB6FA734AAE31E /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + AFF187D1D58405C736474042 /* STDSCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSCustomization.h; sourceTree = ""; }; + B015B937DD3657D62C61CE58 /* STDSDirectoryServerCertificate+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "STDSDirectoryServerCertificate+Internal.h"; sourceTree = ""; }; + B064352BB2876CA7266C410A /* STDSChallengeResponseViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseViewController.m; sourceTree = ""; }; + B1A7D41498B79E35BD724681 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + B219360BFB325779485BF702 /* STDSJSONDecodable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSJSONDecodable.h; sourceTree = ""; }; + B458FCA7DFDBF75E62A43BA1 /* STDSSelectionButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSelectionButton.m; sourceTree = ""; }; + B6275E7099E55F0C04688890 /* ul-test.der */ = {isa = PBXFileReference; path = "ul-test.der"; sourceTree = ""; }; + B71A1C110DCC23A9CE929837 /* STDSException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSException.h; sourceTree = ""; }; + B7A75140FB62A71261CAF5EC /* STDSChallengeStatusReceiver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeStatusReceiver.h; sourceTree = ""; }; + B7AE3B4732D203134FE096FE /* STDSStackView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSStackView.h; sourceTree = ""; }; + B7BD1E24EA9427121E148DFC /* STDSNotInitializedException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSNotInitializedException.m; sourceTree = ""; }; + B8619CA38E2A5B49DBF8546B /* STDSRuntimeException.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSRuntimeException.h; sourceTree = ""; }; + B97D91CB54F48F64CAC9E378 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + BA96C9FFA48B85F9C42E8C68 /* STDSFooterCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSFooterCustomization.h; sourceTree = ""; }; + BAAC56EDE0AAD2E50E02E9AE /* STDSChallengeResponseMessageExtensionObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseMessageExtensionObject.h; sourceTree = ""; }; + BB065D6900E95C5E90864C16 /* STDSIntegrityChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSIntegrityChecker.m; sourceTree = ""; }; + BC3EE020DC9358FF56389BBE /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + BD94CAE01A17E083E5617E56 /* STDSButtonCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSButtonCustomization.h; sourceTree = ""; }; + BF80634E06E8D6F598CFC667 /* STDSEphemeralKeyPairTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSEphemeralKeyPairTests.m; sourceTree = ""; }; + C02DF839637771684BC57B3A /* STDSIntegrityChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSIntegrityChecker.h; sourceTree = ""; }; + C12AE31D386D4A193C00004B /* STDSSynchronousLocationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSynchronousLocationManager.h; sourceTree = ""; }; + C29F78CC37253B0D33FF86F2 /* STDSDebuggerChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDebuggerChecker.m; sourceTree = ""; }; + C4777F15603AC755362BD846 /* STDSSelectionButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSelectionButton.h; sourceTree = ""; }; + C566D6E444FCA4BCEC65F3D2 /* NSDictionary+DecodingHelpers.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+DecodingHelpers.m"; sourceTree = ""; }; + C78AA1D7AD2BAB52EE58D078 /* NSDictionary+DecodingHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+DecodingHelpers.h"; sourceTree = ""; }; + C7F1C55E51129933B02576E7 /* visa-white-logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "visa-white-logo@3x.png"; sourceTree = ""; }; + C893FD867C964775E68AE85F /* STDSChallengeInformationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeInformationView.h; sourceTree = ""; }; + C8F0E11AA6794BFB1715685E /* STDSSecTypeUtilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSecTypeUtilities.h; sourceTree = ""; }; + C91B239583899192C7B26FCF /* STDSAuthenticationRequestParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSAuthenticationRequestParameters.h; sourceTree = ""; }; + CB00E968CF4DD07FB8BF2AAA /* STDSIPAddress.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSIPAddress.m; sourceTree = ""; }; + CB3154597040B803ADE14F9E /* STDSUICustomizationTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSUICustomizationTests.m; sourceTree = ""; }; + CD33421F13A675DCFE597FFB /* STDSRuntimeException.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSRuntimeException.m; sourceTree = ""; }; + CE4030C50383B488C97F4B56 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CECC1E22D0F0336039B435DE /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + CF3DED43BD4E0226BFB0759D /* STDSSecTypeUtilities.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSecTypeUtilities.m; sourceTree = ""; }; + D03B98D5861739833B197D8F /* STDSChallengeParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeParameters.h; sourceTree = ""; }; + D046CA7EEDE0571C74AB64D0 /* STDSCategoryLinker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSCategoryLinker.m; sourceTree = ""; }; + D122FAE093BC4F649CC6E7AB /* STDSDebuggerChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSDebuggerChecker.h; sourceTree = ""; }; + D24777EE9931075405F370DB /* STDSChallengeInformationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeInformationView.m; sourceTree = ""; }; + D3F5A6D5A680F008C00A2D69 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + D7A9D36FEF7E97CF735D82B8 /* Stripe3DS2DemoUITests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe3DS2DemoUITests-Release.xcconfig"; sourceTree = ""; }; + D827473D1858B2BED85BDFA1 /* STDSACSNetworkingManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSACSNetworkingManager.h; sourceTree = ""; }; + D8B7EE0F935EF44EB2EF7D45 /* amex.der */ = {isa = PBXFileReference; path = amex.der; sourceTree = ""; }; + D8D309E4FBE7E73D0BB83BF5 /* NSString+EmptyChecking.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+EmptyChecking.m"; sourceTree = ""; }; + DE7D85369E012B15702D8DF9 /* STDSRuntimeErrorEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSRuntimeErrorEvent.h; sourceTree = ""; }; + E0949399E96663964091C0EF /* NSLayoutConstraint+LayoutSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSLayoutConstraint+LayoutSupport.h"; sourceTree = ""; }; + E12798864D5CFFB7157D4CF5 /* ErrorMessage.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = ErrorMessage.json; sourceTree = ""; }; + E1630D876436E43547FF69CE /* STDSNavigationBarCustomization.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSNavigationBarCustomization.h; sourceTree = ""; }; + E45303DCFFDC390971E6E122 /* STDSChallengeResponseViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseViewController.h; sourceTree = ""; }; + E4C668442518B446D573AD24 /* STDSJSONWebSignatureTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSJSONWebSignatureTests.m; sourceTree = ""; }; + E5BC34A661D9080A2EE239F8 /* STDSSwiftTryCatch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSSwiftTryCatch.h; sourceTree = ""; }; + E629F85B783E42244E37DFA9 /* STDSProgressViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSProgressViewController.h; sourceTree = ""; }; + E64C700DED163CB77DCDEA78 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + E6A3C5D4C46E681B7D76B2BA /* STDSJSONEncodable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSJSONEncodable.h; sourceTree = ""; }; + E9F1A5A8E5922748A9BEC724 /* STDSNavigationBarCustomization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSNavigationBarCustomization.m; sourceTree = ""; }; + EB1BDF12DBD6264C6199FFA7 /* STDSChallengeResponseObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeResponseObject.h; sourceTree = ""; }; + EB910E98EDD6D3E00802793C /* STDSChallengeSelectionView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSChallengeSelectionView.h; sourceTree = ""; }; + ECC649704CDDA50E73DB3C10 /* STDSImageLoader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSImageLoader.h; sourceTree = ""; }; + EF5219762616ACF204F08C19 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + F02456AB660E709F332C0C7D /* STDSSynchronousLocationManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSSynchronousLocationManagerTests.m; sourceTree = ""; }; + F046DE266BAAE3DA0AC43785 /* STDSChallengeResponseSelectionInfoObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSChallengeResponseSelectionInfoObject.m; sourceTree = ""; }; + F112967E9FE8EE02FFFDC313 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + F139E48FDEFD921FF410892F /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + F2BC7014D26158AC9D74CC67 /* Stripe3DS2Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe3DS2Tests-Debug.xcconfig"; sourceTree = ""; }; + F363439353A6DD554FC44AC2 /* STDSOSVersionChecker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSOSVersionChecker.m; sourceTree = ""; }; + F40CC91AA69F5296B0AA985C /* STDSTransaction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSTransaction.h; sourceTree = ""; }; + F4D6DB90E3D01495C1F9BFE9 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + F5686FB8EFA3AE3B39F85BBC /* Stripe3DS2Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe3DS2Tests-Release.xcconfig"; sourceTree = ""; }; + F86F34D1339F7467D0FDAC75 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + F8F6FFED1A0966A49B78F252 /* Stripe3DS2-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Stripe3DS2-Release.xcconfig"; sourceTree = ""; }; + F99B290CF2B4987A4CFE5DCE /* NSLayoutConstraint+LayoutSupport.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSLayoutConstraint+LayoutSupport.m"; sourceTree = ""; }; + F9C39A42ECBA58571EFA03C5 /* STDSBrandingView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSBrandingView.m; sourceTree = ""; }; + F9D521B45783D36C8E83F0EA /* STDSEphemeralKeyPair.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSEphemeralKeyPair.m; sourceTree = ""; }; + FAE7026135B5049B732CEDEB /* STDSOSVersionChecker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = STDSOSVersionChecker.h; sourceTree = ""; }; + FC52C3C844BDA981EE34BAB9 /* STDSDeviceInformationParameterTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = STDSDeviceInformationParameterTests.m; sourceTree = ""; }; + FE1DE9D978E6E682CB094128 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 36DDBE9D21EFEE9700CB47C9 /* Frameworks */ = { + 16B0A41D6C0F157DDF229397 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C2BA2E6ABDD8E80963FFC671 /* XCTest.framework in Frameworks */, + 4D73C2FBAC9B96ECB45BDC94 /* Stripe3DS2.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 36DDBEA621EFEE9700CB47C9 /* Frameworks */ = { + 8ECF69FED0DDA991C821CF6A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 31EFEE3A258AE53F0069BC5F /* Stripe3DS2.framework in Frameworks */, + 1469551DB874336B68F6C39D /* Stripe3DS2.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7B66B445224D520400E256EE /* Frameworks */ = { + A56B40D43D552FDE77670CB5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7B66B459224D53E900E256EE /* Stripe3DS2.framework in Frameworks */, - A20FCD3FE282675D8187FC3E /* Pods_Stripe3DS2DemoUITests.framework in Frameworks */, + BF06B99FECD98C26F7B64665 /* XCTest.framework in Frameworks */, + A8A86B9BCE9702D74E0D2DB6 /* Stripe3DS2.framework in Frameworks */, + 3C6D16D8E7B5BC865D956A0B /* iOSSnapshotTestCase in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7BECCAA522270BF9003852FF /* Frameworks */ = { + C65BFA70E847549921E39F4E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7B66B43F224D4F3300E256EE /* Stripe3DS2.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 3135270C25A55A0200DDBA74 /* Images */ = { - isa = PBXGroup; - children = ( - 36C4CBEA2683E59900B43289 /* cartes-bancaires-logo.png */, - 3135270D25A55A0200DDBA74 /* error@3x.png */, - 3135270E25A55A0200DDBA74 /* mastercard-logo@3x.png */, - 3135270F25A55A0200DDBA74 /* visa-white-logo@3x.png */, - 3135271025A55A0200DDBA74 /* discover-logo.png */, - 3135271125A55A0200DDBA74 /* Chevron@3x.png */, - 3135271225A55A0200DDBA74 /* visa-logo@3x.png */, - 3135271325A55A0200DDBA74 /* amex-logo@3x.png */, - ); - name = Images; - path = Resources/Images; - sourceTree = ""; - }; - 31EFEDEE258AE3300069BC5F /* Stripe3DS2Resources */ = { - isa = PBXGroup; - children = ( - 31EFEDEF258AE3310069BC5F /* Info.plist */, - ); - path = Stripe3DS2Resources; - sourceTree = ""; - }; - 362FAB7E21FA471800A7F82D /* DeviceInformation */ = { - isa = PBXGroup; - children = ( - 36FE29812249A3730015BD0C /* STDSDeviceInformation.h */, - 36FE29822249A3730015BD0C /* STDSDeviceInformation.m */, - 3612A6D421F8FC7700CBECC6 /* STDSDeviceInformationManager.h */, - 3612A6D521F8FC7700CBECC6 /* STDSDeviceInformationManager.m */, - 3612A6D821F8FCF900CBECC6 /* STDSDeviceInformationParameter.h */, - 3612A6D921F8FCF900CBECC6 /* STDSDeviceInformationParameter.m */, - 362FAB7C21F9287100A7F82D /* STDSDeviceInformationParameter+Private.h */, - ); - name = DeviceInformation; - sourceTree = ""; - }; - 362FD33622D5629A003455F0 /* Resources */ = { - isa = PBXGroup; - children = ( - 362FD33B22D562B4003455F0 /* Localizable.strings */, - 362FD34C22D56651003455F0 /* STDSLocalizedString.h */, - ); - path = Resources; - sourceTree = ""; - }; - 36514CBC21F7CA2400CBC619 /* Public */ = { - isa = PBXGroup; - children = ( - 36514CCB21F7D26B00CBC619 /* Exceptions */, - B616CE8222444BF1003FC60C /* STDSAuthenticationRequestParameters.h */, - B616CE8322444BF1003FC60C /* STDSAuthenticationRequestParameters.m */, - 36EE220A2214EA9200CD4A78 /* STDSAuthenticationResponse.h */, - 36EE22062214E8E800CD4A78 /* STDSChallengeParameters.h */, - 36EE22072214E8E800CD4A78 /* STDSChallengeParameters.m */, - B616CE7022430237003FC60C /* STDSChallengeStatusReceiver.h */, - B6C9BCE02242D7DB00409475 /* STDSCompletionEvent.h */, - B6C9BCE12242D7DB00409475 /* STDSCompletionEvent.m */, - 36514CC121F7D16D00CBC619 /* STDSConfigParameters.h */, - 36514CC221F7D16D00CBC619 /* STDSConfigParameters.m */, - B616CE7922442C60003FC60C /* STDSErrorMessage.h */, - B616CE7A22442C60003FC60C /* STDSErrorMessage.m */, - B679004B224C066800DD9F18 /* STDSJSONDecodable.h */, - B6CAFFA922495547009CD1B0 /* STDSJSONEncodable.h */, - B679004222498B4B00DD9F18 /* STDSJSONEncoder.h */, - B679004322498B4B00DD9F18 /* STDSJSONEncoder.m */, - B616CE7422431FA7003FC60C /* STDSProtocolErrorEvent.h */, - B616CE7522431FA7003FC60C /* STDSProtocolErrorEvent.m */, - B616CE6C22430005003FC60C /* STDSRuntimeErrorEvent.h */, - B616CE6D22430005003FC60C /* STDSRuntimeErrorEvent.m */, - B6790058224C386500DD9F18 /* STDSStripe3DS2Error.h */, - B6790059224C386500DD9F18 /* STDSStripe3DS2Error.m */, - 36514CBD21F7CA9C00CBC619 /* STDSThreeDS2Service.h */, - 36514CBE21F7CA9C00CBC619 /* STDSThreeDS2Service.m */, - 3604008722C57878004CF80B /* STDSThreeDSProtocolVersion.h */, - B616CE7D2244452F003FC60C /* STDSTransaction.h */, - B616CE7E2244452F003FC60C /* STDSTransaction.m */, - 3612CE042213549900A84993 /* STDSWarning.h */, - 3612CE052213549900A84993 /* STDSWarning.m */, - 7B05BA37225E76DE00071A59 /* Stripe3DS2-Bridging-Header.h */, - 7BF9D860223B4737001EA73F /* UI Customization */, - 3610A48824492513004EE443 /* Stripe3DS2-Prefix.pch */, - ); - name = Public; - sourceTree = ""; - }; - 36514CCB21F7D26B00CBC619 /* Exceptions */ = { - isa = PBXGroup; - children = ( - 36514CD021F7D41F00CBC619 /* STDSAlreadyInitializedException.h */, - 36514CD121F7D41F00CBC619 /* STDSAlreadyInitializedException.m */, - 36514CDE21F7E47800CBC619 /* STDSException.h */, - 36514CDF21F7E47800CBC619 /* STDSException.m */, - 36514CCC21F7D3DC00CBC619 /* STDSInvalidInputException.h */, - 36514CCD21F7D3DC00CBC619 /* STDSInvalidInputException.m */, - 36EE21FF2214A5D300CD4A78 /* STDSNotInitializedException.h */, - 36EE22002214A5D300CD4A78 /* STDSNotInitializedException.m */, - 36514CD421F7D43100CBC619 /* STDSRuntimeException.h */, - 36514CD521F7D43100CBC619 /* STDSRuntimeException.m */, - 36AC3D5625253FEE00F252D7 /* STDSSwiftTryCatch.h */, - 36AC3D5725253FEE00F252D7 /* STDSSwiftTryCatch.m */, - ); - name = Exceptions; - sourceTree = ""; - }; - 36514CD821F7D7BC00CBC619 /* Internal */ = { - isa = PBXGroup; - children = ( - 7BECCA292224790C003852FF /* Challenge Response */, - 362FAB7E21FA471800A7F82D /* DeviceInformation */, - 36CEAE1221FA67B500BE1190 /* DirectoryServerCertificates */, - 7BECCB04222EA80C003852FF /* Image Loading */, - 36CEAE322200E20200BE1190 /* JSONWebEncryption */, - 36CEAE2021FFC62200BE1190 /* STDSBundleLocator.h */, - 36CEAE2121FFC62200BE1190 /* STDSBundleLocator.m */, - B679004F224C088400DD9F18 /* NSDictionary+DecodingHelpers.h */, - B6790050224C088400DD9F18 /* NSDictionary+DecodingHelpers.m */, - B6790054224C2D1500DD9F18 /* NSError+Stripe3DS2.h */, - B6790055224C2D1500DD9F18 /* NSError+Stripe3DS2.m */, - 7BECCAF7222DCF3D003852FF /* NSString+EmptyChecking.h */, - 7BECCAF8222DCF3D003852FF /* NSString+EmptyChecking.m */, - 366A316722557496005705D7 /* STDSACSNetworkingManager.h */, - 366A316822557496005705D7 /* STDSACSNetworkingManager.m */, - 36546BF8229358E800D392BF /* STDSAuthenticationResponseObject.h */, - 36546BF9229358E800D392BF /* STDSAuthenticationResponseObject.m */, - 31D5DDCB2565A8A900F4FC03 /* STDSCategoryLinker.h */, - 31D5DDCC2565A8A900F4FC03 /* STDSCategoryLinker.m */, - B679006B2252905C00DD9F18 /* STDSChallengeRequestParameters.h */, - B679006C2252905C00DD9F18 /* STDSChallengeRequestParameters.m */, - 7B05BA23225BB59F00071A59 /* STDSDebuggerChecker.h */, - 7B05BA24225BB59F00071A59 /* STDSDebuggerChecker.m */, - 36F726BA22499301009AFEEA /* STDSEphemeralKeyPair.h */, - 36F726BB22499301009AFEEA /* STDSEphemeralKeyPair.m */, - 369BAD272269287600F50FCB /* STDSEphemeralKeyPair+Testing.h */, - B6DC6A15225D5E53008C9172 /* STDSErrorMessage+Internal.h */, - B6DC6A16225D5E53008C9172 /* STDSErrorMessage+Internal.m */, - 36514CD921F7D7DE00CBC619 /* STDSException+Internal.h */, - 7B05BA33225BEFE900071A59 /* STDSIntegrityChecker.h */, - 7B05BA34225BEFE900071A59 /* STDSIntegrityChecker.m */, - 3612A6DC21F908B700CBECC6 /* STDSIPAddress.h */, - 3612A6DD21F908B700CBECC6 /* STDSIPAddress.m */, - 7B05BA2F225BECCD00071A59 /* STDSJailbreakChecker.h */, - 7B05BA30225BECCD00071A59 /* STDSJailbreakChecker.m */, - 7B05BA27225BB87D00071A59 /* STDSOSVersionChecker.h */, - 7B05BA28225BB87D00071A59 /* STDSOSVersionChecker.m */, - 7B05BA2B225BE72000071A59 /* STDSSimulatorChecker.h */, - 7B05BA2C225BE72000071A59 /* STDSSimulatorChecker.m */, - 3612A6E021F9148200CBECC6 /* STDSSynchronousLocationManager.h */, - 3612A6E121F9148200CBECC6 /* STDSSynchronousLocationManager.m */, - 36F726B922498BB2009AFEEA /* STDSThreeDSProtocolVersion+Private.h */, - 3604008222C57861004CF80B /* STDSThreeDSProtocolVersion.m */, - B6CAFFA5224561CE009CD1B0 /* STDSTransaction+Private.h */, - 7BECCAD9222D8E21003852FF /* UI */, - ); - name = Internal; - sourceTree = ""; - }; - 36CEAE1221FA67B500BE1190 /* DirectoryServerCertificates */ = { + 148D1BA6A2E8B2B60CA9951F /* Stripe3DS2 */ = { isa = PBXGroup; children = ( - 36CEAE1321FA67C500BE1190 /* CertificateFiles */, - 36F726B8224988EA009AFEEA /* STDSDirectoryServer.h */, - 3624FAFE224C2FF400660581 /* STDSDirectoryServerCertificate.h */, - 3624FAFF224C2FF400660581 /* STDSDirectoryServerCertificate.m */, - 366CA1112253E40F0040DE8B /* STDSDirectoryServerCertificate+Internal.h */, - 36CEAE1A21FFAFBA00BE1190 /* STDSSecTypeUtilities.h */, - 36CEAE1B21FFAFBA00BE1190 /* STDSSecTypeUtilities.m */, + E4F3BE80D5F61EAC1694F954 /* include */, + A3DDF4E193616FA951B1B120 /* Resources */, + 5D93713CADD5589B5E6F6A0D /* Info.plist */, + 5B05A609753EE71502409082 /* NSData+JWEHelpers.h */, + 1FC15225A5E83948EF546B71 /* NSData+JWEHelpers.m */, + C78AA1D7AD2BAB52EE58D078 /* NSDictionary+DecodingHelpers.h */, + C566D6E444FCA4BCEC65F3D2 /* NSDictionary+DecodingHelpers.m */, + A6778F8CE36F769DF608F932 /* NSError+Stripe3DS2.h */, + 26C20D4B77372845627D6466 /* NSError+Stripe3DS2.m */, + E0949399E96663964091C0EF /* NSLayoutConstraint+LayoutSupport.h */, + F99B290CF2B4987A4CFE5DCE /* NSLayoutConstraint+LayoutSupport.m */, + A8A77DB1C711B8696B2E5FEF /* NSString+EmptyChecking.h */, + D8D309E4FBE7E73D0BB83BF5 /* NSString+EmptyChecking.m */, + 018F4AA25D84E9CBD2546BB5 /* NSString+JWEHelpers.h */, + 43CB8F416E4F4CEA34391481 /* NSString+JWEHelpers.m */, + D827473D1858B2BED85BDFA1 /* STDSACSNetworkingManager.h */, + 2D6004F2D9880055C0C0BCF1 /* STDSACSNetworkingManager.m */, + 138E82072FC6572612A8E248 /* STDSAuthenticationResponseObject.h */, + 5043E1CF6955176EC3D43F88 /* STDSAuthenticationResponseObject.m */, + 2CFAC8D74AFFC2E61BAD82A5 /* STDSBrandingView.h */, + F9C39A42ECBA58571EFA03C5 /* STDSBrandingView.m */, + A137A31BEFCCB646FB754EE2 /* STDSBundleLocator.h */, + 9564F43EF7CF4F60C3C202CD /* STDSBundleLocator.m */, + 74147E01D0E2A62B0F374401 /* STDSCategoryLinker.h */, + D046CA7EEDE0571C74AB64D0 /* STDSCategoryLinker.m */, + C893FD867C964775E68AE85F /* STDSChallengeInformationView.h */, + D24777EE9931075405F370DB /* STDSChallengeInformationView.m */, + 762DEC6662DF8240FE19CFFC /* STDSChallengeRequestParameters.h */, + 60693BC560C4927ACFD2E6C3 /* STDSChallengeRequestParameters.m */, + 315AEE1534F9D9974DC1674B /* STDSChallengeResponse.h */, + 10C45EE3433B731253E21E24 /* STDSChallengeResponseImage.h */, + 14F83E51E99D453DF9C2DDE1 /* STDSChallengeResponseImageObject.h */, + 3A9F828840A3B361842E38DE /* STDSChallengeResponseImageObject.m */, + AA8BE982004398CF8AAA7D1E /* STDSChallengeResponseMessageExtension.h */, + BAAC56EDE0AAD2E50E02E9AE /* STDSChallengeResponseMessageExtensionObject.h */, + 7D02FAFC403BC901931A629F /* STDSChallengeResponseMessageExtensionObject.m */, + EB1BDF12DBD6264C6199FFA7 /* STDSChallengeResponseObject.h */, + 24CE086326AF3DE336BF4F4C /* STDSChallengeResponseObject.m */, + 52EEBC7D74623E1A1D7E3219 /* STDSChallengeResponseSelectionInfo.h */, + 4CCA15E0819F9A9D89FEF9EA /* STDSChallengeResponseSelectionInfoObject.h */, + F046DE266BAAE3DA0AC43785 /* STDSChallengeResponseSelectionInfoObject.m */, + E45303DCFFDC390971E6E122 /* STDSChallengeResponseViewController.h */, + B064352BB2876CA7266C410A /* STDSChallengeResponseViewController.m */, + EB910E98EDD6D3E00802793C /* STDSChallengeSelectionView.h */, + A4D460893CB5DDE52AA0AB85 /* STDSChallengeSelectionView.m */, + D122FAE093BC4F649CC6E7AB /* STDSDebuggerChecker.h */, + C29F78CC37253B0D33FF86F2 /* STDSDebuggerChecker.m */, + 1FBE88F6E2C3153A8315EDC6 /* STDSDeviceInformation.h */, + 56B1A52548593FE78D801734 /* STDSDeviceInformation.m */, + 7A637DA708BC866C2903E0EA /* STDSDeviceInformationManager.h */, + 9580A82A59EB2B0103EDF47A /* STDSDeviceInformationManager.m */, + 172AF5C85EDBD92A1030E361 /* STDSDeviceInformationParameter.h */, + 25C7D18868DDADEF4CB6220C /* STDSDeviceInformationParameter.m */, + 4869D6E14F01EDB960CB3065 /* STDSDeviceInformationParameter+Private.h */, + 6AA43E7E90E4002DD56B7C3D /* STDSDirectoryServer.h */, + 069990DA025BE9F33602E96A /* STDSDirectoryServerCertificate.h */, + 9754FA4F3CC6AA921787916B /* STDSDirectoryServerCertificate.m */, + B015B937DD3657D62C61CE58 /* STDSDirectoryServerCertificate+Internal.h */, + 5049A72A6BEB558D8559A5EB /* STDSEllipticCurvePoint.h */, + 2EF5AA537586EF706E4056FD /* STDSEllipticCurvePoint.m */, + 20533E2C69C4B80BB33A4766 /* STDSEphemeralKeyPair.h */, + F9D521B45783D36C8E83F0EA /* STDSEphemeralKeyPair.m */, + 52D6E4F76CBA258163E57DF3 /* STDSEphemeralKeyPair+Testing.h */, + 5463EB1CC8E85BE3BD12DEFF /* STDSErrorMessage+Internal.h */, + 2CB591796654445B8434A501 /* STDSErrorMessage+Internal.m */, + 461F938CDE7ED6D06D9D2700 /* STDSException+Internal.h */, + 939C45AE068CF4F5BEB4C138 /* STDSExpandableInformationView.h */, + AE1BBF3A441B1F782B766F61 /* STDSExpandableInformationView.m */, + ECC649704CDDA50E73DB3C10 /* STDSImageLoader.h */, + A09A89BBE7360F93195641C9 /* STDSImageLoader.m */, + C02DF839637771684BC57B3A /* STDSIntegrityChecker.h */, + BB065D6900E95C5E90864C16 /* STDSIntegrityChecker.m */, + A3DFB001DB5BA7F1AFA7353A /* STDSIPAddress.h */, + CB00E968CF4DD07FB8BF2AAA /* STDSIPAddress.m */, + 94943BEAB94E949AF9830EFA /* STDSJailbreakChecker.h */, + 1BFBB92DBE97E16DE9D18B4A /* STDSJailbreakChecker.m */, + 76EA9DF8572C992E30BCF8A3 /* STDSJSONWebEncryption.h */, + 99392D3F702EC6BF7CE15291 /* STDSJSONWebEncryption.m */, + 3AA2E6DA60350400C5270E08 /* STDSJSONWebSignature.h */, + A1DC6B47C06B522B22EB19FF /* STDSJSONWebSignature.m */, + 41E0F638E776A7F3456BDA3E /* STDSLocalizedString.h */, + FAE7026135B5049B732CEDEB /* STDSOSVersionChecker.h */, + F363439353A6DD554FC44AC2 /* STDSOSVersionChecker.m */, + 95641ECBE1AE1CC198013405 /* STDSProcessingView.h */, + 7AC1C5F6F1311F50D9C37291 /* STDSProcessingView.m */, + E629F85B783E42244E37DFA9 /* STDSProgressViewController.h */, + 84967ED0D9B206B3F5AA4F02 /* STDSProgressViewController.m */, + C8F0E11AA6794BFB1715685E /* STDSSecTypeUtilities.h */, + CF3DED43BD4E0226BFB0759D /* STDSSecTypeUtilities.m */, + C4777F15603AC755362BD846 /* STDSSelectionButton.h */, + B458FCA7DFDBF75E62A43BA1 /* STDSSelectionButton.m */, + A0ADFB365AD2DE9E84873BB1 /* STDSSimulatorChecker.h */, + 14D60BDF245487FE3362BE07 /* STDSSimulatorChecker.m */, + 72DBE992B33F45C059EDB597 /* STDSSpacerView.h */, + 51E4A57094A671EB14380882 /* STDSSpacerView.m */, + B7AE3B4732D203134FE096FE /* STDSStackView.h */, + 1D6269F8B91341C387A911DB /* STDSStackView.m */, + C12AE31D386D4A193C00004B /* STDSSynchronousLocationManager.h */, + A5DBDDEB5C5DAE2EA8C95CC3 /* STDSSynchronousLocationManager.m */, + 82C41E6DC2CC247ECC17F2B9 /* STDSTextChallengeView.h */, + 04E6B6D3CAE363114723472F /* STDSTextChallengeView.m */, + 8AC648332A706809F1BDFD59 /* STDSThreeDSProtocolVersion.m */, + 47C29E9F3D2A62676B424CD1 /* STDSThreeDSProtocolVersion+Private.h */, + 8A9F5C315222AFCD14C9342F /* STDSTransaction+Private.h */, + 581EEE576D24047004C828DF /* STDSWebView.h */, + AA85BC717C46C1B95AF8C1E3 /* STDSWebView.m */, + 33CEADC8006E456FD82CE134 /* STDSWhitelistView.h */, + 615F1BD510661B38D6825128 /* STDSWhitelistView.m */, + 0F024DEAD6628A0229856656 /* Stripe3DS2-Bridging-Header.h */, + 4DD55BECC3FB85216FE46218 /* UIButton+CustomInitialization.h */, + AA29B74DD3963B1205AA1C0C /* UIButton+CustomInitialization.m */, + 4A567E08748C86FCE2A75FEA /* UIColor+DefaultColors.h */, + 869733153BCA6BE2EB7A452F /* UIColor+DefaultColors.m */, + 9A8B0001705400C661678617 /* UIColor+ThirteenSupport.h */, + 37ED28756222539D37554CC7 /* UIColor+ThirteenSupport.m */, + 1E844798B2733C8511AC080E /* UIFont+DefaultFonts.h */, + 634095EA97A4E48BF7CAA03F /* UIFont+DefaultFonts.m */, + 99CB2B66DBD356B5D222EDA9 /* UIView+LayoutSupport.h */, + 8B0F0485B7048DDAA7DA8F9B /* UIView+LayoutSupport.m */, + 8F72413F99F8E50FD0FA085D /* UIViewController+Stripe3DS2.h */, + 99451064136843047C7881AD /* UIViewController+Stripe3DS2.m */, ); - name = DirectoryServerCertificates; + path = Stripe3DS2; sourceTree = ""; }; - 36CEAE1321FA67C500BE1190 /* CertificateFiles */ = { + 18B6E1F5666C797A11E2BE03 = { isa = PBXGroup; children = ( - 36C4CBEC2683E78400B43289 /* cartes-bancaires.der */, - 362FD36422D690EF003455F0 /* amex.der */, - 362FD36222D690EF003455F0 /* discover.der */, - 366BB2132245652800AF577B /* ec_test.der */, - 362FD36322D690EF003455F0 /* mastercard.der */, - 36CEAE2421FFCBA600BE1190 /* ul-test.der */, - 362FD36122D690EF003455F0 /* visa.der */, + EB6FA022FDF5831C6D162E11 /* Project */, + 280289821F799A8274082E14 /* Frameworks */, + 398BBCD5E4B06CA5006CCC40 /* Products */, ); - name = CertificateFiles; - path = Resources/CertificateFiles; sourceTree = ""; }; - 36CEAE322200E20200BE1190 /* JSONWebEncryption */ = { + 20B0FECAB4F18569649603E9 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 36CEAE2A2200DD5E00BE1190 /* NSData+JWEHelpers.h */, - 36CEAE2B2200DD5E00BE1190 /* NSData+JWEHelpers.m */, - 36CEAE262200DCEB00BE1190 /* NSString+JWEHelpers.h */, - 36CEAE272200DCEB00BE1190 /* NSString+JWEHelpers.m */, - 366BB20F224301AB00AF577B /* STDSEllipticCurvePoint.h */, - 366BB210224301AB00AF577B /* STDSEllipticCurvePoint.m */, - 36CEAE0E21FA62C200BE1190 /* STDSJSONWebEncryption.h */, - 36CEAE0F21FA62C200BE1190 /* STDSJSONWebEncryption.m */, - 366CA10D2253DA5E0040DE8B /* STDSJSONWebSignature.h */, - 366CA10E2253DA5E0040DE8B /* STDSJSONWebSignature.m */, - ); - name = JSONWebEncryption; + 3A8CD68A006F970DDC54469A /* Project-Debug.xcconfig */, + 4DB91F58CF23E72636C69C41 /* Project-Release.xcconfig */, + A9CD7EC589C5CC6CE5CF9310 /* Stripe3DS2-Debug.xcconfig */, + F8F6FFED1A0966A49B78F252 /* Stripe3DS2-Release.xcconfig */, + 5316D0759F7F2ED0BF1D3B2E /* Stripe3DS2DemoUI-Debug.xcconfig */, + 6940D75CA36F7DB9FB56196B /* Stripe3DS2DemoUI-Release.xcconfig */, + 0E3C05BE55CF3086738AA182 /* Stripe3DS2DemoUITests-Debug.xcconfig */, + D7A9D36FEF7E97CF735D82B8 /* Stripe3DS2DemoUITests-Release.xcconfig */, + F2BC7014D26158AC9D74CC67 /* Stripe3DS2Tests-Debug.xcconfig */, + F5686FB8EFA3AE3B39F85BBC /* Stripe3DS2Tests-Release.xcconfig */, + ); + path = BuildConfigurations; sourceTree = ""; }; - 36DDBE9621EFEE9700CB47C9 = { + 280289821F799A8274082E14 /* Frameworks */ = { isa = PBXGroup; children = ( - 36DDBEA221EFEE9700CB47C9 /* Stripe3DS2 */, - 36DDBEAD21EFEE9700CB47C9 /* Stripe3DS2Tests */, - 7BECCAA922270BF9003852FF /* Stripe3DS2DemoUI */, - 7B66B454224D522300E256EE /* Stripe3DS2DemoUITests */, - 31EFEDEE258AE3300069BC5F /* Stripe3DS2Resources */, - 36DDBEA121EFEE9700CB47C9 /* Products */, - 7BECCAF0222D9C8F003852FF /* Frameworks */, - AD26A1961CEC2352E61BCAE8 /* Pods */, + 08D577934984712C20C5E903 /* XCTest.framework */, ); + name = Frameworks; sourceTree = ""; }; - 36DDBEA121EFEE9700CB47C9 /* Products */ = { + 398BBCD5E4B06CA5006CCC40 /* Products */ = { isa = PBXGroup; children = ( - 36DDBEA021EFEE9700CB47C9 /* Stripe3DS2.framework */, - 36DDBEA921EFEE9700CB47C9 /* Stripe3DS2Tests.xctest */, - 7BECCAA822270BF9003852FF /* Stripe3DS2DemoUI.app */, - 7B66B448224D520400E256EE /* Stripe3DS2DemoUITests.xctest */, + CE4030C50383B488C97F4B56 /* Stripe3DS2.framework */, + 02D762271DBCC1AE80E0F9D4 /* Stripe3DS2DemoUI.app */, + AA8A113E655E23381CB3BDA4 /* Stripe3DS2DemoUITests.xctest */, + 4EB746D4E46ABD2452A154AE /* Stripe3DS2Tests.xctest */, ); name = Products; sourceTree = ""; }; - 36DDBEA221EFEE9700CB47C9 /* Stripe3DS2 */ = { + 47CD3B0E4EAA05F75DA05252 /* CertificateFiles */ = { isa = PBXGroup; children = ( - 36DDBEA421EFEE9700CB47C9 /* Info.plist */, - 36514CD821F7D7BC00CBC619 /* Internal */, - 36514CBC21F7CA2400CBC619 /* Public */, - 362FD33622D5629A003455F0 /* Resources */, - 36DDBEA321EFEE9700CB47C9 /* Stripe3DS2.h */, - ); - path = Stripe3DS2; + D8B7EE0F935EF44EB2EF7D45 /* amex.der */, + 83838563F29179FB1E9F2E66 /* cartes-bancaires.der */, + 04AB48F014A8D5BA56FEF463 /* discover.der */, + 3E4C02D9D6978AD5C3D7E3D2 /* ec_test.der */, + 1104D5855D28E49E104CA004 /* mastercard.der */, + B6275E7099E55F0C04688890 /* ul-test.der */, + A70071543985284E0D9DAC64 /* visa.der */, + ); + path = CertificateFiles; sourceTree = ""; }; - 36DDBEAD21EFEE9700CB47C9 /* Stripe3DS2Tests */ = { + 5E482DAA27888E537EBB24B1 /* Images */ = { isa = PBXGroup; children = ( - 36DDBEB021EFEE9800CB47C9 /* Info.plist */, - B6790061224ECAC800DD9F18 /* JSON */, - B679005D224D9A2C00DD9F18 /* NSDictionary+DecodingHelpersTest.m */, - 7BECCAFB222DCFF4003852FF /* NSString+EmptyCheckingTests.m */, - B6CFBF7922695094009A007B /* STDSACSNetworkingManagerTest.m */, - B67900402249893500DD9F18 /* STDSAuthenticationRequestParametersTest.m */, - 36546BF6229355C900D392BF /* STDSAuthenticationResponseTests.m */, - 366BB21522494ED500AF577B /* STDSBase64URLEncodingTests.m */, - 36B20EDC2220600C00EBD38C /* STDSChallengeParametersTests.m */, - B679006F2252A87D00DD9F18 /* STDSChallengeRequestParametersTest.m */, - B679005F224ECA3E00DD9F18 /* STDSChallengeResponseObjectTest.m */, - 36EE22042214B4C500CD4A78 /* STDSConfigParametersTests.m */, - 36CEAE0C21FA5CC300BE1190 /* STDSDeviceInformationManagerTests.m */, - 362FAB8221FA521B00A7F82D /* STDSDeviceInformationParameterTests.m */, - 3624FB02224D46CC00660581 /* STDSDirectoryServerCertificateTests.m */, - 366A316B2257FCDC005705D7 /* STDSEllipticCurvePointTests.m */, - 3624FAFB224A932B00660581 /* STDSEphemeralKeyPairTests.m */, - B6790067224EDBA300DD9F18 /* STDSErrorMessageTest.m */, - B67900462249903400DD9F18 /* STDSJSONEncoderTest.m */, - 36CEAE332200E7C500BE1190 /* STDSJSONWebEncryptionTests.m */, - 366CA1122253E61C0040DE8B /* STDSJSONWebSignatureTests.m */, - 36CEAE1E21FFC36500BE1190 /* STDSSecTypeUtilitiesTests.m */, - 36CEAE0A21FA5B9B00BE1190 /* STDSSynchronousLocationManagerTests.m */, - B6790064224ECBEC00DD9F18 /* STDSTestJSONUtils.h */, - B6790065224ECBEC00DD9F18 /* STDSTestJSONUtils.m */, - 36514CDB21F7E17500CBC619 /* STDSThreeDS2ServiceTests.m */, - B6CAFFA2224555C6009CD1B0 /* STDSTransactionTest.m */, - 7BF9D85E223AD75B001EA73F /* STDSUICustomizationTests.m */, - 3612CE082213588100A84993 /* STDSWarningTests.m */, - ); - path = Stripe3DS2Tests; + 947935869E5A08E35FA11E13 /* amex-logo@3x.png */, + 581BD6EEB19753FC873EB077 /* cartes-bancaires-logo.png */, + 41CB752E5656578F2437E247 /* Chevron@3x.png */, + 0DE0C407AFDBD26ABDBE7496 /* discover-logo.png */, + 1E3640C73D001D32CCC449F1 /* error@3x.png */, + 5862FA7E6300A2169A3CD3D7 /* mastercard-logo@3x.png */, + 34FCE3CEEDC2D23116C11DAA /* visa-logo@3x.png */, + C7F1C55E51129933B02576E7 /* visa-white-logo@3x.png */, + ); + path = Images; sourceTree = ""; }; - 7B66B454224D522300E256EE /* Stripe3DS2DemoUITests */ = { + 79E03C9F2FB6092200EE737F /* Stripe3DS2Tests */ = { isa = PBXGroup; children = ( - 7B66B455224D522300E256EE /* STDSChallengeResponseViewControllerSnapshotTests.m */, - 7B66B456224D522300E256EE /* Info.plist */, + AD446D5D3D8D07D491373E24 /* JSON */, + 23A3DDCE911F8C43CF74CDF4 /* Info.plist */, + 5EE8BF51F49E161737406B3A /* NSDictionary+DecodingHelpersTest.m */, + 57B8822D21AADE7DA51931CC /* NSString+EmptyCheckingTests.m */, + 6118F98576E9A39A7292C6C6 /* STDSACSNetworkingManagerTest.m */, + 969DE2FA3845BB7939D3CD2E /* STDSAuthenticationRequestParametersTest.m */, + 28E32DA72CAFBF2AF8099151 /* STDSAuthenticationResponseTests.m */, + 4B1E3760B1369DB1A33C9DFE /* STDSBase64URLEncodingTests.m */, + 89ED2133B61092FE1B478204 /* STDSChallengeParametersTests.m */, + 4EAD29E57D206B5D6BAF9099 /* STDSChallengeRequestParametersTest.m */, + 5E401845EE5759CCD30786AA /* STDSChallengeResponseObjectTest.m */, + 5F551808E65CDADD9B3A9CB8 /* STDSConfigParametersTests.m */, + A4050F381183D6FDCC990D01 /* STDSDeviceInformationManagerTests.m */, + FC52C3C844BDA981EE34BAB9 /* STDSDeviceInformationParameterTests.m */, + 6AA75957DD13FA92FA866AF3 /* STDSDirectoryServerCertificateTests.m */, + 0DA1EE83D91993BCAF13EC72 /* STDSEllipticCurvePointTests.m */, + BF80634E06E8D6F598CFC667 /* STDSEphemeralKeyPairTests.m */, + 278F2C40987F5218BD031E3D /* STDSErrorMessageTest.m */, + 6B9B49A5CF64DCB23CD0AEDE /* STDSJSONEncoderTest.m */, + 97505E93BE83F233E69BB5A9 /* STDSJSONWebEncryptionTests.m */, + E4C668442518B446D573AD24 /* STDSJSONWebSignatureTests.m */, + 30D22985091381DFCDF077E9 /* STDSSecTypeUtilitiesTests.m */, + F02456AB660E709F332C0C7D /* STDSSynchronousLocationManagerTests.m */, + 5FF3235EDD908CC1500399A1 /* STDSTestJSONUtils.m */, + 7FF8ACC073E814B7DEBA7647 /* STDSThreeDS2ServiceTests.m */, + A4A3CCBE9A2E8C1A73D8214E /* STDSTransactionTest.m */, + CB3154597040B803ADE14F9E /* STDSUICustomizationTests.m */, + 474F39AA3F47D84F8D54E5B7 /* STDSWarningTests.m */, ); - path = Stripe3DS2DemoUITests; + path = Stripe3DS2Tests; sourceTree = ""; }; - 7BECCA292224790C003852FF /* Challenge Response */ = { + 82BC8EB365BF993731432954 /* Sources */ = { isa = PBXGroup; children = ( - 7BECCA2522245537003852FF /* STDSChallengeResponse.h */, - 7BECCA3E2224B47A003852FF /* STDSChallengeResponseImage.h */, - 7BECCA3622248220003852FF /* STDSChallengeResponseImageObject.h */, - 7BECCA3722248220003852FF /* STDSChallengeResponseImageObject.m */, - 7BECCA402224B5D5003852FF /* STDSChallengeResponseMessageExtension.h */, - 7BECCA3022248177003852FF /* STDSChallengeResponseMessageExtensionObject.h */, - 7BECCA3122248177003852FF /* STDSChallengeResponseMessageExtensionObject.m */, - 7BECCA3A22248250003852FF /* STDSChallengeResponseObject.h */, - 7BECCA3B22248250003852FF /* STDSChallengeResponseObject.m */, - 7BECCA412224B6B6003852FF /* STDSChallengeResponseSelectionInfo.h */, - 7BECCA2A2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.h */, - 7BECCA2B2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.m */, - ); - name = "Challenge Response"; + A4620559FBB8A42E15044E32 /* AppDelegate.h */, + 8B59CC3349FD9BBF37624667 /* AppDelegate.m */, + 3C22D410C297E2C3AFE727A6 /* main.m */, + 9F5C194C81AF1F5578698A27 /* STDSChallengeResponseObject+TestObjects.h */, + 99DB24A9B44979EA19347A76 /* STDSChallengeResponseObject+TestObjects.m */, + 1F0DADEABA0B043A6CA36DD6 /* STDSDemoViewController.h */, + 382C583385FAECA91366769E /* STDSDemoViewController.m */, + ); + path = Sources; sourceTree = ""; }; - 7BECCAA922270BF9003852FF /* Stripe3DS2DemoUI */ = { + 8CF6AFFC9FD5638E0D1E988E /* Stripe3DS2DemoUI */ = { isa = PBXGroup; children = ( - B691261C2270F18C00D06B77 /* acs_challenge.html */, - 7BECCAAA22270BF9003852FF /* AppDelegate.h */, - 7BECCAAB22270BF9003852FF /* AppDelegate.m */, - 7BF9D8362236A6AD001EA73F /* STDSDemoViewController.h */, - 7BF9D8372236A6AD001EA73F /* STDSDemoViewController.m */, - 362FD34E22D56D96003455F0 /* Info.plist */, - 7BECCAB922270BFA003852FF /* main.m */, - 7BECCB1722317F4C003852FF /* STDSChallengeResponseObject+TestObjects.h */, - 7BECCB1822317F5F003852FF /* STDSChallengeResponseObject+TestObjects.m */, + 98160E2F8248A228E5EC73F8 /* Resources */, + 82BC8EB365BF993731432954 /* Sources */, + 037C294011A01E4B4DCE5BB7 /* Info.plist */, ); path = Stripe3DS2DemoUI; sourceTree = ""; }; - 7BECCAD9222D8E21003852FF /* UI */ = { + 98160E2F8248A228E5EC73F8 /* Resources */ = { isa = PBXGroup; children = ( - 3135270C25A55A0200DDBA74 /* Images */, - 7BECCAF2222DA33F003852FF /* Category */, - 7BECCAEB222D987F003852FF /* Controller */, - 7BECCADA222D8E32003852FF /* View */, + 7971EB56716D5E2F59053B6D /* acs_challenge.html */, ); - name = UI; - sourceTree = ""; - }; - 7BECCADA222D8E32003852FF /* View */ = { - isa = PBXGroup; - children = ( - 7BECCAE8222D985A003852FF /* STDSBrandingView.h */, - 7BECCAE7222D985A003852FF /* STDSBrandingView.m */, - 7BECCAF3222DBB75003852FF /* STDSChallengeInformationView.h */, - 7BECCAF4222DBB75003852FF /* STDSChallengeInformationView.m */, - 7BECCB0F22301325003852FF /* STDSChallengeSelectionView.h */, - 7BECCB1022301325003852FF /* STDSChallengeSelectionView.m */, - 7BF9D83D2236B65B001EA73F /* STDSExpandableInformationView.h */, - 7BF9D83E2236B65B001EA73F /* STDSExpandableInformationView.m */, - 7BF9D87722417B03001EA73F /* STDSProcessingView.h */, - 7BF9D87822417B03001EA73F /* STDSProcessingView.m */, - B633076C22B033F7006169E5 /* STDSSelectionButton.h */, - B633076D22B033F7006169E5 /* STDSSelectionButton.m */, - 7BECCAFD222DD2EF003852FF /* STDSSpacerView.h */, - 7BECCAFE222DD2EF003852FF /* STDSSpacerView.m */, - 7BECCADD222D8E77003852FF /* STDSStackView.h */, - 7BECCADE222D8E77003852FF /* STDSStackView.m */, - 7BECCB0B222EF228003852FF /* STDSTextChallengeView.h */, - 7BECCB0C222EF228003852FF /* STDSTextChallengeView.m */, - 7BF9D841223957E9001EA73F /* STDSWebView.h */, - 7BF9D842223957E9001EA73F /* STDSWebView.m */, - 7BF9D8392236AD5E001EA73F /* STDSWhitelistView.h */, - 7BF9D83A2236AD5E001EA73F /* STDSWhitelistView.m */, - ); - name = View; - sourceTree = ""; - }; - 7BECCAEB222D987F003852FF /* Controller */ = { - isa = PBXGroup; - children = ( - 7BECCAEC222D98A3003852FF /* STDSChallengeResponseViewController.h */, - 7BECCAED222D98A3003852FF /* STDSChallengeResponseViewController.m */, - B6B6ACB62280BB0C00B35AE5 /* STDSProgressViewController.h */, - B6B6ACB72280BB0C00B35AE5 /* STDSProgressViewController.m */, - ); - name = Controller; - sourceTree = ""; - }; - 7BECCAF0222D9C8F003852FF /* Frameworks */ = { - isa = PBXGroup; - children = ( - ED0E87C4B5B3D1D1D638D312 /* libPods-Stripe3DS2-Stripe3DS2DemoUITests.a */, - 0319067541DD5F4C9A8391CA /* Pods_Stripe3DS2DemoUITests.framework */, - ); - name = Frameworks; + path = Resources; sourceTree = ""; }; - 7BECCAF2222DA33F003852FF /* Category */ = { + A3DDF4E193616FA951B1B120 /* Resources */ = { isa = PBXGroup; children = ( - 7BECCADB222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.h */, - 7BECCAE0222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.m */, - 7BF9D86D223FF3E8001EA73F /* UIButton+CustomInitialization.h */, - 7BF9D86E223FF3E8001EA73F /* UIButton+CustomInitialization.m */, - 7BF9D865223FEB80001EA73F /* UIColor+DefaultColors.h */, - 7BF9D866223FEB80001EA73F /* UIColor+DefaultColors.m */, - 31580100230DCA8100244FFB /* UIColor+ThirteenSupport.h */, - 31580101230DCA8100244FFB /* UIColor+ThirteenSupport.m */, - 7BF9D869223FEB8D001EA73F /* UIFont+DefaultFonts.h */, - 7BF9D86A223FEB8D001EA73F /* UIFont+DefaultFonts.m */, - 7BECCADF222D8E77003852FF /* UIView+LayoutSupport.h */, - 7BECCADC222D8E77003852FF /* UIView+LayoutSupport.m */, - B6B6ACBE2280D16D00B35AE5 /* UIViewController+Stripe3DS2.h */, - B6B6ACBF2280D16D00B35AE5 /* UIViewController+Stripe3DS2.m */, + 47CD3B0E4EAA05F75DA05252 /* CertificateFiles */, + 5E482DAA27888E537EBB24B1 /* Images */, + F31A6580385C6390910AFD93 /* Localizable.strings */, ); - name = Category; + path = Resources; sourceTree = ""; }; - 7BECCB04222EA80C003852FF /* Image Loading */ = { + AD446D5D3D8D07D491373E24 /* JSON */ = { isa = PBXGroup; children = ( - 7BECCB05222EA822003852FF /* STDSImageLoader.h */, - 7BECCB06222EA822003852FF /* STDSImageLoader.m */, + 237977B021FE538E5E4FA35C /* ARes.json */, + 8C6D262891811FB3FE0C947E /* CRes.json */, + E12798864D5CFFB7157D4CF5 /* ErrorMessage.json */, ); - name = "Image Loading"; + path = JSON; sourceTree = ""; }; - 7BF9D860223B4737001EA73F /* UI Customization */ = { + C169A9439FD628D620B218AA /* Stripe3DS2DemoUITests */ = { isa = PBXGroup; children = ( - 7BF9D84E223AC4E5001EA73F /* STDSButtonCustomization.h */, - 7BF9D84F223AC4E5001EA73F /* STDSButtonCustomization.m */, - 7BF9D84A223AC200001EA73F /* STDSCustomization.h */, - 7BF9D84B223AC200001EA73F /* STDSCustomization.m */, - B633076422AF006F006169E5 /* STDSFooterCustomization.h */, - B633076522AF006F006169E5 /* STDSFooterCustomization.m */, - 7BF9D856223AD3AA001EA73F /* STDSLabelCustomization.h */, - 7BF9D857223AD3AA001EA73F /* STDSLabelCustomization.m */, - 7BF9D852223AD1C6001EA73F /* STDSNavigationBarCustomization.h */, - 7BF9D853223AD1C6001EA73F /* STDSNavigationBarCustomization.m */, - B633076822B02D38006169E5 /* STDSSelectionCustomization.h */, - B633076922B02D38006169E5 /* STDSSelectionCustomization.m */, - 7BF9D85A223AD453001EA73F /* STDSTextFieldCustomization.h */, - 7BF9D85B223AD453001EA73F /* STDSTextFieldCustomization.m */, - 7BF9D846223A9BEA001EA73F /* STDSUICustomization.h */, - 7BF9D847223A9BEA001EA73F /* STDSUICustomization.m */, + 00658E077ECB223C90484AF7 /* Info.plist */, + 466DF80D33CEC20DF4E844A9 /* STDSChallengeResponseViewControllerSnapshotTests.m */, ); - name = "UI Customization"; + path = Stripe3DS2DemoUITests; sourceTree = ""; }; - AD26A1961CEC2352E61BCAE8 /* Pods */ = { + E4F3BE80D5F61EAC1694F954 /* include */ = { isa = PBXGroup; children = ( - CF81749BFB052F9A3A5475EC /* Pods-Stripe3DS2-Stripe3DS2DemoUITests.debug.xcconfig */, - B32A6DD76651E04EE9088B9C /* Pods-Stripe3DS2-Stripe3DS2DemoUITests.release.xcconfig */, - C6EA04AC9FC81D87DE7A0CDC /* Pods-Stripe3DS2DemoUITests.debug.xcconfig */, - 7AA36DBCF0BA0E43D222D831 /* Pods-Stripe3DS2DemoUITests.release.xcconfig */, - 4ECB97A9B55BAA6A0F150383 /* Pods-Stripe3DS2DemoUITests.debug.xcconfig */, - F20971A299FD01516B0AA817 /* Pods-Stripe3DS2DemoUITests.release.xcconfig */, - ); - name = Pods; - path = ../Pods; + 1F1FD11407319293954C6D81 /* STDSAlreadyInitializedException.h */, + 27AC486DA2A80A43C1F517B2 /* STDSAlreadyInitializedException.m */, + C91B239583899192C7B26FCF /* STDSAuthenticationRequestParameters.h */, + AB871F64FC72EBC7A91F96C1 /* STDSAuthenticationRequestParameters.m */, + 4EA4AB3BA2FB41B3D5F38978 /* STDSAuthenticationResponse.h */, + BD94CAE01A17E083E5617E56 /* STDSButtonCustomization.h */, + 5489DCAA65624C6F966816B6 /* STDSButtonCustomization.m */, + D03B98D5861739833B197D8F /* STDSChallengeParameters.h */, + 23C929BF760735CC01E1E8F5 /* STDSChallengeParameters.m */, + B7A75140FB62A71261CAF5EC /* STDSChallengeStatusReceiver.h */, + 10DB3CD8F2541AC06681F2C8 /* STDSCompletionEvent.h */, + 3B6B71C61CF5ADC7796441F5 /* STDSCompletionEvent.m */, + A1BFB8640032796CDA016765 /* STDSConfigParameters.h */, + 89B5ED899439D1C1054CB448 /* STDSConfigParameters.m */, + AFF187D1D58405C736474042 /* STDSCustomization.h */, + A8E62EC973FC5C9905A40CA8 /* STDSCustomization.m */, + 645D0BB927B7F8A0D37EE04D /* STDSErrorMessage.h */, + 6DDB6222A2EF31FDB7592368 /* STDSErrorMessage.m */, + B71A1C110DCC23A9CE929837 /* STDSException.h */, + 6F030410FDABFF833CD8FE46 /* STDSException.m */, + BA96C9FFA48B85F9C42E8C68 /* STDSFooterCustomization.h */, + 6CFF141AC98F213122D037C6 /* STDSFooterCustomization.m */, + 853A361AB630A2BD402D1B47 /* STDSInvalidInputException.h */, + 6FDAC320458399141EB161E2 /* STDSInvalidInputException.m */, + B219360BFB325779485BF702 /* STDSJSONDecodable.h */, + E6A3C5D4C46E681B7D76B2BA /* STDSJSONEncodable.h */, + 06C5207432FB07BD71703BCC /* STDSJSONEncoder.h */, + 0681C043F732148587737233 /* STDSJSONEncoder.m */, + 6932DD26C7C16938DFA0E198 /* STDSLabelCustomization.h */, + 01D320CD5ADA49F17B8BC1B0 /* STDSLabelCustomization.m */, + E1630D876436E43547FF69CE /* STDSNavigationBarCustomization.h */, + E9F1A5A8E5922748A9BEC724 /* STDSNavigationBarCustomization.m */, + 2FCABBF51CBA7F9FEF757B4C /* STDSNotInitializedException.h */, + B7BD1E24EA9427121E148DFC /* STDSNotInitializedException.m */, + 3A6D20D1DAB7D769E5E97528 /* STDSProtocolErrorEvent.h */, + 3255706D2304FB551C97305F /* STDSProtocolErrorEvent.m */, + DE7D85369E012B15702D8DF9 /* STDSRuntimeErrorEvent.h */, + 1501A7A3010FFE53D00E318F /* STDSRuntimeErrorEvent.m */, + B8619CA38E2A5B49DBF8546B /* STDSRuntimeException.h */, + CD33421F13A675DCFE597FFB /* STDSRuntimeException.m */, + 7CD753D9BBFC378C1B491B00 /* STDSSelectionCustomization.h */, + 43540AB7D13C0C9A563C3F4D /* STDSSelectionCustomization.m */, + AE53BAA72835AFA3B35C58D3 /* STDSStripe3DS2Error.h */, + 9F4376BB07FD1EE783249AED /* STDSStripe3DS2Error.m */, + E5BC34A661D9080A2EE239F8 /* STDSSwiftTryCatch.h */, + 9946D28A86E85A6C84EB6C7B /* STDSSwiftTryCatch.m */, + 68ED2A0E11E1B27980E0C60A /* STDSTextFieldCustomization.h */, + 97163B5E9598CA3A298920B9 /* STDSTextFieldCustomization.m */, + 5EAA444FA7C82BDA4AD907BF /* STDSThreeDS2Service.h */, + 77646CEC7EE754F47EDBDA4F /* STDSThreeDS2Service.m */, + 5E6A9565E97DF2544254AA94 /* STDSThreeDSProtocolVersion.h */, + F40CC91AA69F5296B0AA985C /* STDSTransaction.h */, + 5FDE2481364C454058BF2377 /* STDSTransaction.m */, + 210B22FF4DCB0C6E7C763EAB /* STDSUICustomization.h */, + A55B2474CD1A39D70869B75B /* STDSUICustomization.m */, + 0BEB5006261C5E070FEE62BF /* STDSWarning.h */, + A502CCC5190F6B642EEC0CE6 /* STDSWarning.m */, + 28C6B4F6BA431B9342970FD6 /* Stripe3DS2.h */, + ); + path = include; sourceTree = ""; }; - B6790061224ECAC800DD9F18 /* JSON */ = { + EB6FA022FDF5831C6D162E11 /* Project */ = { isa = PBXGroup; children = ( - 36546BF42293556700D392BF /* ARes.json */, - B6790062224ECAF300DD9F18 /* CRes.json */, - B6790069224EE6B600DD9F18 /* ErrorMessage.json */, + 20B0FECAB4F18569649603E9 /* BuildConfigurations */, + 148D1BA6A2E8B2B60CA9951F /* Stripe3DS2 */, + 8CF6AFFC9FD5638E0D1E988E /* Stripe3DS2DemoUI */, + C169A9439FD628D620B218AA /* Stripe3DS2DemoUITests */, + 79E03C9F2FB6092200EE737F /* Stripe3DS2Tests */, ); - path = JSON; + name = Project; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 36DDBE9B21EFEE9700CB47C9 /* Headers */ = { + A8117E5A795D5342E5AEF24C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B6B6ACB82280BB0C00B35AE5 /* STDSProgressViewController.h in Headers */, - 7BECCB07222EA822003852FF /* STDSImageLoader.h in Headers */, - B6B6ACC02280D16D00B35AE5 /* UIViewController+Stripe3DS2.h in Headers */, - B679005A224C386600DD9F18 /* STDSStripe3DS2Error.h in Headers */, - B6790056224C2D1500DD9F18 /* NSError+Stripe3DS2.h in Headers */, - B679004422498B4B00DD9F18 /* STDSJSONEncoder.h in Headers */, - 36EE22082214E8E800CD4A78 /* STDSChallengeParameters.h in Headers */, - 7BECCAFF222DD2EF003852FF /* STDSSpacerView.h in Headers */, - 7B05BA35225BEFE900071A59 /* STDSIntegrityChecker.h in Headers */, - 36FE29832249A3730015BD0C /* STDSDeviceInformation.h in Headers */, - 7BECCA3222248177003852FF /* STDSChallengeResponseMessageExtensionObject.h in Headers */, - 36CEAE282200DCEB00BE1190 /* NSString+JWEHelpers.h in Headers */, - 7BF9D83F2236B65B001EA73F /* STDSExpandableInformationView.h in Headers */, - 7BF9D85C223AD453001EA73F /* STDSTextFieldCustomization.h in Headers */, - B6DC6A17225D5E53008C9172 /* STDSErrorMessage+Internal.h in Headers */, - 7BECCA2C2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.h in Headers */, - 3612A6D621F8FC7700CBECC6 /* STDSDeviceInformationManager.h in Headers */, - 366BB211224301AB00AF577B /* STDSEllipticCurvePoint.h in Headers */, - B679004D224C066800DD9F18 /* STDSJSONDecodable.h in Headers */, - 7B05BA25225BB59F00071A59 /* STDSDebuggerChecker.h in Headers */, - 36514CD621F7D43100CBC619 /* STDSRuntimeException.h in Headers */, - B633076E22B033F7006169E5 /* STDSSelectionButton.h in Headers */, - 36514CCE21F7D3DC00CBC619 /* STDSInvalidInputException.h in Headers */, - 36CEAE1C21FFAFBA00BE1190 /* STDSSecTypeUtilities.h in Headers */, - 36CEAE2221FFC62200BE1190 /* STDSBundleLocator.h in Headers */, - B616CE7222430237003FC60C /* STDSChallengeStatusReceiver.h in Headers */, - 7BF9D858223AD3AA001EA73F /* STDSLabelCustomization.h in Headers */, - 7BF9D86F223FF3E8001EA73F /* UIButton+CustomInitialization.h in Headers */, - 31580102230DCA8100244FFB /* UIColor+ThirteenSupport.h in Headers */, - 7BF9D84C223AC200001EA73F /* STDSCustomization.h in Headers */, - 7B05BA29225BB87D00071A59 /* STDSOSVersionChecker.h in Headers */, - B6C9BCE22242D7DB00409475 /* STDSCompletionEvent.h in Headers */, - 7BECCB0D222EF228003852FF /* STDSTextChallengeView.h in Headers */, - 7BF9D843223957E9001EA73F /* STDSWebView.h in Headers */, - 7BECCA2722245537003852FF /* STDSChallengeResponse.h in Headers */, - 36CEAE2C2200DD5E00BE1190 /* NSData+JWEHelpers.h in Headers */, - 7B05BA2D225BE72000071A59 /* STDSSimulatorChecker.h in Headers */, - 7BF9D848223A9BEA001EA73F /* STDSUICustomization.h in Headers */, - B6CAFFAB22495547009CD1B0 /* STDSJSONEncodable.h in Headers */, - 7BECCAF9222DCF3D003852FF /* NSString+EmptyChecking.h in Headers */, - 366A316922557496005705D7 /* STDSACSNetworkingManager.h in Headers */, - 7BECCAE3222D8E77003852FF /* STDSStackView.h in Headers */, - 7BF9D850223AC4E5001EA73F /* STDSButtonCustomization.h in Headers */, - 3612CE062213549900A84993 /* STDSWarning.h in Headers */, - 7BECCA3822248220003852FF /* STDSChallengeResponseImageObject.h in Headers */, - 36514CD221F7D41F00CBC619 /* STDSAlreadyInitializedException.h in Headers */, - 36514CE021F7E47800CBC619 /* STDSException.h in Headers */, - 366CA10F2253DA5E0040DE8B /* STDSJSONWebSignature.h in Headers */, - 7BF9D87922417B03001EA73F /* STDSProcessingView.h in Headers */, - B679006D2252905C00DD9F18 /* STDSChallengeRequestParameters.h in Headers */, - B616CE7622431FA7003FC60C /* STDSProtocolErrorEvent.h in Headers */, - 36F726BC22499301009AFEEA /* STDSEphemeralKeyPair.h in Headers */, - 7BECCAEA222D985A003852FF /* STDSBrandingView.h in Headers */, - 36DDBEB121EFEE9800CB47C9 /* Stripe3DS2.h in Headers */, - 7BECCAEE222D98A3003852FF /* STDSChallengeResponseViewController.h in Headers */, - 7BF9D867223FEB80001EA73F /* UIColor+DefaultColors.h in Headers */, - 36514CDA21F7D7DE00CBC619 /* STDSException+Internal.h in Headers */, - 36514CC321F7D16D00CBC619 /* STDSConfigParameters.h in Headers */, - 7B05BA31225BECCD00071A59 /* STDSJailbreakChecker.h in Headers */, - 36CEAE1021FA62C200BE1190 /* STDSJSONWebEncryption.h in Headers */, - 3604008822C57886004CF80B /* STDSThreeDSProtocolVersion.h in Headers */, - 7BECCAE1222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.h in Headers */, - 36546BFA229358E800D392BF /* STDSAuthenticationResponseObject.h in Headers */, - B616CE7F2244452F003FC60C /* STDSTransaction.h in Headers */, - 3624FB00224C2FF400660581 /* STDSDirectoryServerCertificate.h in Headers */, - 7BF9D86B223FEB8D001EA73F /* UIFont+DefaultFonts.h in Headers */, - 3610A48924492513004EE443 /* Stripe3DS2-Prefix.pch in Headers */, - 36EE220C2214EA9200CD4A78 /* STDSAuthenticationResponse.h in Headers */, - 7BECCAF5222DBB75003852FF /* STDSChallengeInformationView.h in Headers */, - B616CE8422444BF1003FC60C /* STDSAuthenticationRequestParameters.h in Headers */, - B616CE7B22442C60003FC60C /* STDSErrorMessage.h in Headers */, - B6CAFFA7224561CE009CD1B0 /* STDSTransaction+Private.h in Headers */, - 3612A6DA21F8FCF900CBECC6 /* STDSDeviceInformationParameter.h in Headers */, - 3612A6DE21F908B700CBECC6 /* STDSIPAddress.h in Headers */, - 362FAB7D21F9287100A7F82D /* STDSDeviceInformationParameter+Private.h in Headers */, - 7BF9D854223AD1C6001EA73F /* STDSNavigationBarCustomization.h in Headers */, - 36514CBF21F7CA9C00CBC619 /* STDSThreeDS2Service.h in Headers */, - 3612A6E221F9148200CBECC6 /* STDSSynchronousLocationManager.h in Headers */, - 7BECCA3F2224B47A003852FF /* STDSChallengeResponseImage.h in Headers */, - 36EE22012214A5D300CD4A78 /* STDSNotInitializedException.h in Headers */, - 7BECCA3C22248250003852FF /* STDSChallengeResponseObject.h in Headers */, - 7BF9D83B2236AD5E001EA73F /* STDSWhitelistView.h in Headers */, - B6790051224C088400DD9F18 /* NSDictionary+DecodingHelpers.h in Headers */, - 36AC3D5825253FEE00F252D7 /* STDSSwiftTryCatch.h in Headers */, - B633076A22B02D38006169E5 /* STDSSelectionCustomization.h in Headers */, - 7BECCAE5222D8E77003852FF /* UIView+LayoutSupport.h in Headers */, - 7BECCB1122301325003852FF /* STDSChallengeSelectionView.h in Headers */, - B616CE6E22430005003FC60C /* STDSRuntimeErrorEvent.h in Headers */, - 31D5DDCD2565A8A900F4FC03 /* STDSCategoryLinker.h in Headers */, - B633076622AF006F006169E5 /* STDSFooterCustomization.h in Headers */, + 3192FCC841152A7E5E6F19D6 /* STDSAlreadyInitializedException.h in Headers */, + 9673946B78A7763070E05CD0 /* STDSAuthenticationRequestParameters.h in Headers */, + 435EFC9119D4B42B2C6A6F88 /* STDSAuthenticationResponse.h in Headers */, + EC51189277D7D68D08C2A65C /* STDSButtonCustomization.h in Headers */, + DC0D9A57F2E312663C088FB8 /* STDSChallengeParameters.h in Headers */, + 72F430506E684D61BD5CFE3B /* STDSChallengeStatusReceiver.h in Headers */, + 8E27285FE76F8BECFD70286D /* STDSCompletionEvent.h in Headers */, + DC32281BF0847A98B100C3A1 /* STDSConfigParameters.h in Headers */, + F04482C663F6DF8E522B0833 /* STDSCustomization.h in Headers */, + 2BBA82878804711E06CBFCCB /* STDSErrorMessage.h in Headers */, + 24D49F833E1ED28DE557F219 /* STDSException.h in Headers */, + 79557307ECD48D17C566997A /* STDSFooterCustomization.h in Headers */, + 4E35267801D94FB84816C519 /* STDSInvalidInputException.h in Headers */, + 9B32E9A4CD2BDA61C730F5EB /* STDSJSONDecodable.h in Headers */, + 890E22971E6F7B0FA1C8D649 /* STDSJSONEncodable.h in Headers */, + 2224463CE5FB99D4BEE6A479 /* STDSJSONEncoder.h in Headers */, + 0BA0F0CADC4CFF419E1F7EFC /* STDSLabelCustomization.h in Headers */, + 3B430F172A3AD6AA9AFDFC04 /* STDSNavigationBarCustomization.h in Headers */, + 2CB6DF5CCCBC1EB9ABD03143 /* STDSNotInitializedException.h in Headers */, + 67D431374DECE36B2606D944 /* STDSProtocolErrorEvent.h in Headers */, + 15D4A2F07EA477B84CD48B15 /* STDSRuntimeErrorEvent.h in Headers */, + 2C6DB6516699B4EFADDF3360 /* STDSRuntimeException.h in Headers */, + F5513045A25210C524A05DF5 /* STDSSelectionCustomization.h in Headers */, + 335553A547A3CA80B3901CCF /* STDSStripe3DS2Error.h in Headers */, + DE32EAA8F5C2645652FCFB48 /* STDSSwiftTryCatch.h in Headers */, + 4C267E9A30ADC18E71408ED5 /* STDSTextFieldCustomization.h in Headers */, + 31C636A25BF83316EE7EB57D /* STDSThreeDS2Service.h in Headers */, + 847926A68A88BEB58C92D9BC /* STDSThreeDSProtocolVersion.h in Headers */, + 9DC5612697835A383DC6606E /* STDSTransaction.h in Headers */, + 0615DD02C0B022AE207DADF0 /* STDSUICustomization.h in Headers */, + 9F0F6085FBD892BF5F14CF86 /* STDSWarning.h in Headers */, + 893713F4464A88FAB92BC2C6 /* Stripe3DS2.h in Headers */, + 425849564519D6454DDA3424 /* NSData+JWEHelpers.h in Headers */, + 1134F81C7D015BA5EA52BFD1 /* NSDictionary+DecodingHelpers.h in Headers */, + 3617B07ABD719F1A5F8302FA /* NSError+Stripe3DS2.h in Headers */, + 28AD7EC6F6DA2AECD7F61BA7 /* NSLayoutConstraint+LayoutSupport.h in Headers */, + 30B25163BEDEB99CDD101B5F /* NSString+EmptyChecking.h in Headers */, + A5193DADCD0F48911F775D88 /* NSString+JWEHelpers.h in Headers */, + A78F19DA3D146A258FB9DE3C /* STDSACSNetworkingManager.h in Headers */, + 2B2787A7103C0D0AB5F00B78 /* STDSAuthenticationResponseObject.h in Headers */, + 458BC5A3D0E7B4D05549474F /* STDSBrandingView.h in Headers */, + 97CE8B57A97D037E977E62F3 /* STDSBundleLocator.h in Headers */, + CC1E335EEC438E855AD6A685 /* STDSCategoryLinker.h in Headers */, + F13A032A4AF15BB61EA18A8D /* STDSChallengeInformationView.h in Headers */, + BF342613EE89845EB1C4B72A /* STDSChallengeRequestParameters.h in Headers */, + 7337FB20DC0EF491B5922913 /* STDSChallengeResponse.h in Headers */, + 95A2D58051AADDBE16CCA0B6 /* STDSChallengeResponseImage.h in Headers */, + D819C341ECEE1EFE6FE66085 /* STDSChallengeResponseImageObject.h in Headers */, + 793D61AD55630DD336A141A7 /* STDSChallengeResponseMessageExtension.h in Headers */, + 48316C1AB1D9151C205A59A4 /* STDSChallengeResponseMessageExtensionObject.h in Headers */, + E90749131EDA0C86BBBFCE5C /* STDSChallengeResponseObject.h in Headers */, + 3C8C3BCDDDDEF6B9E150D4E1 /* STDSChallengeResponseSelectionInfo.h in Headers */, + 9C225B9C556C20D1A6F97180 /* STDSChallengeResponseSelectionInfoObject.h in Headers */, + 9E46777893FA2D6691F496D7 /* STDSChallengeResponseViewController.h in Headers */, + E7E424C5264A4DE4A1EC19B6 /* STDSChallengeSelectionView.h in Headers */, + F28AD6CA8AB1A5DEE7A8F429 /* STDSDebuggerChecker.h in Headers */, + 57E58A3B88D9EEB9FAE9B383 /* STDSDeviceInformation.h in Headers */, + 9843F6AABF7B0A623E7DF979 /* STDSDeviceInformationManager.h in Headers */, + 3844F0E21742F43BCB32499A /* STDSDeviceInformationParameter+Private.h in Headers */, + 2938D9CC41899DC78D01EF9F /* STDSDeviceInformationParameter.h in Headers */, + C4BA75544A7F51355BF4B5F8 /* STDSDirectoryServer.h in Headers */, + DB96817598FCE73F5131437E /* STDSDirectoryServerCertificate+Internal.h in Headers */, + 63AFB3C739DD987EE56F801F /* STDSDirectoryServerCertificate.h in Headers */, + 5C83A3A4631E51EEECBEAA0F /* STDSEllipticCurvePoint.h in Headers */, + 3343DA94A5032627843A343C /* STDSEphemeralKeyPair+Testing.h in Headers */, + B94E5A5BF5F22998E4CA9ED3 /* STDSEphemeralKeyPair.h in Headers */, + 34256504F0E0E519D586B7CE /* STDSErrorMessage+Internal.h in Headers */, + 149FE0C2910F08910B250BD8 /* STDSException+Internal.h in Headers */, + F35963DB86D90320CFA7BCB9 /* STDSExpandableInformationView.h in Headers */, + DDB98914E1135E8D445545C8 /* STDSIPAddress.h in Headers */, + 613EF855524F7861A6DDD8C1 /* STDSImageLoader.h in Headers */, + D3432C5BF5211A60D5C15D9E /* STDSIntegrityChecker.h in Headers */, + 4C573A44AB0A9CB28D76C621 /* STDSJSONWebEncryption.h in Headers */, + CA617B6F5CDFB8FDEEE38636 /* STDSJSONWebSignature.h in Headers */, + 7C7073B54628ED836F422F1D /* STDSJailbreakChecker.h in Headers */, + 8E0501C3BB849C2D2D99F34E /* STDSLocalizedString.h in Headers */, + 68F314D63323954EFE309E49 /* STDSOSVersionChecker.h in Headers */, + 09F0B1945CC12FB1215119FD /* STDSProcessingView.h in Headers */, + 511513A9180F9835B08CBE56 /* STDSProgressViewController.h in Headers */, + CEA1EB91858043A837638FE0 /* STDSSecTypeUtilities.h in Headers */, + D9F8BA88953A91DC082FA6DA /* STDSSelectionButton.h in Headers */, + AC474013841CE1DED97F3FA8 /* STDSSimulatorChecker.h in Headers */, + AA94519687902E34E5243AEA /* STDSSpacerView.h in Headers */, + 206B93BDE91CFED74A053B87 /* STDSStackView.h in Headers */, + F0B9EFD359B1AB28A695CB48 /* STDSSynchronousLocationManager.h in Headers */, + 59756023104E4FB886B48936 /* STDSTextChallengeView.h in Headers */, + 326AD1DD7BB8A2A6DA66EC67 /* STDSThreeDSProtocolVersion+Private.h in Headers */, + AE1894FEA510AC394DE73C4B /* STDSTransaction+Private.h in Headers */, + 7EC8E5523F29B0F01FE827DB /* STDSWebView.h in Headers */, + 825ACBE0734BDCE746E66AB0 /* STDSWhitelistView.h in Headers */, + 75CDFDABD7F9813563E3F618 /* Stripe3DS2-Bridging-Header.h in Headers */, + 0A2BC6A9E388B242C46C09D9 /* UIButton+CustomInitialization.h in Headers */, + 8322973CD09F2E1C88B6046E /* UIColor+DefaultColors.h in Headers */, + 27F3EA1BB7E7B56A1A8524BA /* UIColor+ThirteenSupport.h in Headers */, + 8E833B7FCBC3A99072582FEA /* UIFont+DefaultFonts.h in Headers */, + A026717FFF299A7C1C51565F /* UIView+LayoutSupport.h in Headers */, + 41246FCC0695BABE1489C53E /* UIViewController+Stripe3DS2.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 36DDBE9F21EFEE9700CB47C9 /* Stripe3DS2 */ = { + 57AEC53510AE0DC0539730F3 /* Stripe3DS2 */ = { isa = PBXNativeTarget; - buildConfigurationList = 36DDBEB421EFEE9800CB47C9 /* Build configuration list for PBXNativeTarget "Stripe3DS2" */; + buildConfigurationList = 5C9BBB6FD4175090CFCAA126 /* Build configuration list for PBXNativeTarget "Stripe3DS2" */; buildPhases = ( - 36DDBE9B21EFEE9700CB47C9 /* Headers */, - 36DDBE9C21EFEE9700CB47C9 /* Sources */, - 36DDBE9D21EFEE9700CB47C9 /* Frameworks */, - 36DDBE9E21EFEE9700CB47C9 /* Resources */, + A8117E5A795D5342E5AEF24C /* Headers */, + 559A957A4AA29D178C3E3D8F /* Sources */, + 563147EAF54FC4A425A06D46 /* Resources */, + 726DD7176204D90BD7552B84 /* Embed Frameworks */, + C65BFA70E847549921E39F4E /* Frameworks */, ); buildRules = ( ); @@ -1223,866 +1149,608 @@ ); name = Stripe3DS2; productName = Stripe3DS2; - productReference = 36DDBEA021EFEE9700CB47C9 /* Stripe3DS2.framework */; + productReference = CE4030C50383B488C97F4B56 /* Stripe3DS2.framework */; productType = "com.apple.product-type.framework"; }; - 36DDBEA821EFEE9700CB47C9 /* Stripe3DS2Tests */ = { + 5907C55B1F111921112DF2BF /* Stripe3DS2DemoUI */ = { isa = PBXNativeTarget; - buildConfigurationList = 36DDBEB721EFEE9800CB47C9 /* Build configuration list for PBXNativeTarget "Stripe3DS2Tests" */; + buildConfigurationList = 37237B2A5629D2257C454AD1 /* Build configuration list for PBXNativeTarget "Stripe3DS2DemoUI" */; buildPhases = ( - 36DDBEA521EFEE9700CB47C9 /* Sources */, - 36DDBEA621EFEE9700CB47C9 /* Frameworks */, - 36DDBEA721EFEE9700CB47C9 /* Resources */, + 5D618F152EF19018F5C7E579 /* Sources */, + C4175027D57AF53025CB9719 /* Resources */, + 00E415680C602ED1D6D8E71F /* Embed Frameworks */, + 8ECF69FED0DDA991C821CF6A /* Frameworks */, ); buildRules = ( ); dependencies = ( - 313A2A8727B7330D00E5EA99 /* PBXTargetDependency */, + C7515969CD69027C276886AB /* PBXTargetDependency */, ); - name = Stripe3DS2Tests; - productName = Stripe3DS2Tests; - productReference = 36DDBEA921EFEE9700CB47C9 /* Stripe3DS2Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; + name = Stripe3DS2DemoUI; + productName = Stripe3DS2DemoUI; + productReference = 02D762271DBCC1AE80E0F9D4 /* Stripe3DS2DemoUI.app */; + productType = "com.apple.product-type.application"; }; - 7B66B447224D520400E256EE /* Stripe3DS2DemoUITests */ = { + 7DA168BC86CE957505FA091B /* Stripe3DS2DemoUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 7B66B44F224D520400E256EE /* Build configuration list for PBXNativeTarget "Stripe3DS2DemoUITests" */; + buildConfigurationList = 5F64A3CED17753DA2643AA63 /* Build configuration list for PBXNativeTarget "Stripe3DS2DemoUITests" */; buildPhases = ( - 3AC1C80A9AAE423236017978 /* [CP] Check Pods Manifest.lock */, - 7B66B444224D520400E256EE /* Sources */, - 7B66B445224D520400E256EE /* Frameworks */, - 7B66B446224D520400E256EE /* Resources */, - 6121DD28B6130B9127543F7D /* [CP] Embed Pods Frameworks */, + 7A43CA17E1E2D826DCBDD88D /* Sources */, + F3AE035E64AB50AB8B90A58E /* Resources */, + 58FA2FE74AE67CD3CDAFD7E5 /* Embed Frameworks */, + A56B40D43D552FDE77670CB5 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 7B66B44E224D520400E256EE /* PBXTargetDependency */, + 0AE2FB81071258D69C9FCAD4 /* PBXTargetDependency */, + 026B55E92602E24EE7139E1F /* PBXTargetDependency */, ); name = Stripe3DS2DemoUITests; + packageProductDependencies = ( + 0118969F6608A92583CC6C98 /* iOSSnapshotTestCase */, + ); productName = Stripe3DS2DemoUITests; - productReference = 7B66B448224D520400E256EE /* Stripe3DS2DemoUITests.xctest */; + productReference = AA8A113E655E23381CB3BDA4 /* Stripe3DS2DemoUITests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 7BECCAA722270BF9003852FF /* Stripe3DS2DemoUI */ = { + F2D50FA32F27498F56CD08DD /* Stripe3DS2Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = 7BECCACA22270BFA003852FF /* Build configuration list for PBXNativeTarget "Stripe3DS2DemoUI" */; + buildConfigurationList = 271DFDD5ABBB719F3BD1AB56 /* Build configuration list for PBXNativeTarget "Stripe3DS2Tests" */; buildPhases = ( - 7BECCAA422270BF9003852FF /* Sources */, - 7BECCAA522270BF9003852FF /* Frameworks */, - 7BECCAA622270BF9003852FF /* Resources */, - 7B66B443224D4F3300E256EE /* Embed Frameworks */, + 0D8CCC419762E2FD4F945EB0 /* Sources */, + 4FDEAB55B960B360B76B3F41 /* Resources */, + 43B749EC915FB6D2FF5ABEE0 /* Embed Frameworks */, + 16B0A41D6C0F157DDF229397 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 7B66B442224D4F3300E256EE /* PBXTargetDependency */, + 798525809F1F67D0C6634927 /* PBXTargetDependency */, ); - name = Stripe3DS2DemoUI; - productName = Stripe3DS2DemoUI; - productReference = 7BECCAA822270BF9003852FF /* Stripe3DS2DemoUI.app */; - productType = "com.apple.product-type.application"; + name = Stripe3DS2Tests; + productName = Stripe3DS2Tests; + productReference = 4EB746D4E46ABD2452A154AE /* Stripe3DS2Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 36DDBE9721EFEE9700CB47C9 /* Project object */ = { + 8D219187B704575AD3CD3EC5 /* Project object */ = { isa = PBXProject; attributes = { - CLASSPREFIX = STDS; - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Stripe; TargetAttributes = { - 36DDBE9F21EFEE9700CB47C9 = { - CreatedOnToolsVersion = 10.1; - }; - 36DDBEA821EFEE9700CB47C9 = { - CreatedOnToolsVersion = 10.1; - }; - 7B66B447224D520400E256EE = { - CreatedOnToolsVersion = 10.1; - TestTargetID = 7BECCAA722270BF9003852FF; - }; - 7BECCAA722270BF9003852FF = { - CreatedOnToolsVersion = 10.1; + 7DA168BC86CE957505FA091B = { + TestTargetID = 5907C55B1F111921112DF2BF; }; }; }; - buildConfigurationList = 36DDBE9A21EFEE9700CB47C9 /* Build configuration list for PBXProject "Stripe3DS2" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = 57B08C966701355644CF5CEB /* Build configuration list for PBXProject "Stripe3DS2" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, - "zh-Hans", + "bg-BG", + "ca-ES", + "cs-CZ", da, - nl, + de, + "el-GR", + en, + "en-GB", + es, + "es-419", + "et-EE", fi, + fil, fr, "fr-CA", - de, + hr, + hu, + id, it, ja, - nb, - "nn-NO", - "pt-BR", - "pt-PT", - es, - "es-419", - sv, - "en-GB", - ru, ko, - tr, - "zh-Hant", - "zh-HK", - hu, - mt, - hr, - fil, - vi, - id, - "ms-MY", - "bg-BG", - "ca-ES", - "cs-CZ", - "et-EE", - "el-GR", "lt-LT", "lv-LV", + "ms-MY", + mt, + nb, + nl, + "nn-NO", "pl-PL", + "pt-BR", + "pt-PT", "ro-RO", + ru, "sk-SK", "sl-SI", + sv, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = 36DDBE9621EFEE9700CB47C9; - productRefGroup = 36DDBEA121EFEE9700CB47C9 /* Products */; + mainGroup = 18B6E1F5666C797A11E2BE03; + packageReferences = ( + 176A29DF97FAFE939C7F667B /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, + ); + productRefGroup = 398BBCD5E4B06CA5006CCC40 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 36DDBE9F21EFEE9700CB47C9 /* Stripe3DS2 */, - 36DDBEA821EFEE9700CB47C9 /* Stripe3DS2Tests */, - 7BECCAA722270BF9003852FF /* Stripe3DS2DemoUI */, - 7B66B447224D520400E256EE /* Stripe3DS2DemoUITests */, + 57AEC53510AE0DC0539730F3 /* Stripe3DS2 */, + F2D50FA32F27498F56CD08DD /* Stripe3DS2Tests */, + 5907C55B1F111921112DF2BF /* Stripe3DS2DemoUI */, + 7DA168BC86CE957505FA091B /* Stripe3DS2DemoUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 36DDBE9E21EFEE9700CB47C9 /* Resources */ = { + 4FDEAB55B960B360B76B3F41 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3135271625A55A0200DDBA74 /* visa-white-logo@3x.png in Resources */, - 36C4CBEB2683E59900B43289 /* cartes-bancaires-logo.png in Resources */, - 3135271525A55A0200DDBA74 /* mastercard-logo@3x.png in Resources */, - 362FD36522D690EF003455F0 /* visa.der in Resources */, - 366794B325BB59430094831B /* acs_challenge.html in Resources */, - 362FD36822D690EF003455F0 /* amex.der in Resources */, - 362FD36722D690EF003455F0 /* mastercard.der in Resources */, - 3135271825A55A0200DDBA74 /* Chevron@3x.png in Resources */, - 3135271425A55A0200DDBA74 /* error@3x.png in Resources */, - 36CEAE2521FFCBA600BE1190 /* ul-test.der in Resources */, - 362FD33922D562B4003455F0 /* Localizable.strings in Resources */, - 3135271925A55A0200DDBA74 /* visa-logo@3x.png in Resources */, - 3135271725A55A0200DDBA74 /* discover-logo.png in Resources */, - 36C4CBED2683E78500B43289 /* cartes-bancaires.der in Resources */, - 362FD36622D690EF003455F0 /* discover.der in Resources */, - 3135271A25A55A0200DDBA74 /* amex-logo@3x.png in Resources */, - 366BB2142245652800AF577B /* ec_test.der in Resources */, + 5B16918BF5F67B0F5FB1AFD5 /* ARes.json in Resources */, + F4E8353A470750D9BCEA3CD8 /* CRes.json in Resources */, + E7A72BB7CC8DE8DA7FA0DEC5 /* ErrorMessage.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 36DDBEA721EFEE9700CB47C9 /* Resources */ = { + 563147EAF54FC4A425A06D46 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 36546BF52293556700D392BF /* ARes.json in Resources */, - B679006A224EE6B600DD9F18 /* ErrorMessage.json in Resources */, - B6790063224ECAF400DD9F18 /* CRes.json in Resources */, + A97E1DF84D381952A0FB4C1C /* amex.der in Resources */, + EA89021709AFB5F04961EB78 /* cartes-bancaires.der in Resources */, + 3D674B4EE5ABACD65EB21A1E /* discover.der in Resources */, + FD6456BD86F07C446B9FB6C8 /* ec_test.der in Resources */, + 081347606D48F64161D95B45 /* mastercard.der in Resources */, + 81B1C12449852CEB3C59793F /* ul-test.der in Resources */, + 125427F1322501AA12EAEBE6 /* visa.der in Resources */, + 675801746AD86B23F8560F59 /* Chevron@3x.png in Resources */, + 794D78D81790620AFA6AA5C3 /* amex-logo@3x.png in Resources */, + 65C3CC17DA8E8B98A5ACA320 /* cartes-bancaires-logo.png in Resources */, + C6662AAA303ADB0DA6D47809 /* discover-logo.png in Resources */, + 4587DADB1B2D98560E8BB181 /* error@3x.png in Resources */, + 0A0D73B3004DC5854D2BC639 /* mastercard-logo@3x.png in Resources */, + 53DBABFCA9B7E264366922F2 /* visa-logo@3x.png in Resources */, + 7706F5211DE7A4411CD108EA /* visa-white-logo@3x.png in Resources */, + 6BA3F565B6C0B78F6DED8826 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7B66B446224D520400E256EE /* Resources */ = { + C4175027D57AF53025CB9719 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7C20B044ACFD3A50FD4AC9A8 /* acs_challenge.html in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7BECCAA622270BF9003852FF /* Resources */ = { + F3AE035E64AB50AB8B90A58E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 362FD36022D5702C003455F0 /* Info.plist in Resources */, - B691261D2270F18C00D06B77 /* acs_challenge.html in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 3AC1C80A9AAE423236017978 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Stripe3DS2DemoUITests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 6121DD28B6130B9127543F7D /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Stripe3DS2DemoUITests/Pods-Stripe3DS2DemoUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Stripe3DS2DemoUITests/Pods-Stripe3DS2DemoUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Stripe3DS2DemoUITests/Pods-Stripe3DS2DemoUITests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ - 36DDBE9C21EFEE9700CB47C9 /* Sources */ = { + 0D8CCC419762E2FD4F945EB0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7BECCB08222EA822003852FF /* STDSImageLoader.m in Sources */, - 7B05BA2E225BE72000071A59 /* STDSSimulatorChecker.m in Sources */, - 3612CE072213549900A84993 /* STDSWarning.m in Sources */, - 3612A6D721F8FC7700CBECC6 /* STDSDeviceInformationManager.m in Sources */, - 36EE22022214A5D300CD4A78 /* STDSNotInitializedException.m in Sources */, - 7BECCAFA222DCF3D003852FF /* NSString+EmptyChecking.m in Sources */, - 7BECCB00222DD2EF003852FF /* STDSSpacerView.m in Sources */, - B6B6ACB92280BB0C00B35AE5 /* STDSProgressViewController.m in Sources */, - 3612A6DB21F8FCF900CBECC6 /* STDSDeviceInformationParameter.m in Sources */, - 36514CE121F7E47800CBC619 /* STDSException.m in Sources */, - 7BECCAE9222D985A003852FF /* STDSBrandingView.m in Sources */, - 7BECCA3D22248250003852FF /* STDSChallengeResponseObject.m in Sources */, - B679004522498B4B00DD9F18 /* STDSJSONEncoder.m in Sources */, - 36CEAE2321FFC62200BE1190 /* STDSBundleLocator.m in Sources */, - B6B6ACC12280D16D00B35AE5 /* UIViewController+Stripe3DS2.m in Sources */, - 7BF9D855223AD1C6001EA73F /* STDSNavigationBarCustomization.m in Sources */, - 36514CC021F7CA9C00CBC619 /* STDSThreeDS2Service.m in Sources */, - B616CE6F22430005003FC60C /* STDSRuntimeErrorEvent.m in Sources */, - B6790057224C2D1500DD9F18 /* NSError+Stripe3DS2.m in Sources */, - 7BF9D851223AC4E5001EA73F /* STDSButtonCustomization.m in Sources */, - B616CE8522444BF1003FC60C /* STDSAuthenticationRequestParameters.m in Sources */, - 36AC3D5925253FEE00F252D7 /* STDSSwiftTryCatch.m in Sources */, - 3612A6E321F9148200CBECC6 /* STDSSynchronousLocationManager.m in Sources */, - B679005B224C386600DD9F18 /* STDSStripe3DS2Error.m in Sources */, - 7BF9D870223FF3E8001EA73F /* UIButton+CustomInitialization.m in Sources */, - 7BF9D84D223AC200001EA73F /* STDSCustomization.m in Sources */, - B679006E2252905C00DD9F18 /* STDSChallengeRequestParameters.m in Sources */, - 366A316A22557496005705D7 /* STDSACSNetworkingManager.m in Sources */, - 36CEAE1121FA62C200BE1190 /* STDSJSONWebEncryption.m in Sources */, - 7BF9D83C2236AD5E001EA73F /* STDSWhitelistView.m in Sources */, - 7B05BA36225BEFE900071A59 /* STDSIntegrityChecker.m in Sources */, - 7BF9D859223AD3AA001EA73F /* STDSLabelCustomization.m in Sources */, - B633076F22B033F7006169E5 /* STDSSelectionButton.m in Sources */, - B6790052224C088400DD9F18 /* NSDictionary+DecodingHelpers.m in Sources */, - 36EE22092214E8E800CD4A78 /* STDSChallengeParameters.m in Sources */, - 7BF9D849223A9BEA001EA73F /* STDSUICustomization.m in Sources */, - 7BECCAE2222D8E77003852FF /* UIView+LayoutSupport.m in Sources */, - 31D5DDCE2565A8A900F4FC03 /* STDSCategoryLinker.m in Sources */, - 7BF9D8402236B65B001EA73F /* STDSExpandableInformationView.m in Sources */, - B6C9BCE32242D7DB00409475 /* STDSCompletionEvent.m in Sources */, - 7BF9D85D223AD453001EA73F /* STDSTextFieldCustomization.m in Sources */, - 7B05BA2A225BB87D00071A59 /* STDSOSVersionChecker.m in Sources */, - 3604008322C57861004CF80B /* STDSThreeDSProtocolVersion.m in Sources */, - 36F726BD22499301009AFEEA /* STDSEphemeralKeyPair.m in Sources */, - 7BECCAE6222D8E77003852FF /* NSLayoutConstraint+LayoutSupport.m in Sources */, - 36514CCF21F7D3DC00CBC619 /* STDSInvalidInputException.m in Sources */, - B6DC6A18225D5E53008C9172 /* STDSErrorMessage+Internal.m in Sources */, - 36CEAE292200DCEB00BE1190 /* NSString+JWEHelpers.m in Sources */, - 36514CC421F7D16D00CBC619 /* STDSConfigParameters.m in Sources */, - 7BECCA3922248220003852FF /* STDSChallengeResponseImageObject.m in Sources */, - 36546BFB229358E800D392BF /* STDSAuthenticationResponseObject.m in Sources */, - 7BECCAF6222DBB75003852FF /* STDSChallengeInformationView.m in Sources */, - 366BB212224301AB00AF577B /* STDSEllipticCurvePoint.m in Sources */, - 366CA1102253DA5E0040DE8B /* STDSJSONWebSignature.m in Sources */, - 36514CD721F7D43100CBC619 /* STDSRuntimeException.m in Sources */, - 36FE29842249A3730015BD0C /* STDSDeviceInformation.m in Sources */, - 31580103230DCA8100244FFB /* UIColor+ThirteenSupport.m in Sources */, - 3624FB01224C2FF400660581 /* STDSDirectoryServerCertificate.m in Sources */, - 7BECCB0E222EF228003852FF /* STDSTextChallengeView.m in Sources */, - 36CEAE2D2200DD5E00BE1190 /* NSData+JWEHelpers.m in Sources */, - 7BECCB1222301325003852FF /* STDSChallengeSelectionView.m in Sources */, - B616CE7722431FA7003FC60C /* STDSProtocolErrorEvent.m in Sources */, - 7BF9D844223957E9001EA73F /* STDSWebView.m in Sources */, - 36CEAE1D21FFAFBA00BE1190 /* STDSSecTypeUtilities.m in Sources */, - 366794AF25BB59390094831B /* STDSChallengeResponseObject+TestObjects.m in Sources */, - 7BECCA3322248177003852FF /* STDSChallengeResponseMessageExtensionObject.m in Sources */, - 7BECCAEF222D98A3003852FF /* STDSChallengeResponseViewController.m in Sources */, - B616CE7C22442C60003FC60C /* STDSErrorMessage.m in Sources */, - 7B05BA26225BB59F00071A59 /* STDSDebuggerChecker.m in Sources */, - B616CE802244452F003FC60C /* STDSTransaction.m in Sources */, - 36514CD321F7D41F00CBC619 /* STDSAlreadyInitializedException.m in Sources */, - 7B05BA32225BECCD00071A59 /* STDSJailbreakChecker.m in Sources */, - 7BF9D868223FEB80001EA73F /* UIColor+DefaultColors.m in Sources */, - 3612A6DF21F908B700CBECC6 /* STDSIPAddress.m in Sources */, - 7BECCAE4222D8E77003852FF /* STDSStackView.m in Sources */, - 7BECCA2D2224791E003852FF /* STDSChallengeResponseSelectionInfoObject.m in Sources */, - 7BF9D86C223FEB8D001EA73F /* UIFont+DefaultFonts.m in Sources */, - 7BF9D87A22417B03001EA73F /* STDSProcessingView.m in Sources */, - B633076B22B02D38006169E5 /* STDSSelectionCustomization.m in Sources */, - B633076722AF006F006169E5 /* STDSFooterCustomization.m in Sources */, + B426123CC7FCA337E13304F9 /* NSDictionary+DecodingHelpersTest.m in Sources */, + E73028FD4537F6E48F927127 /* NSString+EmptyCheckingTests.m in Sources */, + D1427392DA8AD8F5B4118781 /* STDSACSNetworkingManagerTest.m in Sources */, + A33A549CF12209280E3B1DBA /* STDSAuthenticationRequestParametersTest.m in Sources */, + 5DAC25EBAB19555229654E44 /* STDSAuthenticationResponseTests.m in Sources */, + A56AE2CD941D7ADAC7FC8BCC /* STDSBase64URLEncodingTests.m in Sources */, + D63E3DDC92DD46062A265D86 /* STDSChallengeParametersTests.m in Sources */, + 4A9423CC79312BC3A0DEC38B /* STDSChallengeRequestParametersTest.m in Sources */, + ECF8755D2602E0E06DCB3210 /* STDSChallengeResponseObjectTest.m in Sources */, + 32BE38D04DD76CA4490389C6 /* STDSConfigParametersTests.m in Sources */, + B1C2AA6259CE34B0042A1FB1 /* STDSDeviceInformationManagerTests.m in Sources */, + 2B09B7FDF8C4AA551F7EE18E /* STDSDeviceInformationParameterTests.m in Sources */, + E4DA2CE8DC8C60DE40222185 /* STDSDirectoryServerCertificateTests.m in Sources */, + 9F52F67A1A3A2199AEA598FC /* STDSEllipticCurvePointTests.m in Sources */, + BFC5852E14724750E70DA2A6 /* STDSEphemeralKeyPairTests.m in Sources */, + 1767509FDC216602A5E43F0E /* STDSErrorMessageTest.m in Sources */, + D189220981C7705913D93687 /* STDSJSONEncoderTest.m in Sources */, + 98075195759ABB91B0D19847 /* STDSJSONWebEncryptionTests.m in Sources */, + 4C0E13298F08D391FE8600CF /* STDSJSONWebSignatureTests.m in Sources */, + 480CD62EC91F4796D1D8D8DC /* STDSSecTypeUtilitiesTests.m in Sources */, + BA65731CDB75C3124834586C /* STDSSynchronousLocationManagerTests.m in Sources */, + EA19A7AEC298F3EC010D1199 /* STDSTestJSONUtils.m in Sources */, + D927789F89B413C08DE4D388 /* STDSThreeDS2ServiceTests.m in Sources */, + 9B7081D378D1441B98B81207 /* STDSTransactionTest.m in Sources */, + 83878337274D8C43D492EC45 /* STDSUICustomizationTests.m in Sources */, + 30632F7C730BF8D23B607CF7 /* STDSWarningTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 36DDBEA521EFEE9700CB47C9 /* Sources */ = { + 559A957A4AA29D178C3E3D8F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 36B20EDD2220600C00EBD38C /* STDSChallengeParametersTests.m in Sources */, - B6790066224ECBEC00DD9F18 /* STDSTestJSONUtils.m in Sources */, - 7BECCAFC222DCFF4003852FF /* NSString+EmptyCheckingTests.m in Sources */, - 3604008422C57861004CF80B /* STDSThreeDSProtocolVersion.m in Sources */, - 3624FAFC224A932B00660581 /* STDSEphemeralKeyPairTests.m in Sources */, - 36CEAE0B21FA5B9B00BE1190 /* STDSSynchronousLocationManagerTests.m in Sources */, - 36EE22052214B4C500CD4A78 /* STDSConfigParametersTests.m in Sources */, - 36514CDC21F7E17500CBC619 /* STDSThreeDS2ServiceTests.m in Sources */, - B679005E224D9A2C00DD9F18 /* NSDictionary+DecodingHelpersTest.m in Sources */, - B67900472249903400DD9F18 /* STDSJSONEncoderTest.m in Sources */, - 36CEAE0D21FA5CC300BE1190 /* STDSDeviceInformationManagerTests.m in Sources */, - B67900702252A87D00DD9F18 /* STDSChallengeRequestParametersTest.m in Sources */, - 3612CE092213588100A84993 /* STDSWarningTests.m in Sources */, - 3624FB03224D46CC00660581 /* STDSDirectoryServerCertificateTests.m in Sources */, - 366BB21622494ED500AF577B /* STDSBase64URLEncodingTests.m in Sources */, - B6CAFFA3224555C6009CD1B0 /* STDSTransactionTest.m in Sources */, - B6CFBF7A22695094009A007B /* STDSACSNetworkingManagerTest.m in Sources */, - 36546BF7229355C900D392BF /* STDSAuthenticationResponseTests.m in Sources */, - 7BF9D85F223AD75B001EA73F /* STDSUICustomizationTests.m in Sources */, - 36CEAE1F21FFC36500BE1190 /* STDSSecTypeUtilitiesTests.m in Sources */, - 362FAB8321FA521B00A7F82D /* STDSDeviceInformationParameterTests.m in Sources */, - 366A316C2257FCDC005705D7 /* STDSEllipticCurvePointTests.m in Sources */, - B6790068224EDBA300DD9F18 /* STDSErrorMessageTest.m in Sources */, - B6790060224ECA3E00DD9F18 /* STDSChallengeResponseObjectTest.m in Sources */, - B67900412249893500DD9F18 /* STDSAuthenticationRequestParametersTest.m in Sources */, - 366CA1132253E61C0040DE8B /* STDSJSONWebSignatureTests.m in Sources */, - 36CEAE342200E7C500BE1190 /* STDSJSONWebEncryptionTests.m in Sources */, + A8CAD8276ED8057A760147CB /* NSData+JWEHelpers.m in Sources */, + 0D4B42EC5019D213BDBC84E7 /* NSDictionary+DecodingHelpers.m in Sources */, + 089DAFECA444861762781974 /* NSError+Stripe3DS2.m in Sources */, + 9ED9C602C10682CD5DD91C12 /* NSLayoutConstraint+LayoutSupport.m in Sources */, + DEEF260365A4D9B0D83E557D /* NSString+EmptyChecking.m in Sources */, + 88197445522F39DB1E9F6AE7 /* NSString+JWEHelpers.m in Sources */, + B31168F5FEC3464AC212DB85 /* STDSACSNetworkingManager.m in Sources */, + 5FE5FB933E2651C8D84FA477 /* STDSAuthenticationResponseObject.m in Sources */, + 75150C4678B8207AA6E7D969 /* STDSBrandingView.m in Sources */, + 8233B9F131602DD7143FF96F /* STDSBundleLocator.m in Sources */, + 851D7278CE4C988FCDA0978E /* STDSCategoryLinker.m in Sources */, + 14BDBD98F8E15576403255C9 /* STDSChallengeInformationView.m in Sources */, + 2970D4880EBFAEFABA2E8EBD /* STDSChallengeRequestParameters.m in Sources */, + 2AB06EC20B22306F1DDF9F4B /* STDSChallengeResponseImageObject.m in Sources */, + B9A456E52E62E9DAE9F424A7 /* STDSChallengeResponseMessageExtensionObject.m in Sources */, + 09DFAF7B38EAB76BC66AC9C8 /* STDSChallengeResponseObject.m in Sources */, + AA4D157F31A246890D446981 /* STDSChallengeResponseSelectionInfoObject.m in Sources */, + CCC376FE7424029342A8D15E /* STDSChallengeResponseViewController.m in Sources */, + 4FE8C076102C195D609977F5 /* STDSChallengeSelectionView.m in Sources */, + A6909D6C1A68963504733939 /* STDSDebuggerChecker.m in Sources */, + E630DCBBEFAAD0435BEF989C /* STDSDeviceInformation.m in Sources */, + 3F2624C33291FCE00D596768 /* STDSDeviceInformationManager.m in Sources */, + 0EEFDE04392FD017EA0A017A /* STDSDeviceInformationParameter.m in Sources */, + 9F9BB9E7FA18FEDA44F7042E /* STDSDirectoryServerCertificate.m in Sources */, + 6B3AA85EE71FC42EF9BD999F /* STDSEllipticCurvePoint.m in Sources */, + 05647ABCFBDBE1209D5044AC /* STDSEphemeralKeyPair.m in Sources */, + 2E2022723BC7A4B2DD5ECE76 /* STDSErrorMessage+Internal.m in Sources */, + 4142A3AB3E384F91A1E5550B /* STDSExpandableInformationView.m in Sources */, + 9146B2E3B89EF3F489D7E233 /* STDSIPAddress.m in Sources */, + 136255493F3F0E930FBA8606 /* STDSImageLoader.m in Sources */, + EB791827A943AA61976D8C29 /* STDSIntegrityChecker.m in Sources */, + 955CBE0C979291F89567D8A7 /* STDSJSONWebEncryption.m in Sources */, + EFC72E766F9FD4EE18D309BC /* STDSJSONWebSignature.m in Sources */, + BA00D11D792C99B7D5749F59 /* STDSJailbreakChecker.m in Sources */, + 602C526C0B52DF81846DA664 /* STDSOSVersionChecker.m in Sources */, + 574A7976213046F02F7F60C4 /* STDSProcessingView.m in Sources */, + 1156B25EBE0135B627E174D2 /* STDSProgressViewController.m in Sources */, + DBDB8B56FFF5C4234705E698 /* STDSSecTypeUtilities.m in Sources */, + D41F091BE1579B801D1BBC20 /* STDSSelectionButton.m in Sources */, + 4518AD83580FC222B883DAFB /* STDSSimulatorChecker.m in Sources */, + 3F30A8F418870D176A626F00 /* STDSSpacerView.m in Sources */, + 3909D8028AC485BCCF17B48B /* STDSStackView.m in Sources */, + E0644CE0260178023E643B23 /* STDSSynchronousLocationManager.m in Sources */, + D5706ACF84F0A993CE1885D4 /* STDSTextChallengeView.m in Sources */, + 1B20B454D0C309613A1FAF68 /* STDSThreeDSProtocolVersion.m in Sources */, + 884D59AF7FD70889276AFC02 /* STDSWebView.m in Sources */, + E70CFDC59731BA62DD89906C /* STDSWhitelistView.m in Sources */, + A4CFDBFC3099BD7E1A694E3E /* UIButton+CustomInitialization.m in Sources */, + 2086DFD1FC02783FB106AD35 /* UIColor+DefaultColors.m in Sources */, + E19C8104FC1A9BAEA0BE8A9D /* UIColor+ThirteenSupport.m in Sources */, + 987347CA74818CEB716B9DB3 /* UIFont+DefaultFonts.m in Sources */, + 390691CA0EAF81418B0C65DB /* UIView+LayoutSupport.m in Sources */, + 08ECC7E70E7478E76793ED1E /* UIViewController+Stripe3DS2.m in Sources */, + D83D2FF20387FACC383A2A0F /* STDSAlreadyInitializedException.m in Sources */, + 7ED98325E7E54A54BFE54D6C /* STDSAuthenticationRequestParameters.m in Sources */, + C430332104547BA508416B41 /* STDSButtonCustomization.m in Sources */, + 6DB54DBAEFD08967367B6BF7 /* STDSChallengeParameters.m in Sources */, + FD8A81873C3BC7579ED07460 /* STDSCompletionEvent.m in Sources */, + 8A0872706BF4CDE72EF0C480 /* STDSConfigParameters.m in Sources */, + BF2651A9F3A31CB1AFEC44BB /* STDSCustomization.m in Sources */, + 8C9BD4B150F384111CBD3BD3 /* STDSErrorMessage.m in Sources */, + 3C88AE37A760B91E93D423CF /* STDSException.m in Sources */, + F569B584D357DC5C55542015 /* STDSFooterCustomization.m in Sources */, + EE3854BC2A14F87E8D51B0D0 /* STDSInvalidInputException.m in Sources */, + 0D3D9C95CB14A610EAAAEF6E /* STDSJSONEncoder.m in Sources */, + EEE77034728D2CFE38CC5A85 /* STDSLabelCustomization.m in Sources */, + BB379E68231A7DA62F87E628 /* STDSNavigationBarCustomization.m in Sources */, + 8A64AFBB2AC15E0E0F57ED25 /* STDSNotInitializedException.m in Sources */, + B51D1C218F460F67B58A1F0D /* STDSProtocolErrorEvent.m in Sources */, + 64D05353B50FAF3BB76D6527 /* STDSRuntimeErrorEvent.m in Sources */, + 01706B4660728A5BFAC12840 /* STDSRuntimeException.m in Sources */, + D3AA14D1E059E90F5A965CC4 /* STDSSelectionCustomization.m in Sources */, + 2C5621AABECF6192F92A20CF /* STDSStripe3DS2Error.m in Sources */, + 4E4E4BC1E2D041FA530336EE /* STDSSwiftTryCatch.m in Sources */, + 284F72D3FD8C06C0E5974086 /* STDSTextFieldCustomization.m in Sources */, + 24F626CD0F93B7AF59B1D6AA /* STDSThreeDS2Service.m in Sources */, + 6E727D2B738D7A3527952D28 /* STDSTransaction.m in Sources */, + DF4D38DC0AF89EAAA8718AAE /* STDSUICustomization.m in Sources */, + E08AF96E690D75F6AB52021F /* STDSWarning.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7B66B444224D520400E256EE /* Sources */ = { + 5D618F152EF19018F5C7E579 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3604008622C57861004CF80B /* STDSThreeDSProtocolVersion.m in Sources */, - 7B66B457224D522300E256EE /* STDSChallengeResponseViewControllerSnapshotTests.m in Sources */, + B84ED7FBD49865F23B774067 /* AppDelegate.m in Sources */, + A39CFB56BF33B21A89987F9C /* STDSChallengeResponseObject+TestObjects.m in Sources */, + 128B64380D6724F016EE8D56 /* STDSDemoViewController.m in Sources */, + B012C4A8ACA1D064C40A1B63 /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7BECCAA422270BF9003852FF /* Sources */ = { + 7A43CA17E1E2D826DCBDD88D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7BECCABA22270BFA003852FF /* main.m in Sources */, - 7BF9D8382236A6AD001EA73F /* STDSDemoViewController.m in Sources */, - 7BECCB1922317F5F003852FF /* STDSChallengeResponseObject+TestObjects.m in Sources */, - 7BECCAAC22270BF9003852FF /* AppDelegate.m in Sources */, - 3604008522C57861004CF80B /* STDSThreeDSProtocolVersion.m in Sources */, + F939E05536AE838DC489C3AA /* STDSChallengeResponseViewControllerSnapshotTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 313A2A8727B7330D00E5EA99 /* PBXTargetDependency */ = { + 026B55E92602E24EE7139E1F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 7BECCAA722270BF9003852FF /* Stripe3DS2DemoUI */; - targetProxy = 313A2A8627B7330D00E5EA99 /* PBXContainerItemProxy */; + name = Stripe3DS2DemoUI; + target = 5907C55B1F111921112DF2BF /* Stripe3DS2DemoUI */; + targetProxy = 35B6793A7F3FB130F40209F1 /* PBXContainerItemProxy */; }; - 7B66B442224D4F3300E256EE /* PBXTargetDependency */ = { + 0AE2FB81071258D69C9FCAD4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 36DDBE9F21EFEE9700CB47C9 /* Stripe3DS2 */; - targetProxy = 7B66B441224D4F3300E256EE /* PBXContainerItemProxy */; + name = Stripe3DS2; + target = 57AEC53510AE0DC0539730F3 /* Stripe3DS2 */; + targetProxy = 52E1EB51359DA6E75D851D71 /* PBXContainerItemProxy */; }; - 7B66B44E224D520400E256EE /* PBXTargetDependency */ = { + 798525809F1F67D0C6634927 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 7BECCAA722270BF9003852FF /* Stripe3DS2DemoUI */; - targetProxy = 7B66B44D224D520400E256EE /* PBXContainerItemProxy */; + name = Stripe3DS2; + target = 57AEC53510AE0DC0539730F3 /* Stripe3DS2 */; + targetProxy = 6C355B127D670833C76237D3 /* PBXContainerItemProxy */; + }; + C7515969CD69027C276886AB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Stripe3DS2; + target = 57AEC53510AE0DC0539730F3 /* Stripe3DS2 */; + targetProxy = 947ED275EAB25AD4CD701936 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 362FD33B22D562B4003455F0 /* Localizable.strings */ = { + F31A6580385C6390910AFD93 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 362FD33A22D562B4003455F0 /* en */, - 362FD33C22D562BD003455F0 /* zh-Hans */, - 362FD33D22D562BE003455F0 /* da */, - 362FD33E22D562C0003455F0 /* nl */, - 362FD33F22D562C1003455F0 /* fi */, - 362FD34022D562C1003455F0 /* fr */, - 362FD34122D562C2003455F0 /* fr-CA */, - 362FD34222D562C3003455F0 /* de */, - 362FD34322D562C4003455F0 /* it */, - 362FD34422D562C5003455F0 /* ja */, - 362FD34522D562C6003455F0 /* nb */, - 362FD34622D562C7003455F0 /* nn-NO */, - 362FD34722D562C8003455F0 /* pt-BR */, - 362FD34822D562C9003455F0 /* pt-PT */, - 362FD34922D562CA003455F0 /* es */, - 362FD34A22D562CB003455F0 /* es-419 */, - 362FD34B22D562CD003455F0 /* sv */, - 365411A32330504000359676 /* en-GB */, - 365411A52330504800359676 /* ru */, - 365411A72330504D00359676 /* ko */, - 365411A92330505300359676 /* tr */, - 36242DF5242EB9ED00A32EEE /* zh-Hant */, - 36242DF7242EB9F700A32EEE /* zh-HK */, - B69A84682489A46F009DE268 /* hu */, - B69A846A2489A476009DE268 /* mt */, - 36F4BC7926C1BBCC001518CD /* hr */, - 36F4BC8226C1BCB8001518CD /* fil */, - 36F4BC9B26C1BDE1001518CD /* vi */, - 36F4BCA326C1BE86001518CD /* id */, - 36064BA126D6E6DE002A8AAA /* ms-MY */, - 36064BA926D830A4002A8AAA /* bg-BG */, - 36064BB026D8314C002A8AAA /* ca-ES */, - 36064BBA26D832AF002A8AAA /* cs-CZ */, - 36064BC126D833A5002A8AAA /* et-EE */, - 36064BC926D8347D002A8AAA /* el-GR */, - 36064BD126D83510002A8AAA /* lt-LT */, - 36064BD926D835AC002A8AAA /* lv-LV */, - 36064BE126D83622002A8AAA /* pl-PL */, - 36064BE926D8369B002A8AAA /* ro-RO */, - 36064BF126D83781002A8AAA /* sk-SK */, - 36064BF926D83827002A8AAA /* sl-SI */, + 8A6035A8211B3D50D10EB947 /* bg-BG */, + 40DC4913154C3D3A27E35207 /* ca-ES */, + 7859D635964B2854A07B5285 /* cs-CZ */, + 8B8D429F1C03603DB218700F /* da */, + 2C2666DF7D23EBC3FFE7CCF1 /* de */, + 4C158B552B0CBE635A2AF7BB /* el-GR */, + EF5219762616ACF204F08C19 /* en */, + F112967E9FE8EE02FFFDC313 /* en-GB */, + 1BBADD412A7C2D1FF35A7C86 /* es */, + 406D88ADED27D64DED2002A2 /* es-419 */, + 461FDC130846625171164A9E /* et-EE */, + F139E48FDEFD921FF410892F /* fi */, + 49EF79D69693F937FEC46906 /* fil */, + 4BC4D9FD1D3869D491CC2CF8 /* fr */, + E64C700DED163CB77DCDEA78 /* fr-CA */, + 0E38A775DB9F529427E900CF /* hr */, + 371F8076630A8839C1F6A508 /* hu */, + 62773D5C85C567F28BCE0DA5 /* id */, + 13ED1CC076C6B3FB49C9197A /* it */, + 157970FF5B4A817041E3D668 /* ja */, + F86F34D1339F7467D0FDAC75 /* ko */, + 71494F94F36F4B731A27D182 /* lt-LT */, + 38572D4E32BF3670F1C83409 /* lv-LV */, + B1A7D41498B79E35BD724681 /* ms-MY */, + 18D88DE3E34106F934015BF9 /* mt */, + 6B487D8DD39DAC17042A3F04 /* nb */, + 83BDD516620860DC08B36B96 /* nl */, + D3F5A6D5A680F008C00A2D69 /* nn-NO */, + FE1DE9D978E6E682CB094128 /* pl-PL */, + 6690476C1BEA59C37576FB36 /* pt-BR */, + BC3EE020DC9358FF56389BBE /* pt-PT */, + F4D6DB90E3D01495C1F9BFE9 /* ro-RO */, + 694DF6F47767A651907D55D4 /* ru */, + 58C38FF9205C9B7D79C51A37 /* sk-SK */, + 3B9A821F35B93898A7AC1ADF /* sl-SI */, + 38F3A7D625E4B0D3506A37F6 /* sv */, + 2192708AD201F80F6E1A39F7 /* tr */, + B97D91CB54F48F64CAC9E378 /* vi */, + 3F017BF6ECE0EBE4E0DFCF9C /* zh-Hans */, + AF389752CCEB6FA734AAE31E /* zh-Hant */, + CECC1E22D0F0336039B435DE /* zh-HK */, ); name = Localizable.strings; sourceTree = ""; }; - 362FD34E22D56D96003455F0 /* Info.plist */ = { - isa = PBXVariantGroup; - children = ( - 362FD34D22D56D96003455F0 /* Base */, - 362FD34F22D56D9F003455F0 /* en */, - 362FD35022D56DA0003455F0 /* zh-Hans */, - 362FD35122D56DA2003455F0 /* da */, - 362FD35222D56DA2003455F0 /* nl */, - 362FD35322D56DA3003455F0 /* fi */, - 362FD35422D56DA4003455F0 /* fr */, - 362FD35522D56DA5003455F0 /* fr-CA */, - 362FD35622D56DA5003455F0 /* de */, - 362FD35722D56DA6003455F0 /* it */, - 362FD35822D56DA7003455F0 /* ja */, - 362FD35922D56DA7003455F0 /* nb */, - 362FD35A22D56DA9003455F0 /* nn-NO */, - 362FD35B22D56DA9003455F0 /* pt-BR */, - 362FD35C22D56DAA003455F0 /* pt-PT */, - 362FD35D22D56DAA003455F0 /* es */, - 362FD35E22D56DAB003455F0 /* es-419 */, - 362FD35F22D56DAC003455F0 /* sv */, - 365411A42330504000359676 /* en-GB */, - 365411A62330504800359676 /* ru */, - 365411A82330504D00359676 /* ko */, - 365411AA2330505300359676 /* tr */, - 36242DF6242EB9ED00A32EEE /* zh-Hant */, - 36242DF8242EB9F700A32EEE /* zh-HK */, - B69A84692489A46F009DE268 /* hu */, - B69A846B2489A476009DE268 /* mt */, - 36F4BC7A26C1BBCC001518CD /* hr */, - 36F4BC8326C1BCB8001518CD /* fil */, - 36F4BC9C26C1BDE1001518CD /* vi */, - 36F4BCA426C1BE87001518CD /* id */, - 36064BA226D6E6DF002A8AAA /* ms-MY */, - 36064BAA26D830A5002A8AAA /* bg-BG */, - 36064BB126D8314C002A8AAA /* ca-ES */, - 36064BBB26D832AF002A8AAA /* cs-CZ */, - 36064BC226D833A5002A8AAA /* et-EE */, - 36064BCA26D8347D002A8AAA /* el-GR */, - 36064BD226D83510002A8AAA /* lt-LT */, - 36064BDA26D835AC002A8AAA /* lv-LV */, - 36064BE226D83623002A8AAA /* pl-PL */, - 36064BEA26D8369B002A8AAA /* ro-RO */, - 36064BF226D83781002A8AAA /* sk-SK */, - 36064BFA26D83827002A8AAA /* sl-SI */, - ); - name = Info.plist; - sourceTree = ""; - }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 36DDBEB221EFEE9800CB47C9 /* Debug */ = { + 03D567A9F86C4B204A11D604 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 6940D75CA36F7DB9FB56196B /* Stripe3DS2DemoUI-Release.xcconfig */; 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_ASSIGN_ENUM = 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_IMPLICIT_SIGN_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_INTERFACE_IVARS = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = 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.0; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - 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_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; + INFOPLIST_FILE = Stripe3DS2DemoUI/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.Stripe3DS2DemoUI; + PRODUCT_NAME = Stripe3DS2DemoUI; SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 36DDBEB321EFEE9800CB47C9 /* Release */ = { + 380615C693D7BF5A8884139A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 5316D0759F7F2ED0BF1D3B2E /* Stripe3DS2DemoUI-Debug.xcconfig */; 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_ASSIGN_ENUM = 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_IMPLICIT_SIGN_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_INTERFACE_IVARS = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = 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.0; - 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_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; + INFOPLIST_FILE = Stripe3DS2DemoUI/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.Stripe3DS2DemoUI; + PRODUCT_NAME = Stripe3DS2DemoUI; SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 36DDBEB521EFEE9800CB47C9 /* Debug */ = { + 437A50F3FA4CE0127490A271 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 4DB91F58CF23E72636C69C41 /* Project-Release.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEPLOYMENT_POSTPROCESSING = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "$(SRCROOT)/Stripe3DS2/include/Stripe3DS2-Prefix.pch"; - INFOPLIST_FILE = Stripe3DS2/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-3ds2"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - STRIP_STYLE = "non-global"; - TARGETED_DEVICE_FAMILY = "1,2"; }; - name = Debug; + name = Release; }; - 36DDBEB621EFEE9800CB47C9 /* Release */ = { + 7C7BC68E9581B5EDB7602612 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = D7A9D36FEF7E97CF735D82B8 /* Stripe3DS2DemoUITests-Release.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEPLOYMENT_POSTPROCESSING = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "$(SRCROOT)/Stripe3DS2/include/Stripe3DS2-Prefix.pch"; - INFOPLIST_FILE = Stripe3DS2/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-3ds2"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - STRIP_STYLE = "non-global"; - TARGETED_DEVICE_FAMILY = "1,2"; + INFOPLIST_FILE = Stripe3DS2DemoUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.Stripe3DS2DemoUITests; + PRODUCT_NAME = Stripe3DS2DemoUITests; + SDKROOT = iphoneos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Stripe3DS2DemoUI.app/Stripe3DS2DemoUI"; + TEST_TARGET_NAME = Stripe3DS2DemoUI; }; name = Release; }; - 36DDBEB821EFEE9800CB47C9 /* Debug */ = { + 872D92C1EE444AB448EB744C /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = F5686FB8EFA3AE3B39F85BBC /* Stripe3DS2Tests-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = Stripe3DS2Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_BUNDLE_IDENTIFIER = stripe.Stripe3DS2Tests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; + INFOPLIST_FILE = Stripe3DS2Tests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.Stripe3DS2Tests; + PRODUCT_NAME = Stripe3DS2Tests; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - 36DDBEB921EFEE9800CB47C9 /* Release */ = { + 8CD9CB7B7E57B44EE65EF421 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 3A8CD68A006F970DDC54469A /* Project-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = Stripe3DS2Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_BUNDLE_IDENTIFIER = stripe.Stripe3DS2Tests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; }; - name = Release; + name = Debug; }; - 7B66B450224D520400E256EE /* Debug */ = { + A084DA5D39CBD41FD4E5294E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C6EA04AC9FC81D87DE7A0CDC /* Pods-Stripe3DS2DemoUITests.debug.xcconfig */; + baseConfigurationReference = F2BC7014D26158AC9D74CC67 /* Stripe3DS2Tests-Debug.xcconfig */; buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = Stripe3DS2DemoUITests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = stripe3DS2.Stripe3DS2DemoUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Stripe3DS2DemoUI.app/Stripe3DS2DemoUI"; + INFOPLIST_FILE = Stripe3DS2Tests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.Stripe3DS2Tests; + PRODUCT_NAME = Stripe3DS2Tests; + SDKROOT = iphoneos; }; name = Debug; }; - 7B66B451224D520400E256EE /* Release */ = { + C34CBE7C8AA7B8ADB823B098 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AA36DBCF0BA0E43D222D831 /* Pods-Stripe3DS2DemoUITests.release.xcconfig */; + baseConfigurationReference = 0E3C05BE55CF3086738AA182 /* Stripe3DS2DemoUITests-Debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = Stripe3DS2DemoUITests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = stripe3DS2.Stripe3DS2DemoUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; + INFOPLIST_FILE = Stripe3DS2DemoUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.Stripe3DS2DemoUITests; + PRODUCT_NAME = Stripe3DS2DemoUITests; + SDKROOT = iphoneos; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Stripe3DS2DemoUI.app/Stripe3DS2DemoUI"; + TEST_TARGET_NAME = Stripe3DS2DemoUI; }; - name = Release; + name = Debug; }; - 7BECCAC622270BFA003852FF /* Debug */ = { + D4CD9EDC1DA055683F427D24 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = F8F6FFED1A0966A49B78F252 /* Stripe3DS2-Release.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "$(SRCROOT)/Stripe3DS2DemoUITests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = stripe3DS2.Stripe3DS2DemoUI; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; + INFOPLIST_FILE = Stripe3DS2/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-3ds2"; + PRODUCT_NAME = Stripe3DS2; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - 7BECCAC722270BFA003852FF /* Release */ = { + FCA19B8EBB1E9578613A65BE /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = A9CD7EC589C5CC6CE5CF9310 /* Stripe3DS2-Debug.xcconfig */; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = "$(SRCROOT)/Stripe3DS2DemoUITests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = stripe3DS2.Stripe3DS2DemoUI; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; + INFOPLIST_FILE = Stripe3DS2/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-3ds2"; + PRODUCT_NAME = Stripe3DS2; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 36DDBE9A21EFEE9700CB47C9 /* Build configuration list for PBXProject "Stripe3DS2" */ = { + 271DFDD5ABBB719F3BD1AB56 /* Build configuration list for PBXNativeTarget "Stripe3DS2Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 36DDBEB221EFEE9800CB47C9 /* Debug */, - 36DDBEB321EFEE9800CB47C9 /* Release */, + A084DA5D39CBD41FD4E5294E /* Debug */, + 872D92C1EE444AB448EB744C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 36DDBEB421EFEE9800CB47C9 /* Build configuration list for PBXNativeTarget "Stripe3DS2" */ = { + 37237B2A5629D2257C454AD1 /* Build configuration list for PBXNativeTarget "Stripe3DS2DemoUI" */ = { isa = XCConfigurationList; buildConfigurations = ( - 36DDBEB521EFEE9800CB47C9 /* Debug */, - 36DDBEB621EFEE9800CB47C9 /* Release */, + 380615C693D7BF5A8884139A /* Debug */, + 03D567A9F86C4B204A11D604 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 36DDBEB721EFEE9800CB47C9 /* Build configuration list for PBXNativeTarget "Stripe3DS2Tests" */ = { + 57B08C966701355644CF5CEB /* Build configuration list for PBXProject "Stripe3DS2" */ = { isa = XCConfigurationList; buildConfigurations = ( - 36DDBEB821EFEE9800CB47C9 /* Debug */, - 36DDBEB921EFEE9800CB47C9 /* Release */, + 8CD9CB7B7E57B44EE65EF421 /* Debug */, + 437A50F3FA4CE0127490A271 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7B66B44F224D520400E256EE /* Build configuration list for PBXNativeTarget "Stripe3DS2DemoUITests" */ = { + 5C9BBB6FD4175090CFCAA126 /* Build configuration list for PBXNativeTarget "Stripe3DS2" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7B66B450224D520400E256EE /* Debug */, - 7B66B451224D520400E256EE /* Release */, + FCA19B8EBB1E9578613A65BE /* Debug */, + D4CD9EDC1DA055683F427D24 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7BECCACA22270BFA003852FF /* Build configuration list for PBXNativeTarget "Stripe3DS2DemoUI" */ = { + 5F64A3CED17753DA2643AA63 /* Build configuration list for PBXNativeTarget "Stripe3DS2DemoUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7BECCAC622270BFA003852FF /* Debug */, - 7BECCAC722270BFA003852FF /* Release */, + C34CBE7C8AA7B8ADB823B098 /* Debug */, + 7C7BC68E9581B5EDB7602612 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 176A29DF97FAFE939C7F667B /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/uber/ios-snapshot-test-case"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 8.0.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 0118969F6608A92583CC6C98 /* iOSSnapshotTestCase */ = { + isa = XCSwiftPackageProductDependency; + productName = iOSSnapshotTestCase; + }; +/* End XCSwiftPackageProductDependency section */ }; - rootObject = 36DDBE9721EFEE9700CB47C9 /* Project object */; + rootObject = 8D219187B704575AD3CD3EC5 /* Project object */; } diff --git a/Stripe3DS2/Stripe3DS2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Stripe3DS2/Stripe3DS2.xcodeproj/project.xcworkspace/contents.xcworkspacedata index af047d0c818..919434a6254 100644 --- a/Stripe3DS2/Stripe3DS2.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/Stripe3DS2/Stripe3DS2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/Stripe3DS2/Stripe3DS2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Stripe3DS2/Stripe3DS2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/Stripe3DS2/Stripe3DS2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2.xcscheme b/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2.xcscheme index 04b338e7e9b..14b59e6fb42 100644 --- a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2.xcscheme +++ b/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2.xcscheme @@ -1,6 +1,6 @@ @@ -27,21 +27,12 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - @@ -62,7 +53,7 @@ @@ -78,7 +69,7 @@ diff --git a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2DemoUI.xcscheme b/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2DemoUI.xcscheme index 552251b331a..b45aa0a9284 100644 --- a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2DemoUI.xcscheme +++ b/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2DemoUI.xcscheme @@ -1,6 +1,6 @@ @@ -26,13 +26,13 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> + shouldUseLaunchSchemeArgsEnv = "NO"> @@ -41,18 +41,28 @@ skipped = "NO"> + + + + + + - - - - diff --git a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2DemoUITests.xcscheme b/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2DemoUITests.xcscheme deleted file mode 100644 index 1b0bab3289b..00000000000 --- a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2DemoUITests.xcscheme +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/Stripe3DS2/Stripe3DS2.xcworkspace/contents.xcworkspacedata b/Stripe3DS2/Stripe3DS2.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 51e9964d97b..00000000000 --- a/Stripe3DS2/Stripe3DS2.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Stripe3DS2/Stripe3DS2.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Stripe3DS2/Stripe3DS2.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d6..00000000000 --- a/Stripe3DS2/Stripe3DS2.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Stripe3DS2/Stripe3DS2/STDSAlreadyInitializedException.m b/Stripe3DS2/Stripe3DS2/include/STDSAlreadyInitializedException.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSAlreadyInitializedException.m rename to Stripe3DS2/Stripe3DS2/include/STDSAlreadyInitializedException.m diff --git a/Stripe3DS2/Stripe3DS2/STDSAuthenticationRequestParameters.m b/Stripe3DS2/Stripe3DS2/include/STDSAuthenticationRequestParameters.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSAuthenticationRequestParameters.m rename to Stripe3DS2/Stripe3DS2/include/STDSAuthenticationRequestParameters.m diff --git a/Stripe3DS2/Stripe3DS2/STDSButtonCustomization.m b/Stripe3DS2/Stripe3DS2/include/STDSButtonCustomization.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSButtonCustomization.m rename to Stripe3DS2/Stripe3DS2/include/STDSButtonCustomization.m diff --git a/Stripe3DS2/Stripe3DS2/STDSChallengeParameters.m b/Stripe3DS2/Stripe3DS2/include/STDSChallengeParameters.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSChallengeParameters.m rename to Stripe3DS2/Stripe3DS2/include/STDSChallengeParameters.m diff --git a/Stripe3DS2/Stripe3DS2/STDSCompletionEvent.m b/Stripe3DS2/Stripe3DS2/include/STDSCompletionEvent.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSCompletionEvent.m rename to Stripe3DS2/Stripe3DS2/include/STDSCompletionEvent.m diff --git a/Stripe3DS2/Stripe3DS2/STDSConfigParameters.m b/Stripe3DS2/Stripe3DS2/include/STDSConfigParameters.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSConfigParameters.m rename to Stripe3DS2/Stripe3DS2/include/STDSConfigParameters.m diff --git a/Stripe3DS2/Stripe3DS2/STDSCustomization.m b/Stripe3DS2/Stripe3DS2/include/STDSCustomization.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSCustomization.m rename to Stripe3DS2/Stripe3DS2/include/STDSCustomization.m diff --git a/Stripe3DS2/Stripe3DS2/STDSErrorMessage.m b/Stripe3DS2/Stripe3DS2/include/STDSErrorMessage.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSErrorMessage.m rename to Stripe3DS2/Stripe3DS2/include/STDSErrorMessage.m diff --git a/Stripe3DS2/Stripe3DS2/STDSException.m b/Stripe3DS2/Stripe3DS2/include/STDSException.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSException.m rename to Stripe3DS2/Stripe3DS2/include/STDSException.m diff --git a/Stripe3DS2/Stripe3DS2/STDSFooterCustomization.m b/Stripe3DS2/Stripe3DS2/include/STDSFooterCustomization.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSFooterCustomization.m rename to Stripe3DS2/Stripe3DS2/include/STDSFooterCustomization.m diff --git a/Stripe3DS2/Stripe3DS2/STDSInvalidInputException.m b/Stripe3DS2/Stripe3DS2/include/STDSInvalidInputException.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSInvalidInputException.m rename to Stripe3DS2/Stripe3DS2/include/STDSInvalidInputException.m diff --git a/Stripe3DS2/Stripe3DS2/STDSJSONEncoder.m b/Stripe3DS2/Stripe3DS2/include/STDSJSONEncoder.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSJSONEncoder.m rename to Stripe3DS2/Stripe3DS2/include/STDSJSONEncoder.m diff --git a/Stripe3DS2/Stripe3DS2/STDSLabelCustomization.m b/Stripe3DS2/Stripe3DS2/include/STDSLabelCustomization.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSLabelCustomization.m rename to Stripe3DS2/Stripe3DS2/include/STDSLabelCustomization.m diff --git a/Stripe3DS2/Stripe3DS2/STDSNavigationBarCustomization.m b/Stripe3DS2/Stripe3DS2/include/STDSNavigationBarCustomization.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSNavigationBarCustomization.m rename to Stripe3DS2/Stripe3DS2/include/STDSNavigationBarCustomization.m diff --git a/Stripe3DS2/Stripe3DS2/STDSNotInitializedException.m b/Stripe3DS2/Stripe3DS2/include/STDSNotInitializedException.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSNotInitializedException.m rename to Stripe3DS2/Stripe3DS2/include/STDSNotInitializedException.m diff --git a/Stripe3DS2/Stripe3DS2/STDSProtocolErrorEvent.m b/Stripe3DS2/Stripe3DS2/include/STDSProtocolErrorEvent.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSProtocolErrorEvent.m rename to Stripe3DS2/Stripe3DS2/include/STDSProtocolErrorEvent.m diff --git a/Stripe3DS2/Stripe3DS2/STDSRuntimeErrorEvent.m b/Stripe3DS2/Stripe3DS2/include/STDSRuntimeErrorEvent.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSRuntimeErrorEvent.m rename to Stripe3DS2/Stripe3DS2/include/STDSRuntimeErrorEvent.m diff --git a/Stripe3DS2/Stripe3DS2/STDSRuntimeException.m b/Stripe3DS2/Stripe3DS2/include/STDSRuntimeException.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSRuntimeException.m rename to Stripe3DS2/Stripe3DS2/include/STDSRuntimeException.m diff --git a/Stripe3DS2/Stripe3DS2/STDSSelectionCustomization.m b/Stripe3DS2/Stripe3DS2/include/STDSSelectionCustomization.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSSelectionCustomization.m rename to Stripe3DS2/Stripe3DS2/include/STDSSelectionCustomization.m diff --git a/Stripe3DS2/Stripe3DS2/STDSStripe3DS2Error.m b/Stripe3DS2/Stripe3DS2/include/STDSStripe3DS2Error.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSStripe3DS2Error.m rename to Stripe3DS2/Stripe3DS2/include/STDSStripe3DS2Error.m diff --git a/Stripe3DS2/Stripe3DS2/STDSSwiftTryCatch.m b/Stripe3DS2/Stripe3DS2/include/STDSSwiftTryCatch.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSSwiftTryCatch.m rename to Stripe3DS2/Stripe3DS2/include/STDSSwiftTryCatch.m diff --git a/Stripe3DS2/Stripe3DS2/STDSTextFieldCustomization.m b/Stripe3DS2/Stripe3DS2/include/STDSTextFieldCustomization.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSTextFieldCustomization.m rename to Stripe3DS2/Stripe3DS2/include/STDSTextFieldCustomization.m diff --git a/Stripe3DS2/Stripe3DS2/STDSThreeDS2Service.m b/Stripe3DS2/Stripe3DS2/include/STDSThreeDS2Service.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSThreeDS2Service.m rename to Stripe3DS2/Stripe3DS2/include/STDSThreeDS2Service.m diff --git a/Stripe3DS2/Stripe3DS2/STDSTransaction.m b/Stripe3DS2/Stripe3DS2/include/STDSTransaction.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSTransaction.m rename to Stripe3DS2/Stripe3DS2/include/STDSTransaction.m diff --git a/Stripe3DS2/Stripe3DS2/STDSUICustomization.m b/Stripe3DS2/Stripe3DS2/include/STDSUICustomization.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSUICustomization.m rename to Stripe3DS2/Stripe3DS2/include/STDSUICustomization.m diff --git a/Stripe3DS2/Stripe3DS2/STDSWarning.m b/Stripe3DS2/Stripe3DS2/include/STDSWarning.m similarity index 100% rename from Stripe3DS2/Stripe3DS2/STDSWarning.m rename to Stripe3DS2/Stripe3DS2/include/STDSWarning.m diff --git a/Stripe3DS2/Stripe3DS2DemoUI/Base.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/Base.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/Base.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/bg-BG.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/Info.plist similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/bg-BG.lproj/Info.plist rename to Stripe3DS2/Stripe3DS2DemoUI/Info.plist index 110ad7d36ec..80cd60529e6 100644 --- a/Stripe3DS2/Stripe3DS2DemoUI/bg-BG.lproj/Info.plist +++ b/Stripe3DS2/Stripe3DS2DemoUI/Info.plist @@ -32,8 +32,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - UISupportedInterfaceOrientations~ipad UIInterfaceOrientationPortrait @@ -41,5 +39,7 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIViewControllerBasedStatusBarAppearance + diff --git a/Stripe3DS2/Stripe3DS2DemoUITests/acs_challenge.html b/Stripe3DS2/Stripe3DS2DemoUI/Resources/acs_challenge.html similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUITests/acs_challenge.html rename to Stripe3DS2/Stripe3DS2DemoUI/Resources/acs_challenge.html diff --git a/Stripe3DS2/Stripe3DS2DemoUI/AppDelegate.h b/Stripe3DS2/Stripe3DS2DemoUI/Sources/AppDelegate.h similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/AppDelegate.h rename to Stripe3DS2/Stripe3DS2DemoUI/Sources/AppDelegate.h diff --git a/Stripe3DS2/Stripe3DS2DemoUI/AppDelegate.m b/Stripe3DS2/Stripe3DS2DemoUI/Sources/AppDelegate.m similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/AppDelegate.m rename to Stripe3DS2/Stripe3DS2DemoUI/Sources/AppDelegate.m diff --git a/Stripe3DS2/Stripe3DS2DemoUI/STDSChallengeResponseObject+TestObjects.h b/Stripe3DS2/Stripe3DS2DemoUI/Sources/STDSChallengeResponseObject+TestObjects.h similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/STDSChallengeResponseObject+TestObjects.h rename to Stripe3DS2/Stripe3DS2DemoUI/Sources/STDSChallengeResponseObject+TestObjects.h diff --git a/Stripe3DS2/Stripe3DS2DemoUI/STDSChallengeResponseObject+TestObjects.m b/Stripe3DS2/Stripe3DS2DemoUI/Sources/STDSChallengeResponseObject+TestObjects.m similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/STDSChallengeResponseObject+TestObjects.m rename to Stripe3DS2/Stripe3DS2DemoUI/Sources/STDSChallengeResponseObject+TestObjects.m diff --git a/Stripe3DS2/Stripe3DS2DemoUI/STDSDemoViewController.h b/Stripe3DS2/Stripe3DS2DemoUI/Sources/STDSDemoViewController.h similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/STDSDemoViewController.h rename to Stripe3DS2/Stripe3DS2DemoUI/Sources/STDSDemoViewController.h diff --git a/Stripe3DS2/Stripe3DS2DemoUI/STDSDemoViewController.m b/Stripe3DS2/Stripe3DS2DemoUI/Sources/STDSDemoViewController.m similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/STDSDemoViewController.m rename to Stripe3DS2/Stripe3DS2DemoUI/Sources/STDSDemoViewController.m diff --git a/Stripe3DS2/Stripe3DS2DemoUI/main.m b/Stripe3DS2/Stripe3DS2DemoUI/Sources/main.m similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/main.m rename to Stripe3DS2/Stripe3DS2DemoUI/Sources/main.m diff --git a/Stripe3DS2/Stripe3DS2DemoUI/ca-ES.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/ca-ES.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/ca-ES.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/cs-CZ.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/cs-CZ.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/cs-CZ.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/el-GR.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/el-GR.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/el-GR.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/en-GB.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/en-GB.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/en-GB.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/et-EE.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/et-EE.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/et-EE.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/fi.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/fi.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/fi.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/fil.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/fil.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/fil.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/fr-CA.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/fr-CA.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/fr-CA.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/fr.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/fr.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/fr.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/hr.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/hr.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/hr.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/hu.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/hu.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/hu.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/id.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/id.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/id.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/it.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/it.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/it.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/ja.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/ja.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/ja.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/ko.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/ko.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/ko.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/lt-LT.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/lt-LT.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/lt-LT.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/lv-LV.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/lv-LV.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/lv-LV.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/ms-MY.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/ms-MY.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/ms-MY.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/mt.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/mt.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/mt.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/nb.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/nb.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/nb.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/nl.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/nl.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/nl.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/nn-NO.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/nn-NO.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/nn-NO.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/pl-PL.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/pl-PL.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/pl-PL.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/pt-BR.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/pt-BR.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/pt-BR.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/pt-PT.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/pt-PT.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/pt-PT.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/ro-RO.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/ro-RO.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/ro-RO.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/ru.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/ru.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/ru.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/sk-SK.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/sk-SK.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/sk-SK.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/sl-SI.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/sl-SI.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/sl-SI.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/sv.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/sv.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/sv.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/tr.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/tr.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/tr.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/vi.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/vi.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/vi.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/zh-HK.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/zh-HK.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/zh-HK.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/zh-Hans.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/zh-Hans.lproj/Info.plist deleted file mode 100644 index 4222ac2dd31..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/zh-Hans.lproj/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUI/zh-Hant.lproj/Info.plist b/Stripe3DS2/Stripe3DS2DemoUI/zh-Hant.lproj/Info.plist deleted file mode 100644 index 110ad7d36ec..00000000000 --- a/Stripe3DS2/Stripe3DS2DemoUI/zh-Hant.lproj/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingAmex_LoadingAmex@2x.png b/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingAmex_LoadingAmex@2x.png deleted file mode 100644 index e5b628136ce9bb7bc8422fd19e8720f8b47a3c37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37706 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 diff --git a/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingDiscover_LoadingDiscover@2x.png b/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingDiscover_LoadingDiscover@2x.png deleted file mode 100644 index 2d77c1d3c1ddab12fc60f756088a2f180ea723e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35976 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 diff --git a/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingMastercard_LoadingMastercard@2x.png b/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingMastercard_LoadingMastercard@2x.png deleted file mode 100644 index 970126f1aa9c72057e8984fc7d9209e99087487d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35570 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 Dwi%E$ diff --git a/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyMultiSelectDesign_MultiSelectResponse@2x.png b/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyMultiSelectDesign_MultiSelectResponse@2x.png deleted file mode 100644 index 8552e664584e84f539693f308da0a33cf3813a3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94805 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

d7qbKZXqwt)(NoNmfD&Fj&j+>H)NypLiKsK= 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 HBPss{C-{x+ diff --git a/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyOOBDesign_OOBResponse@2x.png b/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyOOBDesign_OOBResponse@2x.png deleted file mode 100644 index af077e0a2a55571393086ce9e92fa75f60b54cf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103840 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 d+|-Ep#5BS4t1I7pcOLrNu|4)zCr*1 diff --git a/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifySingleSelectDesign_SingleSelectResponse@2x.png b/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifySingleSelectDesign_SingleSelectResponse@2x.png deleted file mode 100644 index ee06c9f5398e891766576a818e652d772936f0f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83951 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 ANdN!< diff --git a/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyTextChallengeDesign_TextChallengeResponse@2x.png b/Stripe3DS2/Stripe3DS2DemoUITests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifyTextChallengeDesign_TextChallengeResponse@2x.png deleted file mode 100644 index 9b8e5f9d6b18925bdfadd062eb232c1154c5dab5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86522 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 tZc`5E>H=L|psNeiQ~uwc`T*X!@$d;^ diff --git a/Stripe3DS2/Stripe3DS2DemoUITests/STDSChallengeResponseViewControllerSnapshotTests.m b/Stripe3DS2/Stripe3DS2DemoUITests/STDSChallengeResponseViewControllerSnapshotTests.m index feb0ef96c8d..94904843da9 100644 --- a/Stripe3DS2/Stripe3DS2DemoUITests/STDSChallengeResponseViewControllerSnapshotTests.m +++ b/Stripe3DS2/Stripe3DS2DemoUITests/STDSChallengeResponseViewControllerSnapshotTests.m @@ -6,12 +6,21 @@ // Copyright © 2019 Stripe. All rights reserved. // -@import FBSnapshotTestCase; +@import iOSSnapshotTestCaseCore; + #import #import "STDSChallengeResponseViewController.h" #import "STDSChallengeResponseObject+TestObjects.h" +/** + Calls FBSnapshotVerifyView with a default 2% per-pixel color differentiation, as M1 and Intel machines render shadows differently. + @param view The view to snapshot. + @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. + */ +#define STPSnapshotVerifyView(view__, identifier__) \ +FBSnapshotVerifyViewWithPixelOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0.02, 0) + @interface STDSChallengeResponseViewControllerSnapshotTests: FBSnapshotTestCase @end @@ -21,8 +30,8 @@ @implementation STDSChallengeResponseViewControllerSnapshotTests - (void)setUp { [super setUp]; - /// Recorded on an iPhone XR running iOS 12.1 - self.recordMode = NO; + /// Recorded on an iPhone 12 Mini running iOS 15.4 +// self.recordMode = YES; } - (void)testVerifyTextChallengeDesign { @@ -30,7 +39,7 @@ - (void)testVerifyTextChallengeDesign { [challengeResponseViewController view]; [self waitForChallengeResponseTimer]; - + STPSnapshotVerifyView(challengeResponseViewController.view, @"TextChallengeResponse"); } diff --git a/StripeApplePay/Project.swift b/StripeApplePay/Project.swift new file mode 100644 index 00000000000..020478d5c07 --- /dev/null +++ b/StripeApplePay/Project.swift @@ -0,0 +1,15 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripeApplePay", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + ], + unitTestOptions: .testOptions( + dependencies: [ + .project(target: "StripeCoreTestUtils", path: "//StripeCore"), + ], + usesStubs: true + ) +) diff --git a/StripeApplePay/StripeApplePay.xcodeproj/project.pbxproj b/StripeApplePay/StripeApplePay.xcodeproj/project.pbxproj index 47ed1f0cdc5..4c4ed77b3ba 100644 --- a/StripeApplePay/StripeApplePay.xcodeproj/project.pbxproj +++ b/StripeApplePay/StripeApplePay.xcodeproj/project.pbxproj @@ -3,471 +3,423 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 312656FF27AC9BBF00D2F8A8 /* STPAnalyticsClient+ApplePayTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312656FE27AC9BBF00D2F8A8 /* STPAnalyticsClient+ApplePayTest.swift */; }; - 3126570127B47F3100D2F8A8 /* TelemetryInjectionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3126570027B47F3100D2F8A8 /* TelemetryInjectionTest.swift */; }; - 3137B6AD2743816300CE7F5C /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3137B6AC2743816300CE7F5C /* StripeCore+Import.swift */; }; - 3137B6AF2743837400CE7F5C /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3137B6AE2743837400CE7F5C /* StripeCore.framework */; }; - 313A2A8527B5EBCE00E5EA99 /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 313A2A8427B5EBCE00E5EA99 /* StripeCoreTestUtils.framework */; }; - 3148D6C32809125C00501D3D /* CardBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3148D6C22809125C00501D3D /* CardBrand.swift */; }; - 315BDBE12788E9D8007BD11F /* STPAPIClient+ApplePay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 315BDBE02788E9D8007BD11F /* STPAPIClient+ApplePay.swift */; }; - 3163E4A22787BB8200956D86 /* STPApplePayContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3163E4A12787BB8200956D86 /* STPApplePayContext.swift */; }; - 3163E4A42787BD0E00956D86 /* Blocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3163E4A32787BD0E00956D86 /* Blocks.swift */; }; - 31689984279B34BA00FEBDE3 /* STPAnalyticsClient+PaymentsAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31689983279B34BA00FEBDE3 /* STPAnalyticsClient+PaymentsAPI.swift */; }; - 3181D736273A00BF00525C02 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3181D72D273A00BE00525C02 /* StripeApplePay.framework */; }; - 3181D73B273A00BF00525C02 /* StripeApplePayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3181D73A273A00BF00525C02 /* StripeApplePayTests.swift */; }; - 3181D73C273A00BF00525C02 /* StripeApplePay.h in Headers */ = {isa = PBXBuildFile; fileRef = 3181D730273A00BE00525C02 /* StripeApplePay.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 319E82F2274318DE00F202D6 /* StripeApplePayTestUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 319E82F1274318DE00F202D6 /* StripeApplePayTestUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 319E82F72743190B00F202D6 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3181D72D273A00BE00525C02 /* StripeApplePay.framework */; }; - 319E82F82743191200F202D6 /* StripeApplePayTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 319E82EF274318DE00F202D6 /* StripeApplePayTestUtils.framework */; }; - 31ACFB2727A0B19000988C8E /* STPApplePayContext+LegacySupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31ACFB2627A0B19000988C8E /* STPApplePayContext+LegacySupport.swift */; }; - 31AF4409279F725500BCEEF4 /* STPAnalyticsClient+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31AF4408279F725500BCEEF4 /* STPAnalyticsClient+Payments.swift */; }; - 31AF440B27A0887400BCEEF4 /* STPAPIClient+PaymentsCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31AF440A27A0887400BCEEF4 /* STPAPIClient+PaymentsCore.swift */; }; - 31E6D9452744404700A89B6D /* PaymentMethodParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D93C2744404700A89B6D /* PaymentMethodParams.swift */; }; - 31E6D9462744404700A89B6D /* Address.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D93D2744404700A89B6D /* Address.swift */; }; - 31E6D9472744404700A89B6D /* SetupIntentParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D93E2744404700A89B6D /* SetupIntentParams.swift */; }; - 31E6D9482744404700A89B6D /* PaymentMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D93F2744404700A89B6D /* PaymentMethod.swift */; }; - 31E6D9492744404700A89B6D /* SetupIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9402744404700A89B6D /* SetupIntent.swift */; }; - 31E6D94A2744404700A89B6D /* PaymentIntentParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9412744404700A89B6D /* PaymentIntentParams.swift */; }; - 31E6D94B2744404700A89B6D /* BillingDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9422744404700A89B6D /* BillingDetails.swift */; }; - 31E6D94C2744404700A89B6D /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9432744404700A89B6D /* Token.swift */; }; - 31E6D94D2744404700A89B6D /* PaymentIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9442744404700A89B6D /* PaymentIntent.swift */; }; - 31E6D9522744405000A89B6D /* SetupIntent+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D94E2744405000A89B6D /* SetupIntent+API.swift */; }; - 31E6D9532744405000A89B6D /* PaymentIntent+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D94F2744405000A89B6D /* PaymentIntent+API.swift */; }; - 31E6D9542744405000A89B6D /* PaymentMethod+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9502744405000A89B6D /* PaymentMethod+API.swift */; }; - 31E6D9552744405000A89B6D /* Token+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9512744405000A89B6D /* Token+API.swift */; }; - 31E6D95C274440B900A89B6D /* STPPaymentMethodFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D95B274440B900A89B6D /* STPPaymentMethodFunctionalTest.swift */; }; - 31E6D95E2744444A00A89B6D /* PKPayment+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D95D2744444A00A89B6D /* PKPayment+Stripe.swift */; }; - 31E6D960274444AB00A89B6D /* BillingDetails+ApplePay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D95F274444AB00A89B6D /* BillingDetails+ApplePay.swift */; }; - 31E6D9662744467D00A89B6D /* PKContact+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9652744467D00A89B6D /* PKContact+Stripe.swift */; }; - 31E6D9722744591800A89B6D /* STPTelemetryClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9702744591700A89B6D /* STPTelemetryClientTest.swift */; }; - 31E6D9732744591800A89B6D /* STPTelemetryClientFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9712744591700A89B6D /* STPTelemetryClientFunctionalTest.swift */; }; - B69D5C3F289C9A6D004FD287 /* ShippingDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = B69D5C3E289C9A6D004FD287 /* ShippingDetails.swift */; }; - E254412728F9FC1700C6F5D3 /* OHHTTPStubs in Frameworks */ = {isa = PBXBuildFile; productRef = E254412628F9FC1700C6F5D3 /* OHHTTPStubs */; }; - E254412928F9FC1700C6F5D3 /* OHHTTPStubsSwift in Frameworks */ = {isa = PBXBuildFile; productRef = E254412828F9FC1700C6F5D3 /* OHHTTPStubsSwift */; }; + 01AA289840E0AC9229A8CF63 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29BFCC7B0FCEA743A857B51F /* StripeApplePay.framework */; }; + 09EB0F7E346CB22144515E67 /* SetupIntent+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30DDE851AD7450BE70381337 /* SetupIntent+API.swift */; }; + 1990346BA0B39ADD47210E18 /* StripeApplePay.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C1D3421B1B2BB91FAA66620 /* StripeApplePay.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 22E1F50D066A294A316052ED /* PaymentIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2398CA91B601B5FC7C8FB48 /* PaymentIntent.swift */; }; + 234FA38DC46927B23871A75D /* SetupIntentParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D7CF2B75A797D6B2B5A04B4 /* SetupIntentParams.swift */; }; + 2D6CD6872A00B6FE0243C3F5 /* PKPayment+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 906F7217DBF694BF42F23458 /* PKPayment+Stripe.swift */; }; + 2EBB230815383A8402D71146 /* STPPaymentMethodFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 905182496A07DE4F056A3EAA /* STPPaymentMethodFunctionalTest.swift */; }; + 43682CEAB00A93868FA3188A /* SetupIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC2A354F50C5D563436A0068 /* SetupIntent.swift */; }; + 463680AADB8CED6E962CD45A /* PaymentIntentParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 478361D29DF10F2B43F7A1D2 /* PaymentIntentParams.swift */; }; + 4AA6A66246DD30798E5CC5F7 /* PaymentIntent+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93EAD8979A20E239E16257E4 /* PaymentIntent+API.swift */; }; + 4ADC5356764DC5E3F1C1D51B /* CardBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DBC2BC8C0A60983D0948A11 /* CardBrand.swift */; }; + 4B2DE4109D876CCBDC53C2A3 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62ECC1AA5583E4104C073B63 /* StripeCore.framework */; }; + 4CE57B5BF79D1515F27A18A3 /* Address.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF86CF1EFE4AC1A46F055202 /* Address.swift */; }; + 505A82AADE15E2B2B99C5D32 /* Token.swift in Sources */ = {isa = PBXBuildFile; fileRef = 594F0478E94E6FA2F551EA0A /* Token.swift */; }; + 526AE8381F232C9FEABFFDCD /* OHHTTPStubsSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 8ED017D12DE81D3ABD013768 /* OHHTTPStubsSwift */; }; + 53BA33D02E07DFF1393DF0E4 /* PaymentMethod+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 264583DBFFA42C864220D7FF /* PaymentMethod+API.swift */; }; + 59AEBEB856DB8A0118F1D0DE /* STPAnalyticsClient+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20A70C7D203A80129DBB9304 /* STPAnalyticsClient+Payments.swift */; }; + 59C1DB9EF052987BD20B65A3 /* BillingDetails+ApplePay.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FD028203455E50A637227C /* BillingDetails+ApplePay.swift */; }; + 62AFEE5A1E32BD84588CA233 /* STPTelemetryClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B4DF82BA51CC68265B0795 /* STPTelemetryClientTest.swift */; }; + 7C7C92AFED77FC4C5D26DC36 /* BillingDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = C563CA8E1D005A453C762703 /* BillingDetails.swift */; }; + 848843F1145350ABF540D69F /* ShippingDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08710B3CD45DE9DCE2055A3 /* ShippingDetails.swift */; }; + 90286A48FA6C350BDEC227D0 /* TelemetryInjectionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 446F888DB3EC0FC1FE9B9377 /* TelemetryInjectionTest.swift */; }; + 9F50D23599CD0B1270F8C295 /* STPApplePayContext+LegacySupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7023208C7E3B3044F553DFDD /* STPApplePayContext+LegacySupport.swift */; }; + A69598FE8095AFA9898297A9 /* Token+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = D81AB96E6201D534220ABB9D /* Token+API.swift */; }; + A79510332C88568637C9E867 /* STPAnalyticsClient+ApplePayTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E9055B54A5634B636570E3 /* STPAnalyticsClient+ApplePayTest.swift */; }; + AB48B0CBFFEFC46E01C76B6C /* STPAPIClient+PaymentsCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894B7D67F2364A12DD133CF4 /* STPAPIClient+PaymentsCore.swift */; }; + BCC7454DB40673493DF940F5 /* STPAnalyticsClient+PaymentsAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBD5C52C679274D830AA5B93 /* STPAnalyticsClient+PaymentsAPI.swift */; }; + C0D4B1753F584397DD1AD946 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87A189B89110D3A8EF052425 /* XCTest.framework */; }; + C6552A9ADEA160B9BBAF3A10 /* STPApplePayContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4AEF10AF7900AF7ED0EDE21 /* STPApplePayContext.swift */; }; + C6A333FBB72EE91849DD6202 /* STPAPIClient+ApplePay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 855AB5D51581CE6ABCCD2493 /* STPAPIClient+ApplePay.swift */; }; + CB78059C8EB6A072C30A98DA /* STPTelemetryClientFunctionalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B7AA620790EC4257132D738 /* STPTelemetryClientFunctionalTest.swift */; }; + CECAB0CB1CE4D7BD1EF897F0 /* Blocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5439AD0D1236F6A21EE93CB3 /* Blocks.swift */; }; + D8D613D3A85B81F8C4386E08 /* OHHTTPStubs in Frameworks */ = {isa = PBXBuildFile; productRef = CB64080D8A41D33BC3DEEAF8 /* OHHTTPStubs */; }; + E1E7B153B169D0A6363ADD4B /* PaymentMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D1E8A9F849655BAC63DB2FD /* PaymentMethod.swift */; }; + EEF84AC6C1EBF27BF6AAC0BF /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0FA663325484F2D515613494 /* StripeCoreTestUtils.framework */; }; + F42BC784EDBD141C90E74A5F /* PKContact+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 133A7483EDB9F1B1CFFDB9ED /* PKContact+Stripe.swift */; }; + F59D5A3F2C5849CD465062A5 /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88664A990EE5D99076E88987 /* StripeCore+Import.swift */; }; + FADFD3B7E3832928E254FAF1 /* PaymentMethodParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 468654E242DFE2F85FF422EB /* PaymentMethodParams.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3181D737273A00BF00525C02 /* PBXContainerItemProxy */ = { + 6DAB385DAFF8DCB87110CC7E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 3181D724273A00BE00525C02 /* Project object */; + containerPortal = 95898E5CA0A1871DDFFB66B0 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3181D72C273A00BE00525C02; + remoteGlobalIDString = 747C9FE1743C0B4444303569; remoteInfo = StripeApplePay; }; /* End PBXContainerItemProxy section */ -/* Begin PBXFileReference section */ - 312656FE27AC9BBF00D2F8A8 /* STPAnalyticsClient+ApplePayTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+ApplePayTest.swift"; sourceTree = ""; }; - 3126570027B47F3100D2F8A8 /* TelemetryInjectionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TelemetryInjectionTest.swift; sourceTree = ""; }; - 3137B690274330E200CE7F5C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3137B6AC2743816300CE7F5C /* StripeCore+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; - 3137B6AE2743837400CE7F5C /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 313A2A8427B5EBCE00E5EA99 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3148D6C22809125C00501D3D /* CardBrand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardBrand.swift; sourceTree = ""; }; - 315BDBE02788E9D8007BD11F /* STPAPIClient+ApplePay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+ApplePay.swift"; sourceTree = ""; }; - 3163E4A12787BB8200956D86 /* STPApplePayContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPApplePayContext.swift; sourceTree = ""; }; - 3163E4A32787BD0E00956D86 /* Blocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Blocks.swift; path = ../Blocks.swift; sourceTree = ""; }; - 31689983279B34BA00FEBDE3 /* STPAnalyticsClient+PaymentsAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+PaymentsAPI.swift"; sourceTree = ""; }; - 3181D72D273A00BE00525C02 /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3181D730273A00BE00525C02 /* StripeApplePay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeApplePay.h; sourceTree = ""; }; - 3181D735273A00BF00525C02 /* StripeApplePayTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeApplePayTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3181D73A273A00BF00525C02 /* StripeApplePayTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeApplePayTests.swift; sourceTree = ""; }; - 3181D746273A011B00525C02 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - 3181D747273A011B00525C02 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - 3181D748273A011B00525C02 /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - 3181D749273A011B00525C02 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - 3181D74A273A011B00525C02 /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - 3181D74B273A011B00525C02 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - 3181D74C273A011B00525C02 /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - 3181D74D273A011B00525C02 /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - 3181D74E273A011B00525C02 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - 3181D74F273A011B00525C02 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - 3181D75A273A020F00525C02 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 319E82EF274318DE00F202D6 /* StripeApplePayTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePayTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 319E82F1274318DE00F202D6 /* StripeApplePayTestUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeApplePayTestUtils.h; sourceTree = ""; }; - 31ACFB2627A0B19000988C8E /* STPApplePayContext+LegacySupport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPApplePayContext+LegacySupport.swift"; sourceTree = ""; }; - 31AF4408279F725500BCEEF4 /* STPAnalyticsClient+Payments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Payments.swift"; sourceTree = ""; }; - 31AF440A27A0887400BCEEF4 /* STPAPIClient+PaymentsCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+PaymentsCore.swift"; sourceTree = ""; }; - 31E6D93C2744404700A89B6D /* PaymentMethodParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentMethodParams.swift; sourceTree = ""; }; - 31E6D93D2744404700A89B6D /* Address.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Address.swift; sourceTree = ""; }; - 31E6D93E2744404700A89B6D /* SetupIntentParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SetupIntentParams.swift; sourceTree = ""; }; - 31E6D93F2744404700A89B6D /* PaymentMethod.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentMethod.swift; sourceTree = ""; }; - 31E6D9402744404700A89B6D /* SetupIntent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SetupIntent.swift; sourceTree = ""; }; - 31E6D9412744404700A89B6D /* PaymentIntentParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentIntentParams.swift; sourceTree = ""; }; - 31E6D9422744404700A89B6D /* BillingDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BillingDetails.swift; sourceTree = ""; }; - 31E6D9432744404700A89B6D /* Token.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; - 31E6D9442744404700A89B6D /* PaymentIntent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentIntent.swift; sourceTree = ""; }; - 31E6D94E2744405000A89B6D /* SetupIntent+API.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SetupIntent+API.swift"; sourceTree = ""; }; - 31E6D94F2744405000A89B6D /* PaymentIntent+API.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentIntent+API.swift"; sourceTree = ""; }; - 31E6D9502744405000A89B6D /* PaymentMethod+API.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentMethod+API.swift"; sourceTree = ""; }; - 31E6D9512744405000A89B6D /* Token+API.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Token+API.swift"; sourceTree = ""; }; - 31E6D95B274440B900A89B6D /* STPPaymentMethodFunctionalTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodFunctionalTest.swift; sourceTree = ""; }; - 31E6D95D2744444A00A89B6D /* PKPayment+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PKPayment+Stripe.swift"; sourceTree = ""; }; - 31E6D95F274444AB00A89B6D /* BillingDetails+ApplePay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "BillingDetails+ApplePay.swift"; sourceTree = ""; }; - 31E6D9652744467D00A89B6D /* PKContact+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PKContact+Stripe.swift"; sourceTree = ""; }; - 31E6D9702744591700A89B6D /* STPTelemetryClientTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPTelemetryClientTest.swift; sourceTree = ""; }; - 31E6D9712744591700A89B6D /* STPTelemetryClientFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPTelemetryClientFunctionalTest.swift; sourceTree = ""; }; - B69D5C3E289C9A6D004FD287 /* ShippingDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShippingDetails.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 3181D72A273A00BE00525C02 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; +/* Begin PBXCopyFilesBuildPhase section */ + F937383B644A63BD5FC4A081 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + FF3CB7A978895136380088BB /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; files = ( - 3137B6AF2743837400CE7F5C /* StripeCore.framework in Frameworks */, ); + name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - 3181D732273A00BF00525C02 /* Frameworks */ = { +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 0B7AA620790EC4257132D738 /* STPTelemetryClientFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPTelemetryClientFunctionalTest.swift; sourceTree = ""; }; + 0C1D3421B1B2BB91FAA66620 /* StripeApplePay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeApplePay.h; sourceTree = ""; }; + 0FA663325484F2D515613494 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 133A7483EDB9F1B1CFFDB9ED /* PKContact+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PKContact+Stripe.swift"; sourceTree = ""; }; + 20A70C7D203A80129DBB9304 /* STPAnalyticsClient+Payments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Payments.swift"; sourceTree = ""; }; + 229446797CC5FB07DB344D81 /* StripeApplePayTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeApplePayTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 264583DBFFA42C864220D7FF /* PaymentMethod+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentMethod+API.swift"; sourceTree = ""; }; + 29BFCC7B0FCEA743A857B51F /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 30DDE851AD7450BE70381337 /* SetupIntent+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SetupIntent+API.swift"; sourceTree = ""; }; + 3D7CF2B75A797D6B2B5A04B4 /* SetupIntentParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetupIntentParams.swift; sourceTree = ""; }; + 40D5ED47331313B6AD8B6F46 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 425B19195E4B86F77229252D /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + 446F888DB3EC0FC1FE9B9377 /* TelemetryInjectionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TelemetryInjectionTest.swift; sourceTree = ""; }; + 468654E242DFE2F85FF422EB /* PaymentMethodParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodParams.swift; sourceTree = ""; }; + 478361D29DF10F2B43F7A1D2 /* PaymentIntentParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentIntentParams.swift; sourceTree = ""; }; + 49B0926F8F65BC0102B99BF4 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; + 4EE8157F3536C238AC337337 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; + 5439AD0D1236F6A21EE93CB3 /* Blocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Blocks.swift; sourceTree = ""; }; + 594F0478E94E6FA2F551EA0A /* Token.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Token.swift; sourceTree = ""; }; + 62ECC1AA5583E4104C073B63 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 67711D1BC01BA83323EA1F6B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 6D1E8A9F849655BAC63DB2FD /* PaymentMethod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethod.swift; sourceTree = ""; }; + 7023208C7E3B3044F553DFDD /* STPApplePayContext+LegacySupport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPApplePayContext+LegacySupport.swift"; sourceTree = ""; }; + 79B089D69DBA1A0BCF4503B6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 855AB5D51581CE6ABCCD2493 /* STPAPIClient+ApplePay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+ApplePay.swift"; sourceTree = ""; }; + 87A189B89110D3A8EF052425 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 88664A990EE5D99076E88987 /* StripeCore+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; + 894B7D67F2364A12DD133CF4 /* STPAPIClient+PaymentsCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+PaymentsCore.swift"; sourceTree = ""; }; + 8DBC2BC8C0A60983D0948A11 /* CardBrand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardBrand.swift; sourceTree = ""; }; + 905182496A07DE4F056A3EAA /* STPPaymentMethodFunctionalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodFunctionalTest.swift; sourceTree = ""; }; + 906F7217DBF694BF42F23458 /* PKPayment+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PKPayment+Stripe.swift"; sourceTree = ""; }; + 93EAD8979A20E239E16257E4 /* PaymentIntent+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentIntent+API.swift"; sourceTree = ""; }; + BDAEEEB96953ECBB9C68CF1C /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + C08710B3CD45DE9DCE2055A3 /* ShippingDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShippingDetails.swift; sourceTree = ""; }; + C563CA8E1D005A453C762703 /* BillingDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BillingDetails.swift; sourceTree = ""; }; + CB01F67DF47C468825F8FF6A /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + CC2A354F50C5D563436A0068 /* SetupIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetupIntent.swift; sourceTree = ""; }; + D2398CA91B601B5FC7C8FB48 /* PaymentIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentIntent.swift; sourceTree = ""; }; + D81AB96E6201D534220ABB9D /* Token+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Token+API.swift"; sourceTree = ""; }; + E4AEF10AF7900AF7ED0EDE21 /* STPApplePayContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPApplePayContext.swift; sourceTree = ""; }; + E4B4DF82BA51CC68265B0795 /* STPTelemetryClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPTelemetryClientTest.swift; sourceTree = ""; }; + E6E9055B54A5634B636570E3 /* STPAnalyticsClient+ApplePayTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+ApplePayTest.swift"; sourceTree = ""; }; + F4FD028203455E50A637227C /* BillingDetails+ApplePay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BillingDetails+ApplePay.swift"; sourceTree = ""; }; + FBD5C52C679274D830AA5B93 /* STPAnalyticsClient+PaymentsAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+PaymentsAPI.swift"; sourceTree = ""; }; + FF86CF1EFE4AC1A46F055202 /* Address.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Address.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 2A690CB3AEAD3A05D0DF3D47 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 313A2A8527B5EBCE00E5EA99 /* StripeCoreTestUtils.framework in Frameworks */, - 319E82F82743191200F202D6 /* StripeApplePayTestUtils.framework in Frameworks */, - 3181D736273A00BF00525C02 /* StripeApplePay.framework in Frameworks */, - E254412928F9FC1700C6F5D3 /* OHHTTPStubsSwift in Frameworks */, - E254412728F9FC1700C6F5D3 /* OHHTTPStubs in Frameworks */, + 4B2DE4109D876CCBDC53C2A3 /* StripeCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 319E82EC274318DE00F202D6 /* Frameworks */ = { + 92797DEFFA4201115E38DEAD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 319E82F72743190B00F202D6 /* StripeApplePay.framework in Frameworks */, + C0D4B1753F584397DD1AD946 /* XCTest.framework in Frameworks */, + 01AA289840E0AC9229A8CF63 /* StripeApplePay.framework in Frameworks */, + EEF84AC6C1EBF27BF6AAC0BF /* StripeCoreTestUtils.framework in Frameworks */, + D8D613D3A85B81F8C4386E08 /* OHHTTPStubs in Frameworks */, + 526AE8381F232C9FEABFFDCD /* OHHTTPStubsSwift in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 3163E4A02787BB7900956D86 /* ApplePayContext */ = { + 0D2F315747B25043D0135CBC /* Analytics */ = { isa = PBXGroup; children = ( - 315BDBE02788E9D8007BD11F /* STPAPIClient+ApplePay.swift */, - 3163E4A12787BB8200956D86 /* STPApplePayContext.swift */, - 31ACFB2627A0B19000988C8E /* STPApplePayContext+LegacySupport.swift */, + 20A70C7D203A80129DBB9304 /* STPAnalyticsClient+Payments.swift */, + FBD5C52C679274D830AA5B93 /* STPAnalyticsClient+PaymentsAPI.swift */, ); - path = ApplePayContext; + path = Analytics; sourceTree = ""; }; - 3181D723273A00BE00525C02 = { + 18E783E8B2360F08F2FCDEB9 /* Frameworks */ = { isa = PBXGroup; children = ( - 3181D745273A011B00525C02 /* BuildConfigurations */, - 3181D72F273A00BE00525C02 /* StripeApplePay */, - 3181D739273A00BF00525C02 /* StripeApplePayTests */, - 319E82F0274318DE00F202D6 /* StripeApplePayTestUtils */, - 3181D72E273A00BE00525C02 /* Products */, - 319E82F62743190B00F202D6 /* Frameworks */, + 87A189B89110D3A8EF052425 /* XCTest.framework */, ); + name = Frameworks; sourceTree = ""; }; - 3181D72E273A00BE00525C02 /* Products */ = { + 1A99D698FD7EE445DA2366ED /* StripeApplePay */ = { isa = PBXGroup; children = ( - 3181D72D273A00BE00525C02 /* StripeApplePay.framework */, - 3181D735273A00BF00525C02 /* StripeApplePayTests.xctest */, - 319E82EF274318DE00F202D6 /* StripeApplePayTestUtils.framework */, + B7FC50BAFE8B7A10FA7EA283 /* Source */, + 67711D1BC01BA83323EA1F6B /* Info.plist */, + 0C1D3421B1B2BB91FAA66620 /* StripeApplePay.h */, ); - name = Products; + path = StripeApplePay; sourceTree = ""; }; - 3181D72F273A00BE00525C02 /* StripeApplePay */ = { + 2F76FD687FF6507E5B2C1A3F /* ApplePayContext */ = { isa = PBXGroup; children = ( - 3181D75B273A03D300525C02 /* Source */, - 3181D75A273A020F00525C02 /* Info.plist */, - 3181D730273A00BE00525C02 /* StripeApplePay.h */, + 855AB5D51581CE6ABCCD2493 /* STPAPIClient+ApplePay.swift */, + E4AEF10AF7900AF7ED0EDE21 /* STPApplePayContext.swift */, + 7023208C7E3B3044F553DFDD /* STPApplePayContext+LegacySupport.swift */, ); - path = StripeApplePay; + path = ApplePayContext; sourceTree = ""; }; - 3181D739273A00BF00525C02 /* StripeApplePayTests */ = { + 3581723D3A3FF58EE3E59033 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 31E6D9742744591A00A89B6D /* PaymentsCore */, - 31E6D95B274440B900A89B6D /* STPPaymentMethodFunctionalTest.swift */, - 3126570027B47F3100D2F8A8 /* TelemetryInjectionTest.swift */, - 312656FE27AC9BBF00D2F8A8 /* STPAnalyticsClient+ApplePayTest.swift */, - 3181D73A273A00BF00525C02 /* StripeApplePayTests.swift */, + 40D5ED47331313B6AD8B6F46 /* Project-Debug.xcconfig */, + CB01F67DF47C468825F8FF6A /* Project-Release.xcconfig */, + 425B19195E4B86F77229252D /* StripeiOS Tests-Debug.xcconfig */, + BDAEEEB96953ECBB9C68CF1C /* StripeiOS Tests-Release.xcconfig */, + 49B0926F8F65BC0102B99BF4 /* StripeiOS-Debug.xcconfig */, + 4EE8157F3536C238AC337337 /* StripeiOS-Release.xcconfig */, ); - path = StripeApplePayTests; + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; - 3181D745273A011B00525C02 /* BuildConfigurations */ = { + 3E8665C11A450F2FB7D2F2E7 /* Models */ = { isa = PBXGroup; children = ( - 3181D746273A011B00525C02 /* StripeiOS Tests-Debug.xcconfig */, - 3181D747273A011B00525C02 /* StripeiOS-Debug.xcconfig */, - 3181D748273A011B00525C02 /* Project-Release.xcconfig */, - 3181D749273A011B00525C02 /* StripeiOS Tests-Release.xcconfig */, - 3181D74A273A011B00525C02 /* Project-Shared.xcconfig */, - 3181D74B273A011B00525C02 /* Version.xcconfig */, - 3181D74C273A011B00525C02 /* StripeiOS Tests-Shared.xcconfig */, - 3181D74D273A011B00525C02 /* StripeiOS-Shared.xcconfig */, - 3181D74E273A011B00525C02 /* Project-Debug.xcconfig */, - 3181D74F273A011B00525C02 /* StripeiOS-Release.xcconfig */, + FF86CF1EFE4AC1A46F055202 /* Address.swift */, + C563CA8E1D005A453C762703 /* BillingDetails.swift */, + 8DBC2BC8C0A60983D0948A11 /* CardBrand.swift */, + D2398CA91B601B5FC7C8FB48 /* PaymentIntent.swift */, + 478361D29DF10F2B43F7A1D2 /* PaymentIntentParams.swift */, + 6D1E8A9F849655BAC63DB2FD /* PaymentMethod.swift */, + 468654E242DFE2F85FF422EB /* PaymentMethodParams.swift */, + CC2A354F50C5D563436A0068 /* SetupIntent.swift */, + 3D7CF2B75A797D6B2B5A04B4 /* SetupIntentParams.swift */, + C08710B3CD45DE9DCE2055A3 /* ShippingDetails.swift */, + 594F0478E94E6FA2F551EA0A /* Token.swift */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = Models; sourceTree = ""; }; - 3181D75B273A03D300525C02 /* Source */ = { + 56479504C3EB58BC9E0C860A = { isa = PBXGroup; children = ( - 3163E4A02787BB7900956D86 /* ApplePayContext */, - 31E6D967274456A100A89B6D /* PaymentsCore */, - 31E6D9562744406300A89B6D /* Extensions */, - 3137B6AC2743816300CE7F5C /* StripeCore+Import.swift */, + DC6E0D845E48183E2C732ECF /* Project */, + 18E783E8B2360F08F2FCDEB9 /* Frameworks */, + 7C21384B46F40CB3F23DD515 /* Products */, ); - path = Source; sourceTree = ""; }; - 319E82F0274318DE00F202D6 /* StripeApplePayTestUtils */ = { + 6FAB736FE07EDFA07F922A75 /* API */ = { isa = PBXGroup; children = ( - 3137B690274330E200CE7F5C /* Info.plist */, - 319E82F1274318DE00F202D6 /* StripeApplePayTestUtils.h */, + 3E8665C11A450F2FB7D2F2E7 /* Models */, + 93EAD8979A20E239E16257E4 /* PaymentIntent+API.swift */, + 264583DBFFA42C864220D7FF /* PaymentMethod+API.swift */, + 30DDE851AD7450BE70381337 /* SetupIntent+API.swift */, + D81AB96E6201D534220ABB9D /* Token+API.swift */, ); - path = StripeApplePayTestUtils; + path = API; sourceTree = ""; }; - 319E82F62743190B00F202D6 /* Frameworks */ = { + 7261423B1B83AF12EE2FEA40 /* PaymentsCore */ = { isa = PBXGroup; children = ( - 313A2A8427B5EBCE00E5EA99 /* StripeCoreTestUtils.framework */, - 3137B6AE2743837400CE7F5C /* StripeCore.framework */, + 0B7AA620790EC4257132D738 /* STPTelemetryClientFunctionalTest.swift */, + E4B4DF82BA51CC68265B0795 /* STPTelemetryClientTest.swift */, ); - name = Frameworks; + path = PaymentsCore; sourceTree = ""; }; - 31AF4407279F71E400BCEEF4 /* Analytics */ = { + 7C21384B46F40CB3F23DD515 /* Products */ = { isa = PBXGroup; children = ( - 31689983279B34BA00FEBDE3 /* STPAnalyticsClient+PaymentsAPI.swift */, - 31AF4408279F725500BCEEF4 /* STPAnalyticsClient+Payments.swift */, + 29BFCC7B0FCEA743A857B51F /* StripeApplePay.framework */, + 229446797CC5FB07DB344D81 /* StripeApplePayTests.xctest */, + 62ECC1AA5583E4104C073B63 /* StripeCore.framework */, + 0FA663325484F2D515613494 /* StripeCoreTestUtils.framework */, ); - path = Analytics; + name = Products; sourceTree = ""; }; - 31E6D93A27443EE300A89B6D /* API */ = { + 823E8B8D6F322BF2BCC4C030 /* PaymentsCore */ = { isa = PBXGroup; children = ( - 31E6D94F2744405000A89B6D /* PaymentIntent+API.swift */, - 31E6D9502744405000A89B6D /* PaymentMethod+API.swift */, - 31E6D94E2744405000A89B6D /* SetupIntent+API.swift */, - 31E6D9512744405000A89B6D /* Token+API.swift */, - 31E6D93B2744404700A89B6D /* Models */, + 0D2F315747B25043D0135CBC /* Analytics */, + 6FAB736FE07EDFA07F922A75 /* API */, + 9FE0B80D161B8DB9C70902BF /* Categories */, ); - path = API; + path = PaymentsCore; sourceTree = ""; }; - 31E6D93B2744404700A89B6D /* Models */ = { + 9FE0B80D161B8DB9C70902BF /* Categories */ = { isa = PBXGroup; children = ( - 31E6D93D2744404700A89B6D /* Address.swift */, - 31E6D9422744404700A89B6D /* BillingDetails.swift */, - 3148D6C22809125C00501D3D /* CardBrand.swift */, - 31E6D9442744404700A89B6D /* PaymentIntent.swift */, - 31E6D9412744404700A89B6D /* PaymentIntentParams.swift */, - 31E6D93F2744404700A89B6D /* PaymentMethod.swift */, - 31E6D93C2744404700A89B6D /* PaymentMethodParams.swift */, - 31E6D9402744404700A89B6D /* SetupIntent.swift */, - 31E6D93E2744404700A89B6D /* SetupIntentParams.swift */, - B69D5C3E289C9A6D004FD287 /* ShippingDetails.swift */, - 31E6D9432744404700A89B6D /* Token.swift */, + 894B7D67F2364A12DD133CF4 /* STPAPIClient+PaymentsCore.swift */, ); - path = Models; + path = Categories; sourceTree = ""; }; - 31E6D9562744406300A89B6D /* Extensions */ = { + A4676BE706A785EA50A1FEBE /* StripeApplePayTests */ = { isa = PBXGroup; children = ( - 31E6D95F274444AB00A89B6D /* BillingDetails+ApplePay.swift */, - 31E6D95D2744444A00A89B6D /* PKPayment+Stripe.swift */, - 31E6D9652744467D00A89B6D /* PKContact+Stripe.swift */, + 7261423B1B83AF12EE2FEA40 /* PaymentsCore */, + 79B089D69DBA1A0BCF4503B6 /* Info.plist */, + E6E9055B54A5634B636570E3 /* STPAnalyticsClient+ApplePayTest.swift */, + 905182496A07DE4F056A3EAA /* STPPaymentMethodFunctionalTest.swift */, + 446F888DB3EC0FC1FE9B9377 /* TelemetryInjectionTest.swift */, ); - path = Extensions; + path = StripeApplePayTests; sourceTree = ""; }; - 31E6D967274456A100A89B6D /* PaymentsCore */ = { + B7FC50BAFE8B7A10FA7EA283 /* Source */ = { isa = PBXGroup; children = ( - 31AF4407279F71E400BCEEF4 /* Analytics */, - 3163E4A32787BD0E00956D86 /* Blocks.swift */, - 31E6D96D2744572400A89B6D /* Categories */, - 31E6D93A27443EE300A89B6D /* API */, + 2F76FD687FF6507E5B2C1A3F /* ApplePayContext */, + E1B6C6692BA02E5DD1AED20B /* Extensions */, + 823E8B8D6F322BF2BCC4C030 /* PaymentsCore */, + 5439AD0D1236F6A21EE93CB3 /* Blocks.swift */, + 88664A990EE5D99076E88987 /* StripeCore+Import.swift */, ); - path = PaymentsCore; + path = Source; sourceTree = ""; }; - 31E6D96D2744572400A89B6D /* Categories */ = { + DC6E0D845E48183E2C732ECF /* Project */ = { isa = PBXGroup; children = ( - 31AF440A27A0887400BCEEF4 /* STPAPIClient+PaymentsCore.swift */, + 3581723D3A3FF58EE3E59033 /* BuildConfigurations */, + 1A99D698FD7EE445DA2366ED /* StripeApplePay */, + A4676BE706A785EA50A1FEBE /* StripeApplePayTests */, ); - path = Categories; + name = Project; sourceTree = ""; }; - 31E6D9742744591A00A89B6D /* PaymentsCore */ = { + E1B6C6692BA02E5DD1AED20B /* Extensions */ = { isa = PBXGroup; children = ( - 31E6D9712744591700A89B6D /* STPTelemetryClientFunctionalTest.swift */, - 31E6D9702744591700A89B6D /* STPTelemetryClientTest.swift */, + F4FD028203455E50A637227C /* BillingDetails+ApplePay.swift */, + 133A7483EDB9F1B1CFFDB9ED /* PKContact+Stripe.swift */, + 906F7217DBF694BF42F23458 /* PKPayment+Stripe.swift */, ); - path = PaymentsCore; + path = Extensions; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 3181D728273A00BE00525C02 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3181D73C273A00BF00525C02 /* StripeApplePay.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 319E82EA274318DE00F202D6 /* Headers */ = { + 82FBB6E9E55342EADEEE1865 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 319E82F2274318DE00F202D6 /* StripeApplePayTestUtils.h in Headers */, + 1990346BA0B39ADD47210E18 /* StripeApplePay.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3181D72C273A00BE00525C02 /* StripeApplePay */ = { + 747C9FE1743C0B4444303569 /* StripeApplePay */ = { isa = PBXNativeTarget; - buildConfigurationList = 3181D73F273A00BF00525C02 /* Build configuration list for PBXNativeTarget "StripeApplePay" */; + buildConfigurationList = 49AD325F0339BB78EE36ABC4 /* Build configuration list for PBXNativeTarget "StripeApplePay" */; buildPhases = ( - 3181D728273A00BE00525C02 /* Headers */, - 3181D729273A00BE00525C02 /* Sources */, - 3181D72A273A00BE00525C02 /* Frameworks */, - 3181D72B273A00BE00525C02 /* Resources */, + 82FBB6E9E55342EADEEE1865 /* Headers */, + 0FA9CF39340C39235D831C53 /* Sources */, + 52997B8984C3A02398E230F4 /* Resources */, + FF3CB7A978895136380088BB /* Embed Frameworks */, + 2A690CB3AEAD3A05D0DF3D47 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = StripeApplePay; - packageProductDependencies = ( - ); productName = StripeApplePay; - productReference = 3181D72D273A00BE00525C02 /* StripeApplePay.framework */; + productReference = 29BFCC7B0FCEA743A857B51F /* StripeApplePay.framework */; productType = "com.apple.product-type.framework"; }; - 3181D734273A00BF00525C02 /* StripeApplePayTests */ = { + ACAFA21CF224F80EFAEFDC2F /* StripeApplePayTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 3181D742273A00BF00525C02 /* Build configuration list for PBXNativeTarget "StripeApplePayTests" */; + buildConfigurationList = 48EC33D43FBA14658B0E9567 /* Build configuration list for PBXNativeTarget "StripeApplePayTests" */; buildPhases = ( - 3181D731273A00BF00525C02 /* Sources */, - 3181D732273A00BF00525C02 /* Frameworks */, - 3181D733273A00BF00525C02 /* Resources */, + C5D7D85B45B4D8BECDF5B7CD /* Sources */, + 200F36028817645AC1730398 /* Resources */, + F937383B644A63BD5FC4A081 /* Embed Frameworks */, + 92797DEFFA4201115E38DEAD /* Frameworks */, ); buildRules = ( ); dependencies = ( - 3181D738273A00BF00525C02 /* PBXTargetDependency */, + 9D2CBE0177D04009899ECFED /* PBXTargetDependency */, ); name = StripeApplePayTests; packageProductDependencies = ( - E254412628F9FC1700C6F5D3 /* OHHTTPStubs */, - E254412828F9FC1700C6F5D3 /* OHHTTPStubsSwift */, + CB64080D8A41D33BC3DEEAF8 /* OHHTTPStubs */, + 8ED017D12DE81D3ABD013768 /* OHHTTPStubsSwift */, ); productName = StripeApplePayTests; - productReference = 3181D735273A00BF00525C02 /* StripeApplePayTests.xctest */; + productReference = 229446797CC5FB07DB344D81 /* StripeApplePayTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 319E82EE274318DE00F202D6 /* StripeApplePayTestUtils */ = { - isa = PBXNativeTarget; - buildConfigurationList = 319E82F5274318DE00F202D6 /* Build configuration list for PBXNativeTarget "StripeApplePayTestUtils" */; - buildPhases = ( - 319E82EA274318DE00F202D6 /* Headers */, - 319E82EB274318DE00F202D6 /* Sources */, - 319E82EC274318DE00F202D6 /* Frameworks */, - 319E82ED274318DE00F202D6 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = StripeApplePayTestUtils; - productName = StripeApplePayTestUtils; - productReference = 319E82EF274318DE00F202D6 /* StripeApplePayTestUtils.framework */; - productType = "com.apple.product-type.framework"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 3181D724273A00BE00525C02 /* Project object */ = { + 95898E5CA0A1871DDFFB66B0 /* Project object */ = { isa = PBXProject; attributes = { - BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1320; - LastUpgradeCheck = 1320; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 3181D72C273A00BE00525C02 = { - CreatedOnToolsVersion = 13.2; - LastSwiftMigration = 1320; - }; - 3181D734273A00BF00525C02 = { - CreatedOnToolsVersion = 13.2; - }; - 319E82EE274318DE00F202D6 = { - CreatedOnToolsVersion = 13.2; - }; }; }; - buildConfigurationList = 3181D727273A00BE00525C02 /* Build configuration list for PBXProject "StripeApplePay" */; - compatibilityVersion = "Xcode 12.0"; + buildConfigurationList = 2182982C71AEF088A6D2AA6A /* Build configuration list for PBXProject "StripeApplePay" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + en, ); - mainGroup = 3181D723273A00BE00525C02; + mainGroup = 56479504C3EB58BC9E0C860A; packageReferences = ( - E254412128F9FC0800C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */, + B45F7C9F63270FAF880F5EEF /* XCRemoteSwiftPackageReference "OHHTTPStubs" */, ); - productRefGroup = 3181D72E273A00BE00525C02 /* Products */; + productRefGroup = 7C21384B46F40CB3F23DD515 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 3181D72C273A00BE00525C02 /* StripeApplePay */, - 3181D734273A00BF00525C02 /* StripeApplePayTests */, - 319E82EE274318DE00F202D6 /* StripeApplePayTestUtils */, + 747C9FE1743C0B4444303569 /* StripeApplePay */, + ACAFA21CF224F80EFAEFDC2F /* StripeApplePayTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 3181D72B273A00BE00525C02 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3181D733273A00BF00525C02 /* Resources */ = { + 200F36028817645AC1730398 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 319E82ED274318DE00F202D6 /* Resources */ = { + 52997B8984C3A02398E230F4 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -477,258 +429,155 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 3181D729273A00BE00525C02 /* Sources */ = { + 0FA9CF39340C39235D831C53 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 315BDBE12788E9D8007BD11F /* STPAPIClient+ApplePay.swift in Sources */, - 31E6D9522744405000A89B6D /* SetupIntent+API.swift in Sources */, - 31E6D94A2744404700A89B6D /* PaymentIntentParams.swift in Sources */, - 31E6D9542744405000A89B6D /* PaymentMethod+API.swift in Sources */, - 31E6D94C2744404700A89B6D /* Token.swift in Sources */, - 31ACFB2727A0B19000988C8E /* STPApplePayContext+LegacySupport.swift in Sources */, - 3137B6AD2743816300CE7F5C /* StripeCore+Import.swift in Sources */, - 31E6D9472744404700A89B6D /* SetupIntentParams.swift in Sources */, - 31AF4409279F725500BCEEF4 /* STPAnalyticsClient+Payments.swift in Sources */, - 31689984279B34BA00FEBDE3 /* STPAnalyticsClient+PaymentsAPI.swift in Sources */, - 3148D6C32809125C00501D3D /* CardBrand.swift in Sources */, - 31E6D960274444AB00A89B6D /* BillingDetails+ApplePay.swift in Sources */, - 31E6D94D2744404700A89B6D /* PaymentIntent.swift in Sources */, - 31E6D9532744405000A89B6D /* PaymentIntent+API.swift in Sources */, - 31E6D95E2744444A00A89B6D /* PKPayment+Stripe.swift in Sources */, - 31E6D9452744404700A89B6D /* PaymentMethodParams.swift in Sources */, - 31E6D94B2744404700A89B6D /* BillingDetails.swift in Sources */, - 3163E4A22787BB8200956D86 /* STPApplePayContext.swift in Sources */, - 31E6D9552744405000A89B6D /* Token+API.swift in Sources */, - 3163E4A42787BD0E00956D86 /* Blocks.swift in Sources */, - 31AF440B27A0887400BCEEF4 /* STPAPIClient+PaymentsCore.swift in Sources */, - 31E6D9492744404700A89B6D /* SetupIntent.swift in Sources */, - B69D5C3F289C9A6D004FD287 /* ShippingDetails.swift in Sources */, - 31E6D9662744467D00A89B6D /* PKContact+Stripe.swift in Sources */, - 31E6D9482744404700A89B6D /* PaymentMethod.swift in Sources */, - 31E6D9462744404700A89B6D /* Address.swift in Sources */, + C6A333FBB72EE91849DD6202 /* STPAPIClient+ApplePay.swift in Sources */, + 9F50D23599CD0B1270F8C295 /* STPApplePayContext+LegacySupport.swift in Sources */, + C6552A9ADEA160B9BBAF3A10 /* STPApplePayContext.swift in Sources */, + CECAB0CB1CE4D7BD1EF897F0 /* Blocks.swift in Sources */, + 59C1DB9EF052987BD20B65A3 /* BillingDetails+ApplePay.swift in Sources */, + F42BC784EDBD141C90E74A5F /* PKContact+Stripe.swift in Sources */, + 2D6CD6872A00B6FE0243C3F5 /* PKPayment+Stripe.swift in Sources */, + 4CE57B5BF79D1515F27A18A3 /* Address.swift in Sources */, + 7C7C92AFED77FC4C5D26DC36 /* BillingDetails.swift in Sources */, + 4ADC5356764DC5E3F1C1D51B /* CardBrand.swift in Sources */, + 22E1F50D066A294A316052ED /* PaymentIntent.swift in Sources */, + 463680AADB8CED6E962CD45A /* PaymentIntentParams.swift in Sources */, + E1E7B153B169D0A6363ADD4B /* PaymentMethod.swift in Sources */, + FADFD3B7E3832928E254FAF1 /* PaymentMethodParams.swift in Sources */, + 43682CEAB00A93868FA3188A /* SetupIntent.swift in Sources */, + 234FA38DC46927B23871A75D /* SetupIntentParams.swift in Sources */, + 848843F1145350ABF540D69F /* ShippingDetails.swift in Sources */, + 505A82AADE15E2B2B99C5D32 /* Token.swift in Sources */, + 4AA6A66246DD30798E5CC5F7 /* PaymentIntent+API.swift in Sources */, + 53BA33D02E07DFF1393DF0E4 /* PaymentMethod+API.swift in Sources */, + 09EB0F7E346CB22144515E67 /* SetupIntent+API.swift in Sources */, + A69598FE8095AFA9898297A9 /* Token+API.swift in Sources */, + 59AEBEB856DB8A0118F1D0DE /* STPAnalyticsClient+Payments.swift in Sources */, + BCC7454DB40673493DF940F5 /* STPAnalyticsClient+PaymentsAPI.swift in Sources */, + AB48B0CBFFEFC46E01C76B6C /* STPAPIClient+PaymentsCore.swift in Sources */, + F59D5A3F2C5849CD465062A5 /* StripeCore+Import.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3181D731273A00BF00525C02 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 312656FF27AC9BBF00D2F8A8 /* STPAnalyticsClient+ApplePayTest.swift in Sources */, - 3126570127B47F3100D2F8A8 /* TelemetryInjectionTest.swift in Sources */, - 31E6D9722744591800A89B6D /* STPTelemetryClientTest.swift in Sources */, - 31E6D9732744591800A89B6D /* STPTelemetryClientFunctionalTest.swift in Sources */, - 31E6D95C274440B900A89B6D /* STPPaymentMethodFunctionalTest.swift in Sources */, - 3181D73B273A00BF00525C02 /* StripeApplePayTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 319E82EB274318DE00F202D6 /* Sources */ = { + C5D7D85B45B4D8BECDF5B7CD /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + CB78059C8EB6A072C30A98DA /* STPTelemetryClientFunctionalTest.swift in Sources */, + 62AFEE5A1E32BD84588CA233 /* STPTelemetryClientTest.swift in Sources */, + A79510332C88568637C9E867 /* STPAnalyticsClient+ApplePayTest.swift in Sources */, + 2EBB230815383A8402D71146 /* STPPaymentMethodFunctionalTest.swift in Sources */, + 90286A48FA6C350BDEC227D0 /* TelemetryInjectionTest.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3181D738273A00BF00525C02 /* PBXTargetDependency */ = { + 9D2CBE0177D04009899ECFED /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3181D72C273A00BE00525C02 /* StripeApplePay */; - targetProxy = 3181D737273A00BF00525C02 /* PBXContainerItemProxy */; + name = StripeApplePay; + target = 747C9FE1743C0B4444303569 /* StripeApplePay */; + targetProxy = 6DAB385DAFF8DCB87110CC7E /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 3181D73D273A00BF00525C02 /* Debug */ = { + 13B57D9AA89321957F3ACF3A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3181D74E273A011B00525C02 /* Project-Debug.xcconfig */; + baseConfigurationReference = BDAEEEB96953ECBB9C68CF1C /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 3181D73E273A00BF00525C02 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3181D748273A011B00525C02 /* Project-Release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + INFOPLIST_FILE = StripeApplePayTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeApplePayTests; + PRODUCT_NAME = StripeApplePayTests; + SDKROOT = iphoneos; }; name = Release; }; - 3181D740273A00BF00525C02 /* Debug */ = { + 15219003E9DE09D774FB72BB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3181D747273A011B00525C02 /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 4EE8157F3536C238AC337337 /* StripeiOS-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = "$(SRCROOT)/StripeApplePay/Info.plist"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-apple-pay"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 3181D741273A00BF00525C02 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3181D74F273A011B00525C02 /* StripeiOS-Release.xcconfig */; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = "$(SRCROOT)/StripeApplePay/Info.plist"; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; + INFOPLIST_FILE = StripeApplePay/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-apple-pay"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeApplePay; + SDKROOT = iphoneos; }; name = Release; }; - 3181D743273A00BF00525C02 /* Debug */ = { + 6EEB3D72619B3E4C89798C09 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3181D746273A011B00525C02 /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = 49B0926F8F65BC0102B99BF4 /* StripeiOS-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeApplePayTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripeApplePay/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-apple-pay"; + PRODUCT_NAME = StripeApplePay; + SDKROOT = iphoneos; }; name = Debug; }; - 3181D744273A00BF00525C02 /* Release */ = { + 73AE406DB5197038572F40A7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3181D749273A011B00525C02 /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = CB01F67DF47C468825F8FF6A /* Project-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeApplePayTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; }; name = Release; }; - 319E82F3274318DE00F202D6 /* Debug */ = { + 7CA6A9C0F1D4C842935D7CEC /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3181D747273A011B00525C02 /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 40D5ED47331313B6AD8B6F46 /* Project-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = StripeApplePayTestUtils/Info.plist; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeApplePayTestUtils; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; }; name = Debug; }; - 319E82F4274318DE00F202D6 /* Release */ = { + EB1D00A86E16D71A6153C2A0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3181D74F273A011B00525C02 /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = 425B19195E4B86F77229252D /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - GENERATE_INFOPLIST_FILE = NO; - INFOPLIST_FILE = StripeApplePayTestUtils/Info.plist; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeApplePayTestUtils; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripeApplePayTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeApplePayTests; + PRODUCT_NAME = StripeApplePayTests; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3181D727273A00BE00525C02 /* Build configuration list for PBXProject "StripeApplePay" */ = { + 2182982C71AEF088A6D2AA6A /* Build configuration list for PBXProject "StripeApplePay" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3181D73D273A00BF00525C02 /* Debug */, - 3181D73E273A00BF00525C02 /* Release */, + 7CA6A9C0F1D4C842935D7CEC /* Debug */, + 73AE406DB5197038572F40A7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3181D73F273A00BF00525C02 /* Build configuration list for PBXNativeTarget "StripeApplePay" */ = { + 48EC33D43FBA14658B0E9567 /* Build configuration list for PBXNativeTarget "StripeApplePayTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3181D740273A00BF00525C02 /* Debug */, - 3181D741273A00BF00525C02 /* Release */, + EB1D00A86E16D71A6153C2A0 /* Debug */, + 13B57D9AA89321957F3ACF3A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3181D742273A00BF00525C02 /* Build configuration list for PBXNativeTarget "StripeApplePayTests" */ = { + 49AD325F0339BB78EE36ABC4 /* Build configuration list for PBXNativeTarget "StripeApplePay" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3181D743273A00BF00525C02 /* Debug */, - 3181D744273A00BF00525C02 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 319E82F5274318DE00F202D6 /* Build configuration list for PBXNativeTarget "StripeApplePayTestUtils" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 319E82F3274318DE00F202D6 /* Debug */, - 319E82F4274318DE00F202D6 /* Release */, + 6EEB3D72619B3E4C89798C09 /* Debug */, + 15219003E9DE09D774FB72BB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -736,7 +585,7 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - E254412128F9FC0800C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */ = { + B45F7C9F63270FAF880F5EEF /* XCRemoteSwiftPackageReference "OHHTTPStubs" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/eurias-stripe/OHHTTPStubs"; requirement = { @@ -747,17 +596,15 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - E254412628F9FC1700C6F5D3 /* OHHTTPStubs */ = { + 8ED017D12DE81D3ABD013768 /* OHHTTPStubsSwift */ = { isa = XCSwiftPackageProductDependency; - package = E254412128F9FC0800C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */; - productName = OHHTTPStubs; + productName = OHHTTPStubsSwift; }; - E254412828F9FC1700C6F5D3 /* OHHTTPStubsSwift */ = { + CB64080D8A41D33BC3DEEAF8 /* OHHTTPStubs */ = { isa = XCSwiftPackageProductDependency; - package = E254412128F9FC0800C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */; - productName = OHHTTPStubsSwift; + productName = OHHTTPStubs; }; /* End XCSwiftPackageProductDependency section */ }; - rootObject = 3181D724273A00BE00525C02 /* Project object */; + rootObject = 95898E5CA0A1871DDFFB66B0 /* Project object */; } diff --git a/StripeApplePay/StripeApplePay.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripeApplePay/StripeApplePay.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripeApplePay/StripeApplePay.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripeApplePay/StripeApplePay.xcodeproj/xcshareddata/xcschemes/StripeApplePay.xcscheme b/StripeApplePay/StripeApplePay.xcodeproj/xcshareddata/xcschemes/StripeApplePay.xcscheme index 11c6df52145..64ccb7610d0 100644 --- a/StripeApplePay/StripeApplePay.xcodeproj/xcshareddata/xcschemes/StripeApplePay.xcscheme +++ b/StripeApplePay/StripeApplePay.xcodeproj/xcshareddata/xcschemes/StripeApplePay.xcscheme @@ -1,6 +1,6 @@ @@ -27,12 +27,21 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -50,6 +59,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + diff --git a/StripeApplePay/StripeApplePayTestUtils/StripeApplePayTestUtils.h b/StripeApplePay/StripeApplePayTestUtils/StripeApplePayTestUtils.h deleted file mode 100644 index a1749d3635c..00000000000 --- a/StripeApplePay/StripeApplePayTestUtils/StripeApplePayTestUtils.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// StripeApplePayTestUtils.h -// StripeApplePayTestUtils -// -// Created by David Estes on 11/15/21. -// - -#import - -//! Project version number for StripeApplePayTestUtils. -FOUNDATION_EXPORT double StripeApplePayTestUtilsVersionNumber; - -//! Project version string for StripeApplePayTestUtils. -FOUNDATION_EXPORT const unsigned char StripeApplePayTestUtilsVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/StripeiOSAppHostedTests/Info.plist b/StripeApplePay/StripeApplePayTests/Info.plist similarity index 100% rename from StripeiOSAppHostedTests/Info.plist rename to StripeApplePay/StripeApplePayTests/Info.plist diff --git a/StripeApplePay/StripeApplePayTests/StripeApplePayTests.swift b/StripeApplePay/StripeApplePayTests/StripeApplePayTests.swift deleted file mode 100644 index 35bbe13c990..00000000000 --- a/StripeApplePay/StripeApplePayTests/StripeApplePayTests.swift +++ /dev/null @@ -1,35 +0,0 @@ -// -// StripeApplePayTests.swift -// StripeApplePayTests -// -// Created by David Estes on 11/8/21. -// Copyright © 2021 Stripe, Inc. All rights reserved. -// - -import XCTest - -@testable import StripeApplePay - -class StripeApplePayTests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/StripeCameraCore/Project.swift b/StripeCameraCore/Project.swift new file mode 100644 index 00000000000..d755cfda2cf --- /dev/null +++ b/StripeCameraCore/Project.swift @@ -0,0 +1,11 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripeCameraCore", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + ], + testUtilsOptions: .testOptions(), + unitTestOptions: .testOptions() +) diff --git a/StripeCameraCore/StripeCameraCore.xcodeproj/project.pbxproj b/StripeCameraCore/StripeCameraCore.xcodeproj/project.pbxproj index 9c88fcdd221..ccfeffb1ba0 100644 --- a/StripeCameraCore/StripeCameraCore.xcodeproj/project.pbxproj +++ b/StripeCameraCore/StripeCameraCore.xcodeproj/project.pbxproj @@ -3,394 +3,433 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - E607C161279B94D700724E7F /* MockSimulatorCameraSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = E607C160279B94D700724E7F /* MockSimulatorCameraSession.swift */; }; - E607C165279BADF700724E7F /* MockTestCameraSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = E607C164279BADF700724E7F /* MockTestCameraSession.swift */; }; - E607C169279BFE9800724E7F /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E607C168279BFE9800724E7F /* StripeCore.framework */; }; - E627AEEB275820970048F88D /* Torch.swift in Sources */ = {isa = PBXBuildFile; fileRef = E627AEEA275820970048F88D /* Torch.swift */; }; - E627AEF3275843510048F88D /* CameraPreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E627AEF2275843510048F88D /* CameraPreviewView.swift */; }; - E63B67032742EEBF00CFEDBA /* StripeCameraCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E63B66F92742EEBF00CFEDBA /* StripeCameraCore.framework */; }; - E63B670A2742EEBF00CFEDBA /* StripeCameraCore.h in Headers */ = {isa = PBXBuildFile; fileRef = E63B66FC2742EEBF00CFEDBA /* StripeCameraCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E63B673427433CEA00CFEDBA /* StripeCameraCoreTestUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E63B673227433CEA00CFEDBA /* StripeCameraCoreTestUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E63B673927433D1800CFEDBA /* StripeCameraCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E63B673027433CEA00CFEDBA /* StripeCameraCoreTestUtils.framework */; }; - E63B673A27433D6E00CFEDBA /* StripeCameraCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E63B66F92742EEBF00CFEDBA /* StripeCameraCore.framework */; }; - E657B561275AF3E300134033 /* CameraPermissionsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B560275AF3E300134033 /* CameraPermissionsManager.swift */; }; - E657B563275AF8DE00134033 /* AppSettingsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B562275AF8DE00134033 /* AppSettingsHelper.swift */; }; - E657B566275B005500134033 /* MockCameraPermissionsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B565275B005500134033 /* MockCameraPermissionsManager.swift */; }; - E657B568275B01DC00134033 /* MockAppSettingsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B567275B01DC00134033 /* MockAppSettingsHelper.swift */; }; - E657B56A275ED57A00134033 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E657B569275ED57A00134033 /* XCTest.framework */; }; - E657B59327691F0900134033 /* CGRect+StripeCameraCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B59227691F0900134033 /* CGRect+StripeCameraCore.swift */; }; - E657B597276921E500134033 /* CGRect_StripeCameraCoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B596276921E500134033 /* CGRect_StripeCameraCoreTest.swift */; }; - E6737750280906BB00DF966B /* CameraExifMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = E673774F280906BB00DF966B /* CameraExifMetadata.swift */; }; - E6749CE727E2CE2100FF6897 /* CVPixelBuffer+StripeCameraCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6749CE627E2CE2100FF6897 /* CVPixelBuffer+StripeCameraCore.swift */; }; - E68D0044279A4CB500BC7421 /* UIDeviceOrientation+StripeCameraCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E68D0043279A4CB500BC7421 /* UIDeviceOrientation+StripeCameraCore.swift */; }; - E6DB8E13279F21700012D46A /* UIImage+Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6DB8E12279F21700012D46A /* UIImage+Buffer.swift */; }; - F3DC533D276BD26F008B62E8 /* CameraSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3DC533C276BD26F008B62E8 /* CameraSession.swift */; }; + 0485C4A62D9444E75877E170 /* CameraExifMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76A4D11F53602B77F9F5B2E /* CameraExifMetadata.swift */; }; + 064567ECD2B71E5EB7D3A201 /* MockCameraPermissionsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 832A750C892D9D3FC54D9CF3 /* MockCameraPermissionsManager.swift */; }; + 06FEEA450541E2D36D5A10FC /* CameraPermissionsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D0F925920743B648B04C949 /* CameraPermissionsManager.swift */; }; + 0F02BB3F9F7936D7BB593226 /* Torch.swift in Sources */ = {isa = PBXBuildFile; fileRef = D750C5508AB271C099351E42 /* Torch.swift */; }; + 10BCE429AA79F7F0D1A9F2D3 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7158E127DC7294CDABDEF5B8 /* XCTest.framework */; }; + 1EF9F2AB3E43769AB2BA6D04 /* StripeCameraCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2720B7BD13954418A8AC52E5 /* StripeCameraCoreTestUtils.framework */; }; + 28F23B4322876ED2BAC8C933 /* StripeCameraCoreTestUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DDD1039F321BAF147F162F7D /* StripeCameraCoreTestUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A1AAD8E5A589E4E74B02A35 /* MockSimulatorCameraSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCCE205F4CCF2D486967BA25 /* MockSimulatorCameraSession.swift */; }; + 2CEF8A27C8864A6198C69A5D /* CVPixelBuffer+StripeCameraCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A0B9FDC8622F6CDF9F8A4B4 /* CVPixelBuffer+StripeCameraCore.swift */; }; + 48B09ECBED820F3097779208 /* CGRect+StripeCameraCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B4106DF455718394E209C00 /* CGRect+StripeCameraCore.swift */; }; + 5F57E0BF10039F7055013066 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7158E127DC7294CDABDEF5B8 /* XCTest.framework */; }; + 6D44C32189C0CB409C9E4712 /* StripeCameraCore.h in Headers */ = {isa = PBXBuildFile; fileRef = E7FB32269B8E36C3CBDB370F /* StripeCameraCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88A1AF2B173B4055D8F44A8C /* MockAppSettingsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F04D387EEF3A5D07ECD1F7E /* MockAppSettingsHelper.swift */; }; + 8F3073987F30B9B8DDF0D956 /* MockTestCameraSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8091DB42296B7EC745567AF7 /* MockTestCameraSession.swift */; }; + 9AFBF50F47562CB34903064E /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E7BCD0896ADAFFF5CCA738E /* StripeCore.framework */; }; + 9CE6EE572439AD5B22B77294 /* CameraPreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A79D46F44C7BC55B9B595AEF /* CameraPreviewView.swift */; }; + 9FC42D068D1719AB28C3068F /* AppSettingsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48DFFB1E2F90176D156E315B /* AppSettingsHelper.swift */; }; + A95255494DF27A7CAE9A70CE /* CameraSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBD8FEBAE0069BE88B75B0C5 /* CameraSession.swift */; }; + AB24784F49EB99E7C36509BD /* CGRect_StripeCameraCoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B5B6BCFF035A9E214EA9EA0 /* CGRect_StripeCameraCoreTest.swift */; }; + D2186D6E491660D0C2A9D577 /* StripeCameraCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DBC37790A9F68168A89095B /* StripeCameraCore.framework */; }; + D9687FAD52D1896F28309580 /* UIImage+Buffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA969E606F5A3829BC9D4445 /* UIImage+Buffer.swift */; }; + E01A054861E5D82D18C7D224 /* StripeCameraCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DBC37790A9F68168A89095B /* StripeCameraCore.framework */; }; + F181EEBCE3D2CAD043DAF0F0 /* UIDeviceOrientation+StripeCameraCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D9BDABE163D20DF20F2237D /* UIDeviceOrientation+StripeCameraCore.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - E63B67042742EEBF00CFEDBA /* PBXContainerItemProxy */ = { + 0321B7B71CC9BDDCF236B375 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = E63B66F02742EEBF00CFEDBA /* Project object */; + containerPortal = B93DF1E4460962AFB28CF144 /* Project object */; proxyType = 1; - remoteGlobalIDString = E63B66F82742EEBF00CFEDBA; + remoteGlobalIDString = B50782C89D54809DFFCF80D0; + remoteInfo = StripeCameraCore; + }; + 55BD94DFEA7738F26C23A545 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B93DF1E4460962AFB28CF144 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6A948E338F0BF55DBFD83170; + remoteInfo = StripeCameraCoreTestUtils; + }; + BA0100EB31091CFA64BF12A6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B93DF1E4460962AFB28CF144 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B50782C89D54809DFFCF80D0; remoteInfo = StripeCameraCore; }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 2F2CDDE07BFFE88706C6A908 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + BCA0A45A41520FB95F4E8D10 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + F97E2A90DA9F982FC293A4A9 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ - E607C160279B94D700724E7F /* MockSimulatorCameraSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockSimulatorCameraSession.swift; sourceTree = ""; }; - E607C164279BADF700724E7F /* MockTestCameraSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockTestCameraSession.swift; sourceTree = ""; }; - E607C168279BFE9800724E7F /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E627AEEA275820970048F88D /* Torch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Torch.swift; sourceTree = ""; }; - E627AEF2275843510048F88D /* CameraPreviewView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CameraPreviewView.swift; sourceTree = ""; }; - E63B66F92742EEBF00CFEDBA /* StripeCameraCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCameraCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E63B66FC2742EEBF00CFEDBA /* StripeCameraCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCameraCore.h; sourceTree = ""; }; - E63B66FD2742EEBF00CFEDBA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E63B67022742EEBF00CFEDBA /* StripeCameraCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeCameraCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - E63B67092742EEBF00CFEDBA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E63B67142742EF2400CFEDBA /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - E63B67152742EF2400CFEDBA /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - E63B67162742EF2400CFEDBA /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - E63B67172742EF2400CFEDBA /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - E63B67182742EF2400CFEDBA /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - E63B67192742EF2400CFEDBA /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - E63B671A2742EF2400CFEDBA /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - E63B671B2742EF2400CFEDBA /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - E63B671C2742EF2400CFEDBA /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - E63B671D2742EF2400CFEDBA /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - E63B673027433CEA00CFEDBA /* StripeCameraCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCameraCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E63B673227433CEA00CFEDBA /* StripeCameraCoreTestUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCameraCoreTestUtils.h; sourceTree = ""; }; - E63B673327433CEA00CFEDBA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E657B560275AF3E300134033 /* CameraPermissionsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraPermissionsManager.swift; sourceTree = ""; }; - E657B562275AF8DE00134033 /* AppSettingsHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppSettingsHelper.swift; sourceTree = ""; }; - E657B565275B005500134033 /* MockCameraPermissionsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockCameraPermissionsManager.swift; sourceTree = ""; }; - E657B567275B01DC00134033 /* MockAppSettingsHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAppSettingsHelper.swift; sourceTree = ""; }; - E657B569275ED57A00134033 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - E657B59227691F0900134033 /* CGRect+StripeCameraCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGRect+StripeCameraCore.swift"; sourceTree = ""; }; - E657B596276921E500134033 /* CGRect_StripeCameraCoreTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CGRect_StripeCameraCoreTest.swift; sourceTree = ""; }; - E673774F280906BB00DF966B /* CameraExifMetadata.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraExifMetadata.swift; sourceTree = ""; }; - E6749CE627E2CE2100FF6897 /* CVPixelBuffer+StripeCameraCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CVPixelBuffer+StripeCameraCore.swift"; sourceTree = ""; }; - E68D0043279A4CB500BC7421 /* UIDeviceOrientation+StripeCameraCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIDeviceOrientation+StripeCameraCore.swift"; sourceTree = ""; }; - E6DB8E12279F21700012D46A /* UIImage+Buffer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Buffer.swift"; sourceTree = ""; }; - F3DC533C276BD26F008B62E8 /* CameraSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraSession.swift; sourceTree = ""; }; + 0A0B9FDC8622F6CDF9F8A4B4 /* CVPixelBuffer+StripeCameraCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CVPixelBuffer+StripeCameraCore.swift"; sourceTree = ""; }; + 0F4174046507759A9668F4EE /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 17E9A614AF4543DB62E7F5B4 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + 226FED2248EE3F96F217BEE9 /* StripeCameraCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeCameraCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 2720B7BD13954418A8AC52E5 /* StripeCameraCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCameraCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B5B6BCFF035A9E214EA9EA0 /* CGRect_StripeCameraCoreTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CGRect_StripeCameraCoreTest.swift; sourceTree = ""; }; + 3B4106DF455718394E209C00 /* CGRect+StripeCameraCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGRect+StripeCameraCore.swift"; sourceTree = ""; }; + 3D0F925920743B648B04C949 /* CameraPermissionsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraPermissionsManager.swift; sourceTree = ""; }; + 44E9A4900C4B8D08A617488C /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + 48DFFB1E2F90176D156E315B /* AppSettingsHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppSettingsHelper.swift; sourceTree = ""; }; + 4E0D85BEF8C269A46D5ECEAC /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; + 5DFD03E78034CFB59E244199 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 609D9ADB9E9898694A2A67FF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 6DBC37790A9F68168A89095B /* StripeCameraCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCameraCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7158E127DC7294CDABDEF5B8 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 7D9BDABE163D20DF20F2237D /* UIDeviceOrientation+StripeCameraCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIDeviceOrientation+StripeCameraCore.swift"; sourceTree = ""; }; + 8091DB42296B7EC745567AF7 /* MockTestCameraSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockTestCameraSession.swift; sourceTree = ""; }; + 832A750C892D9D3FC54D9CF3 /* MockCameraPermissionsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockCameraPermissionsManager.swift; sourceTree = ""; }; + 83596C8ED3829B17A93490A6 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; + 8E7BCD0896ADAFFF5CCA738E /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9F04D387EEF3A5D07ECD1F7E /* MockAppSettingsHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAppSettingsHelper.swift; sourceTree = ""; }; + A79D46F44C7BC55B9B595AEF /* CameraPreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraPreviewView.swift; sourceTree = ""; }; + ABCCADF0E7337301A472E75C /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + B8D39F3EE77B9DF5FFBA4CAE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + BA969E606F5A3829BC9D4445 /* UIImage+Buffer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Buffer.swift"; sourceTree = ""; }; + BCCE205F4CCF2D486967BA25 /* MockSimulatorCameraSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockSimulatorCameraSession.swift; sourceTree = ""; }; + D750C5508AB271C099351E42 /* Torch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Torch.swift; sourceTree = ""; }; + D76A4D11F53602B77F9F5B2E /* CameraExifMetadata.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraExifMetadata.swift; sourceTree = ""; }; + DDD1039F321BAF147F162F7D /* StripeCameraCoreTestUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCameraCoreTestUtils.h; sourceTree = ""; }; + E7FB32269B8E36C3CBDB370F /* StripeCameraCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCameraCore.h; sourceTree = ""; }; + FBD8FEBAE0069BE88B75B0C5 /* CameraSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraSession.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - E63B66F62742EEBF00CFEDBA /* Frameworks */ = { + 267776DB1189FACBD4FA2AEA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E607C169279BFE9800724E7F /* StripeCore.framework in Frameworks */, + 5F57E0BF10039F7055013066 /* XCTest.framework in Frameworks */, + E01A054861E5D82D18C7D224 /* StripeCameraCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E63B66FF2742EEBF00CFEDBA /* Frameworks */ = { + 9CC1AF0A3093D51C5085D503 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E63B673927433D1800CFEDBA /* StripeCameraCoreTestUtils.framework in Frameworks */, - E63B67032742EEBF00CFEDBA /* StripeCameraCore.framework in Frameworks */, + 10BCE429AA79F7F0D1A9F2D3 /* XCTest.framework in Frameworks */, + D2186D6E491660D0C2A9D577 /* StripeCameraCore.framework in Frameworks */, + 1EF9F2AB3E43769AB2BA6D04 /* StripeCameraCoreTestUtils.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E63B672D27433CEA00CFEDBA /* Frameworks */ = { + E3A6C5C1A5D47CEFAFD1853F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E63B673A27433D6E00CFEDBA /* StripeCameraCore.framework in Frameworks */, - E657B56A275ED57A00134033 /* XCTest.framework in Frameworks */, + 9AFBF50F47562CB34903064E /* StripeCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - E627AEF1275843250048F88D /* Views */ = { + 00F9BB709FA21D59419FA5AE /* BuildConfigurations */ = { isa = PBXGroup; children = ( - E627AEF2275843510048F88D /* CameraPreviewView.swift */, + ABCCADF0E7337301A472E75C /* Project-Debug.xcconfig */, + 0F4174046507759A9668F4EE /* Project-Release.xcconfig */, + 44E9A4900C4B8D08A617488C /* StripeiOS Tests-Debug.xcconfig */, + 17E9A614AF4543DB62E7F5B4 /* StripeiOS Tests-Release.xcconfig */, + 83596C8ED3829B17A93490A6 /* StripeiOS-Debug.xcconfig */, + 4E0D85BEF8C269A46D5ECEAC /* StripeiOS-Release.xcconfig */, ); - path = Views; + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; - E63B66EF2742EEBF00CFEDBA = { + 03256F1FDB473FE93A57A38A /* Source */ = { isa = PBXGroup; children = ( - E63B67132742EF2400CFEDBA /* BuildConfigurations */, - E63B66FB2742EEBF00CFEDBA /* StripeCameraCore */, - E63B67062742EEBF00CFEDBA /* StripeCameraCoreTests */, - E63B673127433CEA00CFEDBA /* StripeCameraCoreTestUtils */, - E63B66FA2742EEBF00CFEDBA /* Products */, - E63B673827433D1800CFEDBA /* Frameworks */, + 170C84B7FB58FAA15283903E /* Categories */, + 7E719691677D20AEAEF0C120 /* Coordinators */, + 72FEB5C092565B365BBC3906 /* Views */, + D76A4D11F53602B77F9F5B2E /* CameraExifMetadata.swift */, ); + path = Source; sourceTree = ""; }; - E63B66FA2742EEBF00CFEDBA /* Products */ = { + 0FB9D3D4625E1AEA6EE1CC22 /* Frameworks */ = { isa = PBXGroup; children = ( - E63B66F92742EEBF00CFEDBA /* StripeCameraCore.framework */, - E63B67022742EEBF00CFEDBA /* StripeCameraCoreTests.xctest */, - E63B673027433CEA00CFEDBA /* StripeCameraCoreTestUtils.framework */, + 7158E127DC7294CDABDEF5B8 /* XCTest.framework */, ); - name = Products; + name = Frameworks; sourceTree = ""; }; - E63B66FB2742EEBF00CFEDBA /* StripeCameraCore */ = { + 170C84B7FB58FAA15283903E /* Categories */ = { isa = PBXGroup; children = ( - E63B67282742F29800CFEDBA /* Source */, - E63B66FC2742EEBF00CFEDBA /* StripeCameraCore.h */, - E63B66FD2742EEBF00CFEDBA /* Info.plist */, + 3B4106DF455718394E209C00 /* CGRect+StripeCameraCore.swift */, + 0A0B9FDC8622F6CDF9F8A4B4 /* CVPixelBuffer+StripeCameraCore.swift */, + 7D9BDABE163D20DF20F2237D /* UIDeviceOrientation+StripeCameraCore.swift */, + BA969E606F5A3829BC9D4445 /* UIImage+Buffer.swift */, ); - path = StripeCameraCore; + path = Categories; sourceTree = ""; }; - E63B67062742EEBF00CFEDBA /* StripeCameraCoreTests */ = { + 171BE48EE95E66F94D6CCC33 /* StripeCameraCoreTests */ = { isa = PBXGroup; children = ( - E657B5942769218C00134033 /* Unit */, - E63B67092742EEBF00CFEDBA /* Info.plist */, + CC0771AB4883EEDAB5AA7D1C /* Unit */, + 5DFD03E78034CFB59E244199 /* Info.plist */, ); path = StripeCameraCoreTests; sourceTree = ""; }; - E63B67132742EF2400CFEDBA /* BuildConfigurations */ = { + 18A8A17329DE3C8891103ECD /* Categories */ = { isa = PBXGroup; children = ( - E63B67142742EF2400CFEDBA /* StripeiOS Tests-Debug.xcconfig */, - E63B67152742EF2400CFEDBA /* StripeiOS-Debug.xcconfig */, - E63B67162742EF2400CFEDBA /* Project-Release.xcconfig */, - E63B67172742EF2400CFEDBA /* StripeiOS Tests-Release.xcconfig */, - E63B67182742EF2400CFEDBA /* Project-Shared.xcconfig */, - E63B67192742EF2400CFEDBA /* Version.xcconfig */, - E63B671A2742EF2400CFEDBA /* StripeiOS Tests-Shared.xcconfig */, - E63B671B2742EF2400CFEDBA /* StripeiOS-Shared.xcconfig */, - E63B671C2742EF2400CFEDBA /* Project-Debug.xcconfig */, - E63B671D2742EF2400CFEDBA /* StripeiOS-Release.xcconfig */, + 2B5B6BCFF035A9E214EA9EA0 /* CGRect_StripeCameraCoreTest.swift */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = Categories; sourceTree = ""; }; - E63B67282742F29800CFEDBA /* Source */ = { + 27E56A8242FD577334930F5B /* StripeCameraCoreTestUtils */ = { isa = PBXGroup; children = ( - E657B59127691EF500134033 /* Categories */, - E6E91EF6279B7B8100C7CC3F /* Coordinators */, - E627AEF1275843250048F88D /* Views */, - E673774F280906BB00DF966B /* CameraExifMetadata.swift */, + BCB41D804D8A44F6DEEF4B8E /* Mocks */, + B8D39F3EE77B9DF5FFBA4CAE /* Info.plist */, + DDD1039F321BAF147F162F7D /* StripeCameraCoreTestUtils.h */, ); - path = Source; + path = StripeCameraCoreTestUtils; sourceTree = ""; }; - E63B673127433CEA00CFEDBA /* StripeCameraCoreTestUtils */ = { + 5CE9B5F8E73CBC18E22AF375 /* Project */ = { isa = PBXGroup; children = ( - E657B564275B004100134033 /* Mocks */, - E63B673227433CEA00CFEDBA /* StripeCameraCoreTestUtils.h */, - E63B673327433CEA00CFEDBA /* Info.plist */, + 00F9BB709FA21D59419FA5AE /* BuildConfigurations */, + E2CD33A048BB3FD49B4D47FD /* StripeCameraCore */, + 171BE48EE95E66F94D6CCC33 /* StripeCameraCoreTests */, + 27E56A8242FD577334930F5B /* StripeCameraCoreTestUtils */, ); - path = StripeCameraCoreTestUtils; + name = Project; sourceTree = ""; }; - E63B673827433D1800CFEDBA /* Frameworks */ = { + 72FEB5C092565B365BBC3906 /* Views */ = { isa = PBXGroup; children = ( - E607C168279BFE9800724E7F /* StripeCore.framework */, - E657B569275ED57A00134033 /* XCTest.framework */, + A79D46F44C7BC55B9B595AEF /* CameraPreviewView.swift */, ); - name = Frameworks; + path = Views; sourceTree = ""; }; - E657B564275B004100134033 /* Mocks */ = { + 7E719691677D20AEAEF0C120 /* Coordinators */ = { isa = PBXGroup; children = ( - E657B565275B005500134033 /* MockCameraPermissionsManager.swift */, - E657B567275B01DC00134033 /* MockAppSettingsHelper.swift */, - E607C164279BADF700724E7F /* MockTestCameraSession.swift */, + 48DFFB1E2F90176D156E315B /* AppSettingsHelper.swift */, + 3D0F925920743B648B04C949 /* CameraPermissionsManager.swift */, + FBD8FEBAE0069BE88B75B0C5 /* CameraSession.swift */, + BCCE205F4CCF2D486967BA25 /* MockSimulatorCameraSession.swift */, + D750C5508AB271C099351E42 /* Torch.swift */, ); - path = Mocks; + path = Coordinators; sourceTree = ""; }; - E657B59127691EF500134033 /* Categories */ = { + BCB41D804D8A44F6DEEF4B8E /* Mocks */ = { isa = PBXGroup; children = ( - E657B59227691F0900134033 /* CGRect+StripeCameraCore.swift */, - E68D0043279A4CB500BC7421 /* UIDeviceOrientation+StripeCameraCore.swift */, - E6DB8E12279F21700012D46A /* UIImage+Buffer.swift */, - E6749CE627E2CE2100FF6897 /* CVPixelBuffer+StripeCameraCore.swift */, + 9F04D387EEF3A5D07ECD1F7E /* MockAppSettingsHelper.swift */, + 832A750C892D9D3FC54D9CF3 /* MockCameraPermissionsManager.swift */, + 8091DB42296B7EC745567AF7 /* MockTestCameraSession.swift */, ); - path = Categories; + path = Mocks; sourceTree = ""; }; - E657B5942769218C00134033 /* Unit */ = { + CC0771AB4883EEDAB5AA7D1C /* Unit */ = { isa = PBXGroup; children = ( - E657B5952769219100134033 /* Categories */, + 18A8A17329DE3C8891103ECD /* Categories */, ); path = Unit; sourceTree = ""; }; - E657B5952769219100134033 /* Categories */ = { + E2B3561EEB5629A212FD2AB4 /* Products */ = { isa = PBXGroup; children = ( - E657B596276921E500134033 /* CGRect_StripeCameraCoreTest.swift */, + 6DBC37790A9F68168A89095B /* StripeCameraCore.framework */, + 226FED2248EE3F96F217BEE9 /* StripeCameraCoreTests.xctest */, + 2720B7BD13954418A8AC52E5 /* StripeCameraCoreTestUtils.framework */, + 8E7BCD0896ADAFFF5CCA738E /* StripeCore.framework */, ); - path = Categories; + name = Products; sourceTree = ""; }; - E6E91EF6279B7B8100C7CC3F /* Coordinators */ = { + E2CD33A048BB3FD49B4D47FD /* StripeCameraCore */ = { isa = PBXGroup; children = ( - E657B562275AF8DE00134033 /* AppSettingsHelper.swift */, - E657B560275AF3E300134033 /* CameraPermissionsManager.swift */, - F3DC533C276BD26F008B62E8 /* CameraSession.swift */, - E627AEEA275820970048F88D /* Torch.swift */, - E607C160279B94D700724E7F /* MockSimulatorCameraSession.swift */, + 03256F1FDB473FE93A57A38A /* Source */, + 609D9ADB9E9898694A2A67FF /* Info.plist */, + E7FB32269B8E36C3CBDB370F /* StripeCameraCore.h */, + ); + path = StripeCameraCore; + sourceTree = ""; + }; + F72F2AFE9BE5E2CCBE7C6436 = { + isa = PBXGroup; + children = ( + 5CE9B5F8E73CBC18E22AF375 /* Project */, + 0FB9D3D4625E1AEA6EE1CC22 /* Frameworks */, + E2B3561EEB5629A212FD2AB4 /* Products */, ); - path = Coordinators; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - E63B66F42742EEBF00CFEDBA /* Headers */ = { + 21D2298D6D8328B46AB437BB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E63B670A2742EEBF00CFEDBA /* StripeCameraCore.h in Headers */, + 6D44C32189C0CB409C9E4712 /* StripeCameraCore.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E63B672B27433CEA00CFEDBA /* Headers */ = { + 8FED65A79644B7F1CB19619B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E63B673427433CEA00CFEDBA /* StripeCameraCoreTestUtils.h in Headers */, + 28F23B4322876ED2BAC8C933 /* StripeCameraCoreTestUtils.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - E63B66F82742EEBF00CFEDBA /* StripeCameraCore */ = { + 6A948E338F0BF55DBFD83170 /* StripeCameraCoreTestUtils */ = { isa = PBXNativeTarget; - buildConfigurationList = E63B670D2742EEBF00CFEDBA /* Build configuration list for PBXNativeTarget "StripeCameraCore" */; + buildConfigurationList = 12D1B5D975CF0E6EC4956438 /* Build configuration list for PBXNativeTarget "StripeCameraCoreTestUtils" */; buildPhases = ( - E63B66F42742EEBF00CFEDBA /* Headers */, - E63B66F52742EEBF00CFEDBA /* Sources */, - E63B66F62742EEBF00CFEDBA /* Frameworks */, - E63B66F72742EEBF00CFEDBA /* Resources */, + 8FED65A79644B7F1CB19619B /* Headers */, + F2FB0D7ACB63AFA0A81A5FF6 /* Sources */, + 83C726705BB615A9940B98CC /* Resources */, + BCA0A45A41520FB95F4E8D10 /* Embed Frameworks */, + 267776DB1189FACBD4FA2AEA /* Frameworks */, ); buildRules = ( ); dependencies = ( + D1513DE143A5DDFAB1AA4069 /* PBXTargetDependency */, ); - name = StripeCameraCore; - productName = StripeCameraCore; - productReference = E63B66F92742EEBF00CFEDBA /* StripeCameraCore.framework */; + name = StripeCameraCoreTestUtils; + productName = StripeCameraCoreTestUtils; + productReference = 2720B7BD13954418A8AC52E5 /* StripeCameraCoreTestUtils.framework */; productType = "com.apple.product-type.framework"; }; - E63B67012742EEBF00CFEDBA /* StripeCameraCoreTests */ = { + B50782C89D54809DFFCF80D0 /* StripeCameraCore */ = { isa = PBXNativeTarget; - buildConfigurationList = E63B67102742EEBF00CFEDBA /* Build configuration list for PBXNativeTarget "StripeCameraCoreTests" */; + buildConfigurationList = 7056F053793C453C8750F440 /* Build configuration list for PBXNativeTarget "StripeCameraCore" */; buildPhases = ( - E63B66FE2742EEBF00CFEDBA /* Sources */, - E63B66FF2742EEBF00CFEDBA /* Frameworks */, - E63B67002742EEBF00CFEDBA /* Resources */, + 21D2298D6D8328B46AB437BB /* Headers */, + 62DE5865F3F7B8CB25F62395 /* Sources */, + 445990B4DBEECCD2FBA8B324 /* Resources */, + 2F2CDDE07BFFE88706C6A908 /* Embed Frameworks */, + E3A6C5C1A5D47CEFAFD1853F /* Frameworks */, ); buildRules = ( ); dependencies = ( - E63B67052742EEBF00CFEDBA /* PBXTargetDependency */, ); - name = StripeCameraCoreTests; - productName = StripeCameraCoreTests; - productReference = E63B67022742EEBF00CFEDBA /* StripeCameraCoreTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; + name = StripeCameraCore; + productName = StripeCameraCore; + productReference = 6DBC37790A9F68168A89095B /* StripeCameraCore.framework */; + productType = "com.apple.product-type.framework"; }; - E63B672F27433CEA00CFEDBA /* StripeCameraCoreTestUtils */ = { + F3DED9AB60FDAB786A737384 /* StripeCameraCoreTests */ = { isa = PBXNativeTarget; - buildConfigurationList = E63B673727433CEA00CFEDBA /* Build configuration list for PBXNativeTarget "StripeCameraCoreTestUtils" */; + buildConfigurationList = 6BB26614346BD154B399D073 /* Build configuration list for PBXNativeTarget "StripeCameraCoreTests" */; buildPhases = ( - E63B672B27433CEA00CFEDBA /* Headers */, - E63B672C27433CEA00CFEDBA /* Sources */, - E63B672D27433CEA00CFEDBA /* Frameworks */, - E63B672E27433CEA00CFEDBA /* Resources */, + 85B8B0A9CAD01C91AD19797A /* Sources */, + 98362E27FEF7FBD502400444 /* Resources */, + F97E2A90DA9F982FC293A4A9 /* Embed Frameworks */, + 9CC1AF0A3093D51C5085D503 /* Frameworks */, ); buildRules = ( ); dependencies = ( + F102799B90F2BBF57EBDBBDC /* PBXTargetDependency */, + 24ECB0864CAE52D6ABF4503E /* PBXTargetDependency */, ); - name = StripeCameraCoreTestUtils; - productName = StripeCameraCoreTestUtils; - productReference = E63B673027433CEA00CFEDBA /* StripeCameraCoreTestUtils.framework */; - productType = "com.apple.product-type.framework"; + name = StripeCameraCoreTests; + productName = StripeCameraCoreTests; + productReference = 226FED2248EE3F96F217BEE9 /* StripeCameraCoreTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - E63B66F02742EEBF00CFEDBA /* Project object */ = { + B93DF1E4460962AFB28CF144 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1250; - LastUpgradeCheck = 1250; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - E63B66F82742EEBF00CFEDBA = { - CreatedOnToolsVersion = 12.5; - LastSwiftMigration = 1250; - }; - E63B67012742EEBF00CFEDBA = { - CreatedOnToolsVersion = 12.5; - LastSwiftMigration = 1250; - }; - E63B672F27433CEA00CFEDBA = { - CreatedOnToolsVersion = 12.5; - LastSwiftMigration = 1250; - }; }; }; - buildConfigurationList = E63B66F32742EEBF00CFEDBA /* Build configuration list for PBXProject "StripeCameraCore" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = C1216BCDB94950EBFA541D74 /* Build configuration list for PBXProject "StripeCameraCore" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + en, ); - mainGroup = E63B66EF2742EEBF00CFEDBA; - productRefGroup = E63B66FA2742EEBF00CFEDBA /* Products */; + mainGroup = F72F2AFE9BE5E2CCBE7C6436; + productRefGroup = E2B3561EEB5629A212FD2AB4 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - E63B66F82742EEBF00CFEDBA /* StripeCameraCore */, - E63B67012742EEBF00CFEDBA /* StripeCameraCoreTests */, - E63B672F27433CEA00CFEDBA /* StripeCameraCoreTestUtils */, + B50782C89D54809DFFCF80D0 /* StripeCameraCore */, + 6A948E338F0BF55DBFD83170 /* StripeCameraCoreTestUtils */, + F3DED9AB60FDAB786A737384 /* StripeCameraCoreTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - E63B66F72742EEBF00CFEDBA /* Resources */ = { + 445990B4DBEECCD2FBA8B324 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E63B67002742EEBF00CFEDBA /* Resources */ = { + 83C726705BB615A9940B98CC /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E63B672E27433CEA00CFEDBA /* Resources */ = { + 98362E27FEF7FBD502400444 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -400,244 +439,202 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - E63B66F52742EEBF00CFEDBA /* Sources */ = { + 62DE5865F3F7B8CB25F62395 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E657B563275AF8DE00134033 /* AppSettingsHelper.swift in Sources */, - E607C161279B94D700724E7F /* MockSimulatorCameraSession.swift in Sources */, - E627AEEB275820970048F88D /* Torch.swift in Sources */, - E68D0044279A4CB500BC7421 /* UIDeviceOrientation+StripeCameraCore.swift in Sources */, - E657B561275AF3E300134033 /* CameraPermissionsManager.swift in Sources */, - F3DC533D276BD26F008B62E8 /* CameraSession.swift in Sources */, - E6749CE727E2CE2100FF6897 /* CVPixelBuffer+StripeCameraCore.swift in Sources */, - E657B59327691F0900134033 /* CGRect+StripeCameraCore.swift in Sources */, - E6DB8E13279F21700012D46A /* UIImage+Buffer.swift in Sources */, - E6737750280906BB00DF966B /* CameraExifMetadata.swift in Sources */, - E627AEF3275843510048F88D /* CameraPreviewView.swift in Sources */, + 0485C4A62D9444E75877E170 /* CameraExifMetadata.swift in Sources */, + 48B09ECBED820F3097779208 /* CGRect+StripeCameraCore.swift in Sources */, + 2CEF8A27C8864A6198C69A5D /* CVPixelBuffer+StripeCameraCore.swift in Sources */, + F181EEBCE3D2CAD043DAF0F0 /* UIDeviceOrientation+StripeCameraCore.swift in Sources */, + D9687FAD52D1896F28309580 /* UIImage+Buffer.swift in Sources */, + 9FC42D068D1719AB28C3068F /* AppSettingsHelper.swift in Sources */, + 06FEEA450541E2D36D5A10FC /* CameraPermissionsManager.swift in Sources */, + A95255494DF27A7CAE9A70CE /* CameraSession.swift in Sources */, + 2A1AAD8E5A589E4E74B02A35 /* MockSimulatorCameraSession.swift in Sources */, + 0F02BB3F9F7936D7BB593226 /* Torch.swift in Sources */, + 9CE6EE572439AD5B22B77294 /* CameraPreviewView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E63B66FE2742EEBF00CFEDBA /* Sources */ = { + 85B8B0A9CAD01C91AD19797A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E657B597276921E500134033 /* CGRect_StripeCameraCoreTest.swift in Sources */, + AB24784F49EB99E7C36509BD /* CGRect_StripeCameraCoreTest.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E63B672C27433CEA00CFEDBA /* Sources */ = { + F2FB0D7ACB63AFA0A81A5FF6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E657B568275B01DC00134033 /* MockAppSettingsHelper.swift in Sources */, - E607C165279BADF700724E7F /* MockTestCameraSession.swift in Sources */, - E657B566275B005500134033 /* MockCameraPermissionsManager.swift in Sources */, + 88A1AF2B173B4055D8F44A8C /* MockAppSettingsHelper.swift in Sources */, + 064567ECD2B71E5EB7D3A201 /* MockCameraPermissionsManager.swift in Sources */, + 8F3073987F30B9B8DDF0D956 /* MockTestCameraSession.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - E63B67052742EEBF00CFEDBA /* PBXTargetDependency */ = { + 24ECB0864CAE52D6ABF4503E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = StripeCameraCoreTestUtils; + target = 6A948E338F0BF55DBFD83170 /* StripeCameraCoreTestUtils */; + targetProxy = 55BD94DFEA7738F26C23A545 /* PBXContainerItemProxy */; + }; + D1513DE143A5DDFAB1AA4069 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = E63B66F82742EEBF00CFEDBA /* StripeCameraCore */; - targetProxy = E63B67042742EEBF00CFEDBA /* PBXContainerItemProxy */; + name = StripeCameraCore; + target = B50782C89D54809DFFCF80D0 /* StripeCameraCore */; + targetProxy = 0321B7B71CC9BDDCF236B375 /* PBXContainerItemProxy */; + }; + F102799B90F2BBF57EBDBBDC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = StripeCameraCore; + target = B50782C89D54809DFFCF80D0 /* StripeCameraCore */; + targetProxy = BA0100EB31091CFA64BF12A6 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - E63B670B2742EEBF00CFEDBA /* Debug */ = { + 1555A494851A82726CF41684 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E63B671C2742EF2400CFEDBA /* Project-Debug.xcconfig */; + baseConfigurationReference = 17E9A614AF4543DB62E7F5B4 /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - E63B670C2742EEBF00CFEDBA /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E63B67162742EF2400CFEDBA /* Project-Release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + INFOPLIST_FILE = StripeCameraCoreTestUtils/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCameraCoreTestUtils; + PRODUCT_NAME = StripeCameraCoreTestUtils; + SDKROOT = iphoneos; }; name = Release; }; - E63B670E2742EEBF00CFEDBA /* Debug */ = { + 8101CFE889F8AC21AF12FC99 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E63B67152742EF2400CFEDBA /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 83596C8ED3829B17A93490A6 /* StripeiOS-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = StripeCameraCore/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-camera-core"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeCameraCore; + SDKROOT = iphoneos; }; name = Debug; }; - E63B670F2742EEBF00CFEDBA /* Release */ = { + 85DD0786DE8D23550B2113B7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E63B671D2742EF2400CFEDBA /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = ABCCADF0E7337301A472E75C /* Project-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = StripeCameraCore/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-camera-core"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_VERSION = 5.0; }; - name = Release; + name = Debug; }; - E63B67112742EEBF00CFEDBA /* Debug */ = { + A6D92FFDFE11DCBEC32190D4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E63B67142742EF2400CFEDBA /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = 44E9A4900C4B8D08A617488C /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCameraCoreTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeCameraCoreTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCameraCoreTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeCameraCoreTests; + SDKROOT = iphoneos; }; name = Debug; }; - E63B67122742EEBF00CFEDBA /* Release */ = { + B26CBFD3B42072A398AE6605 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E63B67172742EF2400CFEDBA /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = 17E9A614AF4543DB62E7F5B4 /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCameraCoreTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeCameraCoreTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCameraCoreTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeCameraCoreTests; + SDKROOT = iphoneos; }; name = Release; }; - E63B673527433CEA00CFEDBA /* Debug */ = { + E1A07E117DC9E8051D871578 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E63B67152742EF2400CFEDBA /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 4E0D85BEF8C269A46D5ECEAC /* StripeiOS-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCameraCoreTestUtils/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCameraCoreTestUtils; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripeCameraCore/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-camera-core"; + PRODUCT_NAME = StripeCameraCore; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - E63B673627433CEA00CFEDBA /* Release */ = { + F11D6A5494AA72875ECC53A4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E63B671D2742EF2400CFEDBA /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = 0F4174046507759A9668F4EE /* Project-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCameraCoreTestUtils/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + }; + name = Release; + }; + FD80773E1582BF61724D6EDE /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 44E9A4900C4B8D08A617488C /* StripeiOS Tests-Debug.xcconfig */; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeCameraCoreTestUtils/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCameraCoreTestUtils; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeCameraCoreTestUtils; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - E63B66F32742EEBF00CFEDBA /* Build configuration list for PBXProject "StripeCameraCore" */ = { + 12D1B5D975CF0E6EC4956438 /* Build configuration list for PBXNativeTarget "StripeCameraCoreTestUtils" */ = { isa = XCConfigurationList; buildConfigurations = ( - E63B670B2742EEBF00CFEDBA /* Debug */, - E63B670C2742EEBF00CFEDBA /* Release */, + FD80773E1582BF61724D6EDE /* Debug */, + 1555A494851A82726CF41684 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E63B670D2742EEBF00CFEDBA /* Build configuration list for PBXNativeTarget "StripeCameraCore" */ = { + 6BB26614346BD154B399D073 /* Build configuration list for PBXNativeTarget "StripeCameraCoreTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - E63B670E2742EEBF00CFEDBA /* Debug */, - E63B670F2742EEBF00CFEDBA /* Release */, + A6D92FFDFE11DCBEC32190D4 /* Debug */, + B26CBFD3B42072A398AE6605 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E63B67102742EEBF00CFEDBA /* Build configuration list for PBXNativeTarget "StripeCameraCoreTests" */ = { + 7056F053793C453C8750F440 /* Build configuration list for PBXNativeTarget "StripeCameraCore" */ = { isa = XCConfigurationList; buildConfigurations = ( - E63B67112742EEBF00CFEDBA /* Debug */, - E63B67122742EEBF00CFEDBA /* Release */, + 8101CFE889F8AC21AF12FC99 /* Debug */, + E1A07E117DC9E8051D871578 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E63B673727433CEA00CFEDBA /* Build configuration list for PBXNativeTarget "StripeCameraCoreTestUtils" */ = { + C1216BCDB94950EBFA541D74 /* Build configuration list for PBXProject "StripeCameraCore" */ = { isa = XCConfigurationList; buildConfigurations = ( - E63B673527433CEA00CFEDBA /* Debug */, - E63B673627433CEA00CFEDBA /* Release */, + 85DD0786DE8D23550B2113B7 /* Debug */, + F11D6A5494AA72875ECC53A4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = E63B66F02742EEBF00CFEDBA /* Project object */; + rootObject = B93DF1E4460962AFB28CF144 /* Project object */; } diff --git a/StripeCameraCore/StripeCameraCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripeCameraCore/StripeCameraCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripeCameraCore/StripeCameraCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripeCameraCore/StripeCameraCore.xcodeproj/xcshareddata/xcschemes/StripeCameraCore.xcscheme b/StripeCameraCore/StripeCameraCore.xcodeproj/xcshareddata/xcschemes/StripeCameraCore.xcscheme index 1103d9f976a..d616e1ac65b 100644 --- a/StripeCameraCore/StripeCameraCore.xcodeproj/xcshareddata/xcschemes/StripeCameraCore.xcscheme +++ b/StripeCameraCore/StripeCameraCore.xcodeproj/xcshareddata/xcschemes/StripeCameraCore.xcscheme @@ -1,6 +1,6 @@ @@ -26,29 +26,22 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "NO"> + shouldUseLaunchSchemeArgsEnv = "YES"> - - - - @@ -66,6 +59,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + diff --git a/StripeCameraCore/StripeCameraCore.xcodeproj/xcshareddata/xcschemes/StripeCameraCoreTestUtils.xcscheme b/StripeCameraCore/StripeCameraCore.xcodeproj/xcshareddata/xcschemes/StripeCameraCoreTestUtils.xcscheme new file mode 100644 index 00000000000..5e2143b7a17 --- /dev/null +++ b/StripeCameraCore/StripeCameraCore.xcodeproj/xcshareddata/xcschemes/StripeCameraCoreTestUtils.xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/StripeCardScan/BuildConfigurations/StripeCardScan-Debug.xcconfig b/StripeCardScan/BuildConfigurations/StripeCardScan-Debug.xcconfig new file mode 100644 index 00000000000..0f5765ca123 --- /dev/null +++ b/StripeCardScan/BuildConfigurations/StripeCardScan-Debug.xcconfig @@ -0,0 +1,7 @@ +// +// StripeCardScan-Debug.xcconfig +// + +#include "../../BuildConfigurations/StripeiOS-Debug.xcconfig" + +APPLICATION_EXTENSION_API_ONLY = NO diff --git a/StripeCardScan/BuildConfigurations/StripeCardScan-Release.xcconfig b/StripeCardScan/BuildConfigurations/StripeCardScan-Release.xcconfig new file mode 100644 index 00000000000..e99bbccc394 --- /dev/null +++ b/StripeCardScan/BuildConfigurations/StripeCardScan-Release.xcconfig @@ -0,0 +1,7 @@ +// +// StripeCardScan-Release.xcconfig +// + +#include "../../BuildConfigurations/StripeiOS-Release.xcconfig" + +APPLICATION_EXTENSION_API_ONLY = NO diff --git a/StripeCardScan/Project.swift b/StripeCardScan/Project.swift new file mode 100644 index 00000000000..3d28cede140 --- /dev/null +++ b/StripeCardScan/Project.swift @@ -0,0 +1,32 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripeCardScan", + targetSettings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "BuildConfigurations/StripeCardScan-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "BuildConfigurations/StripeCardScan-Release.xcconfig" + ) + ], + defaultSettings: .none + ), + resources: "StripeCardScan/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + ], + unitTestOptions: .testOptions( + resources: [ + "StripeCardScanTests/Mock Data/**", + "StripeCardScanTests/Resources/**", + ], + dependencies: [ + .project(target: "StripeCoreTestUtils", path: "//StripeCore"), + ] + ) +) diff --git a/StripeCardScan/StripeCardScan.xcodeproj/project.pbxproj b/StripeCardScan/StripeCardScan.xcodeproj/project.pbxproj index 38a1fef58d9..0264da3ab6b 100644 --- a/StripeCardScan/StripeCardScan.xcodeproj/project.pbxproj +++ b/StripeCardScan/StripeCardScan.xcodeproj/project.pbxproj @@ -3,764 +3,800 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 3B2F4E082739CCFE008618CD /* StripeCardScan.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B2F4DFA2739CCFD008618CD /* StripeCardScan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3B657856276169C700EFD250 /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B657855276169C700EFD250 /* STPLocalizedString.swift */; }; - 3B65785C27616A0400EFD250 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B65785B27616A0400EFD250 /* String+Localized.swift */; }; - 3B8C9F00275575B000C5858F /* ImageHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8C9EFF275575B000C5858F /* ImageHelpers.swift */; }; - 3B8C9F04275576A800C5858F /* ImageCompressionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B8C9F03275576A800C5858F /* ImageCompressionTests.swift */; }; - 3B967094273C87950027F66A /* StripeCardScanBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B967093273C87950027F66A /* StripeCardScanBundleLocator.swift */; }; - 3B9671AB273DCC4E0027F66A /* SSDOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B9671A9273DCC4E0027F66A /* SSDOcr.swift */; }; - 3B9671AC273DCC4E0027F66A /* UxModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B9671AA273DCC4E0027F66A /* UxModel.swift */; }; - 3B9671D6273DD0630027F66A /* SSDOcr.mlmodelc in Resources */ = {isa = PBXBuildFile; fileRef = 3B9671D4273DD0630027F66A /* SSDOcr.mlmodelc */; }; - 3B9671D7273DD0630027F66A /* UxModel.mlmodelc in Resources */ = {isa = PBXBuildFile; fileRef = 3B9671D5273DD0630027F66A /* UxModel.mlmodelc */; }; - 3BC12BAA27612C0E005E5895 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3BC12B7F27612C0E005E5895 /* Localizable.strings */; }; - 3BD9805127430CCD00B09BCD /* StripeCardScan.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B2F4DF72739CCFD008618CD /* StripeCardScan.framework */; }; - 3BD9805D27430E9900B09BCD /* UxModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5480273C422D005B6CB7 /* UxModelTests.swift */; }; - 3BD9806027430EA300B09BCD /* synthetic_test_image.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 3BFA5493273C4573005B6CB7 /* synthetic_test_image.jpg */; }; - 3BFA5350273A0468005B6CB7 /* AppInfoUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA534E273A0468005B6CB7 /* AppInfoUtils.swift */; }; - 3BFA5351273A0468005B6CB7 /* DeviceUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA534F273A0468005B6CB7 /* DeviceUtils.swift */; }; - 3BFA5356273A047E005B6CB7 /* AppleOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5355273A047E005B6CB7 /* AppleOcr.swift */; }; - 3BFA5365273A0487005B6CB7 /* ErrorCorrection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA535A273A0487005B6CB7 /* ErrorCorrection.swift */; }; - 3BFA5366273A0487005B6CB7 /* CreditCardOcrResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA535B273A0487005B6CB7 /* CreditCardOcrResult.swift */; }; - 3BFA5367273A0487005B6CB7 /* CreditCardOcrImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA535C273A0487005B6CB7 /* CreditCardOcrImplementation.swift */; }; - 3BFA5368273A0487005B6CB7 /* NonNameWords.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA535D273A0487005B6CB7 /* NonNameWords.swift */; }; - 3BFA5369273A0487005B6CB7 /* MainLoopStateMachine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA535E273A0487005B6CB7 /* MainLoopStateMachine.swift */; }; - 3BFA536A273A0487005B6CB7 /* OcrMainLoop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA535F273A0487005B6CB7 /* OcrMainLoop.swift */; }; - 3BFA536B273A0487005B6CB7 /* OcrObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5360273A0487005B6CB7 /* OcrObject.swift */; }; - 3BFA536C273A0487005B6CB7 /* AppleCreditCardOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5361273A0487005B6CB7 /* AppleCreditCardOcr.swift */; }; - 3BFA536D273A0487005B6CB7 /* MachineLearningResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5362273A0487005B6CB7 /* MachineLearningResult.swift */; }; - 3BFA536E273A0487005B6CB7 /* SSDCreditCardOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5363273A0487005B6CB7 /* SSDCreditCardOcr.swift */; }; - 3BFA536F273A0487005B6CB7 /* CreditCardOcrPrediction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5364273A0487005B6CB7 /* CreditCardOcrPrediction.swift */; }; - 3BFA5378273A0490005B6CB7 /* CGrect+utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5373273A0490005B6CB7 /* CGrect+utils.swift */; }; - 3BFA5379273A0490005B6CB7 /* Array+utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5374273A0490005B6CB7 /* Array+utils.swift */; }; - 3BFA537A273A0490005B6CB7 /* Image+utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5375273A0490005B6CB7 /* Image+utils.swift */; }; - 3BFA537C273A0490005B6CB7 /* CreditCardOcrPrediction+expiry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5377273A0490005B6CB7 /* CreditCardOcrPrediction+expiry.swift */; }; - 3BFA53AB273A0525005B6CB7 /* AppState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5386273A0523005B6CB7 /* AppState.swift */; }; - 3BFA53AC273A0525005B6CB7 /* BlurView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5387273A0523005B6CB7 /* BlurView.swift */; }; - 3BFA53AD273A0525005B6CB7 /* PredictionResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5388273A0523005B6CB7 /* PredictionResult.swift */; }; - 3BFA53AE273A0525005B6CB7 /* OcrDDUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5389273A0523005B6CB7 /* OcrDDUtils.swift */; }; - 3BFA53AF273A0525005B6CB7 /* UIImage+pixelBuffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA538A273A0523005B6CB7 /* UIImage+pixelBuffer.swift */; }; - 3BFA53B0273A0525005B6CB7 /* PredictionAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA538B273A0523005B6CB7 /* PredictionAPI.swift */; }; - 3BFA53B1273A0525005B6CB7 /* CornerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA538C273A0523005B6CB7 /* CornerView.swift */; }; - 3BFA53B2273A0525005B6CB7 /* CGRectExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA538D273A0523005B6CB7 /* CGRectExtension.swift */; }; - 3BFA53B4273A0525005B6CB7 /* ScanEventsProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA538F273A0523005B6CB7 /* ScanEventsProtocol.swift */; }; - 3BFA53B5273A0525005B6CB7 /* NMS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5390273A0523005B6CB7 /* NMS.swift */; }; - 3BFA53B6273A0525005B6CB7 /* ActiveStateComputation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5391273A0523005B6CB7 /* ActiveStateComputation.swift */; }; - 3BFA53B7273A0525005B6CB7 /* ScanStats.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5392273A0523005B6CB7 /* ScanStats.swift */; }; - 3BFA53B8273A0525005B6CB7 /* CardType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5393273A0523005B6CB7 /* CardType.swift */; }; - 3BFA53B9273A0525005B6CB7 /* DetectedSSDBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5394273A0523005B6CB7 /* DetectedSSDBox.swift */; }; - 3BFA53BA273A0525005B6CB7 /* DetectedSSDOcrBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5395273A0523005B6CB7 /* DetectedSSDOcrBox.swift */; }; - 3BFA53BB273A0525005B6CB7 /* PostDetectionAlgorithm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5396273A0524005B6CB7 /* PostDetectionAlgorithm.swift */; }; - 3BFA53BC273A0525005B6CB7 /* InterfaceOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5397273A0524005B6CB7 /* InterfaceOrientation.swift */; }; - 3BFA53BD273A0525005B6CB7 /* SSDOcrDetect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5398273A0524005B6CB7 /* SSDOcrDetect.swift */; }; - 3BFA53BE273A0525005B6CB7 /* DetectedBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5399273A0524005B6CB7 /* DetectedBox.swift */; }; - 3BFA53BF273A0525005B6CB7 /* OcrDD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA539A273A0524005B6CB7 /* OcrDD.swift */; }; - 3BFA53C0273A0525005B6CB7 /* SimpleScanViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA539B273A0524005B6CB7 /* SimpleScanViewController.swift */; }; - 3BFA53C1273A0525005B6CB7 /* PredictionUtilOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA539C273A0524005B6CB7 /* PredictionUtilOcr.swift */; }; - 3BFA53C2273A0525005B6CB7 /* PreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA539D273A0524005B6CB7 /* PreviewView.swift */; }; - 3BFA53C3273A0525005B6CB7 /* VideoFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA539E273A0524005B6CB7 /* VideoFeed.swift */; }; - 3BFA53C4273A0525005B6CB7 /* DetectedAllOcrBoxes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA539F273A0524005B6CB7 /* DetectedAllOcrBoxes.swift */; }; - 3BFA53C5273A0525005B6CB7 /* SSDOcrOutputExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53A0273A0524005B6CB7 /* SSDOcrOutputExtensions.swift */; }; - 3BFA53C6273A0525005B6CB7 /* DetectedAllBoxes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53A1273A0524005B6CB7 /* DetectedAllBoxes.swift */; }; - 3BFA53C7273A0525005B6CB7 /* OcrPriorsGen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53A2273A0524005B6CB7 /* OcrPriorsGen.swift */; }; - 3BFA53C9273A0525005B6CB7 /* CreditCardUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53A4273A0524005B6CB7 /* CreditCardUtils.swift */; }; - 3BFA53CA273A0525005B6CB7 /* CardNetwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53A5273A0525005B6CB7 /* CardNetwork.swift */; }; - 3BFA53CB273A0525005B6CB7 /* Expiry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53A6273A0525005B6CB7 /* Expiry.swift */; }; - 3BFA53CC273A0525005B6CB7 /* ScanBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53A7273A0525005B6CB7 /* ScanBaseViewController.swift */; }; - 3BFA53CD273A0525005B6CB7 /* SoftNMS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53A8273A0525005B6CB7 /* SoftNMS.swift */; }; - 3BFA53CE273A0525005B6CB7 /* Torch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53A9273A0525005B6CB7 /* Torch.swift */; }; - 3BFA53CF273A0525005B6CB7 /* ScanConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53AA273A0525005B6CB7 /* ScanConfiguration.swift */; }; - 3BFA53F5273A07EF005B6CB7 /* STPAPIClient+CardImageVerification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53E1273A07EF005B6CB7 /* STPAPIClient+CardImageVerification.swift */; }; - 3BFA53F6273A07EF005B6CB7 /* CardImageVerificationDetailsResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA53E2273A07EF005B6CB7 /* CardImageVerificationDetailsResponse.swift */; }; - 3BFA5421273A081F005B6CB7 /* Bouncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5410273A081E005B6CB7 /* Bouncer.swift */; }; - 3BFA5429273A081F005B6CB7 /* CardBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5418273A081E005B6CB7 /* CardBase.swift */; }; - 3BFA5455273A09C5005B6CB7 /* VerifyCardAddViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5441273A09C4005B6CB7 /* VerifyCardAddViewController.swift */; }; - 3BFA5457273A09C5005B6CB7 /* VerifyCardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5443273A09C4005B6CB7 /* VerifyCardViewController.swift */; }; - 3BFA5458273A09C5005B6CB7 /* CardScanFraudData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5444273A09C4005B6CB7 /* CardScanFraudData.swift */; }; - 3BFA5459273A09C5005B6CB7 /* CardVerifyFraudData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5445273A09C4005B6CB7 /* CardVerifyFraudData.swift */; }; - 3BFA545A273A09C5005B6CB7 /* FadeInAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5446273A09C5005B6CB7 /* FadeInAnimation.swift */; }; - 3BFA545B273A09C5005B6CB7 /* ZoomedInCGImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5447273A09C5005B6CB7 /* ZoomedInCGImage.swift */; }; - 3BFA545D273A09C5005B6CB7 /* PaymentCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5449273A09C5005B6CB7 /* PaymentCard.swift */; }; - 3BFA545F273A09C5005B6CB7 /* SimpleScanViewController+Verify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA544B273A09C5005B6CB7 /* SimpleScanViewController+Verify.swift */; }; - 3BFA5460273A09C5005B6CB7 /* UxAnalyzer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA544C273A09C5005B6CB7 /* UxAnalyzer.swift */; }; - 3BFA5461273A09C5005B6CB7 /* UxAndOcrMainLoop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA544D273A09C5005B6CB7 /* UxAndOcrMainLoop.swift */; }; - 3BFA5464273A09C5005B6CB7 /* CardVerifyStateMachine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5450273A09C5005B6CB7 /* CardVerifyStateMachine.swift */; }; - 3BFA5465273A09C5005B6CB7 /* CardScanMisc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BFA5451273A09C5005B6CB7 /* CardScanMisc.swift */; }; - 60491CC82877890D00666703 /* UxModel+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60491CC72877890D00666703 /* UxModel+Utils.swift */; }; - 60491CCA28778AF500666703 /* SSDOcr+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60491CC928778AF500666703 /* SSDOcr+Utils.swift */; }; - 607776DE284ABD6F00471900 /* CardScanSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607776DD284ABD6F00471900 /* CardScanSheet.swift */; }; - 60796E0C282C67B900534775 /* CardImageVerificationDetailsResponseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60796E0B282C67B900534775 /* CardImageVerificationDetailsResponseTest.swift */; }; - 6082C44C2835689200B39E9B /* StringResourceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6082C44B2835689200B39E9B /* StringResourceTests.swift */; }; - 609518D328BD38E9003005E1 /* AsyncModelLoading.swift in Sources */ = {isa = PBXBuildFile; fileRef = 609518D228BD38E9003005E1 /* AsyncModelLoading.swift */; }; - 60E543F92874DBBA00058BA3 /* AtomicPropertyWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60E543F82874DBBA00058BA3 /* AtomicPropertyWrapper.swift */; }; - 60EFED3228DBA2BA009A41B7 /* String+Sha256.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60EFED3128DBA2BA009A41B7 /* String+Sha256.swift */; }; - 60EFED3428DBA2EF009A41B7 /* Data+Sha256.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60EFED3328DBA2EF009A41B7 /* Data+Sha256.swift */; }; - 60EFED6028E179F6009A41B7 /* EndToEndTestDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60EFED5E28E176D6009A41B7 /* EndToEndTestDataSource.swift */; }; - F31609A427DAD49C00F2C49C /* ScannedCardDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = F31609A327DAD49C00F2C49C /* ScannedCardDetails.swift */; }; - F31609A627DAD50F00F2C49C /* StrictModeFramesTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F31609A527DAD50F00F2C49C /* StrictModeFramesTest.swift */; }; - F3250110282ED08A00861658 /* ScanStatsPayload+Tasks.swift in Sources */ = {isa = PBXBuildFile; fileRef = F325010F282ED08A00861658 /* ScanStatsPayload+Tasks.swift */; }; - F329D8DD27470E9A00811E79 /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = F329D8DC27470E9A00811E79 /* StripeCore+Import.swift */; }; - F329D8E7274782EA00811E79 /* CardImageVerificationControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F329D8E6274782EA00811E79 /* CardImageVerificationControllerTests.swift */; }; - F32D9B112745D96A00C5FDBF /* CardImageVerificationSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32D9B0E2745D96A00C5FDBF /* CardImageVerificationSheet.swift */; }; - F32D9B122745D96A00C5FDBF /* CardImageVerificationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32D9B0F2745D96A00C5FDBF /* CardImageVerificationController.swift */; }; - F32D9B132745D96A00C5FDBF /* CardScanSheetError.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32D9B102745D96A00C5FDBF /* CardScanSheetError.swift */; }; - F32D9B152745EED300C5FDBF /* CancellationReason.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32D9B142745EED300C5FDBF /* CancellationReason.swift */; }; - F338B97127482E1C00E9323D /* VerifyFrames.swift in Sources */ = {isa = PBXBuildFile; fileRef = F338B97027482E1C00E9323D /* VerifyFrames.swift */; }; - F338B97327482F6800E9323D /* VerificationFramesData.swift in Sources */ = {isa = PBXBuildFile; fileRef = F338B97227482F6800E9323D /* VerificationFramesData.swift */; }; - F338B985274AF52300E9323D /* ScannedCardImageData.swift in Sources */ = {isa = PBXBuildFile; fileRef = F338B984274AF52300E9323D /* ScannedCardImageData.swift */; }; - F338B987274B00A600E9323D /* ScannedCardImageData+Verification.swift in Sources */ = {isa = PBXBuildFile; fileRef = F338B986274B00A600E9323D /* ScannedCardImageData+Verification.swift */; }; - F340EE3B2762CFBB0004116A /* ScanStatsPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = F340EE3A2762CFBB0004116A /* ScanStatsPayload.swift */; }; - F340EE3D2762DE160004116A /* ScanStatsPayload+Common.swift in Sources */ = {isa = PBXBuildFile; fileRef = F340EE3C2762DE160004116A /* ScanStatsPayload+Common.swift */; }; - F340EE3F2762EDF90004116A /* ScanStatsPayloadAPIBindingsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F340EE3E2762EDF90004116A /* ScanStatsPayloadAPIBindingsTests.swift */; }; - F340EE492763F34F0004116A /* ScanAnalyticsManager+Tasks.swift in Sources */ = {isa = PBXBuildFile; fileRef = F340EE482763F34F0004116A /* ScanAnalyticsManager+Tasks.swift */; }; - F340EE4B2763F4250004116A /* ScanAnalyticsManager+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = F340EE4A2763F4250004116A /* ScanAnalyticsManager+Helpers.swift */; }; - F38E6B70274437BE008EF7A6 /* CardScanMockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = F38E6B6F274437BE008EF7A6 /* CardScanMockData.swift */; }; - F38E6B7327443934008EF7A6 /* STPAPIClient+CardImageVerificationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F38E6B7227443934008EF7A6 /* STPAPIClient+CardImageVerificationTest.swift */; }; - F38E6B7B27443C0F008EF7A6 /* CardImageVerification_CardSet_200.json in Resources */ = {isa = PBXBuildFile; fileRef = F38E6B7A27443C0F008EF7A6 /* CardImageVerification_CardSet_200.json */; }; - F38E6B8327445A12008EF7A6 /* CardImageVerification_CardAdd_200.json in Resources */ = {isa = PBXBuildFile; fileRef = F38E6B8227445A12008EF7A6 /* CardImageVerification_CardAdd_200.json */; }; - F38E6B85274466C7008EF7A6 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F38E6B84274466C7008EF7A6 /* StripeCore.framework */; }; - F38E6B872744673D008EF7A6 /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F38E6B862744673D008EF7A6 /* StripeCoreTestUtils.framework */; }; - F3A3F05227DBBC0B000F5DD3 /* CardImageVerificationSheetConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3A3F05127DBBC0B000F5DD3 /* CardImageVerificationSheetConfiguration.swift */; }; - F3B0388B274DAE6100718B35 /* ScannedCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B0388A274DAE6000718B35 /* ScannedCard.swift */; }; - F3B0389A274DB71300718B35 /* FrameData.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B03892274DB71200718B35 /* FrameData.swift */; }; - F3B038A3274DC25B00718B35 /* CardImageVerificationIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B038A2274DC25A00718B35 /* CardImageVerificationIntent.swift */; }; - F3B038A7274E298400718B35 /* VerifyFramesAPIBindingsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B038A6274E298400718B35 /* VerifyFramesAPIBindingsTests.swift */; }; - F3D2E06D282B91BA001905E2 /* ScanAnalyticsManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3D2E06C282B91BA001905E2 /* ScanAnalyticsManagerTests.swift */; }; - F3DC52DF276819CC008B62E8 /* ScanAnalyticsManager+Managers.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3DC52DE276819CC008B62E8 /* ScanAnalyticsManager+Managers.swift */; }; - F3F143BB2763FFBD0081C7B2 /* ScanAnalyticsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3F143BA2763FFBD0081C7B2 /* ScanAnalyticsManager.swift */; }; + 040020B8558B0489DF99F8B5 /* DetectedAllBoxes.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7EE5FDCA3B075FE5BBAF42A /* DetectedAllBoxes.swift */; }; + 050B462804602A9F4DB58A9D /* Expiry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F3DDAD14A9F2DEB98E236E /* Expiry.swift */; }; + 05188062E522359CE24912CF /* ScannedCardImageData+Verification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C3EE6315FB1507E40F10D85 /* ScannedCardImageData+Verification.swift */; }; + 06711423AB563634EADFCCC0 /* VerifyCardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F912323832888F88EA218BA9 /* VerifyCardViewController.swift */; }; + 0838FEA7071EDCE1B633F093 /* PredictionAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B452EE8B96AF1B0691E7D43 /* PredictionAPI.swift */; }; + 0A4DCE2C98659B92DDB29B9A /* ScanAnalyticsManager+Tasks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6563E5CE5CD0439D5DBF35D7 /* ScanAnalyticsManager+Tasks.swift */; }; + 0ADD10809FEABDCB59A8FA72 /* CardType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 236AE86CE7DCB0DFA3B7C978 /* CardType.swift */; }; + 0D062E99363099A5728F3DCD /* ScanAnalyticsManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F6ECCDC721E4D46DAC4F48 /* ScanAnalyticsManagerTests.swift */; }; + 0D62200AA65D71F040037CC8 /* CardImageVerification_CardAdd_200.json in Resources */ = {isa = PBXBuildFile; fileRef = CF90067085243D998A1D6030 /* CardImageVerification_CardAdd_200.json */; }; + 0D8CA0E3EFF9694CAE4FB8F7 /* ScanConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF9618F7B15B33EC5B339A94 /* ScanConfiguration.swift */; }; + 0EAA2314FEA8D05D24C498BD /* Torch.swift in Sources */ = {isa = PBXBuildFile; fileRef = C827434739027B2DD43449EA /* Torch.swift */; }; + 10E840B00703A92CC487B324 /* CGRectExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7633166B4D9096FE995F08F0 /* CGRectExtension.swift */; }; + 164BF41B5C522B7338376BB2 /* BlurView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 938958FCB9B918AD6CDF0F4E /* BlurView.swift */; }; + 17E34C9EF882AEAE47BECAB4 /* ErrorCorrection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BEC906101069A1E3C50FA51 /* ErrorCorrection.swift */; }; + 189DEBAF38F2FB88CCA39EA2 /* UxModel+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF3FCD1B2283A2B02EBAEF4F /* UxModel+Utils.swift */; }; + 18B63245A933E292345C9410 /* UxAndOcrMainLoop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87448BAE438EF08C55AA4B29 /* UxAndOcrMainLoop.swift */; }; + 19EF4634631CFC121DE21D1B /* CardImageVerificationDetailsResponseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DDAF8E33A3D7CD020AC904A /* CardImageVerificationDetailsResponseTest.swift */; }; + 19F7EC09C9B0ED11A4601E08 /* ScanStatsPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D61E754E520B4E21920D1DA /* ScanStatsPayload.swift */; }; + 1AD72764EA8BCB66A9D7B637 /* CreditCardOcrPrediction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DEE8C18A3CECFF0751AB0D5 /* CreditCardOcrPrediction.swift */; }; + 1B10222A5121C9B2C3479FAB /* StripeCardScan.h in Headers */ = {isa = PBXBuildFile; fileRef = AB56DDBBF0E5BC10682C7D96 /* StripeCardScan.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1B71815D5B3EC8AC21E2A202 /* UIImage+pixelBuffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2D9886B0ED119E8D1FB6448 /* UIImage+pixelBuffer.swift */; }; + 1DE075A700592250D87DF558 /* ScannedCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C70F9A1879ED8B41639945 /* ScannedCard.swift */; }; + 20DCEB955D9E0660EAB3ABEB /* InterfaceOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77D0D8C2909455B76E246468 /* InterfaceOrientation.swift */; }; + 20DF2E9D5A543360DF3A4DDA /* DetectedBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = B53D407C0AC8D44ECC0C3C52 /* DetectedBox.swift */; }; + 213A91107E76434972A1F848 /* SSDOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F3E329C37141862BD4A4DE7 /* SSDOcr.swift */; }; + 25FAF64D4FE93BF38E807ECA /* VerifyFramesAPIBindingsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4301B281F5E0A5BACBBD68CC /* VerifyFramesAPIBindingsTests.swift */; }; + 2A9ECCF086685AD607D82492 /* AppleOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E24CF248F312DDE025D662A /* AppleOcr.swift */; }; + 2D042FD2E8A0C8236596CE54 /* CardScanFraudData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D41E45A285FEF48E9528997 /* CardScanFraudData.swift */; }; + 2F3FA5E8CCBF7F77106A8268 /* EndToEndTestDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA3ECBF071E7507C9D41F232 /* EndToEndTestDataSource.swift */; }; + 30E3E90F9C8E3D3E8FCA869E /* PreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC12B6E0657203AAB765468C /* PreviewView.swift */; }; + 35F2BB10395405DB6C1E31B5 /* SSDOcrOutputExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89DA7FF10BC3A7B2D102FB /* SSDOcrOutputExtensions.swift */; }; + 36525A0F774E7FA055D8B525 /* CardBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEDE71D7051DDC98698C4057 /* CardBase.swift */; }; + 3736756FBB875060C86E2777 /* CardScanSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14BC8B1C28C3F6C8330164E0 /* CardScanSheet.swift */; }; + 3F5B9466E9FC13CA29218750 /* ImageHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 091163ED5E37922332F502B1 /* ImageHelpers.swift */; }; + 3FCC183583090FD0246D9336 /* ScanBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A790FC6FAEC3F88FB2C26E27 /* ScanBaseViewController.swift */; }; + 41366AB64512BB7E4248A904 /* OcrDDUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0B91384C63CBFB790C8EE6 /* OcrDDUtils.swift */; }; + 41F2E4475B9B19350C31F255 /* PaymentCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67C8AB382B81DE27C8614F6D /* PaymentCard.swift */; }; + 420FF119A7147335D802AB14 /* CardImageVerificationSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12F09D21BAC44C461B1AD7CB /* CardImageVerificationSheet.swift */; }; + 43AA83BFF8DEFC09D406669F /* CardVerifyStateMachine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B3242DC2FCDF20D51D23AE1 /* CardVerifyStateMachine.swift */; }; + 449DD2A5D1F3FF94524D3CD6 /* STPAPIClient+CardImageVerificationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BC4F647EB512813078B9A6F /* STPAPIClient+CardImageVerificationTest.swift */; }; + 45C8D17FED02529B7FC4E8C3 /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6418F87D5168A2A08D65A482 /* STPLocalizedString.swift */; }; + 47DCE237223D40B1EB183704 /* AppState.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCA2733CEC85F8E427CA99CB /* AppState.swift */; }; + 48580A7E92CC8EBFD2FD4C91 /* DetectedAllOcrBoxes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1441A7A39C36C2A634A882F5 /* DetectedAllOcrBoxes.swift */; }; + 48E4577B073DD9485BC62902 /* ImageCompressionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0AA128D69F3C32A4EF67CF0 /* ImageCompressionTests.swift */; }; + 49E1959C680AD68D1D345D6B /* DeviceUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDB03A9253E8FAD07B739438 /* DeviceUtils.swift */; }; + 4ACBD9754F304CE4F70CAE43 /* MainLoopStateMachine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D550382D6320388A5BA75A1 /* MainLoopStateMachine.swift */; }; + 4B01B9F4FB647908AA5276E2 /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17FA90EE37CF1E6A49532491 /* StripeCoreTestUtils.framework */; }; + 4D1016654AFB3D9EE26092B7 /* PredictionUtilOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 795E739553651C8AC40E6AC1 /* PredictionUtilOcr.swift */; }; + 52519CA3928967768049164E /* CardImageVerification_CardSet_200.json in Resources */ = {isa = PBXBuildFile; fileRef = BDD0C14472FA163BD395DBD3 /* CardImageVerification_CardSet_200.json */; }; + 5382B471868AA7D95BBD2B3A /* SSDOcrDetect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AEB912151CB564AE21D073C /* SSDOcrDetect.swift */; }; + 54469A1A5D77BAD54061BEA1 /* ScanStatsPayload+Tasks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A1CD398A6AFB6747D095C59 /* ScanStatsPayload+Tasks.swift */; }; + 5488DA1817A0C9F780EF69B2 /* CardVerifyFraudData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63FA7635BAFDC7DD54B1A731 /* CardVerifyFraudData.swift */; }; + 59889C85D6D25B3222776B28 /* synthetic_test_image.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 4D9820BC2FFB68C808FB9507 /* synthetic_test_image.jpg */; }; + 5B1749A19231B20E2A081EB9 /* OcrObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DC83A169A82484B9F60E452 /* OcrObject.swift */; }; + 60AF52B9EFFF12EBABE4D221 /* CreditCardOcrImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05B28BBCB062B6AE5A3B7CBC /* CreditCardOcrImplementation.swift */; }; + 65C1EB5447CD5DF162CDEC2B /* Bouncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA16EAC68E04D4FDE67DB807 /* Bouncer.swift */; }; + 6E9908C612ECD2E0AEA3DFF8 /* AtomicPropertyWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B548B9626366BB0F110873 /* AtomicPropertyWrapper.swift */; }; + 70B5FF75EF5DC8FFB23B95F7 /* UxModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C038EFADF52B2477FC934EE0 /* UxModelTests.swift */; }; + 74330F51A91DC3A617F7AE42 /* SimpleScanViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6E1DA01CB00CBDE36735EDD /* SimpleScanViewController.swift */; }; + 77443628E02F3AEFF112314D /* CardScanMockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 746AAB9327BDE6791F9393B0 /* CardScanMockData.swift */; }; + 77BB4BE6E5E03626936453C6 /* STPAPIClient+CardImageVerification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84E54DFA3C47D94639297588 /* STPAPIClient+CardImageVerification.swift */; }; + 79A96C88970E4E61BAC47412 /* ScanStatsPayloadAPIBindingsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CF9ADC4CC0B4ADFE0A5427E /* ScanStatsPayloadAPIBindingsTests.swift */; }; + 7B0CF214778E17FEC721602E /* PredictionResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBE2CADB8D8E98D6EEE10C0 /* PredictionResult.swift */; }; + 7C71166DACDB829F8CBC383D /* NMS.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACD9FF5C9DD64BE92DB0927D /* NMS.swift */; }; + 7CED1B42C94A49D6BF98C9E4 /* VideoFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = D42510E09D32547455CDDBEF /* VideoFeed.swift */; }; + 7D9C9C2A26EF11F0C5D67D7C /* CGrect+utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD87F9971C25C4B99138318F /* CGrect+utils.swift */; }; + 8463F2DB039C481D26A24BAA /* PostDetectionAlgorithm.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC9F1B20AEB433DE3CE0042C /* PostDetectionAlgorithm.swift */; }; + 84975E58102A5D8C62C6C4E5 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69A2DB0837C11D8829C027CF /* String+Localized.swift */; }; + 858CDA751309CA04202B6203 /* MachineLearningResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF17FD18E52CB3508AD895E3 /* MachineLearningResult.swift */; }; + 86635536450EE7D583B8BD59 /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64A1E35C6DF336F34B6C7AEA /* StripeCore+Import.swift */; }; + 8CF112F4889C96617504A931 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6C27E58C1953533C68D43361 /* Localizable.strings */; }; + 8E4B117272F5B17A1E6AD609 /* UxModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDF173627F545C88CB1551B0 /* UxModel.swift */; }; + 8FC373E15C1169677F563901 /* OcrPriorsGen.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED780E8B4C14EE39F853B3A1 /* OcrPriorsGen.swift */; }; + 9188179F13E5EA15E0419580 /* ScanStats.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66A49708CF5D37C7CB267732 /* ScanStats.swift */; }; + 93D4785D8B91F12B6DDDE203 /* UxAnalyzer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F85031ADAE5928D977465C2 /* UxAnalyzer.swift */; }; + 9FA5A312032FC54B35BB604E /* SoftNMS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00A93BFDEE4072A2A9C30397 /* SoftNMS.swift */; }; + A060350B93E3369463AE2898 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E889051D7CD76D4FB9084A1 /* StripeCore.framework */; }; + A7014CF97250D97BC683FAC8 /* CreditCardUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8735A24B634F3B9060CADE45 /* CreditCardUtils.swift */; }; + A7F92FB7213E66A7D15A1BE3 /* SSDOcr.mlmodelc in Resources */ = {isa = PBXBuildFile; fileRef = E73DC7DD9C3E3395DF3F5A29 /* SSDOcr.mlmodelc */; }; + A8D0A57687A7CF9F389D7BDB /* ScanAnalyticsManager+Managers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A337FE5C3BE4FAB001E5520 /* ScanAnalyticsManager+Managers.swift */; }; + AB21982DC43977754F237756 /* VerificationFramesData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24C2345660A95FBF90BF4850 /* VerificationFramesData.swift */; }; + ACC3C1A295E43983F67F858E /* FrameData.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C926149A434F4F3BC961D9 /* FrameData.swift */; }; + AE144927F21D5DF9A8C0EF79 /* ScannedCardDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15541EEEE784EECDD3E7399D /* ScannedCardDetails.swift */; }; + AFA334F5007A4C141A96FC2E /* VerifyFrames.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4FAA99A64BCD00A336A5E01 /* VerifyFrames.swift */; }; + AFB2482D559BCC08E96C3615 /* CardImageVerificationIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD5004FC0706B2660B4C6EA0 /* CardImageVerificationIntent.swift */; }; + B00954CF5F2A15B72CB94FA5 /* VerifyCardAddViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69B38020E8E33CA893CBA6F3 /* VerifyCardAddViewController.swift */; }; + B2DF7862E5F80ACD8DEE9317 /* UxModel.mlmodelc in Resources */ = {isa = PBXBuildFile; fileRef = F4721524B6285C507681CC4D /* UxModel.mlmodelc */; }; + B47F583CE0F239881877E5D3 /* ZoomedInCGImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10A26712A38A91726C314329 /* ZoomedInCGImage.swift */; }; + B66697826FEA9FCE81DDD6F4 /* ActiveStateComputation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EBC1F86A03CF9AAC6FE5825 /* ActiveStateComputation.swift */; }; + BDEA39DE5D3775AD2A4BFB6C /* CardImageVerificationControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F24DEA029F94A359B7A571BB /* CardImageVerificationControllerTests.swift */; }; + BEE2BFA103DE985D057A0F9D /* ScanStatsPayload+Common.swift in Sources */ = {isa = PBXBuildFile; fileRef = 028DA95BD9A0DA8AD69162CB /* ScanStatsPayload+Common.swift */; }; + BFFA3E8CE79BFFE47530FAF6 /* DetectedSSDBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2EF6799FCE0817D9E3A536B /* DetectedSSDBox.swift */; }; + C2C41F5E568BF767C8232E74 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 14E5A51A77928A2700E23321 /* XCTest.framework */; }; + C3B9A4A30443A38C2D17BE8E /* CardNetwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 311A5A7EF789248E35BB1FEC /* CardNetwork.swift */; }; + C57BCF07EDF419D36ED4E690 /* ScanEventsProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D1FBA1B4676CC5E9F785D51 /* ScanEventsProtocol.swift */; }; + C5DBC36A41FB70C5DCCC97C7 /* SimpleScanViewController+Verify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F806DF921888A9657E2928 /* SimpleScanViewController+Verify.swift */; }; + C633115B02A0CE24AC55A747 /* OcrDD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FD9AF72B522A1E535A4EC81 /* OcrDD.swift */; }; + C7259DA76E6AB9BF53735D19 /* Array+utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA457DF27DC45455B8E1345 /* Array+utils.swift */; }; + C7A941539DBCFA790DCDB0B0 /* NonNameWords.swift in Sources */ = {isa = PBXBuildFile; fileRef = F96A85E323CFDA8BA35BC293 /* NonNameWords.swift */; }; + C8E2E98B7ED108804E0A0E24 /* SSDCreditCardOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B00395C6A2B14A6D56735B9 /* SSDCreditCardOcr.swift */; }; + CBA4FE649A3B21DAC3A61E5B /* CancellationReason.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C171A1336B7FB0C321D194 /* CancellationReason.swift */; }; + CC07F702B9EC043ACB0AC1E5 /* ScannedCardImageData.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAE45D8AC7BBA5DC433A9383 /* ScannedCardImageData.swift */; }; + CCB7722FDB8E6E68E90F3D12 /* CreditCardOcrPrediction+expiry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E72DD18B9FCB80ABEDE2689 /* CreditCardOcrPrediction+expiry.swift */; }; + CED42084C5FC46C17E357AD5 /* ScanAnalyticsManager+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B97CA4D8286B196A49B8D535 /* ScanAnalyticsManager+Helpers.swift */; }; + D2030CA1B3B7DAF3229189AD /* Image+utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE9C295E982F92DE2418AE1 /* Image+utils.swift */; }; + D27E02429E5DC8B28DFE8945 /* CardImageVerificationDetailsResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 256455DAEDCDDB1AEAF6A278 /* CardImageVerificationDetailsResponse.swift */; }; + D42EEFBB72CD0AB00C6B4728 /* String+Sha256.swift in Sources */ = {isa = PBXBuildFile; fileRef = 732D3AB4CE25CC5C26A352B1 /* String+Sha256.swift */; }; + D6F0E1C93997BB36AF0608C0 /* StringResourceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A72927DA8A946FDD03843DE /* StringResourceTests.swift */; }; + DB74787AF4EEF0E506DD0E1C /* Data+Sha256.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63662689AD097C859B8759B1 /* Data+Sha256.swift */; }; + DBE3EE5DAEEEA44D6C7ECD4E /* SSDOcr+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505DF34D76A56FEC2B8453F9 /* SSDOcr+Utils.swift */; }; + DDBCE05A3794129A9A04D511 /* AppleCreditCardOcr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EDF39435211B456B7579739 /* AppleCreditCardOcr.swift */; }; + DF352D12199B55B659A11795 /* DetectedSSDOcrBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D58BEEC9D88537E32260CBA /* DetectedSSDOcrBox.swift */; }; + E43FE03D43CB0D7BAA73745A /* StripeCardScan.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD6884D0B3347BBF2E61B1D6 /* StripeCardScan.framework */; }; + E4EC278027AF802C39C74C48 /* CardImageVerificationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B313BA373EF6B567BF40A240 /* CardImageVerificationController.swift */; }; + E70A7E38A7D858031F900649 /* CardScanSheetError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF4C0BF8E55D53B004FABCA /* CardScanSheetError.swift */; }; + E90CC9715EC99F6B7FAC98FA /* CardImageVerificationSheetConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 545E03D5167516D28C8A9F08 /* CardImageVerificationSheetConfiguration.swift */; }; + EA0F179DF887D94E19138A5E /* AsyncModelLoading.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF53C194DDC96160505D54D5 /* AsyncModelLoading.swift */; }; + EA2DBA78722CD65ED599190D /* CardScanMisc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA3AD0FDF25BE452AE4ED34 /* CardScanMisc.swift */; }; + EB061FA550AFFE2AB2E348DF /* ScanAnalyticsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69E2630C0FC7C9DDD551FD67 /* ScanAnalyticsManager.swift */; }; + EE1CB7D3FA2B44DC17E6FF4C /* OcrMainLoop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E38717F47ED06C115E058DE /* OcrMainLoop.swift */; }; + EF96103F82491640651C49F6 /* AppInfoUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 362A27BB81840A22104C9A49 /* AppInfoUtils.swift */; }; + F0ED2BFE143DD07337D389E5 /* CornerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E012270975B6DC09A8199F /* CornerView.swift */; }; + F16FAC158C6B0A7687547B4B /* FadeInAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3CAFFFE55918BB4939868B6 /* FadeInAnimation.swift */; }; + F4E4941F5AA2EC2C2CC4F7FB /* StripeCardScanBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06F97A4CE5104309B720D603 /* StripeCardScanBundleLocator.swift */; }; + F9F19A6F2245863FEA485335 /* CreditCardOcrResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDE92803C69CE8253D73A25F /* CreditCardOcrResult.swift */; }; + FE55286899CFB0E34356D4D6 /* StrictModeFramesTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6D4DB87B26D439686392AE /* StrictModeFramesTest.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3BD9805227430CCD00B09BCD /* PBXContainerItemProxy */ = { + F7C4E731844D6B46A4FBCACD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 3B2F4DEE2739CCFD008618CD /* Project object */; + containerPortal = 9A6BF50E5B02355004AC6020 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3B2F4DF62739CCFD008618CD; + remoteGlobalIDString = 03CF79975A56288F02F20E52; remoteInfo = StripeCardScan; }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 20B092D23CA44561EF997447 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 451E97BA25D9CE29EDAB7618 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ - 3B2F4DF72739CCFD008618CD /* StripeCardScan.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCardScan.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B2F4DFA2739CCFD008618CD /* StripeCardScan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCardScan.h; sourceTree = ""; }; - 3B2F4DFB2739CCFD008618CD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3B2F4E072739CCFE008618CD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3B2F4E142739CD59008618CD /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - 3B2F4E152739CD59008618CD /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - 3B2F4E162739CD59008618CD /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - 3B2F4E172739CD59008618CD /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - 3B2F4E182739CD59008618CD /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - 3B2F4E192739CD59008618CD /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - 3B2F4E1A2739CD59008618CD /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - 3B2F4E1B2739CD59008618CD /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - 3B2F4E1C2739CD59008618CD /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - 3B2F4E1D2739CD59008618CD /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - 3B657855276169C700EFD250 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; - 3B65785B27616A0400EFD250 /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; - 3B8C9EFF275575B000C5858F /* ImageHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageHelpers.swift; sourceTree = ""; }; - 3B8C9F03275576A800C5858F /* ImageCompressionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageCompressionTests.swift; sourceTree = ""; }; - 3B967093273C87950027F66A /* StripeCardScanBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeCardScanBundleLocator.swift; sourceTree = ""; }; - 3B9671A9273DCC4E0027F66A /* SSDOcr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SSDOcr.swift; sourceTree = ""; }; - 3B9671AA273DCC4E0027F66A /* UxModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UxModel.swift; sourceTree = ""; }; - 3B9671D4273DD0630027F66A /* SSDOcr.mlmodelc */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = SSDOcr.mlmodelc; sourceTree = ""; }; - 3B9671D5273DD0630027F66A /* UxModel.mlmodelc */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = UxModel.mlmodelc; sourceTree = ""; }; - 3BC12B8027612C0E005E5895 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B8127612C0E005E5895 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B8227612C0E005E5895 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B8327612C0E005E5895 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B8427612C0E005E5895 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B8527612C0E005E5895 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B8627612C0E005E5895 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B8727612C0E005E5895 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B8827612C0E005E5895 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B8927612C0E005E5895 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B8A27612C0E005E5895 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B8B27612C0E005E5895 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B8C27612C0E005E5895 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B8D27612C0E005E5895 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B8E27612C0E005E5895 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B8F27612C0E005E5895 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B9027612C0E005E5895 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B9127612C0E005E5895 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B9227612C0E005E5895 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B9327612C0E005E5895 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B9427612C0E005E5895 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B9527612C0E005E5895 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B9627612C0E005E5895 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B9827612C0E005E5895 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B9927612C0E005E5895 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B9A27612C0E005E5895 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B9B27612C0E005E5895 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B9C27612C0E005E5895 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B9D27612C0E005E5895 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12B9E27612C0E005E5895 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12B9F27612C0E005E5895 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12BA027612C0E005E5895 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12BA127612C0E005E5895 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12BA227612C0E005E5895 /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12BA327612C0E005E5895 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12BA427612C0E005E5895 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12BA527612C0E005E5895 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12BA627612C0E005E5895 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 3BC12BA727612C0E005E5895 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12BA827612C0E005E5895 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - 3BC12BA927612C0E005E5895 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; - 3BD9804C27430CCD00B09BCD /* StripeCardScanTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeCardScanTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3BFA534E273A0468005B6CB7 /* AppInfoUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppInfoUtils.swift; sourceTree = ""; }; - 3BFA534F273A0468005B6CB7 /* DeviceUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceUtils.swift; sourceTree = ""; }; - 3BFA5355273A047E005B6CB7 /* AppleOcr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppleOcr.swift; sourceTree = ""; }; - 3BFA535A273A0487005B6CB7 /* ErrorCorrection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ErrorCorrection.swift; sourceTree = ""; }; - 3BFA535B273A0487005B6CB7 /* CreditCardOcrResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreditCardOcrResult.swift; sourceTree = ""; }; - 3BFA535C273A0487005B6CB7 /* CreditCardOcrImplementation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreditCardOcrImplementation.swift; sourceTree = ""; }; - 3BFA535D273A0487005B6CB7 /* NonNameWords.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NonNameWords.swift; sourceTree = ""; }; - 3BFA535E273A0487005B6CB7 /* MainLoopStateMachine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainLoopStateMachine.swift; sourceTree = ""; }; - 3BFA535F273A0487005B6CB7 /* OcrMainLoop.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OcrMainLoop.swift; sourceTree = ""; }; - 3BFA5360273A0487005B6CB7 /* OcrObject.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OcrObject.swift; sourceTree = ""; }; - 3BFA5361273A0487005B6CB7 /* AppleCreditCardOcr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppleCreditCardOcr.swift; sourceTree = ""; }; - 3BFA5362273A0487005B6CB7 /* MachineLearningResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MachineLearningResult.swift; sourceTree = ""; }; - 3BFA5363273A0487005B6CB7 /* SSDCreditCardOcr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SSDCreditCardOcr.swift; sourceTree = ""; }; - 3BFA5364273A0487005B6CB7 /* CreditCardOcrPrediction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreditCardOcrPrediction.swift; sourceTree = ""; }; - 3BFA5373273A0490005B6CB7 /* CGrect+utils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGrect+utils.swift"; sourceTree = ""; }; - 3BFA5374273A0490005B6CB7 /* Array+utils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Array+utils.swift"; sourceTree = ""; }; - 3BFA5375273A0490005B6CB7 /* Image+utils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Image+utils.swift"; sourceTree = ""; }; - 3BFA5377273A0490005B6CB7 /* CreditCardOcrPrediction+expiry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CreditCardOcrPrediction+expiry.swift"; sourceTree = ""; }; - 3BFA5386273A0523005B6CB7 /* AppState.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppState.swift; sourceTree = ""; }; - 3BFA5387273A0523005B6CB7 /* BlurView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BlurView.swift; sourceTree = ""; }; - 3BFA5388273A0523005B6CB7 /* PredictionResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PredictionResult.swift; sourceTree = ""; }; - 3BFA5389273A0523005B6CB7 /* OcrDDUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OcrDDUtils.swift; sourceTree = ""; }; - 3BFA538A273A0523005B6CB7 /* UIImage+pixelBuffer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+pixelBuffer.swift"; sourceTree = ""; }; - 3BFA538B273A0523005B6CB7 /* PredictionAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PredictionAPI.swift; sourceTree = ""; }; - 3BFA538C273A0523005B6CB7 /* CornerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CornerView.swift; sourceTree = ""; }; - 3BFA538D273A0523005B6CB7 /* CGRectExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGRectExtension.swift; sourceTree = ""; }; - 3BFA538F273A0523005B6CB7 /* ScanEventsProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScanEventsProtocol.swift; sourceTree = ""; }; - 3BFA5390273A0523005B6CB7 /* NMS.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NMS.swift; sourceTree = ""; }; - 3BFA5391273A0523005B6CB7 /* ActiveStateComputation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActiveStateComputation.swift; sourceTree = ""; }; - 3BFA5392273A0523005B6CB7 /* ScanStats.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScanStats.swift; sourceTree = ""; }; - 3BFA5393273A0523005B6CB7 /* CardType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardType.swift; sourceTree = ""; }; - 3BFA5394273A0523005B6CB7 /* DetectedSSDBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetectedSSDBox.swift; sourceTree = ""; }; - 3BFA5395273A0523005B6CB7 /* DetectedSSDOcrBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetectedSSDOcrBox.swift; sourceTree = ""; }; - 3BFA5396273A0524005B6CB7 /* PostDetectionAlgorithm.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PostDetectionAlgorithm.swift; sourceTree = ""; }; - 3BFA5397273A0524005B6CB7 /* InterfaceOrientation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InterfaceOrientation.swift; sourceTree = ""; }; - 3BFA5398273A0524005B6CB7 /* SSDOcrDetect.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SSDOcrDetect.swift; sourceTree = ""; }; - 3BFA5399273A0524005B6CB7 /* DetectedBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetectedBox.swift; sourceTree = ""; }; - 3BFA539A273A0524005B6CB7 /* OcrDD.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OcrDD.swift; sourceTree = ""; }; - 3BFA539B273A0524005B6CB7 /* SimpleScanViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SimpleScanViewController.swift; sourceTree = ""; }; - 3BFA539C273A0524005B6CB7 /* PredictionUtilOcr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PredictionUtilOcr.swift; sourceTree = ""; }; - 3BFA539D273A0524005B6CB7 /* PreviewView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreviewView.swift; sourceTree = ""; }; - 3BFA539E273A0524005B6CB7 /* VideoFeed.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VideoFeed.swift; sourceTree = ""; }; - 3BFA539F273A0524005B6CB7 /* DetectedAllOcrBoxes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetectedAllOcrBoxes.swift; sourceTree = ""; }; - 3BFA53A0273A0524005B6CB7 /* SSDOcrOutputExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SSDOcrOutputExtensions.swift; sourceTree = ""; }; - 3BFA53A1273A0524005B6CB7 /* DetectedAllBoxes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetectedAllBoxes.swift; sourceTree = ""; }; - 3BFA53A2273A0524005B6CB7 /* OcrPriorsGen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OcrPriorsGen.swift; sourceTree = ""; }; - 3BFA53A4273A0524005B6CB7 /* CreditCardUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreditCardUtils.swift; sourceTree = ""; }; - 3BFA53A5273A0525005B6CB7 /* CardNetwork.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardNetwork.swift; sourceTree = ""; }; - 3BFA53A6273A0525005B6CB7 /* Expiry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Expiry.swift; sourceTree = ""; }; - 3BFA53A7273A0525005B6CB7 /* ScanBaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScanBaseViewController.swift; sourceTree = ""; }; - 3BFA53A8273A0525005B6CB7 /* SoftNMS.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SoftNMS.swift; sourceTree = ""; }; - 3BFA53A9273A0525005B6CB7 /* Torch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Torch.swift; sourceTree = ""; }; - 3BFA53AA273A0525005B6CB7 /* ScanConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScanConfiguration.swift; sourceTree = ""; }; - 3BFA53E1273A07EF005B6CB7 /* STPAPIClient+CardImageVerification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+CardImageVerification.swift"; sourceTree = ""; }; - 3BFA53E2273A07EF005B6CB7 /* CardImageVerificationDetailsResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CardImageVerificationDetailsResponse.swift; path = ../CardImageVerificationDetailsResponse.swift; sourceTree = ""; }; - 3BFA5410273A081E005B6CB7 /* Bouncer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Bouncer.swift; sourceTree = ""; }; - 3BFA5418273A081E005B6CB7 /* CardBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardBase.swift; sourceTree = ""; }; - 3BFA5441273A09C4005B6CB7 /* VerifyCardAddViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerifyCardAddViewController.swift; sourceTree = ""; }; - 3BFA5443273A09C4005B6CB7 /* VerifyCardViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerifyCardViewController.swift; sourceTree = ""; }; - 3BFA5444273A09C4005B6CB7 /* CardScanFraudData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardScanFraudData.swift; sourceTree = ""; }; - 3BFA5445273A09C4005B6CB7 /* CardVerifyFraudData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardVerifyFraudData.swift; sourceTree = ""; }; - 3BFA5446273A09C5005B6CB7 /* FadeInAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FadeInAnimation.swift; sourceTree = ""; }; - 3BFA5447273A09C5005B6CB7 /* ZoomedInCGImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ZoomedInCGImage.swift; sourceTree = ""; }; - 3BFA5449273A09C5005B6CB7 /* PaymentCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentCard.swift; sourceTree = ""; }; - 3BFA544B273A09C5005B6CB7 /* SimpleScanViewController+Verify.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SimpleScanViewController+Verify.swift"; sourceTree = ""; }; - 3BFA544C273A09C5005B6CB7 /* UxAnalyzer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UxAnalyzer.swift; sourceTree = ""; }; - 3BFA544D273A09C5005B6CB7 /* UxAndOcrMainLoop.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UxAndOcrMainLoop.swift; sourceTree = ""; }; - 3BFA5450273A09C5005B6CB7 /* CardVerifyStateMachine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardVerifyStateMachine.swift; sourceTree = ""; }; - 3BFA5451273A09C5005B6CB7 /* CardScanMisc.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardScanMisc.swift; sourceTree = ""; }; - 3BFA5480273C422D005B6CB7 /* UxModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UxModelTests.swift; sourceTree = ""; }; - 3BFA5493273C4573005B6CB7 /* synthetic_test_image.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = synthetic_test_image.jpg; sourceTree = ""; }; - 60491CC72877890D00666703 /* UxModel+Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UxModel+Utils.swift"; sourceTree = ""; }; - 60491CC928778AF500666703 /* SSDOcr+Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SSDOcr+Utils.swift"; sourceTree = ""; }; - 607776DD284ABD6F00471900 /* CardScanSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardScanSheet.swift; sourceTree = ""; }; - 60796E0B282C67B900534775 /* CardImageVerificationDetailsResponseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationDetailsResponseTest.swift; sourceTree = ""; }; - 6082C44B2835689200B39E9B /* StringResourceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringResourceTests.swift; sourceTree = ""; }; - 609518D228BD38E9003005E1 /* AsyncModelLoading.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncModelLoading.swift; sourceTree = ""; }; - 60E543F82874DBBA00058BA3 /* AtomicPropertyWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AtomicPropertyWrapper.swift; sourceTree = ""; }; - 60EFED3128DBA2BA009A41B7 /* String+Sha256.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Sha256.swift"; sourceTree = ""; }; - 60EFED3328DBA2EF009A41B7 /* Data+Sha256.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+Sha256.swift"; sourceTree = ""; }; - 60EFED5E28E176D6009A41B7 /* EndToEndTestDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EndToEndTestDataSource.swift; sourceTree = ""; }; - F31609A327DAD49C00F2C49C /* ScannedCardDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScannedCardDetails.swift; sourceTree = ""; }; - F31609A527DAD50F00F2C49C /* StrictModeFramesTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StrictModeFramesTest.swift; sourceTree = ""; }; - F325010F282ED08A00861658 /* ScanStatsPayload+Tasks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScanStatsPayload+Tasks.swift"; sourceTree = ""; }; - F329D8DC27470E9A00811E79 /* StripeCore+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; - F329D8E6274782EA00811E79 /* CardImageVerificationControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationControllerTests.swift; sourceTree = ""; }; - F32D9B0E2745D96A00C5FDBF /* CardImageVerificationSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardImageVerificationSheet.swift; sourceTree = ""; }; - F32D9B0F2745D96A00C5FDBF /* CardImageVerificationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardImageVerificationController.swift; sourceTree = ""; }; - F32D9B102745D96A00C5FDBF /* CardScanSheetError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardScanSheetError.swift; sourceTree = ""; }; - F32D9B142745EED300C5FDBF /* CancellationReason.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CancellationReason.swift; sourceTree = ""; }; - F338B97027482E1C00E9323D /* VerifyFrames.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifyFrames.swift; sourceTree = ""; }; - F338B97227482F6800E9323D /* VerificationFramesData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationFramesData.swift; sourceTree = ""; }; - F338B984274AF52300E9323D /* ScannedCardImageData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScannedCardImageData.swift; sourceTree = ""; }; - F338B986274B00A600E9323D /* ScannedCardImageData+Verification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScannedCardImageData+Verification.swift"; sourceTree = ""; }; - F340EE3A2762CFBB0004116A /* ScanStatsPayload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanStatsPayload.swift; sourceTree = ""; }; - F340EE3C2762DE160004116A /* ScanStatsPayload+Common.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScanStatsPayload+Common.swift"; sourceTree = ""; }; - F340EE3E2762EDF90004116A /* ScanStatsPayloadAPIBindingsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanStatsPayloadAPIBindingsTests.swift; sourceTree = ""; }; - F340EE482763F34F0004116A /* ScanAnalyticsManager+Tasks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ScanAnalyticsManager+Tasks.swift"; sourceTree = ""; }; - F340EE4A2763F4250004116A /* ScanAnalyticsManager+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ScanAnalyticsManager+Helpers.swift"; sourceTree = ""; }; - F38E6B6F274437BE008EF7A6 /* CardScanMockData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardScanMockData.swift; sourceTree = ""; }; - F38E6B7227443934008EF7A6 /* STPAPIClient+CardImageVerificationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+CardImageVerificationTest.swift"; sourceTree = ""; }; - F38E6B7A27443C0F008EF7A6 /* CardImageVerification_CardSet_200.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = CardImageVerification_CardSet_200.json; sourceTree = ""; }; - F38E6B8227445A12008EF7A6 /* CardImageVerification_CardAdd_200.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = CardImageVerification_CardAdd_200.json; sourceTree = ""; }; - F38E6B84274466C7008EF7A6 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F38E6B862744673D008EF7A6 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A3F05127DBBC0B000F5DD3 /* CardImageVerificationSheetConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationSheetConfiguration.swift; sourceTree = ""; }; - F3B0388A274DAE6000718B35 /* ScannedCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScannedCard.swift; sourceTree = ""; }; - F3B03892274DB71200718B35 /* FrameData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrameData.swift; sourceTree = ""; }; - F3B038A2274DC25A00718B35 /* CardImageVerificationIntent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardImageVerificationIntent.swift; sourceTree = ""; }; - F3B038A6274E298400718B35 /* VerifyFramesAPIBindingsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifyFramesAPIBindingsTests.swift; sourceTree = ""; }; - F3D2E06C282B91BA001905E2 /* ScanAnalyticsManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanAnalyticsManagerTests.swift; sourceTree = ""; }; - F3DC52DE276819CC008B62E8 /* ScanAnalyticsManager+Managers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScanAnalyticsManager+Managers.swift"; sourceTree = ""; }; - F3F143BA2763FFBD0081C7B2 /* ScanAnalyticsManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScanAnalyticsManager.swift; sourceTree = ""; }; + 00A93BFDEE4072A2A9C30397 /* SoftNMS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoftNMS.swift; sourceTree = ""; }; + 0197A1615C3FA86907CB6186 /* StripeCardScan-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeCardScan-Debug.xcconfig"; sourceTree = ""; }; + 028DA95BD9A0DA8AD69162CB /* ScanStatsPayload+Common.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScanStatsPayload+Common.swift"; sourceTree = ""; }; + 03E2C12C0D172DD7DAE33399 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + 048ED08A6959593F896B3AC8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 05B28BBCB062B6AE5A3B7CBC /* CreditCardOcrImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditCardOcrImplementation.swift; sourceTree = ""; }; + 06F97A4CE5104309B720D603 /* StripeCardScanBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeCardScanBundleLocator.swift; sourceTree = ""; }; + 091163ED5E37922332F502B1 /* ImageHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageHelpers.swift; sourceTree = ""; }; + 0B00395C6A2B14A6D56735B9 /* SSDCreditCardOcr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSDCreditCardOcr.swift; sourceTree = ""; }; + 0BB35800FB840EFC76240DC7 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + 0C7BAE904C7E1D7A9FDF35F1 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + 0D1FBA1B4676CC5E9F785D51 /* ScanEventsProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanEventsProtocol.swift; sourceTree = ""; }; + 0DC83A169A82484B9F60E452 /* OcrObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OcrObject.swift; sourceTree = ""; }; + 10311DC6AC19B7A73A8F930F /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + 10A26712A38A91726C314329 /* ZoomedInCGImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZoomedInCGImage.swift; sourceTree = ""; }; + 11D3465E527ABADBD2485A93 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + 12F09D21BAC44C461B1AD7CB /* CardImageVerificationSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationSheet.swift; sourceTree = ""; }; + 1441A7A39C36C2A634A882F5 /* DetectedAllOcrBoxes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetectedAllOcrBoxes.swift; sourceTree = ""; }; + 14795A45279E8F328AB54920 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 14BC8B1C28C3F6C8330164E0 /* CardScanSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardScanSheet.swift; sourceTree = ""; }; + 14E5A51A77928A2700E23321 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 15541EEEE784EECDD3E7399D /* ScannedCardDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScannedCardDetails.swift; sourceTree = ""; }; + 17BCBB8B34EBA904BB245CBD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 17FA90EE37CF1E6A49532491 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1A337FE5C3BE4FAB001E5520 /* ScanAnalyticsManager+Managers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScanAnalyticsManager+Managers.swift"; sourceTree = ""; }; + 1C94EE6DB0E3114A38DD9CFE /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; + 1FD9AF72B522A1E535A4EC81 /* OcrDD.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OcrDD.swift; sourceTree = ""; }; + 236AE86CE7DCB0DFA3B7C978 /* CardType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardType.swift; sourceTree = ""; }; + 24C2345660A95FBF90BF4850 /* VerificationFramesData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationFramesData.swift; sourceTree = ""; }; + 256455DAEDCDDB1AEAF6A278 /* CardImageVerificationDetailsResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationDetailsResponse.swift; sourceTree = ""; }; + 2667E0E0C7DC6CDAF03F8B40 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + 27F4BF66273070C2054BBAC0 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + 27F6ECCDC721E4D46DAC4F48 /* ScanAnalyticsManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanAnalyticsManagerTests.swift; sourceTree = ""; }; + 2D61E754E520B4E21920D1DA /* ScanStatsPayload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanStatsPayload.swift; sourceTree = ""; }; + 2E889051D7CD76D4FB9084A1 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2F3E329C37141862BD4A4DE7 /* SSDOcr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSDOcr.swift; sourceTree = ""; }; + 2F9447632965B9BCE1E595E4 /* StripeCardScanTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeCardScanTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 311A5A7EF789248E35BB1FEC /* CardNetwork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardNetwork.swift; sourceTree = ""; }; + 34F806DF921888A9657E2928 /* SimpleScanViewController+Verify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SimpleScanViewController+Verify.swift"; sourceTree = ""; }; + 362A27BB81840A22104C9A49 /* AppInfoUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppInfoUtils.swift; sourceTree = ""; }; + 3938F9E3F0F267045D3FDDEB /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + 3A9C2B8A3B96E194CED6841C /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 3BC4F647EB512813078B9A6F /* STPAPIClient+CardImageVerificationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+CardImageVerificationTest.swift"; sourceTree = ""; }; + 3DEE8C18A3CECFF0751AB0D5 /* CreditCardOcrPrediction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditCardOcrPrediction.swift; sourceTree = ""; }; + 3E24CF248F312DDE025D662A /* AppleOcr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppleOcr.swift; sourceTree = ""; }; + 42454BA950282D9ADB9C6557 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 4301B281F5E0A5BACBBD68CC /* VerifyFramesAPIBindingsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifyFramesAPIBindingsTests.swift; sourceTree = ""; }; + 45C9A1A26405DEAD8E11F13D /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 4A1CD398A6AFB6747D095C59 /* ScanStatsPayload+Tasks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScanStatsPayload+Tasks.swift"; sourceTree = ""; }; + 4B452EE8B96AF1B0691E7D43 /* PredictionAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PredictionAPI.swift; sourceTree = ""; }; + 4B89D81A4099CC71A3FBC133 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + 4BBE2CADB8D8E98D6EEE10C0 /* PredictionResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PredictionResult.swift; sourceTree = ""; }; + 4CA3AD0FDF25BE452AE4ED34 /* CardScanMisc.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardScanMisc.swift; sourceTree = ""; }; + 4D9820BC2FFB68C808FB9507 /* synthetic_test_image.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = synthetic_test_image.jpg; sourceTree = ""; }; + 4DA27FFBD426C871C5BD254E /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + 4F85031ADAE5928D977465C2 /* UxAnalyzer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UxAnalyzer.swift; sourceTree = ""; }; + 505DF34D76A56FEC2B8453F9 /* SSDOcr+Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SSDOcr+Utils.swift"; sourceTree = ""; }; + 53C171A1336B7FB0C321D194 /* CancellationReason.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CancellationReason.swift; sourceTree = ""; }; + 545E03D5167516D28C8A9F08 /* CardImageVerificationSheetConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationSheetConfiguration.swift; sourceTree = ""; }; + 58A5F2CEEAAB78AA425A5737 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + 5969433D88B5BD3B7F56B2BD /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + 5A6D5C8E51C23370E889F75F /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + 5A72927DA8A946FDD03843DE /* StringResourceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringResourceTests.swift; sourceTree = ""; }; + 5CF9ADC4CC0B4ADFE0A5427E /* ScanStatsPayloadAPIBindingsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanStatsPayloadAPIBindingsTests.swift; sourceTree = ""; }; + 5D58BEEC9D88537E32260CBA /* DetectedSSDOcrBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetectedSSDOcrBox.swift; sourceTree = ""; }; + 5E72DD18B9FCB80ABEDE2689 /* CreditCardOcrPrediction+expiry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CreditCardOcrPrediction+expiry.swift"; sourceTree = ""; }; + 6186A0AAB96E236DEF0B5B79 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + 63662689AD097C859B8759B1 /* Data+Sha256.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+Sha256.swift"; sourceTree = ""; }; + 63FA7635BAFDC7DD54B1A731 /* CardVerifyFraudData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardVerifyFraudData.swift; sourceTree = ""; }; + 6418F87D5168A2A08D65A482 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; + 64A1E35C6DF336F34B6C7AEA /* StripeCore+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; + 6563E5CE5CD0439D5DBF35D7 /* ScanAnalyticsManager+Tasks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScanAnalyticsManager+Tasks.swift"; sourceTree = ""; }; + 66A49708CF5D37C7CB267732 /* ScanStats.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanStats.swift; sourceTree = ""; }; + 67C8AB382B81DE27C8614F6D /* PaymentCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentCard.swift; sourceTree = ""; }; + 69A2DB0837C11D8829C027CF /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; + 69B38020E8E33CA893CBA6F3 /* VerifyCardAddViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifyCardAddViewController.swift; sourceTree = ""; }; + 69E2630C0FC7C9DDD551FD67 /* ScanAnalyticsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanAnalyticsManager.swift; sourceTree = ""; }; + 6BEC906101069A1E3C50FA51 /* ErrorCorrection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorCorrection.swift; sourceTree = ""; }; + 6C3EE6315FB1507E40F10D85 /* ScannedCardImageData+Verification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScannedCardImageData+Verification.swift"; sourceTree = ""; }; + 6EBC1F86A03CF9AAC6FE5825 /* ActiveStateComputation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActiveStateComputation.swift; sourceTree = ""; }; + 6F41FBE3D90B5F6518E42051 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + 732D3AB4CE25CC5C26A352B1 /* String+Sha256.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Sha256.swift"; sourceTree = ""; }; + 746AAB9327BDE6791F9393B0 /* CardScanMockData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardScanMockData.swift; sourceTree = ""; }; + 7633166B4D9096FE995F08F0 /* CGRectExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CGRectExtension.swift; sourceTree = ""; }; + 76C70F9A1879ED8B41639945 /* ScannedCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScannedCard.swift; sourceTree = ""; }; + 77D0D8C2909455B76E246468 /* InterfaceOrientation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InterfaceOrientation.swift; sourceTree = ""; }; + 795E739553651C8AC40E6AC1 /* PredictionUtilOcr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PredictionUtilOcr.swift; sourceTree = ""; }; + 79A802EA46840CD45CBECEEA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 7D41E45A285FEF48E9528997 /* CardScanFraudData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardScanFraudData.swift; sourceTree = ""; }; + 7D550382D6320388A5BA75A1 /* MainLoopStateMachine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainLoopStateMachine.swift; sourceTree = ""; }; + 7DBB233BD36CBAE2700A4511 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 7DDAF8E33A3D7CD020AC904A /* CardImageVerificationDetailsResponseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationDetailsResponseTest.swift; sourceTree = ""; }; + 7E38717F47ED06C115E058DE /* OcrMainLoop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OcrMainLoop.swift; sourceTree = ""; }; + 8094FE7CCD3CDA8B914EC534 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + 84E54DFA3C47D94639297588 /* STPAPIClient+CardImageVerification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+CardImageVerification.swift"; sourceTree = ""; }; + 8735A24B634F3B9060CADE45 /* CreditCardUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditCardUtils.swift; sourceTree = ""; }; + 87448BAE438EF08C55AA4B29 /* UxAndOcrMainLoop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UxAndOcrMainLoop.swift; sourceTree = ""; }; + 88F89EC392AFBE060336B63F /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + 89BBC06EC107C8BDEF79BB3D /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + 8AEB912151CB564AE21D073C /* SSDOcrDetect.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSDOcrDetect.swift; sourceTree = ""; }; + 8C227CA761586744976C952D /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + 8CA457DF27DC45455B8E1345 /* Array+utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+utils.swift"; sourceTree = ""; }; + 8EDF39435211B456B7579739 /* AppleCreditCardOcr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppleCreditCardOcr.swift; sourceTree = ""; }; + 8FB602C9E909E31BAE6703D6 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + 938958FCB9B918AD6CDF0F4E /* BlurView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurView.swift; sourceTree = ""; }; + 9593D6788C4DBF554735E2B6 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + 96F3DDAD14A9F2DEB98E236E /* Expiry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Expiry.swift; sourceTree = ""; }; + 9A256BCB7822DD94572DDA07 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 9B3242DC2FCDF20D51D23AE1 /* CardVerifyStateMachine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardVerifyStateMachine.swift; sourceTree = ""; }; + 9C3890F6A5A4FF68F95746DC /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + 9E4CF9A676A86169070DD54D /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + A2EF6799FCE0817D9E3A536B /* DetectedSSDBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetectedSSDBox.swift; sourceTree = ""; }; + A3C926149A434F4F3BC961D9 /* FrameData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameData.swift; sourceTree = ""; }; + A612DDE1110EA970BF69B33D /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + A67EDE2BCCC081DEDD684AAC /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + A6E1DA01CB00CBDE36735EDD /* SimpleScanViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleScanViewController.swift; sourceTree = ""; }; + A790FC6FAEC3F88FB2C26E27 /* ScanBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanBaseViewController.swift; sourceTree = ""; }; + A7EE5FDCA3B075FE5BBAF42A /* DetectedAllBoxes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetectedAllBoxes.swift; sourceTree = ""; }; + AB56DDBBF0E5BC10682C7D96 /* StripeCardScan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCardScan.h; sourceTree = ""; }; + AB64890F80D91D9D7B92197D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + ABB38869FD175D7BD6BB3890 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + AC9F1B20AEB433DE3CE0042C /* PostDetectionAlgorithm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostDetectionAlgorithm.swift; sourceTree = ""; }; + ACD9FF5C9DD64BE92DB0927D /* NMS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NMS.swift; sourceTree = ""; }; + ADCB34B81919043FA35E8BC3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + AEE9C295E982F92DE2418AE1 /* Image+utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Image+utils.swift"; sourceTree = ""; }; + AF17FD18E52CB3508AD895E3 /* MachineLearningResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MachineLearningResult.swift; sourceTree = ""; }; + B0A7946C3A1E943FB72F3FB7 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + B2D9886B0ED119E8D1FB6448 /* UIImage+pixelBuffer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+pixelBuffer.swift"; sourceTree = ""; }; + B313BA373EF6B567BF40A240 /* CardImageVerificationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationController.swift; sourceTree = ""; }; + B3CAFFFE55918BB4939868B6 /* FadeInAnimation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FadeInAnimation.swift; sourceTree = ""; }; + B53D407C0AC8D44ECC0C3C52 /* DetectedBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetectedBox.swift; sourceTree = ""; }; + B97CA4D8286B196A49B8D535 /* ScanAnalyticsManager+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ScanAnalyticsManager+Helpers.swift"; sourceTree = ""; }; + BAE45D8AC7BBA5DC433A9383 /* ScannedCardImageData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScannedCardImageData.swift; sourceTree = ""; }; + BC0B91384C63CBFB790C8EE6 /* OcrDDUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OcrDDUtils.swift; sourceTree = ""; }; + BD87F9971C25C4B99138318F /* CGrect+utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGrect+utils.swift"; sourceTree = ""; }; + BDD0C14472FA163BD395DBD3 /* CardImageVerification_CardSet_200.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = CardImageVerification_CardSet_200.json; sourceTree = ""; }; + BEDE71D7051DDC98698C4057 /* CardBase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardBase.swift; sourceTree = ""; }; + BEEE30227F7D34546F0FBB58 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + C038EFADF52B2477FC934EE0 /* UxModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UxModelTests.swift; sourceTree = ""; }; + C264A676DA41344551BA6661 /* StripeCardScan-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeCardScan-Release.xcconfig"; sourceTree = ""; }; + C3E012270975B6DC09A8199F /* CornerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CornerView.swift; sourceTree = ""; }; + C827434739027B2DD43449EA /* Torch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Torch.swift; sourceTree = ""; }; + CA16EAC68E04D4FDE67DB807 /* Bouncer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bouncer.swift; sourceTree = ""; }; + CB48DDCA458A62DCE342F517 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + CD5004FC0706B2660B4C6EA0 /* CardImageVerificationIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationIntent.swift; sourceTree = ""; }; + CD6D4DB87B26D439686392AE /* StrictModeFramesTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StrictModeFramesTest.swift; sourceTree = ""; }; + CDB03A9253E8FAD07B739438 /* DeviceUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeviceUtils.swift; sourceTree = ""; }; + CF3FCD1B2283A2B02EBAEF4F /* UxModel+Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UxModel+Utils.swift"; sourceTree = ""; }; + CF90067085243D998A1D6030 /* CardImageVerification_CardAdd_200.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = CardImageVerification_CardAdd_200.json; sourceTree = ""; }; + D0AA128D69F3C32A4EF67CF0 /* ImageCompressionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageCompressionTests.swift; sourceTree = ""; }; + D42510E09D32547455CDDBEF /* VideoFeed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoFeed.swift; sourceTree = ""; }; + D532C440ADCD017AD326299B /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + D9B548B9626366BB0F110873 /* AtomicPropertyWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AtomicPropertyWrapper.swift; sourceTree = ""; }; + DA3ECBF071E7507C9D41F232 /* EndToEndTestDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EndToEndTestDataSource.swift; sourceTree = ""; }; + DC12B6E0657203AAB765468C /* PreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewView.swift; sourceTree = ""; }; + DCA2733CEC85F8E427CA99CB /* AppState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppState.swift; sourceTree = ""; }; + DCF4C0BF8E55D53B004FABCA /* CardScanSheetError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardScanSheetError.swift; sourceTree = ""; }; + DD6884D0B3347BBF2E61B1D6 /* StripeCardScan.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCardScan.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DDF173627F545C88CB1551B0 /* UxModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UxModel.swift; sourceTree = ""; }; + E4FAA99A64BCD00A336A5E01 /* VerifyFrames.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifyFrames.swift; sourceTree = ""; }; + E73DC7DD9C3E3395DF3F5A29 /* SSDOcr.mlmodelc */ = {isa = PBXFileReference; path = SSDOcr.mlmodelc; sourceTree = ""; }; + EA89DA7FF10BC3A7B2D102FB /* SSDOcrOutputExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSDOcrOutputExtensions.swift; sourceTree = ""; }; + ED780E8B4C14EE39F853B3A1 /* OcrPriorsGen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OcrPriorsGen.swift; sourceTree = ""; }; + EDE92803C69CE8253D73A25F /* CreditCardOcrResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreditCardOcrResult.swift; sourceTree = ""; }; + EF53C194DDC96160505D54D5 /* AsyncModelLoading.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncModelLoading.swift; sourceTree = ""; }; + F1FCC855CCB0816414A4BEC1 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + F24DEA029F94A359B7A571BB /* CardImageVerificationControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardImageVerificationControllerTests.swift; sourceTree = ""; }; + F3AF32D7DF7EE1420D16291D /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + F4721524B6285C507681CC4D /* UxModel.mlmodelc */ = {isa = PBXFileReference; path = UxModel.mlmodelc; sourceTree = ""; }; + F87D884128F85E7F16BCBA9B /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + F912323832888F88EA218BA9 /* VerifyCardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifyCardViewController.swift; sourceTree = ""; }; + F96A85E323CFDA8BA35BC293 /* NonNameWords.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NonNameWords.swift; sourceTree = ""; }; + FD40E90452A83FFBBF65C8D8 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + FF9618F7B15B33EC5B339A94 /* ScanConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScanConfiguration.swift; sourceTree = ""; }; + FFE89E65E767D03B92383C76 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 3B2F4DF42739CCFD008618CD /* Frameworks */ = { + 1639B69C00B8C21CEBF08A55 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F38E6B85274466C7008EF7A6 /* StripeCore.framework in Frameworks */, + C2C41F5E568BF767C8232E74 /* XCTest.framework in Frameworks */, + E43FE03D43CB0D7BAA73745A /* StripeCardScan.framework in Frameworks */, + 4B01B9F4FB647908AA5276E2 /* StripeCoreTestUtils.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3BD9804927430CCD00B09BCD /* Frameworks */ = { + 29BDDDCECDEC71451BAAB324 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F38E6B872744673D008EF7A6 /* StripeCoreTestUtils.framework in Frameworks */, - 3BD9805127430CCD00B09BCD /* StripeCardScan.framework in Frameworks */, + A060350B93E3369463AE2898 /* StripeCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 3B2F4DED2739CCFD008618CD = { + 01BEE24ED60FE104004E8F2C /* CompiledModels */ = { isa = PBXGroup; children = ( - 3B2F4E132739CD58008618CD /* BuildConfigurations */, - 3B2F4DF92739CCFD008618CD /* StripeCardScan */, - 3BD9804D27430CCD00B09BCD /* StripeCardScanTests */, - 3B2F4DF82739CCFD008618CD /* Products */, - 3B967075273C86840027F66A /* Frameworks */, + E73DC7DD9C3E3395DF3F5A29 /* SSDOcr.mlmodelc */, + F4721524B6285C507681CC4D /* UxModel.mlmodelc */, ); + path = CompiledModels; sourceTree = ""; }; - 3B2F4DF82739CCFD008618CD /* Products */ = { + 0DFCF5271EC90615420288B3 /* Api */ = { isa = PBXGroup; children = ( - 3B2F4DF72739CCFD008618CD /* StripeCardScan.framework */, - 3BD9804C27430CCD00B09BCD /* StripeCardScanTests.xctest */, + C8B14FA3DC29B84F382E6D1F /* Models */, + 256455DAEDCDDB1AEAF6A278 /* CardImageVerificationDetailsResponse.swift */, + 84E54DFA3C47D94639297588 /* STPAPIClient+CardImageVerification.swift */, ); - name = Products; + path = Api; sourceTree = ""; }; - 3B2F4DF92739CCFD008618CD /* StripeCardScan */ = { + 0E245ED03746B2F8EE73B5F9 /* StripeCardScanTests */ = { isa = PBXGroup; children = ( - 3B2F4DFB2739CCFD008618CD /* Info.plist */, - 3B9671D2273DD0630027F66A /* Resources */, - 3BFA52CE2739D8FF005B6CB7 /* Source */, - 3B2F4DFA2739CCFD008618CD /* StripeCardScan.h */, + C8CC6DB5A60043E8A373BC6F /* Helpers */, + 40C830CD6973E7AD722C2213 /* Mock Data */, + 3172AE79E1A187D904BD1022 /* Resources */, + A35971ECF566C2769A608A06 /* Unit */, + 048ED08A6959593F896B3AC8 /* Info.plist */, ); - path = StripeCardScan; + path = StripeCardScanTests; sourceTree = ""; }; - 3B2F4E132739CD58008618CD /* BuildConfigurations */ = { + 10507D99D0E81A181A25B4BC /* MLModels */ = { isa = PBXGroup; children = ( - 3B2F4E142739CD59008618CD /* StripeiOS Tests-Debug.xcconfig */, - 3B2F4E152739CD59008618CD /* StripeiOS-Debug.xcconfig */, - 3B2F4E162739CD59008618CD /* Project-Release.xcconfig */, - 3B2F4E172739CD59008618CD /* StripeiOS Tests-Release.xcconfig */, - 3B2F4E182739CD59008618CD /* Project-Shared.xcconfig */, - 3B2F4E192739CD59008618CD /* Version.xcconfig */, - 3B2F4E1A2739CD59008618CD /* StripeiOS Tests-Shared.xcconfig */, - 3B2F4E1B2739CD59008618CD /* StripeiOS-Shared.xcconfig */, - 3B2F4E1C2739CD59008618CD /* Project-Debug.xcconfig */, - 3B2F4E1D2739CD59008618CD /* StripeiOS-Release.xcconfig */, + EF53C194DDC96160505D54D5 /* AsyncModelLoading.swift */, + 2F3E329C37141862BD4A4DE7 /* SSDOcr.swift */, + 505DF34D76A56FEC2B8453F9 /* SSDOcr+Utils.swift */, + DDF173627F545C88CB1551B0 /* UxModel.swift */, + CF3FCD1B2283A2B02EBAEF4F /* UxModel+Utils.swift */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = MLModels; sourceTree = ""; }; - 3B657854276169B000EFD250 /* Helpers */ = { + 105B9420C58B9406F7939324 = { isa = PBXGroup; children = ( - 60EFED5E28E176D6009A41B7 /* EndToEndTestDataSource.swift */, - 3B657855276169C700EFD250 /* STPLocalizedString.swift */, - 3B65785B27616A0400EFD250 /* String+Localized.swift */, + 36C8C7335EC9F37DE4446270 /* Project */, + D275033F1B615793C2F8B8E0 /* Frameworks */, + 72B7637B9160BBA39556BA0A /* Products */, ); - path = Helpers; sourceTree = ""; }; - 3B967075273C86840027F66A /* Frameworks */ = { + 20CA55CAA02DC2833AD1C426 /* ML Models */ = { isa = PBXGroup; children = ( - F38E6B84274466C7008EF7A6 /* StripeCore.framework */, - F38E6B862744673D008EF7A6 /* StripeCoreTestUtils.framework */, + C038EFADF52B2477FC934EE0 /* UxModelTests.swift */, ); - name = Frameworks; + path = "ML Models"; + sourceTree = ""; + }; + 25575C2DBB0C8AAA658EC26E /* JSON */ = { + isa = PBXGroup; + children = ( + CF90067085243D998A1D6030 /* CardImageVerification_CardAdd_200.json */, + BDD0C14472FA163BD395DBD3 /* CardImageVerification_CardSet_200.json */, + ); + path = JSON; sourceTree = ""; }; - 3B9671D2273DD0630027F66A /* Resources */ = { + 3172AE79E1A187D904BD1022 /* Resources */ = { isa = PBXGroup; children = ( - 3BC12B7E27612C0E005E5895 /* Localizations */, - 3B9671D3273DD0630027F66A /* CompiledModels */, + 4D9820BC2FFB68C808FB9507 /* synthetic_test_image.jpg */, ); path = Resources; sourceTree = ""; }; - 3B9671D3273DD0630027F66A /* CompiledModels */ = { + 3228566B727B9D25D13A3BAB /* Resources */ = { isa = PBXGroup; children = ( - 3B9671D4273DD0630027F66A /* SSDOcr.mlmodelc */, - 3B9671D5273DD0630027F66A /* UxModel.mlmodelc */, + 01BEE24ED60FE104004E8F2C /* CompiledModels */, + 6A6547B8AC5A170A0092DCF5 /* Localizations */, ); - path = CompiledModels; + path = Resources; sourceTree = ""; }; - 3BC12B7E27612C0E005E5895 /* Localizations */ = { + 324D2CF5354B3283BC0C49ED /* CardVerify */ = { isa = PBXGroup; children = ( - 3BC12B7F27612C0E005E5895 /* Localizable.strings */, + 0DFCF5271EC90615420288B3 /* Api */, + BC0070EA31577F5573D7B787 /* Card Image Verification */, + 69D6875F84C12C2E18B96B01 /* Helpers */, + CA16EAC68E04D4FDE67DB807 /* Bouncer.swift */, + BEDE71D7051DDC98698C4057 /* CardBase.swift */, + 7D41E45A285FEF48E9528997 /* CardScanFraudData.swift */, + 4CA3AD0FDF25BE452AE4ED34 /* CardScanMisc.swift */, + 63FA7635BAFDC7DD54B1A731 /* CardVerifyFraudData.swift */, + 9B3242DC2FCDF20D51D23AE1 /* CardVerifyStateMachine.swift */, + B3CAFFFE55918BB4939868B6 /* FadeInAnimation.swift */, + A3C926149A434F4F3BC961D9 /* FrameData.swift */, + 67C8AB382B81DE27C8614F6D /* PaymentCard.swift */, + 34F806DF921888A9657E2928 /* SimpleScanViewController+Verify.swift */, + 06F97A4CE5104309B720D603 /* StripeCardScanBundleLocator.swift */, + 4F85031ADAE5928D977465C2 /* UxAnalyzer.swift */, + 87448BAE438EF08C55AA4B29 /* UxAndOcrMainLoop.swift */, + 69B38020E8E33CA893CBA6F3 /* VerifyCardAddViewController.swift */, + F912323832888F88EA218BA9 /* VerifyCardViewController.swift */, + 10A26712A38A91726C314329 /* ZoomedInCGImage.swift */, ); - path = Localizations; + path = CardVerify; sourceTree = ""; }; - 3BD9804D27430CCD00B09BCD /* StripeCardScanTests */ = { + 36C8C7335EC9F37DE4446270 /* Project */ = { isa = PBXGroup; children = ( - F38E6B6D27443668008EF7A6 /* Helpers */, - 3B2F4E072739CCFE008618CD /* Info.plist */, - F38E6B7427443B1E008EF7A6 /* Mock Data */, - 3BFA5492273C4573005B6CB7 /* Resources */, - 3BFA5491273C4538005B6CB7 /* Unit */, + 79C01535652A2F89EB22D9A9 /* BuildConfigurations */, + 6C3738C5D8A82E9A3C5AFC85 /* BuildConfigurations */, + DF93066F033C46A7B100FC82 /* StripeCardScan */, + 0E245ED03746B2F8EE73B5F9 /* StripeCardScanTests */, ); - path = StripeCardScanTests; + name = Project; sourceTree = ""; }; - 3BFA52CE2739D8FF005B6CB7 /* Source */ = { + 3C728AAC6B6FF615A064C757 /* CardUtils */ = { isa = PBXGroup; children = ( - 3BFA534C273A0452005B6CB7 /* CardScan */, - 3BFA53DD273A073F005B6CB7 /* CardVerify */, + 311A5A7EF789248E35BB1FEC /* CardNetwork.swift */, + 236AE86CE7DCB0DFA3B7C978 /* CardType.swift */, + 8735A24B634F3B9060CADE45 /* CreditCardUtils.swift */, + 96F3DDAD14A9F2DEB98E236E /* Expiry.swift */, ); - path = Source; + path = CardUtils; sourceTree = ""; }; - 3BFA534C273A0452005B6CB7 /* CardScan */ = { + 40C830CD6973E7AD722C2213 /* Mock Data */ = { isa = PBXGroup; children = ( - 3BFA5354273A047E005B6CB7 /* AppleOcr */, - 3BFA53D4273A0573005B6CB7 /* CardUtils */, - 3BFA5359273A0487005B6CB7 /* CreditCardOcr */, - 3BFA5372273A0490005B6CB7 /* Extensions */, - 3BFA537F273A04C5005B6CB7 /* MLModels */, - 3BFA53D2273A0530005B6CB7 /* MLRuntime */, - 3BFA53D3273A054F005B6CB7 /* UI */, - 3BFA534D273A0468005B6CB7 /* Utils */, + 25575C2DBB0C8AAA658EC26E /* JSON */, ); - path = CardScan; + path = "Mock Data"; sourceTree = ""; }; - 3BFA534D273A0468005B6CB7 /* Utils */ = { + 620D5B89096A8B2B2202E6EB /* CreditCardOcr */ = { isa = PBXGroup; children = ( - 3BFA534E273A0468005B6CB7 /* AppInfoUtils.swift */, - 3BFA534F273A0468005B6CB7 /* DeviceUtils.swift */, - 60E543F82874DBBA00058BA3 /* AtomicPropertyWrapper.swift */, + 8EDF39435211B456B7579739 /* AppleCreditCardOcr.swift */, + 05B28BBCB062B6AE5A3B7CBC /* CreditCardOcrImplementation.swift */, + 3DEE8C18A3CECFF0751AB0D5 /* CreditCardOcrPrediction.swift */, + EDE92803C69CE8253D73A25F /* CreditCardOcrResult.swift */, + 6BEC906101069A1E3C50FA51 /* ErrorCorrection.swift */, + AF17FD18E52CB3508AD895E3 /* MachineLearningResult.swift */, + 7D550382D6320388A5BA75A1 /* MainLoopStateMachine.swift */, + F96A85E323CFDA8BA35BC293 /* NonNameWords.swift */, + 7E38717F47ED06C115E058DE /* OcrMainLoop.swift */, + 0DC83A169A82484B9F60E452 /* OcrObject.swift */, + 0B00395C6A2B14A6D56735B9 /* SSDCreditCardOcr.swift */, ); - path = Utils; + path = CreditCardOcr; sourceTree = ""; }; - 3BFA5354273A047E005B6CB7 /* AppleOcr */ = { + 66F259BA8091A6C5D28C4963 /* MLRuntime */ = { isa = PBXGroup; children = ( - 3BFA5355273A047E005B6CB7 /* AppleOcr.swift */, + 6EBC1F86A03CF9AAC6FE5825 /* ActiveStateComputation.swift */, + DCA2733CEC85F8E427CA99CB /* AppState.swift */, + A7EE5FDCA3B075FE5BBAF42A /* DetectedAllBoxes.swift */, + 1441A7A39C36C2A634A882F5 /* DetectedAllOcrBoxes.swift */, + B53D407C0AC8D44ECC0C3C52 /* DetectedBox.swift */, + A2EF6799FCE0817D9E3A536B /* DetectedSSDBox.swift */, + 5D58BEEC9D88537E32260CBA /* DetectedSSDOcrBox.swift */, + ACD9FF5C9DD64BE92DB0927D /* NMS.swift */, + 1FD9AF72B522A1E535A4EC81 /* OcrDD.swift */, + BC0B91384C63CBFB790C8EE6 /* OcrDDUtils.swift */, + ED780E8B4C14EE39F853B3A1 /* OcrPriorsGen.swift */, + AC9F1B20AEB433DE3CE0042C /* PostDetectionAlgorithm.swift */, + 4B452EE8B96AF1B0691E7D43 /* PredictionAPI.swift */, + 4BBE2CADB8D8E98D6EEE10C0 /* PredictionResult.swift */, + 795E739553651C8AC40E6AC1 /* PredictionUtilOcr.swift */, + 00A93BFDEE4072A2A9C30397 /* SoftNMS.swift */, + 8AEB912151CB564AE21D073C /* SSDOcrDetect.swift */, + EA89DA7FF10BC3A7B2D102FB /* SSDOcrOutputExtensions.swift */, ); - path = AppleOcr; + path = MLRuntime; sourceTree = ""; }; - 3BFA5359273A0487005B6CB7 /* CreditCardOcr */ = { + 69D6875F84C12C2E18B96B01 /* Helpers */ = { isa = PBXGroup; children = ( - 3BFA5361273A0487005B6CB7 /* AppleCreditCardOcr.swift */, - 3BFA535C273A0487005B6CB7 /* CreditCardOcrImplementation.swift */, - 3BFA5364273A0487005B6CB7 /* CreditCardOcrPrediction.swift */, - 3BFA535B273A0487005B6CB7 /* CreditCardOcrResult.swift */, - 3BFA535A273A0487005B6CB7 /* ErrorCorrection.swift */, - 3BFA5362273A0487005B6CB7 /* MachineLearningResult.swift */, - 3BFA535E273A0487005B6CB7 /* MainLoopStateMachine.swift */, - 3BFA535D273A0487005B6CB7 /* NonNameWords.swift */, - 3BFA535F273A0487005B6CB7 /* OcrMainLoop.swift */, - 3BFA5360273A0487005B6CB7 /* OcrObject.swift */, - 3BFA5363273A0487005B6CB7 /* SSDCreditCardOcr.swift */, + DA3ECBF071E7507C9D41F232 /* EndToEndTestDataSource.swift */, + 6418F87D5168A2A08D65A482 /* STPLocalizedString.swift */, + 69A2DB0837C11D8829C027CF /* String+Localized.swift */, ); - path = CreditCardOcr; + path = Helpers; sourceTree = ""; }; - 3BFA5372273A0490005B6CB7 /* Extensions */ = { + 6A6547B8AC5A170A0092DCF5 /* Localizations */ = { isa = PBXGroup; children = ( - 3BFA5374273A0490005B6CB7 /* Array+utils.swift */, - 3BFA5373273A0490005B6CB7 /* CGrect+utils.swift */, - 3BFA538D273A0523005B6CB7 /* CGRectExtension.swift */, - 3BFA5377273A0490005B6CB7 /* CreditCardOcrPrediction+expiry.swift */, - 3BFA5375273A0490005B6CB7 /* Image+utils.swift */, - 3BFA538A273A0523005B6CB7 /* UIImage+pixelBuffer.swift */, + 6C27E58C1953533C68D43361 /* Localizable.strings */, ); - path = Extensions; + path = Localizations; sourceTree = ""; }; - 3BFA537F273A04C5005B6CB7 /* MLModels */ = { + 6C3738C5D8A82E9A3C5AFC85 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 3B9671A9273DCC4E0027F66A /* SSDOcr.swift */, - 60491CC928778AF500666703 /* SSDOcr+Utils.swift */, - 3B9671AA273DCC4E0027F66A /* UxModel.swift */, - 60491CC72877890D00666703 /* UxModel+Utils.swift */, - 609518D228BD38E9003005E1 /* AsyncModelLoading.swift */, + 14795A45279E8F328AB54920 /* Project-Debug.xcconfig */, + 7DBB233BD36CBAE2700A4511 /* Project-Release.xcconfig */, + F1FCC855CCB0816414A4BEC1 /* StripeiOS Tests-Debug.xcconfig */, + A67EDE2BCCC081DEDD684AAC /* StripeiOS Tests-Release.xcconfig */, ); - path = MLModels; + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; - 3BFA53D2273A0530005B6CB7 /* MLRuntime */ = { + 72B7637B9160BBA39556BA0A /* Products */ = { isa = PBXGroup; children = ( - 3BFA5391273A0523005B6CB7 /* ActiveStateComputation.swift */, - 3BFA5386273A0523005B6CB7 /* AppState.swift */, - 3BFA53A1273A0524005B6CB7 /* DetectedAllBoxes.swift */, - 3BFA539F273A0524005B6CB7 /* DetectedAllOcrBoxes.swift */, - 3BFA5399273A0524005B6CB7 /* DetectedBox.swift */, - 3BFA5394273A0523005B6CB7 /* DetectedSSDBox.swift */, - 3BFA5395273A0523005B6CB7 /* DetectedSSDOcrBox.swift */, - 3BFA5390273A0523005B6CB7 /* NMS.swift */, - 3BFA539A273A0524005B6CB7 /* OcrDD.swift */, - 3BFA5389273A0523005B6CB7 /* OcrDDUtils.swift */, - 3BFA53A2273A0524005B6CB7 /* OcrPriorsGen.swift */, - 3BFA5396273A0524005B6CB7 /* PostDetectionAlgorithm.swift */, - 3BFA538B273A0523005B6CB7 /* PredictionAPI.swift */, - 3BFA5388273A0523005B6CB7 /* PredictionResult.swift */, - 3BFA539C273A0524005B6CB7 /* PredictionUtilOcr.swift */, - 3BFA53A8273A0525005B6CB7 /* SoftNMS.swift */, - 3BFA5398273A0524005B6CB7 /* SSDOcrDetect.swift */, - 3BFA53A0273A0524005B6CB7 /* SSDOcrOutputExtensions.swift */, + DD6884D0B3347BBF2E61B1D6 /* StripeCardScan.framework */, + 2F9447632965B9BCE1E595E4 /* StripeCardScanTests.xctest */, + 2E889051D7CD76D4FB9084A1 /* StripeCore.framework */, + 17FA90EE37CF1E6A49532491 /* StripeCoreTestUtils.framework */, ); - path = MLRuntime; + name = Products; sourceTree = ""; }; - 3BFA53D3273A054F005B6CB7 /* UI */ = { + 79C01535652A2F89EB22D9A9 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 3BFA5387273A0523005B6CB7 /* BlurView.swift */, - 3BFA538C273A0523005B6CB7 /* CornerView.swift */, - 3BFA5397273A0524005B6CB7 /* InterfaceOrientation.swift */, - 3BFA539D273A0524005B6CB7 /* PreviewView.swift */, - 3BFA53A7273A0525005B6CB7 /* ScanBaseViewController.swift */, - 3BFA53AA273A0525005B6CB7 /* ScanConfiguration.swift */, - 3BFA538F273A0523005B6CB7 /* ScanEventsProtocol.swift */, - 3BFA5392273A0523005B6CB7 /* ScanStats.swift */, - 3BFA539B273A0524005B6CB7 /* SimpleScanViewController.swift */, - 3BFA53A9273A0525005B6CB7 /* Torch.swift */, - 3BFA539E273A0524005B6CB7 /* VideoFeed.swift */, - 607776DD284ABD6F00471900 /* CardScanSheet.swift */, + 0197A1615C3FA86907CB6186 /* StripeCardScan-Debug.xcconfig */, + C264A676DA41344551BA6661 /* StripeCardScan-Release.xcconfig */, ); - path = UI; + path = BuildConfigurations; sourceTree = ""; }; - 3BFA53D4273A0573005B6CB7 /* CardUtils */ = { + 8AA53DD0D15C5BC1040EE334 /* Scan Analytics */ = { isa = PBXGroup; children = ( - 3BFA53A5273A0525005B6CB7 /* CardNetwork.swift */, - 3BFA5393273A0523005B6CB7 /* CardType.swift */, - 3BFA53A4273A0524005B6CB7 /* CreditCardUtils.swift */, - 3BFA53A6273A0525005B6CB7 /* Expiry.swift */, + 2D61E754E520B4E21920D1DA /* ScanStatsPayload.swift */, + 028DA95BD9A0DA8AD69162CB /* ScanStatsPayload+Common.swift */, + 4A1CD398A6AFB6747D095C59 /* ScanStatsPayload+Tasks.swift */, ); - path = CardUtils; + path = "Scan Analytics"; sourceTree = ""; }; - 3BFA53DD273A073F005B6CB7 /* CardVerify */ = { + 9AE51241602B3092F45811E8 /* Extensions */ = { isa = PBXGroup; children = ( - 3BFA53DE273A07EF005B6CB7 /* Api */, - F329D8DB27465CCD00811E79 /* Card Image Verification */, - 3B657854276169B000EFD250 /* Helpers */, - 3BFA5410273A081E005B6CB7 /* Bouncer.swift */, - 3BFA5418273A081E005B6CB7 /* CardBase.swift */, - 3BFA5444273A09C4005B6CB7 /* CardScanFraudData.swift */, - 3BFA5451273A09C5005B6CB7 /* CardScanMisc.swift */, - 3BFA5445273A09C4005B6CB7 /* CardVerifyFraudData.swift */, - 3BFA5450273A09C5005B6CB7 /* CardVerifyStateMachine.swift */, - 3BFA5446273A09C5005B6CB7 /* FadeInAnimation.swift */, - F3B03892274DB71200718B35 /* FrameData.swift */, - 3BFA5449273A09C5005B6CB7 /* PaymentCard.swift */, - 3BFA544B273A09C5005B6CB7 /* SimpleScanViewController+Verify.swift */, - 3B967093273C87950027F66A /* StripeCardScanBundleLocator.swift */, - 3BFA544C273A09C5005B6CB7 /* UxAnalyzer.swift */, - 3BFA544D273A09C5005B6CB7 /* UxAndOcrMainLoop.swift */, - 3BFA5441273A09C4005B6CB7 /* VerifyCardAddViewController.swift */, - 3BFA5443273A09C4005B6CB7 /* VerifyCardViewController.swift */, - 3BFA5447273A09C5005B6CB7 /* ZoomedInCGImage.swift */, + 8CA457DF27DC45455B8E1345 /* Array+utils.swift */, + BD87F9971C25C4B99138318F /* CGrect+utils.swift */, + 7633166B4D9096FE995F08F0 /* CGRectExtension.swift */, + 5E72DD18B9FCB80ABEDE2689 /* CreditCardOcrPrediction+expiry.swift */, + AEE9C295E982F92DE2418AE1 /* Image+utils.swift */, + B2D9886B0ED119E8D1FB6448 /* UIImage+pixelBuffer.swift */, ); - path = CardVerify; + path = Extensions; sourceTree = ""; }; - 3BFA53DE273A07EF005B6CB7 /* Api */ = { + 9FDF572663A7F311B8506E13 /* CardScan */ = { isa = PBXGroup; children = ( - F338B9762748424F00E9323D /* Models */, - 3BFA53E1273A07EF005B6CB7 /* STPAPIClient+CardImageVerification.swift */, + A1C38CDC3470D8E7A9F39671 /* AppleOcr */, + 3C728AAC6B6FF615A064C757 /* CardUtils */, + 620D5B89096A8B2B2202E6EB /* CreditCardOcr */, + 9AE51241602B3092F45811E8 /* Extensions */, + 10507D99D0E81A181A25B4BC /* MLModels */, + 66F259BA8091A6C5D28C4963 /* MLRuntime */, + E2C9F4FF2603FAF1BD4567B4 /* UI */, + E86A9678BB840BD3EA2AEB94 /* Utils */, ); - path = Api; + path = CardScan; sourceTree = ""; }; - 3BFA5491273C4538005B6CB7 /* Unit */ = { + A1C38CDC3470D8E7A9F39671 /* AppleOcr */ = { isa = PBXGroup; children = ( - F38E6B71274438AE008EF7A6 /* API Bindings */, - F38E6B6E27443696008EF7A6 /* ML Models */, - F329D8E6274782EA00811E79 /* CardImageVerificationControllerTests.swift */, - 60796E0B282C67B900534775 /* CardImageVerificationDetailsResponseTest.swift */, - 3B8C9F03275576A800C5858F /* ImageCompressionTests.swift */, - F3D2E06C282B91BA001905E2 /* ScanAnalyticsManagerTests.swift */, - F31609A527DAD50F00F2C49C /* StrictModeFramesTest.swift */, - 6082C44B2835689200B39E9B /* StringResourceTests.swift */, + 3E24CF248F312DDE025D662A /* AppleOcr.swift */, ); - path = Unit; + path = AppleOcr; sourceTree = ""; }; - 3BFA5492273C4573005B6CB7 /* Resources */ = { + A35971ECF566C2769A608A06 /* Unit */ = { isa = PBXGroup; children = ( - 3BFA5493273C4573005B6CB7 /* synthetic_test_image.jpg */, + D6C5CA3B4336E2024BFB5037 /* API Bindings */, + 20CA55CAA02DC2833AD1C426 /* ML Models */, + F24DEA029F94A359B7A571BB /* CardImageVerificationControllerTests.swift */, + 7DDAF8E33A3D7CD020AC904A /* CardImageVerificationDetailsResponseTest.swift */, + D0AA128D69F3C32A4EF67CF0 /* ImageCompressionTests.swift */, + 27F6ECCDC721E4D46DAC4F48 /* ScanAnalyticsManagerTests.swift */, + CD6D4DB87B26D439686392AE /* StrictModeFramesTest.swift */, + 5A72927DA8A946FDD03843DE /* StringResourceTests.swift */, ); - path = Resources; + path = Unit; sourceTree = ""; }; - F329D8DB27465CCD00811E79 /* Card Image Verification */ = { + BC0070EA31577F5573D7B787 /* Card Image Verification */ = { isa = PBXGroup; children = ( - F32D9B142745EED300C5FDBF /* CancellationReason.swift */, - F32D9B0F2745D96A00C5FDBF /* CardImageVerificationController.swift */, - F3B038A2274DC25A00718B35 /* CardImageVerificationIntent.swift */, - F32D9B0E2745D96A00C5FDBF /* CardImageVerificationSheet.swift */, - F3A3F05127DBBC0B000F5DD3 /* CardImageVerificationSheetConfiguration.swift */, - F32D9B102745D96A00C5FDBF /* CardScanSheetError.swift */, - F3F143BA2763FFBD0081C7B2 /* ScanAnalyticsManager.swift */, - F340EE4A2763F4250004116A /* ScanAnalyticsManager+Helpers.swift */, - F3DC52DE276819CC008B62E8 /* ScanAnalyticsManager+Managers.swift */, - F340EE482763F34F0004116A /* ScanAnalyticsManager+Tasks.swift */, - F3B0388A274DAE6000718B35 /* ScannedCard.swift */, - F338B984274AF52300E9323D /* ScannedCardImageData.swift */, - F338B986274B00A600E9323D /* ScannedCardImageData+Verification.swift */, - F329D8DC27470E9A00811E79 /* StripeCore+Import.swift */, + 53C171A1336B7FB0C321D194 /* CancellationReason.swift */, + B313BA373EF6B567BF40A240 /* CardImageVerificationController.swift */, + CD5004FC0706B2660B4C6EA0 /* CardImageVerificationIntent.swift */, + 12F09D21BAC44C461B1AD7CB /* CardImageVerificationSheet.swift */, + 545E03D5167516D28C8A9F08 /* CardImageVerificationSheetConfiguration.swift */, + DCF4C0BF8E55D53B004FABCA /* CardScanSheetError.swift */, + 69E2630C0FC7C9DDD551FD67 /* ScanAnalyticsManager.swift */, + B97CA4D8286B196A49B8D535 /* ScanAnalyticsManager+Helpers.swift */, + 1A337FE5C3BE4FAB001E5520 /* ScanAnalyticsManager+Managers.swift */, + 6563E5CE5CD0439D5DBF35D7 /* ScanAnalyticsManager+Tasks.swift */, + 76C70F9A1879ED8B41639945 /* ScannedCard.swift */, + BAE45D8AC7BBA5DC433A9383 /* ScannedCardImageData.swift */, + 6C3EE6315FB1507E40F10D85 /* ScannedCardImageData+Verification.swift */, + 64A1E35C6DF336F34B6C7AEA /* StripeCore+Import.swift */, ); path = "Card Image Verification"; sourceTree = ""; }; - F338B9762748424F00E9323D /* Models */ = { + C8B14FA3DC29B84F382E6D1F /* Models */ = { isa = PBXGroup; children = ( - 3BFA53E2273A07EF005B6CB7 /* CardImageVerificationDetailsResponse.swift */, - F340EE392762CF640004116A /* Scan Analytics */, - F338B97227482F6800E9323D /* VerificationFramesData.swift */, - F338B97027482E1C00E9323D /* VerifyFrames.swift */, + 8AA53DD0D15C5BC1040EE334 /* Scan Analytics */, + 24C2345660A95FBF90BF4850 /* VerificationFramesData.swift */, + E4FAA99A64BCD00A336A5E01 /* VerifyFrames.swift */, ); path = Models; sourceTree = ""; }; - F338B977274843CE00E9323D /* JSON */ = { + C8CC6DB5A60043E8A373BC6F /* Helpers */ = { isa = PBXGroup; children = ( - F38E6B8227445A12008EF7A6 /* CardImageVerification_CardAdd_200.json */, - F38E6B7A27443C0F008EF7A6 /* CardImageVerification_CardSet_200.json */, + 746AAB9327BDE6791F9393B0 /* CardScanMockData.swift */, + 63662689AD097C859B8759B1 /* Data+Sha256.swift */, + 091163ED5E37922332F502B1 /* ImageHelpers.swift */, + 15541EEEE784EECDD3E7399D /* ScannedCardDetails.swift */, + 732D3AB4CE25CC5C26A352B1 /* String+Sha256.swift */, ); - path = JSON; + path = Helpers; sourceTree = ""; }; - F340EE392762CF640004116A /* Scan Analytics */ = { + D275033F1B615793C2F8B8E0 /* Frameworks */ = { isa = PBXGroup; children = ( - F340EE3A2762CFBB0004116A /* ScanStatsPayload.swift */, - F340EE3C2762DE160004116A /* ScanStatsPayload+Common.swift */, - F325010F282ED08A00861658 /* ScanStatsPayload+Tasks.swift */, + 14E5A51A77928A2700E23321 /* XCTest.framework */, ); - path = "Scan Analytics"; + name = Frameworks; sourceTree = ""; }; - F38E6B6D27443668008EF7A6 /* Helpers */ = { + D6C5CA3B4336E2024BFB5037 /* API Bindings */ = { isa = PBXGroup; children = ( - F38E6B6F274437BE008EF7A6 /* CardScanMockData.swift */, - 60EFED3328DBA2EF009A41B7 /* Data+Sha256.swift */, - 3B8C9EFF275575B000C5858F /* ImageHelpers.swift */, - F31609A327DAD49C00F2C49C /* ScannedCardDetails.swift */, - 60EFED3128DBA2BA009A41B7 /* String+Sha256.swift */, + 5CF9ADC4CC0B4ADFE0A5427E /* ScanStatsPayloadAPIBindingsTests.swift */, + 3BC4F647EB512813078B9A6F /* STPAPIClient+CardImageVerificationTest.swift */, + 4301B281F5E0A5BACBBD68CC /* VerifyFramesAPIBindingsTests.swift */, ); - path = Helpers; + path = "API Bindings"; sourceTree = ""; }; - F38E6B6E27443696008EF7A6 /* ML Models */ = { + DF93066F033C46A7B100FC82 /* StripeCardScan */ = { isa = PBXGroup; children = ( - 3BFA5480273C422D005B6CB7 /* UxModelTests.swift */, + 3228566B727B9D25D13A3BAB /* Resources */, + F28CFA0B72751113E838303F /* Source */, + 17BCBB8B34EBA904BB245CBD /* Info.plist */, + AB56DDBBF0E5BC10682C7D96 /* StripeCardScan.h */, ); - path = "ML Models"; + path = StripeCardScan; sourceTree = ""; }; - F38E6B71274438AE008EF7A6 /* API Bindings */ = { + E2C9F4FF2603FAF1BD4567B4 /* UI */ = { isa = PBXGroup; children = ( - F340EE3E2762EDF90004116A /* ScanStatsPayloadAPIBindingsTests.swift */, - F38E6B7227443934008EF7A6 /* STPAPIClient+CardImageVerificationTest.swift */, - F3B038A6274E298400718B35 /* VerifyFramesAPIBindingsTests.swift */, + 938958FCB9B918AD6CDF0F4E /* BlurView.swift */, + 14BC8B1C28C3F6C8330164E0 /* CardScanSheet.swift */, + C3E012270975B6DC09A8199F /* CornerView.swift */, + 77D0D8C2909455B76E246468 /* InterfaceOrientation.swift */, + DC12B6E0657203AAB765468C /* PreviewView.swift */, + A790FC6FAEC3F88FB2C26E27 /* ScanBaseViewController.swift */, + FF9618F7B15B33EC5B339A94 /* ScanConfiguration.swift */, + 0D1FBA1B4676CC5E9F785D51 /* ScanEventsProtocol.swift */, + 66A49708CF5D37C7CB267732 /* ScanStats.swift */, + A6E1DA01CB00CBDE36735EDD /* SimpleScanViewController.swift */, + C827434739027B2DD43449EA /* Torch.swift */, + D42510E09D32547455CDDBEF /* VideoFeed.swift */, ); - path = "API Bindings"; + path = UI; sourceTree = ""; }; - F38E6B7427443B1E008EF7A6 /* Mock Data */ = { + E86A9678BB840BD3EA2AEB94 /* Utils */ = { isa = PBXGroup; children = ( - F338B977274843CE00E9323D /* JSON */, + 362A27BB81840A22104C9A49 /* AppInfoUtils.swift */, + D9B548B9626366BB0F110873 /* AtomicPropertyWrapper.swift */, + CDB03A9253E8FAD07B739438 /* DeviceUtils.swift */, ); - path = "Mock Data"; + path = Utils; + sourceTree = ""; + }; + F28CFA0B72751113E838303F /* Source */ = { + isa = PBXGroup; + children = ( + 9FDF572663A7F311B8506E13 /* CardScan */, + 324D2CF5354B3283BC0C49ED /* CardVerify */, + ); + path = Source; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 3B2F4DF22739CCFD008618CD /* Headers */ = { + B4E70071212998150E28FF9A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3B2F4E082739CCFE008618CD /* StripeCardScan.h in Headers */, + 1B10222A5121C9B2C3479FAB /* StripeCardScan.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3B2F4DF62739CCFD008618CD /* StripeCardScan */ = { + 03CF79975A56288F02F20E52 /* StripeCardScan */ = { isa = PBXNativeTarget; - buildConfigurationList = 3B2F4E0B2739CCFE008618CD /* Build configuration list for PBXNativeTarget "StripeCardScan" */; + buildConfigurationList = 3942B170A6D222D5B5128339 /* Build configuration list for PBXNativeTarget "StripeCardScan" */; buildPhases = ( - 3B2F4DF22739CCFD008618CD /* Headers */, - 3B2F4DF32739CCFD008618CD /* Sources */, - 3B2F4DF42739CCFD008618CD /* Frameworks */, - 3B2F4DF52739CCFD008618CD /* Resources */, + B4E70071212998150E28FF9A /* Headers */, + 44F5D31B0E7A7BFCB9425841 /* Sources */, + 7FD545F62DB7C0787E9CD12D /* Resources */, + 451E97BA25D9CE29EDAB7618 /* Embed Frameworks */, + 29BDDDCECDEC71451BAAB324 /* Frameworks */, ); buildRules = ( ); @@ -768,313 +804,305 @@ ); name = StripeCardScan; productName = StripeCardScan; - productReference = 3B2F4DF72739CCFD008618CD /* StripeCardScan.framework */; + productReference = DD6884D0B3347BBF2E61B1D6 /* StripeCardScan.framework */; productType = "com.apple.product-type.framework"; }; - 3BD9804B27430CCD00B09BCD /* StripeCardScanTests */ = { + DCC6FFCFBE0B51B33F4CBB26 /* StripeCardScanTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 3BD9805427430CCD00B09BCD /* Build configuration list for PBXNativeTarget "StripeCardScanTests" */; + buildConfigurationList = 89AE00D6B3B382DD3D3A3C70 /* Build configuration list for PBXNativeTarget "StripeCardScanTests" */; buildPhases = ( - 3BD9804827430CCD00B09BCD /* Sources */, - 3BD9804927430CCD00B09BCD /* Frameworks */, - 3BD9804A27430CCD00B09BCD /* Resources */, + 201682B08469C4AC551E9BF8 /* Sources */, + 54119F2010F36CB483CA88CC /* Resources */, + 20B092D23CA44561EF997447 /* Embed Frameworks */, + 1639B69C00B8C21CEBF08A55 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 3BD9805327430CCD00B09BCD /* PBXTargetDependency */, + 82DAA855443FCAA25F64C5C0 /* PBXTargetDependency */, ); name = StripeCardScanTests; productName = StripeCardScanTests; - productReference = 3BD9804C27430CCD00B09BCD /* StripeCardScanTests.xctest */; + productReference = 2F9447632965B9BCE1E595E4 /* StripeCardScanTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 3B2F4DEE2739CCFD008618CD /* Project object */ = { + 9A6BF50E5B02355004AC6020 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1220; - LastUpgradeCheck = 1220; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 3B2F4DF62739CCFD008618CD = { - CreatedOnToolsVersion = 12.2; - LastSwiftMigration = 1220; - }; - 3BD9804B27430CCD00B09BCD = { - CreatedOnToolsVersion = 12.2; - }; }; }; - buildConfigurationList = 3B2F4DF12739CCFD008618CD /* Build configuration list for PBXProject "StripeCardScan" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = CBB5D42795303F47D9D5F2F5 /* Build configuration list for PBXProject "StripeCardScan" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + "bg-BG", + "ca-ES", + "cs-CZ", + da, de, - "lt-LT", - "zh-Hans", - ja, "el-GR", - "ms-MY", - "zh-HK", - mt, - nb, - "ca-ES", + en, "en-GB", es, - da, "es-419", - it, - "nn-NO", - "fr-CA", - "bg-BG", - sv, - ko, - fil, - "zh-Hant", - "ro-RO", - hu, - tr, "et-EE", - "pt-BR", - "lv-LV", - vi, - ru, - "cs-CZ", - "sk-SK", - "sl-SI", - fr, fi, + fil, + fr, + "fr-CA", + hr, + hu, id, + it, + ja, + ko, + "lt-LT", + "lv-LV", + "ms-MY", + mt, + nb, nl, + "nn-NO", "pl-PL", + "pt-BR", "pt-PT", - hr, + "ro-RO", + ru, + "sk-SK", + "sl-SI", + sv, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = 3B2F4DED2739CCFD008618CD; - productRefGroup = 3B2F4DF82739CCFD008618CD /* Products */; + mainGroup = 105B9420C58B9406F7939324; + productRefGroup = 72B7637B9160BBA39556BA0A /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 3B2F4DF62739CCFD008618CD /* StripeCardScan */, - 3BD9804B27430CCD00B09BCD /* StripeCardScanTests */, + 03CF79975A56288F02F20E52 /* StripeCardScan */, + DCC6FFCFBE0B51B33F4CBB26 /* StripeCardScanTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 3B2F4DF52739CCFD008618CD /* Resources */ = { + 54119F2010F36CB483CA88CC /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3B9671D6273DD0630027F66A /* SSDOcr.mlmodelc in Resources */, - 3BC12BAA27612C0E005E5895 /* Localizable.strings in Resources */, - 3B9671D7273DD0630027F66A /* UxModel.mlmodelc in Resources */, + 0D62200AA65D71F040037CC8 /* CardImageVerification_CardAdd_200.json in Resources */, + 52519CA3928967768049164E /* CardImageVerification_CardSet_200.json in Resources */, + 59889C85D6D25B3222776B28 /* synthetic_test_image.jpg in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3BD9804A27430CCD00B09BCD /* Resources */ = { + 7FD545F62DB7C0787E9CD12D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3BD9806027430EA300B09BCD /* synthetic_test_image.jpg in Resources */, - F38E6B8327445A12008EF7A6 /* CardImageVerification_CardAdd_200.json in Resources */, - F38E6B7B27443C0F008EF7A6 /* CardImageVerification_CardSet_200.json in Resources */, + A7F92FB7213E66A7D15A1BE3 /* SSDOcr.mlmodelc in Resources */, + B2DF7862E5F80ACD8DEE9317 /* UxModel.mlmodelc in Resources */, + 8CF112F4889C96617504A931 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 3B2F4DF32739CCFD008618CD /* Sources */ = { + 201682B08469C4AC551E9BF8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F3DC52DF276819CC008B62E8 /* ScanAnalyticsManager+Managers.swift in Sources */, - 3BFA53B0273A0525005B6CB7 /* PredictionAPI.swift in Sources */, - 3BFA53F5273A07EF005B6CB7 /* STPAPIClient+CardImageVerification.swift in Sources */, - 3BFA53CF273A0525005B6CB7 /* ScanConfiguration.swift in Sources */, - 3BFA53BD273A0525005B6CB7 /* SSDOcrDetect.swift in Sources */, - 3BFA53B7273A0525005B6CB7 /* ScanStats.swift in Sources */, - 3B967094273C87950027F66A /* StripeCardScanBundleLocator.swift in Sources */, - 3BFA5378273A0490005B6CB7 /* CGrect+utils.swift in Sources */, - 3BFA5421273A081F005B6CB7 /* Bouncer.swift in Sources */, - F340EE3D2762DE160004116A /* ScanStatsPayload+Common.swift in Sources */, - 3BFA5350273A0468005B6CB7 /* AppInfoUtils.swift in Sources */, - F3B038A3274DC25B00718B35 /* CardImageVerificationIntent.swift in Sources */, - 3BFA53CA273A0525005B6CB7 /* CardNetwork.swift in Sources */, - 3BFA53AF273A0525005B6CB7 /* UIImage+pixelBuffer.swift in Sources */, - 60491CC82877890D00666703 /* UxModel+Utils.swift in Sources */, - F3B0389A274DB71300718B35 /* FrameData.swift in Sources */, - F32D9B112745D96A00C5FDBF /* CardImageVerificationSheet.swift in Sources */, - F338B97327482F6800E9323D /* VerificationFramesData.swift in Sources */, - F340EE492763F34F0004116A /* ScanAnalyticsManager+Tasks.swift in Sources */, - 60EFED6028E179F6009A41B7 /* EndToEndTestDataSource.swift in Sources */, - 3BFA53B6273A0525005B6CB7 /* ActiveStateComputation.swift in Sources */, - F340EE4B2763F4250004116A /* ScanAnalyticsManager+Helpers.swift in Sources */, - 3BFA545B273A09C5005B6CB7 /* ZoomedInCGImage.swift in Sources */, - F32D9B152745EED300C5FDBF /* CancellationReason.swift in Sources */, - F3250110282ED08A00861658 /* ScanStatsPayload+Tasks.swift in Sources */, - F3F143BB2763FFBD0081C7B2 /* ScanAnalyticsManager.swift in Sources */, - 3BFA536C273A0487005B6CB7 /* AppleCreditCardOcr.swift in Sources */, - 3BFA536D273A0487005B6CB7 /* MachineLearningResult.swift in Sources */, - F3A3F05227DBBC0B000F5DD3 /* CardImageVerificationSheetConfiguration.swift in Sources */, - 3BFA53C4273A0525005B6CB7 /* DetectedAllOcrBoxes.swift in Sources */, - 3B657856276169C700EFD250 /* STPLocalizedString.swift in Sources */, - 3BFA53CB273A0525005B6CB7 /* Expiry.swift in Sources */, - 3BFA53BA273A0525005B6CB7 /* DetectedSSDOcrBox.swift in Sources */, - 3B9671AC273DCC4E0027F66A /* UxModel.swift in Sources */, - 3BFA545A273A09C5005B6CB7 /* FadeInAnimation.swift in Sources */, - 3BFA536A273A0487005B6CB7 /* OcrMainLoop.swift in Sources */, - 607776DE284ABD6F00471900 /* CardScanSheet.swift in Sources */, - 3BFA5464273A09C5005B6CB7 /* CardVerifyStateMachine.swift in Sources */, - 3BFA53AD273A0525005B6CB7 /* PredictionResult.swift in Sources */, - 3BFA53BE273A0525005B6CB7 /* DetectedBox.swift in Sources */, - 3BFA5429273A081F005B6CB7 /* CardBase.swift in Sources */, - 3BFA53CD273A0525005B6CB7 /* SoftNMS.swift in Sources */, - 3BFA53C3273A0525005B6CB7 /* VideoFeed.swift in Sources */, - 3BFA53AE273A0525005B6CB7 /* OcrDDUtils.swift in Sources */, - 3BFA5367273A0487005B6CB7 /* CreditCardOcrImplementation.swift in Sources */, - F32D9B122745D96A00C5FDBF /* CardImageVerificationController.swift in Sources */, - 3BFA5369273A0487005B6CB7 /* MainLoopStateMachine.swift in Sources */, - 3BFA53C1273A0525005B6CB7 /* PredictionUtilOcr.swift in Sources */, - 3BFA53B1273A0525005B6CB7 /* CornerView.swift in Sources */, - 3BFA53F6273A07EF005B6CB7 /* CardImageVerificationDetailsResponse.swift in Sources */, - F340EE3B2762CFBB0004116A /* ScanStatsPayload.swift in Sources */, - 3BFA53B8273A0525005B6CB7 /* CardType.swift in Sources */, - 3BFA53B9273A0525005B6CB7 /* DetectedSSDBox.swift in Sources */, - 3BFA53C9273A0525005B6CB7 /* CreditCardUtils.swift in Sources */, - 3BFA5457273A09C5005B6CB7 /* VerifyCardViewController.swift in Sources */, - 3BFA53AB273A0525005B6CB7 /* AppState.swift in Sources */, - 3BFA5379273A0490005B6CB7 /* Array+utils.swift in Sources */, - 3BFA53CC273A0525005B6CB7 /* ScanBaseViewController.swift in Sources */, - 3BFA53C5273A0525005B6CB7 /* SSDOcrOutputExtensions.swift in Sources */, - 3BFA53C2273A0525005B6CB7 /* PreviewView.swift in Sources */, - 3BFA537C273A0490005B6CB7 /* CreditCardOcrPrediction+expiry.swift in Sources */, - 3BFA53B2273A0525005B6CB7 /* CGRectExtension.swift in Sources */, - 3BFA545F273A09C5005B6CB7 /* SimpleScanViewController+Verify.swift in Sources */, - 3B65785C27616A0400EFD250 /* String+Localized.swift in Sources */, - F329D8DD27470E9A00811E79 /* StripeCore+Import.swift in Sources */, - 3BFA5461273A09C5005B6CB7 /* UxAndOcrMainLoop.swift in Sources */, - 3BFA5366273A0487005B6CB7 /* CreditCardOcrResult.swift in Sources */, - 3BFA5351273A0468005B6CB7 /* DeviceUtils.swift in Sources */, - 3BFA5368273A0487005B6CB7 /* NonNameWords.swift in Sources */, - 3BFA53AC273A0525005B6CB7 /* BlurView.swift in Sources */, - 3BFA5465273A09C5005B6CB7 /* CardScanMisc.swift in Sources */, - 3BFA5458273A09C5005B6CB7 /* CardScanFraudData.swift in Sources */, - 3BFA53BC273A0525005B6CB7 /* InterfaceOrientation.swift in Sources */, - 3BFA53B5273A0525005B6CB7 /* NMS.swift in Sources */, - 3BFA53B4273A0525005B6CB7 /* ScanEventsProtocol.swift in Sources */, - 3BFA5455273A09C5005B6CB7 /* VerifyCardAddViewController.swift in Sources */, - 3BFA536E273A0487005B6CB7 /* SSDCreditCardOcr.swift in Sources */, - F3B0388B274DAE6100718B35 /* ScannedCard.swift in Sources */, - 3BFA537A273A0490005B6CB7 /* Image+utils.swift in Sources */, - 3BFA53CE273A0525005B6CB7 /* Torch.swift in Sources */, - 60491CCA28778AF500666703 /* SSDOcr+Utils.swift in Sources */, - 3BFA53C0273A0525005B6CB7 /* SimpleScanViewController.swift in Sources */, - 609518D328BD38E9003005E1 /* AsyncModelLoading.swift in Sources */, - 3BFA5365273A0487005B6CB7 /* ErrorCorrection.swift in Sources */, - 3BFA5356273A047E005B6CB7 /* AppleOcr.swift in Sources */, - 3BFA53BF273A0525005B6CB7 /* OcrDD.swift in Sources */, - 60E543F92874DBBA00058BA3 /* AtomicPropertyWrapper.swift in Sources */, - 3BFA536F273A0487005B6CB7 /* CreditCardOcrPrediction.swift in Sources */, - 3BFA53C7273A0525005B6CB7 /* OcrPriorsGen.swift in Sources */, - 3BFA53C6273A0525005B6CB7 /* DetectedAllBoxes.swift in Sources */, - 3B9671AB273DCC4E0027F66A /* SSDOcr.swift in Sources */, - 3BFA5460273A09C5005B6CB7 /* UxAnalyzer.swift in Sources */, - 3BFA53BB273A0525005B6CB7 /* PostDetectionAlgorithm.swift in Sources */, - F32D9B132745D96A00C5FDBF /* CardScanSheetError.swift in Sources */, - 3BFA5459273A09C5005B6CB7 /* CardVerifyFraudData.swift in Sources */, - F338B985274AF52300E9323D /* ScannedCardImageData.swift in Sources */, - F338B987274B00A600E9323D /* ScannedCardImageData+Verification.swift in Sources */, - 3BFA536B273A0487005B6CB7 /* OcrObject.swift in Sources */, - 3BFA545D273A09C5005B6CB7 /* PaymentCard.swift in Sources */, - F338B97127482E1C00E9323D /* VerifyFrames.swift in Sources */, + 77443628E02F3AEFF112314D /* CardScanMockData.swift in Sources */, + DB74787AF4EEF0E506DD0E1C /* Data+Sha256.swift in Sources */, + 3F5B9466E9FC13CA29218750 /* ImageHelpers.swift in Sources */, + AE144927F21D5DF9A8C0EF79 /* ScannedCardDetails.swift in Sources */, + D42EEFBB72CD0AB00C6B4728 /* String+Sha256.swift in Sources */, + 449DD2A5D1F3FF94524D3CD6 /* STPAPIClient+CardImageVerificationTest.swift in Sources */, + 79A96C88970E4E61BAC47412 /* ScanStatsPayloadAPIBindingsTests.swift in Sources */, + 25FAF64D4FE93BF38E807ECA /* VerifyFramesAPIBindingsTests.swift in Sources */, + BDEA39DE5D3775AD2A4BFB6C /* CardImageVerificationControllerTests.swift in Sources */, + 19EF4634631CFC121DE21D1B /* CardImageVerificationDetailsResponseTest.swift in Sources */, + 48E4577B073DD9485BC62902 /* ImageCompressionTests.swift in Sources */, + 70B5FF75EF5DC8FFB23B95F7 /* UxModelTests.swift in Sources */, + 0D062E99363099A5728F3DCD /* ScanAnalyticsManagerTests.swift in Sources */, + FE55286899CFB0E34356D4D6 /* StrictModeFramesTest.swift in Sources */, + D6F0E1C93997BB36AF0608C0 /* StringResourceTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3BD9804827430CCD00B09BCD /* Sources */ = { + 44F5D31B0E7A7BFCB9425841 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F31609A427DAD49C00F2C49C /* ScannedCardDetails.swift in Sources */, - F31609A627DAD50F00F2C49C /* StrictModeFramesTest.swift in Sources */, - F38E6B70274437BE008EF7A6 /* CardScanMockData.swift in Sources */, - 60EFED3228DBA2BA009A41B7 /* String+Sha256.swift in Sources */, - F38E6B7327443934008EF7A6 /* STPAPIClient+CardImageVerificationTest.swift in Sources */, - 60EFED3428DBA2EF009A41B7 /* Data+Sha256.swift in Sources */, - F340EE3F2762EDF90004116A /* ScanStatsPayloadAPIBindingsTests.swift in Sources */, - F3B038A7274E298400718B35 /* VerifyFramesAPIBindingsTests.swift in Sources */, - 6082C44C2835689200B39E9B /* StringResourceTests.swift in Sources */, - F3D2E06D282B91BA001905E2 /* ScanAnalyticsManagerTests.swift in Sources */, - 3B8C9F04275576A800C5858F /* ImageCompressionTests.swift in Sources */, - F329D8E7274782EA00811E79 /* CardImageVerificationControllerTests.swift in Sources */, - 3BD9805D27430E9900B09BCD /* UxModelTests.swift in Sources */, - 60796E0C282C67B900534775 /* CardImageVerificationDetailsResponseTest.swift in Sources */, - 3B8C9F00275575B000C5858F /* ImageHelpers.swift in Sources */, + 2A9ECCF086685AD607D82492 /* AppleOcr.swift in Sources */, + C3B9A4A30443A38C2D17BE8E /* CardNetwork.swift in Sources */, + 0ADD10809FEABDCB59A8FA72 /* CardType.swift in Sources */, + A7014CF97250D97BC683FAC8 /* CreditCardUtils.swift in Sources */, + 050B462804602A9F4DB58A9D /* Expiry.swift in Sources */, + DDBCE05A3794129A9A04D511 /* AppleCreditCardOcr.swift in Sources */, + 60AF52B9EFFF12EBABE4D221 /* CreditCardOcrImplementation.swift in Sources */, + 1AD72764EA8BCB66A9D7B637 /* CreditCardOcrPrediction.swift in Sources */, + F9F19A6F2245863FEA485335 /* CreditCardOcrResult.swift in Sources */, + 17E34C9EF882AEAE47BECAB4 /* ErrorCorrection.swift in Sources */, + 858CDA751309CA04202B6203 /* MachineLearningResult.swift in Sources */, + 4ACBD9754F304CE4F70CAE43 /* MainLoopStateMachine.swift in Sources */, + C7A941539DBCFA790DCDB0B0 /* NonNameWords.swift in Sources */, + EE1CB7D3FA2B44DC17E6FF4C /* OcrMainLoop.swift in Sources */, + 5B1749A19231B20E2A081EB9 /* OcrObject.swift in Sources */, + C8E2E98B7ED108804E0A0E24 /* SSDCreditCardOcr.swift in Sources */, + C7259DA76E6AB9BF53735D19 /* Array+utils.swift in Sources */, + 10E840B00703A92CC487B324 /* CGRectExtension.swift in Sources */, + 7D9C9C2A26EF11F0C5D67D7C /* CGrect+utils.swift in Sources */, + CCB7722FDB8E6E68E90F3D12 /* CreditCardOcrPrediction+expiry.swift in Sources */, + D2030CA1B3B7DAF3229189AD /* Image+utils.swift in Sources */, + 1B71815D5B3EC8AC21E2A202 /* UIImage+pixelBuffer.swift in Sources */, + EA0F179DF887D94E19138A5E /* AsyncModelLoading.swift in Sources */, + DBE3EE5DAEEEA44D6C7ECD4E /* SSDOcr+Utils.swift in Sources */, + 213A91107E76434972A1F848 /* SSDOcr.swift in Sources */, + 189DEBAF38F2FB88CCA39EA2 /* UxModel+Utils.swift in Sources */, + 8E4B117272F5B17A1E6AD609 /* UxModel.swift in Sources */, + B66697826FEA9FCE81DDD6F4 /* ActiveStateComputation.swift in Sources */, + 47DCE237223D40B1EB183704 /* AppState.swift in Sources */, + 040020B8558B0489DF99F8B5 /* DetectedAllBoxes.swift in Sources */, + 48580A7E92CC8EBFD2FD4C91 /* DetectedAllOcrBoxes.swift in Sources */, + 20DF2E9D5A543360DF3A4DDA /* DetectedBox.swift in Sources */, + BFFA3E8CE79BFFE47530FAF6 /* DetectedSSDBox.swift in Sources */, + DF352D12199B55B659A11795 /* DetectedSSDOcrBox.swift in Sources */, + 7C71166DACDB829F8CBC383D /* NMS.swift in Sources */, + C633115B02A0CE24AC55A747 /* OcrDD.swift in Sources */, + 41366AB64512BB7E4248A904 /* OcrDDUtils.swift in Sources */, + 8FC373E15C1169677F563901 /* OcrPriorsGen.swift in Sources */, + 8463F2DB039C481D26A24BAA /* PostDetectionAlgorithm.swift in Sources */, + 0838FEA7071EDCE1B633F093 /* PredictionAPI.swift in Sources */, + 7B0CF214778E17FEC721602E /* PredictionResult.swift in Sources */, + 4D1016654AFB3D9EE26092B7 /* PredictionUtilOcr.swift in Sources */, + 5382B471868AA7D95BBD2B3A /* SSDOcrDetect.swift in Sources */, + 35F2BB10395405DB6C1E31B5 /* SSDOcrOutputExtensions.swift in Sources */, + 9FA5A312032FC54B35BB604E /* SoftNMS.swift in Sources */, + 164BF41B5C522B7338376BB2 /* BlurView.swift in Sources */, + 3736756FBB875060C86E2777 /* CardScanSheet.swift in Sources */, + F0ED2BFE143DD07337D389E5 /* CornerView.swift in Sources */, + 20DCEB955D9E0660EAB3ABEB /* InterfaceOrientation.swift in Sources */, + 30E3E90F9C8E3D3E8FCA869E /* PreviewView.swift in Sources */, + 3FCC183583090FD0246D9336 /* ScanBaseViewController.swift in Sources */, + 0D8CA0E3EFF9694CAE4FB8F7 /* ScanConfiguration.swift in Sources */, + C57BCF07EDF419D36ED4E690 /* ScanEventsProtocol.swift in Sources */, + 9188179F13E5EA15E0419580 /* ScanStats.swift in Sources */, + 74330F51A91DC3A617F7AE42 /* SimpleScanViewController.swift in Sources */, + 0EAA2314FEA8D05D24C498BD /* Torch.swift in Sources */, + 7CED1B42C94A49D6BF98C9E4 /* VideoFeed.swift in Sources */, + EF96103F82491640651C49F6 /* AppInfoUtils.swift in Sources */, + 6E9908C612ECD2E0AEA3DFF8 /* AtomicPropertyWrapper.swift in Sources */, + 49E1959C680AD68D1D345D6B /* DeviceUtils.swift in Sources */, + D27E02429E5DC8B28DFE8945 /* CardImageVerificationDetailsResponse.swift in Sources */, + BEE2BFA103DE985D057A0F9D /* ScanStatsPayload+Common.swift in Sources */, + 54469A1A5D77BAD54061BEA1 /* ScanStatsPayload+Tasks.swift in Sources */, + 19F7EC09C9B0ED11A4601E08 /* ScanStatsPayload.swift in Sources */, + AB21982DC43977754F237756 /* VerificationFramesData.swift in Sources */, + AFA334F5007A4C141A96FC2E /* VerifyFrames.swift in Sources */, + 77BB4BE6E5E03626936453C6 /* STPAPIClient+CardImageVerification.swift in Sources */, + 65C1EB5447CD5DF162CDEC2B /* Bouncer.swift in Sources */, + CBA4FE649A3B21DAC3A61E5B /* CancellationReason.swift in Sources */, + E4EC278027AF802C39C74C48 /* CardImageVerificationController.swift in Sources */, + AFB2482D559BCC08E96C3615 /* CardImageVerificationIntent.swift in Sources */, + 420FF119A7147335D802AB14 /* CardImageVerificationSheet.swift in Sources */, + E90CC9715EC99F6B7FAC98FA /* CardImageVerificationSheetConfiguration.swift in Sources */, + E70A7E38A7D858031F900649 /* CardScanSheetError.swift in Sources */, + CED42084C5FC46C17E357AD5 /* ScanAnalyticsManager+Helpers.swift in Sources */, + A8D0A57687A7CF9F389D7BDB /* ScanAnalyticsManager+Managers.swift in Sources */, + 0A4DCE2C98659B92DDB29B9A /* ScanAnalyticsManager+Tasks.swift in Sources */, + EB061FA550AFFE2AB2E348DF /* ScanAnalyticsManager.swift in Sources */, + 1DE075A700592250D87DF558 /* ScannedCard.swift in Sources */, + 05188062E522359CE24912CF /* ScannedCardImageData+Verification.swift in Sources */, + CC07F702B9EC043ACB0AC1E5 /* ScannedCardImageData.swift in Sources */, + 86635536450EE7D583B8BD59 /* StripeCore+Import.swift in Sources */, + 36525A0F774E7FA055D8B525 /* CardBase.swift in Sources */, + 2D042FD2E8A0C8236596CE54 /* CardScanFraudData.swift in Sources */, + EA2DBA78722CD65ED599190D /* CardScanMisc.swift in Sources */, + 5488DA1817A0C9F780EF69B2 /* CardVerifyFraudData.swift in Sources */, + 43AA83BFF8DEFC09D406669F /* CardVerifyStateMachine.swift in Sources */, + F16FAC158C6B0A7687547B4B /* FadeInAnimation.swift in Sources */, + ACC3C1A295E43983F67F858E /* FrameData.swift in Sources */, + 2F3FA5E8CCBF7F77106A8268 /* EndToEndTestDataSource.swift in Sources */, + 45C8D17FED02529B7FC4E8C3 /* STPLocalizedString.swift in Sources */, + 84975E58102A5D8C62C6C4E5 /* String+Localized.swift in Sources */, + 41F2E4475B9B19350C31F255 /* PaymentCard.swift in Sources */, + C5DBC36A41FB70C5DCCC97C7 /* SimpleScanViewController+Verify.swift in Sources */, + F4E4941F5AA2EC2C2CC4F7FB /* StripeCardScanBundleLocator.swift in Sources */, + 93D4785D8B91F12B6DDDE203 /* UxAnalyzer.swift in Sources */, + 18B63245A933E292345C9410 /* UxAndOcrMainLoop.swift in Sources */, + B00954CF5F2A15B72CB94FA5 /* VerifyCardAddViewController.swift in Sources */, + 06711423AB563634EADFCCC0 /* VerifyCardViewController.swift in Sources */, + B47F583CE0F239881877E5D3 /* ZoomedInCGImage.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3BD9805327430CCD00B09BCD /* PBXTargetDependency */ = { + 82DAA855443FCAA25F64C5C0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3B2F4DF62739CCFD008618CD /* StripeCardScan */; - targetProxy = 3BD9805227430CCD00B09BCD /* PBXContainerItemProxy */; + name = StripeCardScan; + target = 03CF79975A56288F02F20E52 /* StripeCardScan */; + targetProxy = F7C4E731844D6B46A4FBCACD /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 3BC12B7F27612C0E005E5895 /* Localizable.strings */ = { + 6C27E58C1953533C68D43361 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 3BC12B8027612C0E005E5895 /* de */, - 3BC12B8127612C0E005E5895 /* lt-LT */, - 3BC12B8227612C0E005E5895 /* zh-Hans */, - 3BC12B8327612C0E005E5895 /* ja */, - 3BC12B8427612C0E005E5895 /* el-GR */, - 3BC12B8527612C0E005E5895 /* ms-MY */, - 3BC12B8627612C0E005E5895 /* en */, - 3BC12B8727612C0E005E5895 /* zh-HK */, - 3BC12B8827612C0E005E5895 /* mt */, - 3BC12B8927612C0E005E5895 /* nb */, - 3BC12B8A27612C0E005E5895 /* ca-ES */, - 3BC12B8B27612C0E005E5895 /* en-GB */, - 3BC12B8C27612C0E005E5895 /* es */, - 3BC12B8D27612C0E005E5895 /* da */, - 3BC12B8E27612C0E005E5895 /* es-419 */, - 3BC12B8F27612C0E005E5895 /* it */, - 3BC12B9027612C0E005E5895 /* nn-NO */, - 3BC12B9127612C0E005E5895 /* fr-CA */, - 3BC12B9227612C0E005E5895 /* bg-BG */, - 3BC12B9327612C0E005E5895 /* sv */, - 3BC12B9427612C0E005E5895 /* ko */, - 3BC12B9527612C0E005E5895 /* fil */, - 3BC12B9627612C0E005E5895 /* zh-Hant */, - 3BC12B9827612C0E005E5895 /* ro-RO */, - 3BC12B9927612C0E005E5895 /* hu */, - 3BC12B9A27612C0E005E5895 /* tr */, - 3BC12B9B27612C0E005E5895 /* et-EE */, - 3BC12B9C27612C0E005E5895 /* pt-BR */, - 3BC12B9D27612C0E005E5895 /* lv-LV */, - 3BC12B9E27612C0E005E5895 /* vi */, - 3BC12B9F27612C0E005E5895 /* ru */, - 3BC12BA027612C0E005E5895 /* cs-CZ */, - 3BC12BA127612C0E005E5895 /* sk-SK */, - 3BC12BA227612C0E005E5895 /* sl-SI */, - 3BC12BA327612C0E005E5895 /* fr */, - 3BC12BA427612C0E005E5895 /* fi */, - 3BC12BA527612C0E005E5895 /* id */, - 3BC12BA627612C0E005E5895 /* nl */, - 3BC12BA727612C0E005E5895 /* pl-PL */, - 3BC12BA827612C0E005E5895 /* pt-PT */, - 3BC12BA927612C0E005E5895 /* hr */, + B0A7946C3A1E943FB72F3FB7 /* bg-BG */, + 8FB602C9E909E31BAE6703D6 /* ca-ES */, + 27F4BF66273070C2054BBAC0 /* cs-CZ */, + 4B89D81A4099CC71A3FBC133 /* da */, + FFE89E65E767D03B92383C76 /* de */, + D532C440ADCD017AD326299B /* el-GR */, + BEEE30227F7D34546F0FBB58 /* en */, + 6186A0AAB96E236DEF0B5B79 /* en-GB */, + 79A802EA46840CD45CBECEEA /* es */, + 5A6D5C8E51C23370E889F75F /* es-419 */, + CB48DDCA458A62DCE342F517 /* et-EE */, + 03E2C12C0D172DD7DAE33399 /* fi */, + 6F41FBE3D90B5F6518E42051 /* fil */, + 3A9C2B8A3B96E194CED6841C /* fr */, + F3AF32D7DF7EE1420D16291D /* fr-CA */, + 9C3890F6A5A4FF68F95746DC /* hr */, + 0C7BAE904C7E1D7A9FDF35F1 /* hu */, + 10311DC6AC19B7A73A8F930F /* id */, + ABB38869FD175D7BD6BB3890 /* it */, + 8094FE7CCD3CDA8B914EC534 /* ja */, + F87D884128F85E7F16BCBA9B /* ko */, + 58A5F2CEEAAB78AA425A5737 /* lt-LT */, + FD40E90452A83FFBBF65C8D8 /* lv-LV */, + 11D3465E527ABADBD2485A93 /* ms-MY */, + 9593D6788C4DBF554735E2B6 /* mt */, + 9A256BCB7822DD94572DDA07 /* nb */, + AB64890F80D91D9D7B92197D /* nl */, + 8C227CA761586744976C952D /* nn-NO */, + 1C94EE6DB0E3114A38DD9CFE /* pl-PL */, + 45C9A1A26405DEAD8E11F13D /* pt-BR */, + 2667E0E0C7DC6CDAF03F8B40 /* pt-PT */, + 9E4CF9A676A86169070DD54D /* ro-RO */, + 42454BA950282D9ADB9C6557 /* ru */, + 5969433D88B5BD3B7F56B2BD /* sk-SK */, + 88F89EC392AFBE060336B63F /* sl-SI */, + 89BBC06EC107C8BDEF79BB3D /* sv */, + 3938F9E3F0F267045D3FDDEB /* tr */, + 0BB35800FB840EFC76240DC7 /* vi */, + ADCB34B81919043FA35E8BC3 /* zh-Hans */, + A612DDE1110EA970BF69B33D /* zh-Hant */, + 4DA27FFBD426C871C5BD254E /* zh-HK */, ); name = Localizable.strings; sourceTree = ""; @@ -1082,148 +1110,103 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 3B2F4E092739CCFE008618CD /* Debug */ = { + 5EA7D712D38589E2EE95AB3A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3B2F4E1C2739CD59008618CD /* Project-Debug.xcconfig */; + baseConfigurationReference = 0197A1615C3FA86907CB6186 /* StripeCardScan-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + INFOPLIST_FILE = StripeCardScan/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-card-scan"; + PRODUCT_NAME = StripeCardScan; + SDKROOT = iphoneos; }; name = Debug; }; - 3B2F4E0A2739CCFE008618CD /* Release */ = { + 7F230CA2FE5A1AE4D1DC64D7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3B2F4E162739CD59008618CD /* Project-Release.xcconfig */; + baseConfigurationReference = 7DBB233BD36CBAE2700A4511 /* Project-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; }; - 3B2F4E0C2739CCFE008618CD /* Debug */ = { + DCF5B81249E77660231925A7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3B2F4E152739CD59008618CD /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = F1FCC855CCB0816414A4BEC1 /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = "$(SRCROOT)/StripeCardScan/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-card-scan"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripeCardScanTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCardScanTests; + PRODUCT_NAME = StripeCardScanTests; + SDKROOT = iphoneos; }; name = Debug; }; - 3B2F4E0D2739CCFE008618CD /* Release */ = { + EDDF50C51DE9D6BEF2ACB9E5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3B2F4E1D2739CD59008618CD /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = C264A676DA41344551BA6661 /* StripeCardScan-Release.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = "$(SRCROOT)/StripeCardScan/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + INFOPLIST_FILE = StripeCardScan/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-card-scan"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeCardScan; + SDKROOT = iphoneos; }; name = Release; }; - 3BD9805527430CCD00B09BCD /* Debug */ = { + EE63655B6AEB11CB8934D19B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3B2F4E142739CD59008618CD /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = A67EDE2BCCC081DEDD684AAC /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCardScanTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeCardScanTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCardScanTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeCardScanTests; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - 3BD9805627430CCD00B09BCD /* Release */ = { + FBC92FF6082EA51664498AE4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3B2F4E172739CD59008618CD /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = 14795A45279E8F328AB54920 /* Project-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCardScanTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCardScanTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3B2F4DF12739CCFD008618CD /* Build configuration list for PBXProject "StripeCardScan" */ = { + 3942B170A6D222D5B5128339 /* Build configuration list for PBXNativeTarget "StripeCardScan" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3B2F4E092739CCFE008618CD /* Debug */, - 3B2F4E0A2739CCFE008618CD /* Release */, + 5EA7D712D38589E2EE95AB3A /* Debug */, + EDDF50C51DE9D6BEF2ACB9E5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3B2F4E0B2739CCFE008618CD /* Build configuration list for PBXNativeTarget "StripeCardScan" */ = { + 89AE00D6B3B382DD3D3A3C70 /* Build configuration list for PBXNativeTarget "StripeCardScanTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3B2F4E0C2739CCFE008618CD /* Debug */, - 3B2F4E0D2739CCFE008618CD /* Release */, + DCF5B81249E77660231925A7 /* Debug */, + EE63655B6AEB11CB8934D19B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3BD9805427430CCD00B09BCD /* Build configuration list for PBXNativeTarget "StripeCardScanTests" */ = { + CBB5D42795303F47D9D5F2F5 /* Build configuration list for PBXProject "StripeCardScan" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3BD9805527430CCD00B09BCD /* Debug */, - 3BD9805627430CCD00B09BCD /* Release */, + FBC92FF6082EA51664498AE4 /* Debug */, + 7F230CA2FE5A1AE4D1DC64D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 3B2F4DEE2739CCFD008618CD /* Project object */; + rootObject = 9A6BF50E5B02355004AC6020 /* Project object */; } diff --git a/StripeCardScan/StripeCardScan.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripeCardScan/StripeCardScan.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripeCardScan/StripeCardScan.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripeCardScan/StripeCardScan.xcodeproj/xcshareddata/xcschemes/StripeCardScan.xcscheme b/StripeCardScan/StripeCardScan.xcodeproj/xcshareddata/xcschemes/StripeCardScan.xcscheme index 2b7aa885c67..be21f1df30d 100644 --- a/StripeCardScan/StripeCardScan.xcodeproj/xcshareddata/xcschemes/StripeCardScan.xcscheme +++ b/StripeCardScan/StripeCardScan.xcodeproj/xcshareddata/xcschemes/StripeCardScan.xcscheme @@ -1,6 +1,6 @@ @@ -27,12 +27,21 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -50,6 +59,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + diff --git a/StripeCore/Project.swift b/StripeCore/Project.swift new file mode 100644 index 00000000000..032e7a73424 --- /dev/null +++ b/StripeCore/Project.swift @@ -0,0 +1,13 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripeCore", + resources: "StripeCore/Resources/**", + testUtilsOptions: .testOptions( + resources: "StripeCoreTestUtils/Mock Files/**", + includesSnapshots: true, + usesStubs: true + ), + unitTestOptions: .testOptions(resources: "StripeCoreTests/Mock Files/**") +) diff --git a/StripeCore/StripeCore.xcodeproj/project.pbxproj b/StripeCore/StripeCore.xcodeproj/project.pbxproj index 9da0c1ef93a..abd668de37d 100644 --- a/StripeCore/StripeCore.xcodeproj/project.pbxproj +++ b/StripeCore/StripeCore.xcodeproj/project.pbxproj @@ -7,128 +7,155 @@ objects = { /* Begin PBXBuildFile section */ - 310AF470271E12F6007339F4 /* Dictionary+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310AF46F271E12F6007339F4 /* Dictionary+Stripe.swift */; }; - 31138E7A28DCD876008AF554 /* FraudDetectionData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31138E7828DCD876008AF554 /* FraudDetectionData.swift */; }; - 31138E7B28DCD876008AF554 /* STPTelemetryClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31138E7928DCD876008AF554 /* STPTelemetryClient.swift */; }; - 31138E7D28DCD95A008AF554 /* UserDefaults+PaymentsCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31138E7C28DCD95A008AF554 /* UserDefaults+PaymentsCore.swift */; }; - 3126570327B4852600D2F8A8 /* URLRequest+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3126570227B4852600D2F8A8 /* URLRequest+StripeTest.swift */; }; - 31337A4926E04B6A005C7E02 /* URLSession+Retry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31337A4826E04B6A005C7E02 /* URLSession+Retry.swift */; }; - 315BDBDF2788E2B4007BD11F /* STPDispatchFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 315BDBDE2788E2B4007BD11F /* STPDispatchFunctions.swift */; }; - 3160673F2804DA6C0082B148 /* StripeJSONShared.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3160673E2804DA6C0082B148 /* StripeJSONShared.swift */; }; - 31606741280609840082B148 /* UnknownFields.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31606740280609840082B148 /* UnknownFields.swift */; }; - 31606743280768EB0082B148 /* STPSnapshotVerifyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31606742280768EB0082B148 /* STPSnapshotVerifyView.swift */; }; - 317C4FE0275FF44D003771D7 /* InstallMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317C4FDF275FF44D003771D7 /* InstallMethod.swift */; }; - 319E36582719EBF700460867 /* ServerErrorMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 319E36572719EBF700460867 /* ServerErrorMapper.swift */; }; - 31A5269226C46D9600F8AB59 /* STPAppInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A5269126C46D9500F8AB59 /* STPAppInfo.swift */; }; - 31A5269426C46E2C00F8AB59 /* StripeAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A5269326C46E2C00F8AB59 /* StripeAPI.swift */; }; - 31A5269C26C478B000F8AB59 /* StripeServiceError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A5269B26C478B000F8AB59 /* StripeServiceError.swift */; }; - 31A5269E26C4796400F8AB59 /* StripeError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A5269D26C4796400F8AB59 /* StripeError.swift */; }; - 31AEABAF27BED97A000FB845 /* StripeJSONDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31AEABAE27BED97A000FB845 /* StripeJSONDecoder.swift */; }; - 31AEABB227BEDA03000FB845 /* TestJSONEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31AEABB127BEDA03000FB845 /* TestJSONEncoder.swift */; }; - 31AEABB427BEDB49000FB845 /* StripeJSONEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31AEABB327BEDB49000FB845 /* StripeJSONEncoder.swift */; }; - 31B49E9E26E951EB00A0464A /* STPAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31B49E9D26E951EB00A0464A /* STPAPIClient.swift */; }; - 31B49EA426E95DDA00A0464A /* STPURLCallbackHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31B49EA326E95DDA00A0464A /* STPURLCallbackHandler.swift */; }; - 31B49EA626E95E0600A0464A /* NSURLComponents+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31B49EA526E95E0600A0464A /* NSURLComponents+Stripe.swift */; }; - 31B4A0FF271F3FD200832DBD /* STPError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31B49EA926E9821100A0464A /* STPError.swift */; }; - 31DCB11728F4E763002EF128 /* PaymentsSDKVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB11628F4E763002EF128 /* PaymentsSDKVariant.swift */; }; - 31E6D962274444E300A89B6D /* STPNumericStringValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D961274444E300A89B6D /* STPNumericStringValidator.swift */; }; - 31E6D9642744451B00A89B6D /* NSCharacterSet+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6D9632744451B00A89B6D /* NSCharacterSet+StripeCore.swift */; }; - 31FDFF3226C5E37100E4B743 /* NSError+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31FDFF3126C5E37100E4B743 /* NSError+Stripe.swift */; }; - 363B92662743211C00BA52EC /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363B92652743211C00BA52EC /* Enums+CustomStringConvertible.swift */; }; - 3CD1D3A927C87191001575BB /* ConnectionsSDKInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CD1D3A827C87191001575BB /* ConnectionsSDKInterface.swift */; }; - 6142353626E12272004E4B37 /* AnalyticLoggableError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6142353526E12272004E4B37 /* AnalyticLoggableError.swift */; }; - 619E233526E9419700E06F1C /* Error_SerializeForLoggingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 619E233426E9419700E06F1C /* Error_SerializeForLoggingTest.swift */; }; - 61DF180C2707822300E5ED13 /* PluginDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61DF180B2707822300E5ED13 /* PluginDetector.swift */; }; - 6B08AB2228DE2AE900BF62E4 /* DownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B08AB2128DE2AE900BF62E4 /* DownloadManager.swift */; }; - 6B08AB2528DF707700BF62E4 /* DownloadManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B08AB2428DF707700BF62E4 /* DownloadManagerTest.swift */; }; - D0494A70273AF44900FEA715 /* UIImage+StripeCoreTestingUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0494A6F273AF44900FEA715 /* UIImage+StripeCoreTestingUtils.swift */; }; - D0CA3DA5279BE0CE00143B1C /* KeyPathExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CA3DA4279BE0CE00143B1C /* KeyPathExpectation.swift */; }; - E25440EC28F9C8BB00C6F5D3 /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = E25440EB28F9C8BB00C6F5D3 /* iOSSnapshotTestCase */; }; - E25440ED28F9C8BB00C6F5D3 /* iOSSnapshotTestCase in Embed Frameworks */ = {isa = PBXBuildFile; productRef = E25440EB28F9C8BB00C6F5D3 /* iOSSnapshotTestCase */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - E254411E28F9FBEB00C6F5D3 /* OHHTTPStubs in Frameworks */ = {isa = PBXBuildFile; productRef = E254411D28F9FBEB00C6F5D3 /* OHHTTPStubs */; }; - E254412028F9FBEB00C6F5D3 /* OHHTTPStubsSwift in Frameworks */ = {isa = PBXBuildFile; productRef = E254411F28F9FBEB00C6F5D3 /* OHHTTPStubsSwift */; }; - E28F2A0928E793B00026A860 /* STPAPIClient+ErrorResponseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E28F2A0828E793B00026A860 /* STPAPIClient+ErrorResponseTest.swift */; }; - E614ACA0268BE14B00C59B3D /* StripeAPIConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614AC96268BE14B00C59B3D /* StripeAPIConfiguration.swift */; }; - E614ACA1268BE14B00C59B3D /* STPAnalyticEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614AC98268BE14B00C59B3D /* STPAnalyticEvent.swift */; }; - E614ACA2268BE14B00C59B3D /* Analytic.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614AC99268BE14B00C59B3D /* Analytic.swift */; }; - E614ACA3268BE14B00C59B3D /* STPAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614AC9A268BE14B00C59B3D /* STPAnalyticsClient.swift */; }; - E614ACA4268BE14B00C59B3D /* NSBundle+Stripe_AppName.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614AC9C268BE14B00C59B3D /* NSBundle+Stripe_AppName.swift */; }; - E614ACA5268BE14B00C59B3D /* NSMutableURLRequest+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614AC9D268BE14B00C59B3D /* NSMutableURLRequest+Stripe.swift */; }; - E614ACA6268BE14B00C59B3D /* URLEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614AC9F268BE14B00C59B3D /* URLEncoder.swift */; }; - E61676FB284FFE3C00C9E44A /* AnalyticsClientV2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61676FA284FFE3C00C9E44A /* AnalyticsClientV2.swift */; }; - E616770628504E8900C9E44A /* MockAnalyticsClientV2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E616770528504E8900C9E44A /* MockAnalyticsClientV2.swift */; }; - E616770828505A2300C9E44A /* AnalyticsClientV2Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = E616770728505A2200C9E44A /* AnalyticsClientV2Test.swift */; }; - E61ADAA6270B92BD004ED998 /* UIView+StripeCoreTestingUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADAA5270B92BD004ED998 /* UIView+StripeCoreTestingUtils.swift */; }; - E61ADACB270E6146004ED998 /* NSArray+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADACA270E6146004ED998 /* NSArray+Stripe.swift */; }; - E61ADAD1270E6AD4004ED998 /* NSArray+StripeCoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADAD0270E6AD4004ED998 /* NSArray+StripeCoreTest.swift */; }; - E620C243269F9B210054DD6D /* STPDeviceUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6539B3F269E4D9200E05D26 /* STPDeviceUtils.swift */; }; - E6233B33269E62330062005D /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6FB9BB8268EA95F000FDB4F /* StripeCoreTestUtils.framework */; }; - E651289827A9CA8400586A1F /* FileDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = E651289727A9CA8400586A1F /* FileDownloader.swift */; }; - E6548DF92727863100F399B2 /* StripeCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A5268D26C46CFE00F8AB59 /* StripeCodable.swift */; }; - E6548EDA2728AE6B00F399B2 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6548ED92728AE6B00F399B2 /* XCTest.framework */; }; - E6548EDF2728AEBE00F399B2 /* APIStubbedTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548EDE2728AEBE00F399B2 /* APIStubbedTestCase.swift */; }; - E6548EE12728AED600F399B2 /* StripeCodableTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548EE02728AED600F399B2 /* StripeCodableTest.swift */; }; - E6548EE62728AFB400F399B2 /* TestConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548EE52728AFB400F399B2 /* TestConstants.swift */; }; - E6548EE82728D39600F399B2 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548EE72728D39500F399B2 /* Async.swift */; }; - E6548EF22729BDD700F399B2 /* MockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548EF12729BDD700F399B2 /* MockData.swift */; }; - E6548F7F27339FB100F399B2 /* XCTestCase+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F7E27339FB100F399B2 /* XCTestCase+Stripe.swift */; }; - E6598C8126952BC500278740 /* STPLocalizationUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6598C7E26952BC500278740 /* STPLocalizationUtils.swift */; }; - E6598C8F269615E000278740 /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6598C8E269615E000278740 /* STPLocalizedString.swift */; }; - E6598CAC2696177B00278740 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E6598C922696177B00278740 /* Localizable.strings */; }; - E65C44BE273B9DA000F753BC /* STPMultipartFormDataPart.swift in Sources */ = {isa = PBXBuildFile; fileRef = E65C44BD273B9DA000F753BC /* STPMultipartFormDataPart.swift */; }; - E65C44C0273B9DB500F753BC /* STPMultipartFormDataEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E65C44BF273B9DB500F753BC /* STPMultipartFormDataEncoder.swift */; }; - E65C44C4273BA03300F753BC /* StripeFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = E65C44C3273BA03300F753BC /* StripeFile.swift */; }; - E65C44C6273C481200F753BC /* UIImage+StripeCoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E65C44C5273C481200F753BC /* UIImage+StripeCoreTests.swift */; }; - E65C44C9273C53D600F753BC /* test_image.png in Resources */ = {isa = PBXBuildFile; fileRef = E65C44C8273C53D500F753BC /* test_image.png */; }; - E666DF21273B9C8300638B60 /* STPAPIClient+FileUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666DF20273B9C8300638B60 /* STPAPIClient+FileUpload.swift */; }; - E666DF26273B9D0200638B60 /* UIImage+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666DF25273B9D0200638B60 /* UIImage+StripeCore.swift */; }; - E66784B126980677005F7CC8 /* StripeCoreBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66784AF26980677005F7CC8 /* StripeCoreBundleLocator.swift */; }; - E66784B226980677005F7CC8 /* BundleLocatorProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66784B026980677005F7CC8 /* BundleLocatorProtocol.swift */; }; - E67377492808FD0C00DF966B /* Decimal+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67377482808FD0C00DF966B /* Decimal+StripeCore.swift */; }; - E6752D7826F413A00062B821 /* String+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D7726F413A00062B821 /* String+StripeCore.swift */; }; - E67A1E632740525500977F63 /* File_IdentityDocument.json in Resources */ = {isa = PBXBuildFile; fileRef = E67A1E6027404FD500977F63 /* File_IdentityDocument.json */; }; - E681E5662698EC9700692E45 /* NSError+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E681E5652698EC9700692E45 /* NSError+StripeCore.swift */; }; - E69D640526855B260090B43D /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E69D63FB26855B250090B43D /* StripeCore.framework */; }; - E69D640C26855B260090B43D /* StripeCore.h in Headers */ = {isa = PBXBuildFile; fileRef = E69D63FE26855B250090B43D /* StripeCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E6A36A5F26BB404A002A4427 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A36A5E26BB404A002A4427 /* String+Localized.swift */; }; - E6AF1ED7269FD8510091BE99 /* UIFont+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1ED6269FD8510091BE99 /* UIFont+Stripe.swift */; }; - E6AF1EDB269FD9030091BE99 /* UIActivityIndicatorView+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EDA269FD9030091BE99 /* UIActivityIndicatorView+Stripe.swift */; }; - E6CDC469269E81CD0020A962 /* MockAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6FB9BAA268EA7E1000FDB4F /* MockAnalyticsClient.swift */; }; - E6D5DCEC285BD9B300BE669E /* Dictionary+StripeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6D5DCEB285BD9B300BE669E /* Dictionary+StripeTests.swift */; }; - E6E38EE8268BE48300233B24 /* StripeAPIConfiguration+Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E38EE7268BE48300233B24 /* StripeAPIConfiguration+Version.swift */; }; - E6FB9BAF268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6FB9BAE268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift */; }; - E6FB9BB2268EA911000FDB4F /* STPAnalyticsClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6FB9BB1268EA911000FDB4F /* STPAnalyticsClientTest.swift */; }; - E6FB9BBC268EA95F000FDB4F /* StripeCoreTestUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E6FB9BBA268EA95F000FDB4F /* StripeCoreTestUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E6FB9BC5268EAEF3000FDB4F /* URLEncoderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6FB9BC4268EAEF3000FDB4F /* URLEncoderTest.swift */; }; - F338B9832748809200E9323D /* EmptyResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = F338B9822748809200E9323D /* EmptyResponse.swift */; }; - F357A44C278914C400ABCF66 /* STPAPIClient+EmptyResponseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F357A44B278914C400ABCF66 /* STPAPIClient+EmptyResponseTest.swift */; }; + 02A26B79617FAE660C9EB506 /* StripeError.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEC0AF5BF0A4799D2C0C7445 /* StripeError.swift */; }; + 0709F5D265CC641E6DE1011D /* URLSession+Retry.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B76840742D2CAF2931355A /* URLSession+Retry.swift */; }; + 08871FCD9E9E47681135431B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54D4E87D67740BF3C05638FD /* XCTest.framework */; }; + 096274D0729AA8849FAD103C /* PaymentsSDKVariant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FFB15A6996F610D627A42B3 /* PaymentsSDKVariant.swift */; }; + 0A78AD04075C43A4059C344E /* STPAnalyticsClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B16FDA9232BD4FBD4B13EC2 /* STPAnalyticsClientTest.swift */; }; + 0F4A1BAE6774B90C72F578CC /* MockAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2C7099CB854E1E90424235C /* MockAnalyticsClient.swift */; }; + 12FF091C555F75B914464475 /* STPMultipartFormDataEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34D803C2F907529E780B0296 /* STPMultipartFormDataEncoder.swift */; }; + 17CE96B50813CF626293CBF9 /* URLEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C51179DB520568C246BF3AF0 /* URLEncoder.swift */; }; + 2991461DD354A6124CCF78DA /* STPLocalizationUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 325E8108336F1178A10D139C /* STPLocalizationUtils.swift */; }; + 2AA9B01C8A2D2BADC4619629 /* NSCharacterSet+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC5151C3B6CB4130E9C259A6 /* NSCharacterSet+StripeCore.swift */; }; + 2B98F4F0120888B12EF3B181 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = CFF68ABB8E67E83695FAD8EA /* Localizable.strings */; }; + 2D7A4FDBED7E3FA3D17BBB54 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40A77DE176741B3A542FE890 /* StripeCore.framework */; }; + 330FDCF901D11882D4866DDE /* APIStubbedTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF82F68E8D3A8286FD31DB13 /* APIStubbedTestCase.swift */; }; + 3815D229613D52D7799805B0 /* AnalyticsClientV2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192E71FE64C5FDE929992CC4 /* AnalyticsClientV2.swift */; }; + 3B27DDDDC91F1599BF1469BB /* UserDefaults+PaymentsCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F11FF08733CF61D880640D /* UserDefaults+PaymentsCore.swift */; }; + 3B9D69AB1CB61725C7A012B6 /* StripeServiceError.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCF062352C38A5173260C46A /* StripeServiceError.swift */; }; + 3D90376B1883E4BE64712197 /* MockAnalyticsClientV2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27EB57C159E5F10F50D071E5 /* MockAnalyticsClientV2.swift */; }; + 3E9FC2CD06E1D5F6B09872E9 /* AnalyticsClientV2Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 440D8DFB25A1F7FBC01BE1D7 /* AnalyticsClientV2Test.swift */; }; + 3F275B08EB554772F2FE4E4E /* DownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 762C486BE5DDF9B3BE7B3F45 /* DownloadManager.swift */; }; + 40AF3B2EB6B82C9A4DD61033 /* OHHTTPStubs in Frameworks */ = {isa = PBXBuildFile; productRef = 9AB19C81E50535A3407582B7 /* OHHTTPStubs */; }; + 42DE35681C71A931F65E0E7D /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A8030BF88608CA86E295F18 /* Enums+CustomStringConvertible.swift */; }; + 44DE84C8BFB403E1FB7E2E82 /* StripeJSONDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B3D6ADD516777DE13E79792 /* StripeJSONDecoder.swift */; }; + 4506A7016EA7C45796D3A30D /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 758B9C9C2252A91FE4221702 /* STPLocalizedString.swift */; }; + 45DAE581F74EF7E11C64212B /* InstallMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21E64986F72C7BD8B1105A95 /* InstallMethod.swift */; }; + 48A6CCB4008A5060C2655C5F /* XCTestCase+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DE48D0086BED21F9E837D0B /* XCTestCase+Stripe.swift */; }; + 4B2FAC57E03D8654A177C408 /* Dictionary+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7727AEEFD2FC880BADDA1872 /* Dictionary+Stripe.swift */; }; + 53D46A03B77577EE21F4B166 /* StripeCodableTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FCE36551600C3E53BEAF8F0 /* StripeCodableTest.swift */; }; + 552DA7969984C443617DBC3E /* STPMultipartFormDataPart.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1C72BA9C44FF60A0E7BEF76 /* STPMultipartFormDataPart.swift */; }; + 5553D952F91D193D453D777D /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77CAB1A5AC107D8756CA1CBF /* Async.swift */; }; + 563A42FA383FA9AA5FA4CDCE /* String+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7507497162F5684AEA59E301 /* String+StripeCore.swift */; }; + 59CA874015261241AC255907 /* FileDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1C174081A48DD86978D270D /* FileDownloader.swift */; }; + 5E807567D7320A7D512127AF /* StripeCore.h in Headers */ = {isa = PBXBuildFile; fileRef = E60F4A38EEF5EA11568B3A64 /* StripeCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 62FD088E003BE06F5413FB4F /* StripeCoreBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEA5353BC5359E08128E116A /* StripeCoreBundleLocator.swift */; }; + 631D09E67497B49BBCA26192 /* UIView+StripeCoreTestingUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4E4C534285F49A97A04D2B8 /* UIView+StripeCoreTestingUtils.swift */; }; + 677951C643328D76E46720A5 /* StripeAPIConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32CB3702691056D3404A8C5F /* StripeAPIConfiguration.swift */; }; + 6A52ABC06783A90B9E339948 /* StripeFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73CE623A81057C4063A1E0C4 /* StripeFile.swift */; }; + 6B4156FCFAEDD1C73DC6EDAD /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = 23D22B2C40BA7C182BCE50B2 /* iOSSnapshotTestCase */; }; + 6D68B868938BAB15A843B33C /* TestJSONEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF290DF69F5FD1004BBDECA /* TestJSONEncoder.swift */; }; + 6ED5C41DBDAB475BF1119E98 /* UnknownFields.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64635404BD4D5D62486A7626 /* UnknownFields.swift */; }; + 700E9DAD0407455F11F9F03E /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A4F598BF353D8335B0340D5 /* StripeCoreTestUtils.framework */; }; + 71CD1AE29AA09552DF61131E /* StripeJSONShared.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86C675ABC9D68378DC699DED /* StripeJSONShared.swift */; }; + 72DA29CA8A750E8B00DBF3D4 /* STPError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C51E3FA5EE3587BB7BBC634 /* STPError.swift */; }; + 766FE8E61B44967F057ED424 /* AnalyticLoggableError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B890F162E1C247D5CA1A9E6 /* AnalyticLoggableError.swift */; }; + 772292156A4A80CEA9D9C487 /* ConnectionsSDKInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EC3BCEEECB3E1485B18F0C4 /* ConnectionsSDKInterface.swift */; }; + 79DA4102C501FC2E53D946B5 /* STPAPIClient+ErrorResponseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84E70193A9CA42A0C53E48C1 /* STPAPIClient+ErrorResponseTest.swift */; }; + 8310D598D6D40BAD23880D3F /* StripeCoreTestUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = C666CC926642D7AA76E75B5B /* StripeCoreTestUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83790210FFC2DD764C042C8E /* STPDispatchFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 591E592C9F3E5D4CB08A1847 /* STPDispatchFunctions.swift */; }; + 838BDB53C4F6AC3C0567DE6A /* KeyPathExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 561E5F74D9E5676F6E72E93F /* KeyPathExpectation.swift */; }; + 84487D8E9B08106C89753536 /* Error_SerializeForLoggingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3CA4B1855BF8D2F08F275A9 /* Error_SerializeForLoggingTest.swift */; }; + 87274985CE5E750FA8D34648 /* EmptyResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00D8E07F0DDBA1577A52156C /* EmptyResponse.swift */; }; + 87536D729B8201085E380C32 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54D4E87D67740BF3C05638FD /* XCTest.framework */; }; + 89DB623A200678B4E9845AF2 /* FraudDetectionData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E919FBEB852CFEA9517FCBDC /* FraudDetectionData.swift */; }; + 8AD68C8D00A0BCF94E5230DC /* UIImage+StripeCoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D28769EBA666E0BDFC69954F /* UIImage+StripeCoreTests.swift */; }; + 917B4E193E5A1233F1A2E80E /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40A77DE176741B3A542FE890 /* StripeCore.framework */; }; + 920832EE256E377572DD41EB /* STPTelemetryClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = A466F6075DCC39D5A976FB22 /* STPTelemetryClient.swift */; }; + 934CCB00769674F13192A126 /* Dictionary+StripeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34895253739089BC125D2625 /* Dictionary+StripeTests.swift */; }; + 9504F199974F5AF7931A8485 /* DownloadManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D013DA69A308F6E0972B998 /* DownloadManagerTest.swift */; }; + 95156E152471058151076A51 /* Analytic.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABF11F814A986AA710410FF8 /* Analytic.swift */; }; + 970D95FEA3BC216351DE3C5E /* StripeJSONEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD027F7695EC6F59CF32F4B9 /* StripeJSONEncoder.swift */; }; + 97D0B2120678A75F75648D84 /* STPAppInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9077630E4A5307B83B4BA19E /* STPAppInfo.swift */; }; + 9843D9B7D886C373C7AC71E4 /* NSMutableURLRequest+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BD3D02EBA8A732A9C832925 /* NSMutableURLRequest+Stripe.swift */; }; + 9DCBC08C182ED76A962961E7 /* NSURLComponents+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = D475CD59778FAC1028670AB5 /* NSURLComponents+Stripe.swift */; }; + 9FBA50345D53E82AA974F672 /* STPAPIClient+FileUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FC2FC535DAF9B340F9EA75 /* STPAPIClient+FileUpload.swift */; }; + A454F368C505B2D80F0D8B19 /* PluginDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CDBCD70CB220014972B49A5 /* PluginDetector.swift */; }; + A4DBBFD379C4E0120BD25C56 /* STPAPIClient+EmptyResponseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC70CDF482E22A29B11466F7 /* STPAPIClient+EmptyResponseTest.swift */; }; + A50CB2ACAC1DCF9539D76F25 /* NSArray+StripeCoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F2949BE5129DC4BBCD69B05 /* NSArray+StripeCoreTest.swift */; }; + A62AEDF871AC89489FE19A13 /* ServerErrorMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C188AD8AE244CD6076679095 /* ServerErrorMapper.swift */; }; + A987DFFA404EBD0788DAB21A /* UIImage+StripeCoreTestingUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1678E0A16D46DA2B4D3B3ECD /* UIImage+StripeCoreTestingUtils.swift */; }; + AE26BFFBE9B1242E10CA052F /* STPAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DD5B6F1152FD1C4A508A103 /* STPAnalyticsClient.swift */; }; + B35FD03DD246CC4DD6C4F3C0 /* Decimal+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06A516593E48DCFD5D98D702 /* Decimal+StripeCore.swift */; }; + B6D129B2DC90FA1F8A1F5BCB /* UIActivityIndicatorView+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 599C8A64EB3988BCE32E2B05 /* UIActivityIndicatorView+Stripe.swift */; }; + C164984958CDC2C9CA4B6316 /* STPAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F9ED2ADD9406CF7534BB6C9 /* STPAPIClient.swift */; }; + C318A6B6CD599B06DA7CE706 /* NSBundle+Stripe_AppName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E852B53CF75A119D3810B41 /* NSBundle+Stripe_AppName.swift */; }; + C5BF4B8AE85FF72EC6382EC0 /* NSError+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E415507B0152B07796114CC /* NSError+Stripe.swift */; }; + C7C0EC68130760F73201F81B /* StripeCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49424775D3233411D9C2473B /* StripeCodable.swift */; }; + C9B6C451F9A46C9FB031CE95 /* STPURLCallbackHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7647C1B64CA0F0087327413 /* STPURLCallbackHandler.swift */; }; + C9C320ADCCF1548D6562CE94 /* File_IdentityDocument.json in Resources */ = {isa = PBXBuildFile; fileRef = DC24A98C4020646F99456187 /* File_IdentityDocument.json */; }; + CA09DC1EC4142701B31F9673 /* UIImage+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45D4100901F9445AC1FD453A /* UIImage+StripeCore.swift */; }; + CAF857D45689FBEF17627E80 /* BundleLocatorProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 937066801E91C99C50192364 /* BundleLocatorProtocol.swift */; }; + CB1FB2383FAEE0194C39E4DE /* OHHTTPStubsSwift in Frameworks */ = {isa = PBXBuildFile; productRef = E86AC7DD5F4DE2780E0AC425 /* OHHTTPStubsSwift */; }; + CB8A47A5FD057112CB607DE9 /* MockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5334916D2A4F927645C2569 /* MockData.swift */; }; + D144C3A657E5C16975CB2191 /* NSError+StripeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23506F3E93ECA5A96DCE7E31 /* NSError+StripeCore.swift */; }; + D22FAB2F1AE9AE43C1808747 /* StripeAPIConfiguration+Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F1BFF01B1EA57F6EA7BFBF1 /* StripeAPIConfiguration+Version.swift */; }; + D8FEF16798A791F5BF7EA4B2 /* NSArray+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21608B7BC24190523363CB3D /* NSArray+Stripe.swift */; }; + DA5A05459309B9B77ACDD736 /* STPDeviceUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C2AA21DAF340432CA98C67C /* STPDeviceUtils.swift */; }; + DAD4099D03E43A0CA89464CD /* StripeAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4336F071B0CE13306C8EB93 /* StripeAPI.swift */; }; + DF1EC524A1915E344687F5AC /* UIFont+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EAF12F161469C070B822369 /* UIFont+Stripe.swift */; }; + DFF3092E51B6C3ED81AB1448 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FF688F66CD047D08B3AE0CB /* String+Localized.swift */; }; + E2B25D45D457A76A782D9089 /* STPAnalyticEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B6C28853EF0316366FB8DC4 /* STPAnalyticEvent.swift */; }; + E344C20A07D8B8F33B530974 /* TestConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B2A342F16484705840F1B5 /* TestConstants.swift */; }; + EFE476BA387E91BE1D5D3E1D /* URLRequest+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B75708617FB765AB211FD9A /* URLRequest+StripeTest.swift */; }; + EFF90360C85642F7F2898186 /* URLEncoderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F2E1D80D0342CF09CB05415 /* URLEncoderTest.swift */; }; + F5DB5D52E2668136FF6D70D6 /* NSMutableURLRequest+StripeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66CC52EF207F05E0EFAEACD8 /* NSMutableURLRequest+StripeTest.swift */; }; + F628BBE9FDA9D3A217ACA753 /* STPNumericStringValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D856053F99E32515DEDD8EDF /* STPNumericStringValidator.swift */; }; + FCACE815CE9073F3FE18C185 /* test_image.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB1E5F31B0941D8B096B360 /* test_image.png */; }; + FF5B9F1861A1DB4C2605BBD8 /* STPSnapshotVerifyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0EF38A1DE6515748EC7515A /* STPSnapshotVerifyView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - E69D640626855B260090B43D /* PBXContainerItemProxy */ = { + 773BD5B9B4846D879C13CFE1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = E69D63F226855B250090B43D /* Project object */; + containerPortal = CBF07079FA432D2BFCE24022 /* Project object */; proxyType = 1; - remoteGlobalIDString = E69D63FA26855B250090B43D; + remoteGlobalIDString = 3E987A4F06C4DE962E9F3CB8; + remoteInfo = StripeCoreTestUtils; + }; + 7FEF9BDDDD738CE997EC053B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CBF07079FA432D2BFCE24022 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7877B31445857B119EA45445; remoteInfo = StripeCore; }; - E6FB9BC2268EAA21000FDB4F /* PBXContainerItemProxy */ = { + E1EC5611DA9FE94C4E0EF3A8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = E69D63F226855B250090B43D /* Project object */; + containerPortal = CBF07079FA432D2BFCE24022 /* Project object */; proxyType = 1; - remoteGlobalIDString = E69D63FA26855B250090B43D; + remoteGlobalIDString = 7877B31445857B119EA45445; remoteInfo = StripeCore; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - E200237128F8D51F001C02D4 /* Embed Frameworks */ = { + 18178F9338B4379A125C292F /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 5D04C08A37B43A01ADAAA114 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 5F3E583CF98B20ACEDBC39ED /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - E25440ED28F9C8BB00C6F5D3 /* iOSSnapshotTestCase in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -136,904 +163,897 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 310AF46F271E12F6007339F4 /* Dictionary+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+Stripe.swift"; sourceTree = ""; }; - 31138E7828DCD876008AF554 /* FraudDetectionData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FraudDetectionData.swift; sourceTree = ""; }; - 31138E7928DCD876008AF554 /* STPTelemetryClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPTelemetryClient.swift; sourceTree = ""; }; - 31138E7C28DCD95A008AF554 /* UserDefaults+PaymentsCore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UserDefaults+PaymentsCore.swift"; sourceTree = ""; }; - 3126570227B4852600D2F8A8 /* URLRequest+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "URLRequest+StripeTest.swift"; sourceTree = ""; }; - 31337A4826E04B6A005C7E02 /* URLSession+Retry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URLSession+Retry.swift"; sourceTree = ""; }; - 315BDBDE2788E2B4007BD11F /* STPDispatchFunctions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPDispatchFunctions.swift; sourceTree = ""; }; - 3160673E2804DA6C0082B148 /* StripeJSONShared.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeJSONShared.swift; sourceTree = ""; }; - 31606740280609840082B148 /* UnknownFields.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnknownFields.swift; sourceTree = ""; }; - 31606742280768EB0082B148 /* STPSnapshotVerifyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSnapshotVerifyView.swift; sourceTree = ""; }; - 317C4FDF275FF44D003771D7 /* InstallMethod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstallMethod.swift; sourceTree = ""; }; - 319E36572719EBF700460867 /* ServerErrorMapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerErrorMapper.swift; sourceTree = ""; }; - 31A5268D26C46CFE00F8AB59 /* StripeCodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeCodable.swift; sourceTree = ""; }; - 31A5269126C46D9500F8AB59 /* STPAppInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAppInfo.swift; sourceTree = ""; }; - 31A5269326C46E2C00F8AB59 /* StripeAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeAPI.swift; sourceTree = ""; }; - 31A5269526C46EBD00F8AB59 /* STPURLCallbackHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPURLCallbackHandler.swift; sourceTree = ""; }; - 31A5269B26C478B000F8AB59 /* StripeServiceError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeServiceError.swift; sourceTree = ""; }; - 31A5269D26C4796400F8AB59 /* StripeError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeError.swift; sourceTree = ""; }; - 31AEABAE27BED97A000FB845 /* StripeJSONDecoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeJSONDecoder.swift; sourceTree = ""; }; - 31AEABB127BEDA03000FB845 /* TestJSONEncoder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestJSONEncoder.swift; sourceTree = ""; }; - 31AEABB327BEDB49000FB845 /* StripeJSONEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeJSONEncoder.swift; sourceTree = ""; }; - 31B49E9D26E951EB00A0464A /* STPAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAPIClient.swift; sourceTree = ""; }; - 31B49EA126E9528200A0464A /* STPAppInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAppInfo.swift; sourceTree = ""; }; - 31B49EA326E95DDA00A0464A /* STPURLCallbackHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPURLCallbackHandler.swift; sourceTree = ""; }; - 31B49EA526E95E0600A0464A /* NSURLComponents+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSURLComponents+Stripe.swift"; sourceTree = ""; }; - 31B49EA926E9821100A0464A /* STPError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPError.swift; sourceTree = ""; }; - 31DCB11628F4E763002EF128 /* PaymentsSDKVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentsSDKVariant.swift; sourceTree = ""; }; - 31E6D961274444E300A89B6D /* STPNumericStringValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPNumericStringValidator.swift; sourceTree = ""; }; - 31E6D9632744451B00A89B6D /* NSCharacterSet+StripeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSCharacterSet+StripeCore.swift"; sourceTree = ""; }; - 31FDFF3126C5E37100E4B743 /* NSError+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSError+Stripe.swift"; sourceTree = ""; }; - 36064BA326D6E6F4002A8AAA /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BAB26D830B2002A8AAA /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BB226D83157002A8AAA /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BB926D832A3002A8AAA /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BC326D833B6002A8AAA /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BCB26D83492002A8AAA /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BD326D83524002A8AAA /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BDB26D835BB002A8AAA /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BE326D83630002A8AAA /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BEB26D836AD002A8AAA /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BF326D8378A002A8AAA /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BFB26D83834002A8AAA /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; - 363B92652743211C00BA52EC /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; - 36F4BC7B26C1BBDA001518CD /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC8426C1BCC2001518CD /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC9D26C1BDE8001518CD /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BCA526C1BE8E001518CD /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; - 3CD1D3A827C87191001575BB /* ConnectionsSDKInterface.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionsSDKInterface.swift; sourceTree = ""; }; - 6142353526E12272004E4B37 /* AnalyticLoggableError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticLoggableError.swift; sourceTree = ""; }; - 619E233426E9419700E06F1C /* Error_SerializeForLoggingTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error_SerializeForLoggingTest.swift; sourceTree = ""; }; - 61DF180B2707822300E5ED13 /* PluginDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginDetector.swift; sourceTree = ""; }; - 6B08AB2128DE2AE900BF62E4 /* DownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManager.swift; sourceTree = ""; }; - 6B08AB2428DF707700BF62E4 /* DownloadManagerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManagerTest.swift; sourceTree = ""; }; - D0494A6F273AF44900FEA715 /* UIImage+StripeCoreTestingUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+StripeCoreTestingUtils.swift"; sourceTree = ""; }; - D0CA3DA4279BE0CE00143B1C /* KeyPathExpectation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyPathExpectation.swift; sourceTree = ""; }; - E28F2A0828E793B00026A860 /* STPAPIClient+ErrorResponseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+ErrorResponseTest.swift"; sourceTree = ""; }; - E614AC96268BE14B00C59B3D /* StripeAPIConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StripeAPIConfiguration.swift; sourceTree = ""; }; - E614AC98268BE14B00C59B3D /* STPAnalyticEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAnalyticEvent.swift; sourceTree = ""; }; - E614AC99268BE14B00C59B3D /* Analytic.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Analytic.swift; sourceTree = ""; }; - E614AC9A268BE14B00C59B3D /* STPAnalyticsClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClient.swift; sourceTree = ""; }; - E614AC9C268BE14B00C59B3D /* NSBundle+Stripe_AppName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSBundle+Stripe_AppName.swift"; sourceTree = ""; }; - E614AC9D268BE14B00C59B3D /* NSMutableURLRequest+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSMutableURLRequest+Stripe.swift"; sourceTree = ""; }; - E614AC9F268BE14B00C59B3D /* URLEncoder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = URLEncoder.swift; sourceTree = ""; }; - E61676FA284FFE3C00C9E44A /* AnalyticsClientV2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsClientV2.swift; sourceTree = ""; }; - E616770528504E8900C9E44A /* MockAnalyticsClientV2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAnalyticsClientV2.swift; sourceTree = ""; }; - E616770728505A2200C9E44A /* AnalyticsClientV2Test.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsClientV2Test.swift; sourceTree = ""; }; - E61ADAA5270B92BD004ED998 /* UIView+StripeCoreTestingUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+StripeCoreTestingUtils.swift"; sourceTree = ""; }; - E61ADACA270E6146004ED998 /* NSArray+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSArray+Stripe.swift"; sourceTree = ""; }; - E61ADAD0270E6AD4004ED998 /* NSArray+StripeCoreTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSArray+StripeCoreTest.swift"; sourceTree = ""; }; - E651289727A9CA8400586A1F /* FileDownloader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileDownloader.swift; sourceTree = ""; }; - E6539B3F269E4D9200E05D26 /* STPDeviceUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPDeviceUtils.swift; sourceTree = ""; }; - E6548ED92728AE6B00F399B2 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - E6548EDE2728AEBE00F399B2 /* APIStubbedTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIStubbedTestCase.swift; sourceTree = ""; }; - E6548EE02728AED600F399B2 /* StripeCodableTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StripeCodableTest.swift; sourceTree = ""; }; - E6548EE52728AFB400F399B2 /* TestConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestConstants.swift; sourceTree = ""; }; - E6548EE72728D39500F399B2 /* Async.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Async.swift; sourceTree = ""; }; - E6548EF12729BDD700F399B2 /* MockData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockData.swift; sourceTree = ""; }; - E6548F7E27339FB100F399B2 /* XCTestCase+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "XCTestCase+Stripe.swift"; sourceTree = ""; }; - E6598C7E26952BC500278740 /* STPLocalizationUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPLocalizationUtils.swift; sourceTree = ""; }; - E6598C8E269615E000278740 /* STPLocalizedString.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; - E6598C932696177B00278740 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - E6598C942696177B00278740 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - E6598C952696177B00278740 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - E6598C962696177B00278740 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - E6598C972696177B00278740 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - E6598C982696177B00278740 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; - E6598C992696177B00278740 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - E6598C9A2696177B00278740 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - E6598C9B2696177B00278740 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - E6598C9C2696177B00278740 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - E6598C9D2696177B00278740 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - E6598C9E2696177B00278740 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - E6598C9F2696177B00278740 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - E6598CA02696177B00278740 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - E6598CA12696177B00278740 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - E6598CA22696177B00278740 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - E6598CA32696177B00278740 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - E6598CA42696177B00278740 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - E6598CA52696177B00278740 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - E6598CA62696177B00278740 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - E6598CA72696177B00278740 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - E6598CA82696177B00278740 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - E6598CA92696177B00278740 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - E6598CAA2696177B00278740 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - E6598CAB2696177B00278740 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - E65C44BD273B9DA000F753BC /* STPMultipartFormDataPart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMultipartFormDataPart.swift; sourceTree = ""; }; - E65C44BF273B9DB500F753BC /* STPMultipartFormDataEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMultipartFormDataEncoder.swift; sourceTree = ""; }; - E65C44C3273BA03300F753BC /* StripeFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeFile.swift; sourceTree = ""; }; - E65C44C5273C481200F753BC /* UIImage+StripeCoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+StripeCoreTests.swift"; sourceTree = ""; }; - E65C44C8273C53D500F753BC /* test_image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = test_image.png; sourceTree = ""; }; - E666DF20273B9C8300638B60 /* STPAPIClient+FileUpload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+FileUpload.swift"; sourceTree = ""; }; - E666DF25273B9D0200638B60 /* UIImage+StripeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+StripeCore.swift"; sourceTree = ""; }; - E66784AF26980677005F7CC8 /* StripeCoreBundleLocator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StripeCoreBundleLocator.swift; sourceTree = ""; }; - E66784B026980677005F7CC8 /* BundleLocatorProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BundleLocatorProtocol.swift; sourceTree = ""; }; - E67377482808FD0C00DF966B /* Decimal+StripeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Decimal+StripeCore.swift"; sourceTree = ""; }; - E6752D7726F413A00062B821 /* String+StripeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+StripeCore.swift"; sourceTree = ""; }; - E67A1E6027404FD500977F63 /* File_IdentityDocument.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = File_IdentityDocument.json; sourceTree = ""; }; - E681E5652698EC9700692E45 /* NSError+StripeCore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSError+StripeCore.swift"; sourceTree = ""; }; - E69D63FB26855B250090B43D /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E69D63FE26855B250090B43D /* StripeCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCore.h; sourceTree = ""; }; - E69D63FF26855B250090B43D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E69D640426855B260090B43D /* StripeCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - E69D640B26855B260090B43D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E69D641626855B9B0090B43D /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - E69D641726855B9B0090B43D /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - E69D641826855B9B0090B43D /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - E69D641926855B9B0090B43D /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - E69D641A26855B9B0090B43D /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - E69D641B26855B9B0090B43D /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - E69D641C26855B9B0090B43D /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - E69D641D26855B9B0090B43D /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - E69D641E26855B9B0090B43D /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - E69D641F26855B9B0090B43D /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - E6A36A5E26BB404A002A4427 /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; - E6AF1ED6269FD8510091BE99 /* UIFont+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIFont+Stripe.swift"; sourceTree = ""; }; - E6AF1EDA269FD9030091BE99 /* UIActivityIndicatorView+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIActivityIndicatorView+Stripe.swift"; sourceTree = ""; }; - E6D5DCEB285BD9B300BE669E /* Dictionary+StripeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+StripeTests.swift"; sourceTree = ""; }; - E6E38EE7268BE48300233B24 /* StripeAPIConfiguration+Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeAPIConfiguration+Version.swift"; sourceTree = ""; }; - E6FB9BAA268EA7E1000FDB4F /* MockAnalyticsClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockAnalyticsClient.swift; sourceTree = ""; }; - E6FB9BAE268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSMutableURLRequest+StripeTest.swift"; sourceTree = ""; }; - E6FB9BB1268EA911000FDB4F /* STPAnalyticsClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientTest.swift; sourceTree = ""; }; - E6FB9BB8268EA95F000FDB4F /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6FB9BBA268EA95F000FDB4F /* StripeCoreTestUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCoreTestUtils.h; sourceTree = ""; }; - E6FB9BBB268EA95F000FDB4F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E6FB9BC4268EAEF3000FDB4F /* URLEncoderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLEncoderTest.swift; sourceTree = ""; }; - F338B9822748809200E9323D /* EmptyResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyResponse.swift; sourceTree = ""; }; - F357A44B278914C400ABCF66 /* STPAPIClient+EmptyResponseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+EmptyResponseTest.swift"; sourceTree = ""; }; + 00D8E07F0DDBA1577A52156C /* EmptyResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyResponse.swift; sourceTree = ""; }; + 013DF1F8EC4A4FFA1A38B725 /* StripeCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 019EC578C08FE61F858E1F1F /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 02D48D61A84BE5788EA61E59 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 06A516593E48DCFD5D98D702 /* Decimal+StripeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Decimal+StripeCore.swift"; sourceTree = ""; }; + 0ACE2C3A8889C655E58EEA67 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 0B6C28853EF0316366FB8DC4 /* STPAnalyticEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticEvent.swift; sourceTree = ""; }; + 160FD8F504CCAC864C27AA62 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + 1678E0A16D46DA2B4D3B3ECD /* UIImage+StripeCoreTestingUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+StripeCoreTestingUtils.swift"; sourceTree = ""; }; + 181E67908573FC358CCED4BF /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + 192E71FE64C5FDE929992CC4 /* AnalyticsClientV2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsClientV2.swift; sourceTree = ""; }; + 1DD5B6F1152FD1C4A508A103 /* STPAnalyticsClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClient.swift; sourceTree = ""; }; + 1FCE36551600C3E53BEAF8F0 /* StripeCodableTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeCodableTest.swift; sourceTree = ""; }; + 2147B1CA0A1B65566D7AB7C6 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + 21608B7BC24190523363CB3D /* NSArray+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSArray+Stripe.swift"; sourceTree = ""; }; + 21E64986F72C7BD8B1105A95 /* InstallMethod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstallMethod.swift; sourceTree = ""; }; + 23506F3E93ECA5A96DCE7E31 /* NSError+StripeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSError+StripeCore.swift"; sourceTree = ""; }; + 27EB57C159E5F10F50D071E5 /* MockAnalyticsClientV2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAnalyticsClientV2.swift; sourceTree = ""; }; + 2B16FDA9232BD4FBD4B13EC2 /* STPAnalyticsClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAnalyticsClientTest.swift; sourceTree = ""; }; + 2B75708617FB765AB211FD9A /* URLRequest+StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URLRequest+StripeTest.swift"; sourceTree = ""; }; + 2BD3D02EBA8A732A9C832925 /* NSMutableURLRequest+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSMutableURLRequest+Stripe.swift"; sourceTree = ""; }; + 2DE48D0086BED21F9E837D0B /* XCTestCase+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "XCTestCase+Stripe.swift"; sourceTree = ""; }; + 2F1BFF01B1EA57F6EA7BFBF1 /* StripeAPIConfiguration+Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeAPIConfiguration+Version.swift"; sourceTree = ""; }; + 303695D2ECDFFCA9C1B68E53 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 31402722B97FC2D9A3A74E73 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + 325E8108336F1178A10D139C /* STPLocalizationUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizationUtils.swift; sourceTree = ""; }; + 32CB3702691056D3404A8C5F /* StripeAPIConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeAPIConfiguration.swift; sourceTree = ""; }; + 33A34DF206B0980BA1D2258F /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + 34895253739089BC125D2625 /* Dictionary+StripeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+StripeTests.swift"; sourceTree = ""; }; + 34D803C2F907529E780B0296 /* STPMultipartFormDataEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMultipartFormDataEncoder.swift; sourceTree = ""; }; + 3A4F598BF353D8335B0340D5 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3FECC037162676AF2E8DCAEC /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + 3FFB15A6996F610D627A42B3 /* PaymentsSDKVariant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentsSDKVariant.swift; sourceTree = ""; }; + 40A497A121A7C792624E7948 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + 40A77DE176741B3A542FE890 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 43D9EC920BB9059E0C652178 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + 440D8DFB25A1F7FBC01BE1D7 /* AnalyticsClientV2Test.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsClientV2Test.swift; sourceTree = ""; }; + 45D4100901F9445AC1FD453A /* UIImage+StripeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+StripeCore.swift"; sourceTree = ""; }; + 45F11FF08733CF61D880640D /* UserDefaults+PaymentsCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+PaymentsCore.swift"; sourceTree = ""; }; + 4689F6B4384244D9FD282560 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 48A3D6592296104A1512AE92 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 49424775D3233411D9C2473B /* StripeCodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeCodable.swift; sourceTree = ""; }; + 49538DBF8457D96707A2DA56 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 4A8030BF88608CA86E295F18 /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; + 4C51E3FA5EE3587BB7BBC634 /* STPError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPError.swift; sourceTree = ""; }; + 4EC3BCEEECB3E1485B18F0C4 /* ConnectionsSDKInterface.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionsSDKInterface.swift; sourceTree = ""; }; + 4FF290DF69F5FD1004BBDECA /* TestJSONEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestJSONEncoder.swift; sourceTree = ""; }; + 536085BA191EC2942523A7DB /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + 54D4E87D67740BF3C05638FD /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 561E5F74D9E5676F6E72E93F /* KeyPathExpectation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyPathExpectation.swift; sourceTree = ""; }; + 58D2EB990E533C5D42635676 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 591E592C9F3E5D4CB08A1847 /* STPDispatchFunctions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPDispatchFunctions.swift; sourceTree = ""; }; + 599C8A64EB3988BCE32E2B05 /* UIActivityIndicatorView+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIActivityIndicatorView+Stripe.swift"; sourceTree = ""; }; + 59EBF56CBE900B3EE80E73A5 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 5CE5D62D8BA864BFB38B70C5 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + 5EAF12F161469C070B822369 /* UIFont+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+Stripe.swift"; sourceTree = ""; }; + 625636EFF4844186C7A31FAF /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + 64635404BD4D5D62486A7626 /* UnknownFields.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnknownFields.swift; sourceTree = ""; }; + 66CC52EF207F05E0EFAEACD8 /* NSMutableURLRequest+StripeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSMutableURLRequest+StripeTest.swift"; sourceTree = ""; }; + 6CDBCD70CB220014972B49A5 /* PluginDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginDetector.swift; sourceTree = ""; }; + 6E852B53CF75A119D3810B41 /* NSBundle+Stripe_AppName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSBundle+Stripe_AppName.swift"; sourceTree = ""; }; + 6EEB07003465364DBAFA7DEB /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + 6F9ED2ADD9406CF7534BB6C9 /* STPAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAPIClient.swift; sourceTree = ""; }; + 73CE623A81057C4063A1E0C4 /* StripeFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeFile.swift; sourceTree = ""; }; + 7507497162F5684AEA59E301 /* String+StripeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+StripeCore.swift"; sourceTree = ""; }; + 758B9C9C2252A91FE4221702 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; + 762C486BE5DDF9B3BE7B3F45 /* DownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManager.swift; sourceTree = ""; }; + 7727AEEFD2FC880BADDA1872 /* Dictionary+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+Stripe.swift"; sourceTree = ""; }; + 77814365E9D13DD0A3EF0DCD /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + 77CAB1A5AC107D8756CA1CBF /* Async.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Async.swift; sourceTree = ""; }; + 794AB67D466C8947FB4A7CFE /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + 7B890F162E1C247D5CA1A9E6 /* AnalyticLoggableError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticLoggableError.swift; sourceTree = ""; }; + 7F2E1D80D0342CF09CB05415 /* URLEncoderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLEncoderTest.swift; sourceTree = ""; }; + 80C548FC21ABF10F4E88B0D0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 84E70193A9CA42A0C53E48C1 /* STPAPIClient+ErrorResponseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+ErrorResponseTest.swift"; sourceTree = ""; }; + 86C675ABC9D68378DC699DED /* StripeJSONShared.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeJSONShared.swift; sourceTree = ""; }; + 8B3D6ADD516777DE13E79792 /* StripeJSONDecoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeJSONDecoder.swift; sourceTree = ""; }; + 8CB1E5F31B0941D8B096B360 /* test_image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = test_image.png; sourceTree = ""; }; + 8D54A5C18C898B385629EB3D /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + 8F2949BE5129DC4BBCD69B05 /* NSArray+StripeCoreTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSArray+StripeCoreTest.swift"; sourceTree = ""; }; + 8FF688F66CD047D08B3AE0CB /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; + 9077630E4A5307B83B4BA19E /* STPAppInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAppInfo.swift; sourceTree = ""; }; + 918D27F150CD87E3A5E6F377 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + 937066801E91C99C50192364 /* BundleLocatorProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BundleLocatorProtocol.swift; sourceTree = ""; }; + 971D5A6F04E598041BE789EA /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + 9761FF113E3F940E2B2BEBB1 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + 9C2AA21DAF340432CA98C67C /* STPDeviceUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPDeviceUtils.swift; sourceTree = ""; }; + 9D013DA69A308F6E0972B998 /* DownloadManagerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManagerTest.swift; sourceTree = ""; }; + 9D4EB9EA1128F9DA9120BB04 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 9E415507B0152B07796114CC /* NSError+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSError+Stripe.swift"; sourceTree = ""; }; + A0FBC76F73C3791701072BBA /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + A4336F071B0CE13306C8EB93 /* StripeAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeAPI.swift; sourceTree = ""; }; + A466F6075DCC39D5A976FB22 /* STPTelemetryClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPTelemetryClient.swift; sourceTree = ""; }; + A4E4C534285F49A97A04D2B8 /* UIView+StripeCoreTestingUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+StripeCoreTestingUtils.swift"; sourceTree = ""; }; + A5334916D2A4F927645C2569 /* MockData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockData.swift; sourceTree = ""; }; + A619F83E71E5076329177CED /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + A626F821ECEB25DFC007DB71 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + A7647C1B64CA0F0087327413 /* STPURLCallbackHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPURLCallbackHandler.swift; sourceTree = ""; }; + AA435F92864CA975753865DF /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + AAE1CFBD0403500A5DCBDE71 /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + ABF11F814A986AA710410FF8 /* Analytic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Analytic.swift; sourceTree = ""; }; + ACBD856B96CD58D2938B3F02 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + ACCAA72D98FBC827A38282BB /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + AD027F7695EC6F59CF32F4B9 /* StripeJSONEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeJSONEncoder.swift; sourceTree = ""; }; + AF1FC608B88ACEA4C7438866 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + AF82F68E8D3A8286FD31DB13 /* APIStubbedTestCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIStubbedTestCase.swift; sourceTree = ""; }; + B3CA4B1855BF8D2F08F275A9 /* Error_SerializeForLoggingTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error_SerializeForLoggingTest.swift; sourceTree = ""; }; + B3F73CA77397EAE70480FF25 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + B8B76840742D2CAF2931355A /* URLSession+Retry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URLSession+Retry.swift"; sourceTree = ""; }; + BC5151C3B6CB4130E9C259A6 /* NSCharacterSet+StripeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSCharacterSet+StripeCore.swift"; sourceTree = ""; }; + BCF062352C38A5173260C46A /* StripeServiceError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeServiceError.swift; sourceTree = ""; }; + C188AD8AE244CD6076679095 /* ServerErrorMapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerErrorMapper.swift; sourceTree = ""; }; + C1C174081A48DD86978D270D /* FileDownloader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileDownloader.swift; sourceTree = ""; }; + C3DCE66C04A91C235972687D /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; + C51179DB520568C246BF3AF0 /* URLEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLEncoder.swift; sourceTree = ""; }; + C666CC926642D7AA76E75B5B /* StripeCoreTestUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCoreTestUtils.h; sourceTree = ""; }; + CB2721EE8E075E700FF3E58A /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; + CC70CDF482E22A29B11466F7 /* STPAPIClient+EmptyResponseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+EmptyResponseTest.swift"; sourceTree = ""; }; + CD9288E147B8C9D33CCB5045 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; + D0EF38A1DE6515748EC7515A /* STPSnapshotVerifyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSnapshotVerifyView.swift; sourceTree = ""; }; + D28769EBA666E0BDFC69954F /* UIImage+StripeCoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+StripeCoreTests.swift"; sourceTree = ""; }; + D475CD59778FAC1028670AB5 /* NSURLComponents+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSURLComponents+Stripe.swift"; sourceTree = ""; }; + D856053F99E32515DEDD8EDF /* STPNumericStringValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPNumericStringValidator.swift; sourceTree = ""; }; + DC24A98C4020646F99456187 /* File_IdentityDocument.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = File_IdentityDocument.json; sourceTree = ""; }; + DDFAA07C8EBB5F5A5AC00E54 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + DE5E5D17713B48931D84BF42 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + DEA5353BC5359E08128E116A /* StripeCoreBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeCoreBundleLocator.swift; sourceTree = ""; }; + E1C72BA9C44FF60A0E7BEF76 /* STPMultipartFormDataPart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMultipartFormDataPart.swift; sourceTree = ""; }; + E4B2A342F16484705840F1B5 /* TestConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestConstants.swift; sourceTree = ""; }; + E60F4A38EEF5EA11568B3A64 /* StripeCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeCore.h; sourceTree = ""; }; + E919FBEB852CFEA9517FCBDC /* FraudDetectionData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FraudDetectionData.swift; sourceTree = ""; }; + EA55726A0FE74A4D90A10C01 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + ECF3D265DCDD0D64F6D7E6B2 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + EDBE83430B8FE494EF2AB5F3 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + F2C7099CB854E1E90424235C /* MockAnalyticsClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAnalyticsClient.swift; sourceTree = ""; }; + F4FC2FC535DAF9B340F9EA75 /* STPAPIClient+FileUpload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+FileUpload.swift"; sourceTree = ""; }; + F66C883A10AA9BAB7456BF03 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + FEC0AF5BF0A4799D2C0C7445 /* StripeError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeError.swift; sourceTree = ""; }; + FEC4F08F659CDD39ED1A2BAC /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + FF816C87A745BA4F9186BDF5 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + FFCE8DD57B10BD3C56885EA5 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - E69D63F826855B250090B43D /* Frameworks */ = { + 36C2CC9FAA8CF079757D35A7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 87536D729B8201085E380C32 /* XCTest.framework in Frameworks */, + 917B4E193E5A1233F1A2E80E /* StripeCore.framework in Frameworks */, + 6B4156FCFAEDD1C73DC6EDAD /* iOSSnapshotTestCase in Frameworks */, + 40AF3B2EB6B82C9A4DD61033 /* OHHTTPStubs in Frameworks */, + CB1FB2383FAEE0194C39E4DE /* OHHTTPStubsSwift in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E69D640126855B260090B43D /* Frameworks */ = { + 4417A26336170F53277E168C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E6233B33269E62330062005D /* StripeCoreTestUtils.framework in Frameworks */, - E69D640526855B260090B43D /* StripeCore.framework in Frameworks */, + 08871FCD9E9E47681135431B /* XCTest.framework in Frameworks */, + 2D7A4FDBED7E3FA3D17BBB54 /* StripeCore.framework in Frameworks */, + 700E9DAD0407455F11F9F03E /* StripeCoreTestUtils.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6FB9BB5268EA95F000FDB4F /* Frameworks */ = { + BCAC06556AB210EEF302C16A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E6548EDA2728AE6B00F399B2 /* XCTest.framework in Frameworks */, - E254412028F9FBEB00C6F5D3 /* OHHTTPStubsSwift in Frameworks */, - E254411E28F9FBEB00C6F5D3 /* OHHTTPStubs in Frameworks */, - E25440EC28F9C8BB00C6F5D3 /* iOSSnapshotTestCase in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 31138E7728DCD854008AF554 /* Telemetry */ = { + 0B14FED7BBB8A76630B7C0D0 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 31138E7828DCD876008AF554 /* FraudDetectionData.swift */, - 31138E7C28DCD95A008AF554 /* UserDefaults+PaymentsCore.swift */, - 31138E7928DCD876008AF554 /* STPTelemetryClient.swift */, + 59EBF56CBE900B3EE80E73A5 /* Project-Debug.xcconfig */, + DDFAA07C8EBB5F5A5AC00E54 /* Project-Release.xcconfig */, + 9761FF113E3F940E2B2BEBB1 /* StripeiOS Tests-Debug.xcconfig */, + 33A34DF206B0980BA1D2258F /* StripeiOS Tests-Release.xcconfig */, + C3DCE66C04A91C235972687D /* StripeiOS-Debug.xcconfig */, + CB2721EE8E075E700FF3E58A /* StripeiOS-Release.xcconfig */, ); - path = Telemetry; + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; - 31AEABAB27BED956000FB845 /* Coder */ = { + 150799C744EFBDF77919FDCB /* Products */ = { isa = PBXGroup; children = ( - 31AEABAE27BED97A000FB845 /* StripeJSONDecoder.swift */, - 3160673E2804DA6C0082B148 /* StripeJSONShared.swift */, - 31AEABB327BEDB49000FB845 /* StripeJSONEncoder.swift */, - 31A5268D26C46CFE00F8AB59 /* StripeCodable.swift */, - 31606740280609840082B148 /* UnknownFields.swift */, + 40A77DE176741B3A542FE890 /* StripeCore.framework */, + 013DF1F8EC4A4FFA1A38B725 /* StripeCoreTests.xctest */, + 3A4F598BF353D8335B0340D5 /* StripeCoreTestUtils.framework */, ); - path = Coder; + name = Products; sourceTree = ""; }; - 31AEABB027BED9F6000FB845 /* External */ = { + 1726B28CF173B9D1D6426896 /* Categories */ = { isa = PBXGroup; children = ( - 31AEABB127BEDA03000FB845 /* TestJSONEncoder.swift */, + 1678E0A16D46DA2B4D3B3ECD /* UIImage+StripeCoreTestingUtils.swift */, + A4E4C534285F49A97A04D2B8 /* UIView+StripeCoreTestingUtils.swift */, ); - path = External; + path = Categories; sourceTree = ""; }; - 3CD1D39127C82C18001575BB /* Connections Bindings */ = { + 29DB7151F72CD0D44389A6C8 /* Helpers */ = { isa = PBXGroup; children = ( - 3CD1D3A827C87191001575BB /* ConnectionsSDKInterface.swift */, + 7F2E1D80D0342CF09CB05415 /* URLEncoderTest.swift */, ); - path = "Connections Bindings"; + path = Helpers; sourceTree = ""; }; - 6B08AB2028DE2AB200BF62E4 /* DownloadManager */ = { + 2D68CA76F251A29A4F5AD031 /* DownloadManager */ = { isa = PBXGroup; children = ( - 6B08AB2128DE2AE900BF62E4 /* DownloadManager.swift */, + 762C486BE5DDF9B3BE7B3F45 /* DownloadManager.swift */, ); path = DownloadManager; sourceTree = ""; }; - 6B08AB2328DF705800BF62E4 /* DownloadManager */ = { + 3A3F265C90373C3EF2F61523 /* Categories */ = { isa = PBXGroup; children = ( - 6B08AB2428DF707700BF62E4 /* DownloadManagerTest.swift */, + 34895253739089BC125D2625 /* Dictionary+StripeTests.swift */, + 8F2949BE5129DC4BBCD69B05 /* NSArray+StripeCoreTest.swift */, + 66CC52EF207F05E0EFAEACD8 /* NSMutableURLRequest+StripeTest.swift */, + D28769EBA666E0BDFC69954F /* UIImage+StripeCoreTests.swift */, ); - path = DownloadManager; + path = Categories; sourceTree = ""; }; - E614AC95268BE14B00C59B3D /* API Bindings */ = { + 4A2CD3EB30A5C54998ED92DD /* Mock Files */ = { isa = PBXGroup; children = ( - E666DF24273B9CE200638B60 /* Models */, - 31B49E9D26E951EB00A0464A /* STPAPIClient.swift */, - E666DF20273B9C8300638B60 /* STPAPIClient+FileUpload.swift */, - 31B49EA126E9528200A0464A /* STPAppInfo.swift */, - E65C44BF273B9DB500F753BC /* STPMultipartFormDataEncoder.swift */, - E65C44BD273B9DA000F753BC /* STPMultipartFormDataPart.swift */, - 31A5269326C46E2C00F8AB59 /* StripeAPI.swift */, - E614AC96268BE14B00C59B3D /* StripeAPIConfiguration.swift */, - E6E38EE7268BE48300233B24 /* StripeAPIConfiguration+Version.swift */, - 31A5269D26C4796400F8AB59 /* StripeError.swift */, - 31A5269B26C478B000F8AB59 /* StripeServiceError.swift */, - 31A5269126C46D9500F8AB59 /* STPAppInfo.swift */, + 8CB1E5F31B0941D8B096B360 /* test_image.png */, ); - path = "API Bindings"; + path = "Mock Files"; sourceTree = ""; }; - E614AC97268BE14B00C59B3D /* Analytics */ = { + 4AD775367138C40FE2C98BAF /* Connections Bindings */ = { isa = PBXGroup; children = ( - E614AC99268BE14B00C59B3D /* Analytic.swift */, - 6142353526E12272004E4B37 /* AnalyticLoggableError.swift */, - E614AC98268BE14B00C59B3D /* STPAnalyticEvent.swift */, - E614AC9A268BE14B00C59B3D /* STPAnalyticsClient.swift */, - 61DF180B2707822300E5ED13 /* PluginDetector.swift */, - E61676FA284FFE3C00C9E44A /* AnalyticsClientV2.swift */, + 4EC3BCEEECB3E1485B18F0C4 /* ConnectionsSDKInterface.swift */, ); - path = Analytics; + path = "Connections Bindings"; sourceTree = ""; }; - E614AC9B268BE14B00C59B3D /* Categories */ = { + 4D7125C790190CE509BBA3DF /* UI */ = { isa = PBXGroup; children = ( - 310AF46F271E12F6007339F4 /* Dictionary+Stripe.swift */, - 363B92652743211C00BA52EC /* Enums+CustomStringConvertible.swift */, - E61ADACA270E6146004ED998 /* NSArray+Stripe.swift */, - E614AC9C268BE14B00C59B3D /* NSBundle+Stripe_AppName.swift */, - 31FDFF3126C5E37100E4B743 /* NSError+Stripe.swift */, - E681E5652698EC9700692E45 /* NSError+StripeCore.swift */, - E614AC9D268BE14B00C59B3D /* NSMutableURLRequest+Stripe.swift */, - 31B49EA526E95E0600A0464A /* NSURLComponents+Stripe.swift */, - E6752D7726F413A00062B821 /* String+StripeCore.swift */, - 31E6D9632744451B00A89B6D /* NSCharacterSet+StripeCore.swift */, - E666DF25273B9D0200638B60 /* UIImage+StripeCore.swift */, - E67377482808FD0C00DF966B /* Decimal+StripeCore.swift */, + 599C8A64EB3988BCE32E2B05 /* UIActivityIndicatorView+Stripe.swift */, + 5EAF12F161469C070B822369 /* UIFont+Stripe.swift */, ); - path = Categories; + path = UI; sourceTree = ""; }; - E614AC9E268BE14B00C59B3D /* Helpers */ = { + 523A1ACB7F366E117F7FE2B4 /* Analytics */ = { isa = PBXGroup; children = ( - 317C4FDF275FF44D003771D7 /* InstallMethod.swift */, - E6548EE72728D39500F399B2 /* Async.swift */, - E66784B026980677005F7CC8 /* BundleLocatorProtocol.swift */, - 319E36572719EBF700460867 /* ServerErrorMapper.swift */, - 315BDBDE2788E2B4007BD11F /* STPDispatchFunctions.swift */, - E6539B3F269E4D9200E05D26 /* STPDeviceUtils.swift */, - 31B49EA926E9821100A0464A /* STPError.swift */, - 31A5269526C46EBD00F8AB59 /* STPURLCallbackHandler.swift */, - E66784AF26980677005F7CC8 /* StripeCoreBundleLocator.swift */, - 31DCB11628F4E763002EF128 /* PaymentsSDKVariant.swift */, - 31E6D961274444E300A89B6D /* STPNumericStringValidator.swift */, - E614AC9F268BE14B00C59B3D /* URLEncoder.swift */, - 31337A4826E04B6A005C7E02 /* URLSession+Retry.swift */, - 31B49EA326E95DDA00A0464A /* STPURLCallbackHandler.swift */, - E651289727A9CA8400586A1F /* FileDownloader.swift */, + 440D8DFB25A1F7FBC01BE1D7 /* AnalyticsClientV2Test.swift */, + B3CA4B1855BF8D2F08F275A9 /* Error_SerializeForLoggingTest.swift */, + 2B16FDA9232BD4FBD4B13EC2 /* STPAnalyticsClientTest.swift */, ); - path = Helpers; + path = Analytics; sourceTree = ""; }; - E61ADAA2270B925D004ED998 /* Categories */ = { + 5308E014F5451516D5EF5314 /* StripeCoreTestUtils */ = { isa = PBXGroup; children = ( - E61ADAA5270B92BD004ED998 /* UIView+StripeCoreTestingUtils.swift */, - D0494A6F273AF44900FEA715 /* UIImage+StripeCoreTestingUtils.swift */, + 1726B28CF173B9D1D6426896 /* Categories */, + B761C6E8D9BC02D59DBE5A38 /* Mock Files */, + BECA727F3CB319C263B09720 /* Mocks */, + AF82F68E8D3A8286FD31DB13 /* APIStubbedTestCase.swift */, + 58D2EB990E533C5D42635676 /* Info.plist */, + 561E5F74D9E5676F6E72E93F /* KeyPathExpectation.swift */, + D0EF38A1DE6515748EC7515A /* STPSnapshotVerifyView.swift */, + C666CC926642D7AA76E75B5B /* StripeCoreTestUtils.h */, + E4B2A342F16484705840F1B5 /* TestConstants.swift */, + 2B75708617FB765AB211FD9A /* URLRequest+StripeTest.swift */, + 2DE48D0086BED21F9E837D0B /* XCTestCase+Stripe.swift */, ); - path = Categories; + path = StripeCoreTestUtils; sourceTree = ""; }; - E6233B32269E62330062005D /* Frameworks */ = { + 596D621A8083DA1246F36BFB /* StripeCore */ = { isa = PBXGroup; children = ( - E6548ED92728AE6B00F399B2 /* XCTest.framework */, + D053330294A0C39AE271E025 /* Resources */, + A42B59A6A0D70019833D6562 /* Source */, + 4689F6B4384244D9FD282560 /* Info.plist */, + E60F4A38EEF5EA11568B3A64 /* StripeCore.h */, ); - name = Frameworks; + path = StripeCore; sourceTree = ""; }; - E6548EE22728AEE700F399B2 /* API Bindings */ = { + 59A858862FE8D4B90A5D930F /* Categories */ = { isa = PBXGroup; children = ( - F357A44B278914C400ABCF66 /* STPAPIClient+EmptyResponseTest.swift */, - E28F2A0828E793B00026A860 /* STPAPIClient+ErrorResponseTest.swift */, - E6548EE02728AED600F399B2 /* StripeCodableTest.swift */, + 06A516593E48DCFD5D98D702 /* Decimal+StripeCore.swift */, + 7727AEEFD2FC880BADDA1872 /* Dictionary+Stripe.swift */, + 4A8030BF88608CA86E295F18 /* Enums+CustomStringConvertible.swift */, + 21608B7BC24190523363CB3D /* NSArray+Stripe.swift */, + 6E852B53CF75A119D3810B41 /* NSBundle+Stripe_AppName.swift */, + BC5151C3B6CB4130E9C259A6 /* NSCharacterSet+StripeCore.swift */, + 9E415507B0152B07796114CC /* NSError+Stripe.swift */, + 23506F3E93ECA5A96DCE7E31 /* NSError+StripeCore.swift */, + 2BD3D02EBA8A732A9C832925 /* NSMutableURLRequest+Stripe.swift */, + D475CD59778FAC1028670AB5 /* NSURLComponents+Stripe.swift */, + 7507497162F5684AEA59E301 /* String+StripeCore.swift */, + 45D4100901F9445AC1FD453A /* UIImage+StripeCore.swift */, ); - path = "API Bindings"; + path = Categories; sourceTree = ""; }; - E6598C8B2696159500278740 /* Localization */ = { + 66BA4CFF0FEE2E4813FB4D31 /* Analytics */ = { isa = PBXGroup; children = ( - E6598C7E26952BC500278740 /* STPLocalizationUtils.swift */, - E6598C8E269615E000278740 /* STPLocalizedString.swift */, - E6A36A5E26BB404A002A4427 /* String+Localized.swift */, + ABF11F814A986AA710410FF8 /* Analytic.swift */, + 7B890F162E1C247D5CA1A9E6 /* AnalyticLoggableError.swift */, + 192E71FE64C5FDE929992CC4 /* AnalyticsClientV2.swift */, + 6CDBCD70CB220014972B49A5 /* PluginDetector.swift */, + 0B6C28853EF0316366FB8DC4 /* STPAnalyticEvent.swift */, + 1DD5B6F1152FD1C4A508A103 /* STPAnalyticsClient.swift */, ); - path = Localization; + path = Analytics; sourceTree = ""; }; - E6598C902696177B00278740 /* Resources */ = { + 69F23304563CCD7F2625E757 /* Localization */ = { isa = PBXGroup; children = ( - E6598C912696177B00278740 /* Localizations */, + 325E8108336F1178A10D139C /* STPLocalizationUtils.swift */, + 758B9C9C2252A91FE4221702 /* STPLocalizedString.swift */, + 8FF688F66CD047D08B3AE0CB /* String+Localized.swift */, ); - path = Resources; + path = Localization; sourceTree = ""; }; - E6598C912696177B00278740 /* Localizations */ = { + 6D488D8BF0ADC365242F73C8 /* API Bindings */ = { isa = PBXGroup; children = ( - E6598C922696177B00278740 /* Localizable.strings */, + C2430C1558B85CB4E87334A9 /* Models */, + 6F9ED2ADD9406CF7534BB6C9 /* STPAPIClient.swift */, + F4FC2FC535DAF9B340F9EA75 /* STPAPIClient+FileUpload.swift */, + 9077630E4A5307B83B4BA19E /* STPAppInfo.swift */, + 34D803C2F907529E780B0296 /* STPMultipartFormDataEncoder.swift */, + E1C72BA9C44FF60A0E7BEF76 /* STPMultipartFormDataPart.swift */, + A4336F071B0CE13306C8EB93 /* StripeAPI.swift */, + 32CB3702691056D3404A8C5F /* StripeAPIConfiguration.swift */, + 2F1BFF01B1EA57F6EA7BFBF1 /* StripeAPIConfiguration+Version.swift */, + FEC0AF5BF0A4799D2C0C7445 /* StripeError.swift */, + BCF062352C38A5173260C46A /* StripeServiceError.swift */, ); - path = Localizations; + path = "API Bindings"; sourceTree = ""; }; - E65C44C7273C539E00F753BC /* Mock Files */ = { + 705ECC4F6AE12F0021C3726D = { isa = PBXGroup; children = ( - E65C44C8273C53D500F753BC /* test_image.png */, + 92F3912D23FF91835DDAFCEC /* Project */, + D8A0B2C221DBF456254B6A02 /* Frameworks */, + 150799C744EFBDF77919FDCB /* Products */, ); - path = "Mock Files"; sourceTree = ""; }; - E666DF24273B9CE200638B60 /* Models */ = { + 7FD20B12B83EC2F371B71C37 /* API Bindings */ = { isa = PBXGroup; children = ( - F338B9822748809200E9323D /* EmptyResponse.swift */, - E65C44C3273BA03300F753BC /* StripeFile.swift */, + CC70CDF482E22A29B11466F7 /* STPAPIClient+EmptyResponseTest.swift */, + 84E70193A9CA42A0C53E48C1 /* STPAPIClient+ErrorResponseTest.swift */, + 1FCE36551600C3E53BEAF8F0 /* StripeCodableTest.swift */, ); - path = Models; + path = "API Bindings"; sourceTree = ""; }; - E67A1E5F27404FB500977F63 /* Mock Files */ = { + 83EEC663D4FA92DC540C6CD8 /* Helpers */ = { isa = PBXGroup; children = ( - E67A1E6027404FD500977F63 /* File_IdentityDocument.json */, + 77CAB1A5AC107D8756CA1CBF /* Async.swift */, + 937066801E91C99C50192364 /* BundleLocatorProtocol.swift */, + C1C174081A48DD86978D270D /* FileDownloader.swift */, + 21E64986F72C7BD8B1105A95 /* InstallMethod.swift */, + 3FFB15A6996F610D627A42B3 /* PaymentsSDKVariant.swift */, + C188AD8AE244CD6076679095 /* ServerErrorMapper.swift */, + 9C2AA21DAF340432CA98C67C /* STPDeviceUtils.swift */, + 591E592C9F3E5D4CB08A1847 /* STPDispatchFunctions.swift */, + 4C51E3FA5EE3587BB7BBC634 /* STPError.swift */, + D856053F99E32515DEDD8EDF /* STPNumericStringValidator.swift */, + A7647C1B64CA0F0087327413 /* STPURLCallbackHandler.swift */, + DEA5353BC5359E08128E116A /* StripeCoreBundleLocator.swift */, + C51179DB520568C246BF3AF0 /* URLEncoder.swift */, + B8B76840742D2CAF2931355A /* URLSession+Retry.swift */, ); - path = "Mock Files"; + path = Helpers; sourceTree = ""; }; - E69D63F126855B250090B43D = { + 8801864DFEC2305B2D7D9CB1 /* Localizations */ = { isa = PBXGroup; children = ( - E69D641526855B9B0090B43D /* BuildConfigurations */, - E69D63FD26855B250090B43D /* StripeCore */, - E69D640826855B260090B43D /* StripeCoreTests */, - E6FB9BB9268EA95F000FDB4F /* StripeCoreTestUtils */, - E69D63FC26855B250090B43D /* Products */, - E6233B32269E62330062005D /* Frameworks */, + CFF68ABB8E67E83695FAD8EA /* Localizable.strings */, ); + path = Localizations; sourceTree = ""; }; - E69D63FC26855B250090B43D /* Products */ = { + 92F3912D23FF91835DDAFCEC /* Project */ = { isa = PBXGroup; children = ( - E69D63FB26855B250090B43D /* StripeCore.framework */, - E69D640426855B260090B43D /* StripeCoreTests.xctest */, - E6FB9BB8268EA95F000FDB4F /* StripeCoreTestUtils.framework */, + 0B14FED7BBB8A76630B7C0D0 /* BuildConfigurations */, + 596D621A8083DA1246F36BFB /* StripeCore */, + 9EF2F5FC20874E0DD2A5D40C /* StripeCoreTests */, + 5308E014F5451516D5EF5314 /* StripeCoreTestUtils */, ); - name = Products; + name = Project; sourceTree = ""; }; - E69D63FD26855B250090B43D /* StripeCore */ = { + 9529F0918C42664A7702489F /* DownloadManager */ = { isa = PBXGroup; children = ( - E69D63FF26855B250090B43D /* Info.plist */, - E6598C902696177B00278740 /* Resources */, - E6B0F53126866DDD00055EAF /* Source */, - E69D63FE26855B250090B43D /* StripeCore.h */, + 9D013DA69A308F6E0972B998 /* DownloadManagerTest.swift */, ); - path = StripeCore; + path = DownloadManager; sourceTree = ""; }; - E69D640826855B260090B43D /* StripeCoreTests */ = { + 9EF2F5FC20874E0DD2A5D40C /* StripeCoreTests */ = { isa = PBXGroup; children = ( - 31AEABB027BED9F6000FB845 /* External */, - E65C44C7273C539E00F753BC /* Mock Files */, - E6FB9BC8268EAF87000FDB4F /* Analytics */, - E6548EE22728AEE700F399B2 /* API Bindings */, - E6FB9BC9268EAF90000FDB4F /* Categories */, - E6FB9BC7268EAF80000FDB4F /* Helpers */, - 6B08AB2328DF705800BF62E4 /* DownloadManager */, - E69D640B26855B260090B43D /* Info.plist */, + 523A1ACB7F366E117F7FE2B4 /* Analytics */, + 7FD20B12B83EC2F371B71C37 /* API Bindings */, + 3A3F265C90373C3EF2F61523 /* Categories */, + 9529F0918C42664A7702489F /* DownloadManager */, + D2E220B8DFC490E1837426FF /* External */, + 29DB7151F72CD0D44389A6C8 /* Helpers */, + 4A2CD3EB30A5C54998ED92DD /* Mock Files */, + EA55726A0FE74A4D90A10C01 /* Info.plist */, ); path = StripeCoreTests; sourceTree = ""; }; - E69D641526855B9B0090B43D /* BuildConfigurations */ = { + A42B59A6A0D70019833D6562 /* Source */ = { isa = PBXGroup; children = ( - E69D641626855B9B0090B43D /* StripeiOS Tests-Debug.xcconfig */, - E69D641726855B9B0090B43D /* StripeiOS-Debug.xcconfig */, - E69D641826855B9B0090B43D /* Project-Release.xcconfig */, - E69D641926855B9B0090B43D /* StripeiOS Tests-Release.xcconfig */, - E69D641A26855B9B0090B43D /* Project-Shared.xcconfig */, - E69D641B26855B9B0090B43D /* Version.xcconfig */, - E69D641C26855B9B0090B43D /* StripeiOS Tests-Shared.xcconfig */, - E69D641D26855B9B0090B43D /* StripeiOS-Shared.xcconfig */, - E69D641E26855B9B0090B43D /* Project-Debug.xcconfig */, - E69D641F26855B9B0090B43D /* StripeiOS-Release.xcconfig */, + 66BA4CFF0FEE2E4813FB4D31 /* Analytics */, + 6D488D8BF0ADC365242F73C8 /* API Bindings */, + 59A858862FE8D4B90A5D930F /* Categories */, + E701DB3E90EB6EA0A1A8B54E /* Coder */, + 4AD775367138C40FE2C98BAF /* Connections Bindings */, + 2D68CA76F251A29A4F5AD031 /* DownloadManager */, + 83EEC663D4FA92DC540C6CD8 /* Helpers */, + 69F23304563CCD7F2625E757 /* Localization */, + CDC187FE4F4024F9D463D19E /* Telemetry */, + 4D7125C790190CE509BBA3DF /* UI */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = Source; sourceTree = ""; }; - E6AF1ED5269FD83E0091BE99 /* UI */ = { + B761C6E8D9BC02D59DBE5A38 /* Mock Files */ = { isa = PBXGroup; children = ( - E6AF1EDA269FD9030091BE99 /* UIActivityIndicatorView+Stripe.swift */, - E6AF1ED6269FD8510091BE99 /* UIFont+Stripe.swift */, + DC24A98C4020646F99456187 /* File_IdentityDocument.json */, ); - path = UI; + path = "Mock Files"; sourceTree = ""; }; - E6B0F53126866DDD00055EAF /* Source */ = { + BECA727F3CB319C263B09720 /* Mocks */ = { isa = PBXGroup; children = ( - 31138E7728DCD854008AF554 /* Telemetry */, - 31AEABAB27BED956000FB845 /* Coder */, - 3CD1D39127C82C18001575BB /* Connections Bindings */, - E6AF1ED5269FD83E0091BE99 /* UI */, - E614AC97268BE14B00C59B3D /* Analytics */, - E614AC95268BE14B00C59B3D /* API Bindings */, - E614AC9B268BE14B00C59B3D /* Categories */, - E614AC9E268BE14B00C59B3D /* Helpers */, - E6598C8B2696159500278740 /* Localization */, - 6B08AB2028DE2AB200BF62E4 /* DownloadManager */, + F2C7099CB854E1E90424235C /* MockAnalyticsClient.swift */, + 27EB57C159E5F10F50D071E5 /* MockAnalyticsClientV2.swift */, + A5334916D2A4F927645C2569 /* MockData.swift */, ); - path = Source; + path = Mocks; sourceTree = ""; }; - E6FB9BA9268EA7BD000FDB4F /* Mocks */ = { + C2430C1558B85CB4E87334A9 /* Models */ = { isa = PBXGroup; children = ( - E6FB9BAA268EA7E1000FDB4F /* MockAnalyticsClient.swift */, - E6548EF12729BDD700F399B2 /* MockData.swift */, - E616770528504E8900C9E44A /* MockAnalyticsClientV2.swift */, + 00D8E07F0DDBA1577A52156C /* EmptyResponse.swift */, + 73CE623A81057C4063A1E0C4 /* StripeFile.swift */, ); - path = Mocks; + path = Models; sourceTree = ""; }; - E6FB9BB9268EA95F000FDB4F /* StripeCoreTestUtils */ = { + CDC187FE4F4024F9D463D19E /* Telemetry */ = { isa = PBXGroup; children = ( - E6548EDE2728AEBE00F399B2 /* APIStubbedTestCase.swift */, - E61ADAA2270B925D004ED998 /* Categories */, - E6FB9BBB268EA95F000FDB4F /* Info.plist */, - D0CA3DA4279BE0CE00143B1C /* KeyPathExpectation.swift */, - E67A1E5F27404FB500977F63 /* Mock Files */, - E6FB9BA9268EA7BD000FDB4F /* Mocks */, - E6FB9BBA268EA95F000FDB4F /* StripeCoreTestUtils.h */, - E6548EE52728AFB400F399B2 /* TestConstants.swift */, - 3126570227B4852600D2F8A8 /* URLRequest+StripeTest.swift */, - 31606742280768EB0082B148 /* STPSnapshotVerifyView.swift */, - E6548F7E27339FB100F399B2 /* XCTestCase+Stripe.swift */, + E919FBEB852CFEA9517FCBDC /* FraudDetectionData.swift */, + A466F6075DCC39D5A976FB22 /* STPTelemetryClient.swift */, + 45F11FF08733CF61D880640D /* UserDefaults+PaymentsCore.swift */, ); - path = StripeCoreTestUtils; + path = Telemetry; sourceTree = ""; }; - E6FB9BC7268EAF80000FDB4F /* Helpers */ = { + D053330294A0C39AE271E025 /* Resources */ = { isa = PBXGroup; children = ( - E6FB9BC4268EAEF3000FDB4F /* URLEncoderTest.swift */, + 8801864DFEC2305B2D7D9CB1 /* Localizations */, ); - path = Helpers; + path = Resources; sourceTree = ""; }; - E6FB9BC8268EAF87000FDB4F /* Analytics */ = { + D2E220B8DFC490E1837426FF /* External */ = { isa = PBXGroup; children = ( - E6FB9BB1268EA911000FDB4F /* STPAnalyticsClientTest.swift */, - 619E233426E9419700E06F1C /* Error_SerializeForLoggingTest.swift */, - E616770728505A2200C9E44A /* AnalyticsClientV2Test.swift */, + 4FF290DF69F5FD1004BBDECA /* TestJSONEncoder.swift */, ); - path = Analytics; + path = External; sourceTree = ""; }; - E6FB9BC9268EAF90000FDB4F /* Categories */ = { + D8A0B2C221DBF456254B6A02 /* Frameworks */ = { isa = PBXGroup; children = ( - E61ADAD0270E6AD4004ED998 /* NSArray+StripeCoreTest.swift */, - E6FB9BAE268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift */, - E65C44C5273C481200F753BC /* UIImage+StripeCoreTests.swift */, - E6D5DCEB285BD9B300BE669E /* Dictionary+StripeTests.swift */, + 54D4E87D67740BF3C05638FD /* XCTest.framework */, ); - path = Categories; + name = Frameworks; + sourceTree = ""; + }; + E701DB3E90EB6EA0A1A8B54E /* Coder */ = { + isa = PBXGroup; + children = ( + 49424775D3233411D9C2473B /* StripeCodable.swift */, + 8B3D6ADD516777DE13E79792 /* StripeJSONDecoder.swift */, + AD027F7695EC6F59CF32F4B9 /* StripeJSONEncoder.swift */, + 86C675ABC9D68378DC699DED /* StripeJSONShared.swift */, + 64635404BD4D5D62486A7626 /* UnknownFields.swift */, + ); + path = Coder; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - E69D63F626855B250090B43D /* Headers */ = { + 05A892536A440B2BC219C11E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E69D640C26855B260090B43D /* StripeCore.h in Headers */, + 8310D598D6D40BAD23880D3F /* StripeCoreTestUtils.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6FB9BB3268EA95F000FDB4F /* Headers */ = { + 6D58026052EFE4DFDBDD359E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E6FB9BBC268EA95F000FDB4F /* StripeCoreTestUtils.h in Headers */, + 5E807567D7320A7D512127AF /* StripeCore.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - E69D63FA26855B250090B43D /* StripeCore */ = { + 03B50F59824D1D18AA073D57 /* StripeCoreTests */ = { isa = PBXNativeTarget; - buildConfigurationList = E69D640F26855B260090B43D /* Build configuration list for PBXNativeTarget "StripeCore" */; + buildConfigurationList = 5BFC042D8F3E5E305D374495 /* Build configuration list for PBXNativeTarget "StripeCoreTests" */; buildPhases = ( - E69D63F626855B250090B43D /* Headers */, - E69D63F726855B250090B43D /* Sources */, - E69D63F826855B250090B43D /* Frameworks */, - E69D63F926855B250090B43D /* Resources */, + 7E01B8C349DCABCBA8852FF2 /* Sources */, + C6C0F33F30CA8B01DF9A723B /* Resources */, + 18178F9338B4379A125C292F /* Embed Frameworks */, + 4417A26336170F53277E168C /* Frameworks */, ); buildRules = ( ); dependencies = ( + 1EC7711EFEF07D6C119D7A70 /* PBXTargetDependency */, + 3670D483B4DC94B06A1CDEF6 /* PBXTargetDependency */, ); - name = StripeCore; - packageProductDependencies = ( - ); - productName = StripeCore; - productReference = E69D63FB26855B250090B43D /* StripeCore.framework */; - productType = "com.apple.product-type.framework"; + name = StripeCoreTests; + productName = StripeCoreTests; + productReference = 013DF1F8EC4A4FFA1A38B725 /* StripeCoreTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; - E69D640326855B260090B43D /* StripeCoreTests */ = { + 3E987A4F06C4DE962E9F3CB8 /* StripeCoreTestUtils */ = { isa = PBXNativeTarget; - buildConfigurationList = E69D641226855B260090B43D /* Build configuration list for PBXNativeTarget "StripeCoreTests" */; + buildConfigurationList = 793D3D10C90D10C84728C1DE /* Build configuration list for PBXNativeTarget "StripeCoreTestUtils" */; buildPhases = ( - E69D640026855B260090B43D /* Sources */, - E69D640126855B260090B43D /* Frameworks */, - E69D640226855B260090B43D /* Resources */, + 05A892536A440B2BC219C11E /* Headers */, + FB221D4CA3C9AF254BA94D68 /* Sources */, + A6E0A12258BAD6C06BF7A2AE /* Resources */, + 5F3E583CF98B20ACEDBC39ED /* Embed Frameworks */, + 36C2CC9FAA8CF079757D35A7 /* Frameworks */, ); buildRules = ( ); dependencies = ( - E69D640726855B260090B43D /* PBXTargetDependency */, + 08EA430A5FF96F1A708DE57B /* PBXTargetDependency */, ); - name = StripeCoreTests; - productName = StripeCoreTests; - productReference = E69D640426855B260090B43D /* StripeCoreTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; + name = StripeCoreTestUtils; + packageProductDependencies = ( + 23D22B2C40BA7C182BCE50B2 /* iOSSnapshotTestCase */, + 9AB19C81E50535A3407582B7 /* OHHTTPStubs */, + E86AC7DD5F4DE2780E0AC425 /* OHHTTPStubsSwift */, + ); + productName = StripeCoreTestUtils; + productReference = 3A4F598BF353D8335B0340D5 /* StripeCoreTestUtils.framework */; + productType = "com.apple.product-type.framework"; }; - E6FB9BB7268EA95F000FDB4F /* StripeCoreTestUtils */ = { + 7877B31445857B119EA45445 /* StripeCore */ = { isa = PBXNativeTarget; - buildConfigurationList = E6FB9BBD268EA95F000FDB4F /* Build configuration list for PBXNativeTarget "StripeCoreTestUtils" */; + buildConfigurationList = A8F477F78CC20A59C791D5F1 /* Build configuration list for PBXNativeTarget "StripeCore" */; buildPhases = ( - E6FB9BB3268EA95F000FDB4F /* Headers */, - E6FB9BB4268EA95F000FDB4F /* Sources */, - E6FB9BB5268EA95F000FDB4F /* Frameworks */, - E6FB9BB6268EA95F000FDB4F /* Resources */, - E200237128F8D51F001C02D4 /* Embed Frameworks */, + 6D58026052EFE4DFDBDD359E /* Headers */, + 97036C8C1B79423F1F57DD1B /* Sources */, + 5442591D82093A8B0397F70D /* Resources */, + 5D04C08A37B43A01ADAAA114 /* Embed Frameworks */, + BCAC06556AB210EEF302C16A /* Frameworks */, ); buildRules = ( ); dependencies = ( - E6FB9BC3268EAA21000FDB4F /* PBXTargetDependency */, ); - name = StripeCoreTestUtils; - packageProductDependencies = ( - E25440EB28F9C8BB00C6F5D3 /* iOSSnapshotTestCase */, - E254411D28F9FBEB00C6F5D3 /* OHHTTPStubs */, - E254411F28F9FBEB00C6F5D3 /* OHHTTPStubsSwift */, - ); - productName = StripeCoreTestUtils; - productReference = E6FB9BB8268EA95F000FDB4F /* StripeCoreTestUtils.framework */; + name = StripeCore; + productName = StripeCore; + productReference = 40A77DE176741B3A542FE890 /* StripeCore.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - E69D63F226855B250090B43D /* Project object */ = { + CBF07079FA432D2BFCE24022 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1250; - LastUpgradeCheck = 1250; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - E69D63FA26855B250090B43D = { - CreatedOnToolsVersion = 12.5; - LastSwiftMigration = 1320; - }; - E69D640326855B260090B43D = { - CreatedOnToolsVersion = 12.5; - LastSwiftMigration = 1400; - }; - E6FB9BB7268EA95F000FDB4F = { - CreatedOnToolsVersion = 12.5; - }; }; }; - buildConfigurationList = E69D63F526855B250090B43D /* Build configuration list for PBXProject "StripeCore" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = 490BD7E6715C734C2A99C55B /* Build configuration list for PBXProject "StripeCore" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, - "zh-HK", - "zh-Hans", - "zh-Hant", + "bg-BG", + "ca-ES", + "cs-CZ", da, - nl, + de, + "el-GR", + en, "en-GB", + es, + "es-419", + "et-EE", fi, + fil, fr, "fr-CA", - de, + hr, hu, + id, it, ja, ko, + "lt-LT", + "lv-LV", + "ms-MY", mt, nb, + nl, "nn-NO", - "pt-PT", + "pl-PL", "pt-BR", + "pt-PT", + "ro-RO", ru, - es, - "es-419", + "sk-SK", + "sl-SI", sv, tr, - hr, - fil, vi, - id, - "ms-MY", - "bg-BG", - "ca-ES", - "cs-CZ", - "et-EE", - "el-GR", - "lt-LT", - "lv-LV", - "pl-PL", - "ro-RO", - "sk-SK", - "sl-SI", + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = E69D63F126855B250090B43D; + mainGroup = 705ECC4F6AE12F0021C3726D; packageReferences = ( - E25440E828F9C8B000C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, - E254411828F9FBD200C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */, + 9F8CE18BDCF6289B6266E92D /* XCRemoteSwiftPackageReference "OHHTTPStubs" */, + 1E364BF0E57ED61D2A87D929 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, ); - productRefGroup = E69D63FC26855B250090B43D /* Products */; + productRefGroup = 150799C744EFBDF77919FDCB /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - E69D63FA26855B250090B43D /* StripeCore */, - E6FB9BB7268EA95F000FDB4F /* StripeCoreTestUtils */, - E69D640326855B260090B43D /* StripeCoreTests */, + 7877B31445857B119EA45445 /* StripeCore */, + 3E987A4F06C4DE962E9F3CB8 /* StripeCoreTestUtils */, + 03B50F59824D1D18AA073D57 /* StripeCoreTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - E69D63F926855B250090B43D /* Resources */ = { + 5442591D82093A8B0397F70D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - E6598CAC2696177B00278740 /* Localizable.strings in Resources */, + 2B98F4F0120888B12EF3B181 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E69D640226855B260090B43D /* Resources */ = { + A6E0A12258BAD6C06BF7A2AE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - E65C44C9273C53D600F753BC /* test_image.png in Resources */, + C9C320ADCCF1548D6562CE94 /* File_IdentityDocument.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6FB9BB6268EA95F000FDB4F /* Resources */ = { + C6C0F33F30CA8B01DF9A723B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - E67A1E632740525500977F63 /* File_IdentityDocument.json in Resources */, + FCACE815CE9073F3FE18C185 /* test_image.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - E69D63F726855B250090B43D /* Sources */ = { + 7E01B8C349DCABCBA8852FF2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3160673F2804DA6C0082B148 /* StripeJSONShared.swift in Sources */, - F338B9832748809200E9323D /* EmptyResponse.swift in Sources */, - 31E6D9642744451B00A89B6D /* NSCharacterSet+StripeCore.swift in Sources */, - 31DCB11728F4E763002EF128 /* PaymentsSDKVariant.swift in Sources */, - E6752D7826F413A00062B821 /* String+StripeCore.swift in Sources */, - 319E36582719EBF700460867 /* ServerErrorMapper.swift in Sources */, - 31606741280609840082B148 /* UnknownFields.swift in Sources */, - E6598C8F269615E000278740 /* STPLocalizedString.swift in Sources */, - E6548EE82728D39600F399B2 /* Async.swift in Sources */, - E6598C8126952BC500278740 /* STPLocalizationUtils.swift in Sources */, - 31A5269426C46E2C00F8AB59 /* StripeAPI.swift in Sources */, - E666DF26273B9D0200638B60 /* UIImage+StripeCore.swift in Sources */, - E6548DF92727863100F399B2 /* StripeCodable.swift in Sources */, - E614ACA5268BE14B00C59B3D /* NSMutableURLRequest+Stripe.swift in Sources */, - E666DF21273B9C8300638B60 /* STPAPIClient+FileUpload.swift in Sources */, - E6E38EE8268BE48300233B24 /* StripeAPIConfiguration+Version.swift in Sources */, - 61DF180C2707822300E5ED13 /* PluginDetector.swift in Sources */, - 31B49EA626E95E0600A0464A /* NSURLComponents+Stripe.swift in Sources */, - 31B4A0FF271F3FD200832DBD /* STPError.swift in Sources */, - E6AF1ED7269FD8510091BE99 /* UIFont+Stripe.swift in Sources */, - E6AF1EDB269FD9030091BE99 /* UIActivityIndicatorView+Stripe.swift in Sources */, - 31138E7A28DCD876008AF554 /* FraudDetectionData.swift in Sources */, - 31B49EA426E95DDA00A0464A /* STPURLCallbackHandler.swift in Sources */, - E651289827A9CA8400586A1F /* FileDownloader.swift in Sources */, - 31AEABB427BEDB49000FB845 /* StripeJSONEncoder.swift in Sources */, - 310AF470271E12F6007339F4 /* Dictionary+Stripe.swift in Sources */, - E6A36A5F26BB404A002A4427 /* String+Localized.swift in Sources */, - E65C44C4273BA03300F753BC /* StripeFile.swift in Sources */, - E67377492808FD0C00DF966B /* Decimal+StripeCore.swift in Sources */, - 31138E7B28DCD876008AF554 /* STPTelemetryClient.swift in Sources */, - 317C4FE0275FF44D003771D7 /* InstallMethod.swift in Sources */, - 31A5269E26C4796400F8AB59 /* StripeError.swift in Sources */, - 31AEABAF27BED97A000FB845 /* StripeJSONDecoder.swift in Sources */, - E681E5662698EC9700692E45 /* NSError+StripeCore.swift in Sources */, - E66784B126980677005F7CC8 /* StripeCoreBundleLocator.swift in Sources */, - 31A5269226C46D9600F8AB59 /* STPAppInfo.swift in Sources */, - E614ACA0268BE14B00C59B3D /* StripeAPIConfiguration.swift in Sources */, - 363B92662743211C00BA52EC /* Enums+CustomStringConvertible.swift in Sources */, - 3CD1D3A927C87191001575BB /* ConnectionsSDKInterface.swift in Sources */, - E61ADACB270E6146004ED998 /* NSArray+Stripe.swift in Sources */, - E61676FB284FFE3C00C9E44A /* AnalyticsClientV2.swift in Sources */, - 31138E7D28DCD95A008AF554 /* UserDefaults+PaymentsCore.swift in Sources */, - E65C44C0273B9DB500F753BC /* STPMultipartFormDataEncoder.swift in Sources */, - 315BDBDF2788E2B4007BD11F /* STPDispatchFunctions.swift in Sources */, - 6142353626E12272004E4B37 /* AnalyticLoggableError.swift in Sources */, - E620C243269F9B210054DD6D /* STPDeviceUtils.swift in Sources */, - 31A5269C26C478B000F8AB59 /* StripeServiceError.swift in Sources */, - E614ACA3268BE14B00C59B3D /* STPAnalyticsClient.swift in Sources */, - E65C44BE273B9DA000F753BC /* STPMultipartFormDataPart.swift in Sources */, - E66784B226980677005F7CC8 /* BundleLocatorProtocol.swift in Sources */, - 31337A4926E04B6A005C7E02 /* URLSession+Retry.swift in Sources */, - E614ACA6268BE14B00C59B3D /* URLEncoder.swift in Sources */, - E614ACA4268BE14B00C59B3D /* NSBundle+Stripe_AppName.swift in Sources */, - 31FDFF3226C5E37100E4B743 /* NSError+Stripe.swift in Sources */, - E614ACA2268BE14B00C59B3D /* Analytic.swift in Sources */, - 31E6D962274444E300A89B6D /* STPNumericStringValidator.swift in Sources */, - 31B49E9E26E951EB00A0464A /* STPAPIClient.swift in Sources */, - E614ACA1268BE14B00C59B3D /* STPAnalyticEvent.swift in Sources */, - 6B08AB2228DE2AE900BF62E4 /* DownloadManager.swift in Sources */, + A4DBBFD379C4E0120BD25C56 /* STPAPIClient+EmptyResponseTest.swift in Sources */, + 79DA4102C501FC2E53D946B5 /* STPAPIClient+ErrorResponseTest.swift in Sources */, + 53D46A03B77577EE21F4B166 /* StripeCodableTest.swift in Sources */, + 3E9FC2CD06E1D5F6B09872E9 /* AnalyticsClientV2Test.swift in Sources */, + 84487D8E9B08106C89753536 /* Error_SerializeForLoggingTest.swift in Sources */, + 0A78AD04075C43A4059C344E /* STPAnalyticsClientTest.swift in Sources */, + 934CCB00769674F13192A126 /* Dictionary+StripeTests.swift in Sources */, + A50CB2ACAC1DCF9539D76F25 /* NSArray+StripeCoreTest.swift in Sources */, + F5DB5D52E2668136FF6D70D6 /* NSMutableURLRequest+StripeTest.swift in Sources */, + 8AD68C8D00A0BCF94E5230DC /* UIImage+StripeCoreTests.swift in Sources */, + 9504F199974F5AF7931A8485 /* DownloadManagerTest.swift in Sources */, + 6D68B868938BAB15A843B33C /* TestJSONEncoder.swift in Sources */, + EFF90360C85642F7F2898186 /* URLEncoderTest.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E69D640026855B260090B43D /* Sources */ = { + 97036C8C1B79423F1F57DD1B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F357A44C278914C400ABCF66 /* STPAPIClient+EmptyResponseTest.swift in Sources */, - 619E233526E9419700E06F1C /* Error_SerializeForLoggingTest.swift in Sources */, - E61ADAD1270E6AD4004ED998 /* NSArray+StripeCoreTest.swift in Sources */, - E65C44C6273C481200F753BC /* UIImage+StripeCoreTests.swift in Sources */, - E6FB9BAF268EA890000FDB4F /* NSMutableURLRequest+StripeTest.swift in Sources */, - E6548EE12728AED600F399B2 /* StripeCodableTest.swift in Sources */, - E28F2A0928E793B00026A860 /* STPAPIClient+ErrorResponseTest.swift in Sources */, - E6FB9BB2268EA911000FDB4F /* STPAnalyticsClientTest.swift in Sources */, - E6D5DCEC285BD9B300BE669E /* Dictionary+StripeTests.swift in Sources */, - 31AEABB227BEDA03000FB845 /* TestJSONEncoder.swift in Sources */, - E6FB9BC5268EAEF3000FDB4F /* URLEncoderTest.swift in Sources */, - E616770828505A2300C9E44A /* AnalyticsClientV2Test.swift in Sources */, - 6B08AB2528DF707700BF62E4 /* DownloadManagerTest.swift in Sources */, + 87274985CE5E750FA8D34648 /* EmptyResponse.swift in Sources */, + 6A52ABC06783A90B9E339948 /* StripeFile.swift in Sources */, + 9FBA50345D53E82AA974F672 /* STPAPIClient+FileUpload.swift in Sources */, + C164984958CDC2C9CA4B6316 /* STPAPIClient.swift in Sources */, + 97D0B2120678A75F75648D84 /* STPAppInfo.swift in Sources */, + 12FF091C555F75B914464475 /* STPMultipartFormDataEncoder.swift in Sources */, + 552DA7969984C443617DBC3E /* STPMultipartFormDataPart.swift in Sources */, + DAD4099D03E43A0CA89464CD /* StripeAPI.swift in Sources */, + D22FAB2F1AE9AE43C1808747 /* StripeAPIConfiguration+Version.swift in Sources */, + 677951C643328D76E46720A5 /* StripeAPIConfiguration.swift in Sources */, + 02A26B79617FAE660C9EB506 /* StripeError.swift in Sources */, + 3B9D69AB1CB61725C7A012B6 /* StripeServiceError.swift in Sources */, + 95156E152471058151076A51 /* Analytic.swift in Sources */, + 766FE8E61B44967F057ED424 /* AnalyticLoggableError.swift in Sources */, + 3815D229613D52D7799805B0 /* AnalyticsClientV2.swift in Sources */, + A454F368C505B2D80F0D8B19 /* PluginDetector.swift in Sources */, + E2B25D45D457A76A782D9089 /* STPAnalyticEvent.swift in Sources */, + AE26BFFBE9B1242E10CA052F /* STPAnalyticsClient.swift in Sources */, + B35FD03DD246CC4DD6C4F3C0 /* Decimal+StripeCore.swift in Sources */, + 4B2FAC57E03D8654A177C408 /* Dictionary+Stripe.swift in Sources */, + 42DE35681C71A931F65E0E7D /* Enums+CustomStringConvertible.swift in Sources */, + D8FEF16798A791F5BF7EA4B2 /* NSArray+Stripe.swift in Sources */, + C318A6B6CD599B06DA7CE706 /* NSBundle+Stripe_AppName.swift in Sources */, + 2AA9B01C8A2D2BADC4619629 /* NSCharacterSet+StripeCore.swift in Sources */, + C5BF4B8AE85FF72EC6382EC0 /* NSError+Stripe.swift in Sources */, + D144C3A657E5C16975CB2191 /* NSError+StripeCore.swift in Sources */, + 9843D9B7D886C373C7AC71E4 /* NSMutableURLRequest+Stripe.swift in Sources */, + 9DCBC08C182ED76A962961E7 /* NSURLComponents+Stripe.swift in Sources */, + 563A42FA383FA9AA5FA4CDCE /* String+StripeCore.swift in Sources */, + CA09DC1EC4142701B31F9673 /* UIImage+StripeCore.swift in Sources */, + C7C0EC68130760F73201F81B /* StripeCodable.swift in Sources */, + 44DE84C8BFB403E1FB7E2E82 /* StripeJSONDecoder.swift in Sources */, + 970D95FEA3BC216351DE3C5E /* StripeJSONEncoder.swift in Sources */, + 71CD1AE29AA09552DF61131E /* StripeJSONShared.swift in Sources */, + 6ED5C41DBDAB475BF1119E98 /* UnknownFields.swift in Sources */, + 772292156A4A80CEA9D9C487 /* ConnectionsSDKInterface.swift in Sources */, + 3F275B08EB554772F2FE4E4E /* DownloadManager.swift in Sources */, + 5553D952F91D193D453D777D /* Async.swift in Sources */, + CAF857D45689FBEF17627E80 /* BundleLocatorProtocol.swift in Sources */, + 59CA874015261241AC255907 /* FileDownloader.swift in Sources */, + 45DAE581F74EF7E11C64212B /* InstallMethod.swift in Sources */, + 096274D0729AA8849FAD103C /* PaymentsSDKVariant.swift in Sources */, + DA5A05459309B9B77ACDD736 /* STPDeviceUtils.swift in Sources */, + 83790210FFC2DD764C042C8E /* STPDispatchFunctions.swift in Sources */, + 72DA29CA8A750E8B00DBF3D4 /* STPError.swift in Sources */, + F628BBE9FDA9D3A217ACA753 /* STPNumericStringValidator.swift in Sources */, + C9B6C451F9A46C9FB031CE95 /* STPURLCallbackHandler.swift in Sources */, + A62AEDF871AC89489FE19A13 /* ServerErrorMapper.swift in Sources */, + 62FD088E003BE06F5413FB4F /* StripeCoreBundleLocator.swift in Sources */, + 17CE96B50813CF626293CBF9 /* URLEncoder.swift in Sources */, + 0709F5D265CC641E6DE1011D /* URLSession+Retry.swift in Sources */, + 2991461DD354A6124CCF78DA /* STPLocalizationUtils.swift in Sources */, + 4506A7016EA7C45796D3A30D /* STPLocalizedString.swift in Sources */, + DFF3092E51B6C3ED81AB1448 /* String+Localized.swift in Sources */, + 89DB623A200678B4E9845AF2 /* FraudDetectionData.swift in Sources */, + 920832EE256E377572DD41EB /* STPTelemetryClient.swift in Sources */, + 3B27DDDDC91F1599BF1469BB /* UserDefaults+PaymentsCore.swift in Sources */, + B6D129B2DC90FA1F8A1F5BCB /* UIActivityIndicatorView+Stripe.swift in Sources */, + DF1EC524A1915E344687F5AC /* UIFont+Stripe.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6FB9BB4268EA95F000FDB4F /* Sources */ = { + FB221D4CA3C9AF254BA94D68 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D0494A70273AF44900FEA715 /* UIImage+StripeCoreTestingUtils.swift in Sources */, - E61ADAA6270B92BD004ED998 /* UIView+StripeCoreTestingUtils.swift in Sources */, - E6CDC469269E81CD0020A962 /* MockAnalyticsClient.swift in Sources */, - 31606743280768EB0082B148 /* STPSnapshotVerifyView.swift in Sources */, - E6548EDF2728AEBE00F399B2 /* APIStubbedTestCase.swift in Sources */, - E6548F7F27339FB100F399B2 /* XCTestCase+Stripe.swift in Sources */, - D0CA3DA5279BE0CE00143B1C /* KeyPathExpectation.swift in Sources */, - 3126570327B4852600D2F8A8 /* URLRequest+StripeTest.swift in Sources */, - E616770628504E8900C9E44A /* MockAnalyticsClientV2.swift in Sources */, - E6548EE62728AFB400F399B2 /* TestConstants.swift in Sources */, - E6548EF22729BDD700F399B2 /* MockData.swift in Sources */, + 330FDCF901D11882D4866DDE /* APIStubbedTestCase.swift in Sources */, + A987DFFA404EBD0788DAB21A /* UIImage+StripeCoreTestingUtils.swift in Sources */, + 631D09E67497B49BBCA26192 /* UIView+StripeCoreTestingUtils.swift in Sources */, + 838BDB53C4F6AC3C0567DE6A /* KeyPathExpectation.swift in Sources */, + 0F4A1BAE6774B90C72F578CC /* MockAnalyticsClient.swift in Sources */, + 3D90376B1883E4BE64712197 /* MockAnalyticsClientV2.swift in Sources */, + CB8A47A5FD057112CB607DE9 /* MockData.swift in Sources */, + FF5B9F1861A1DB4C2605BBD8 /* STPSnapshotVerifyView.swift in Sources */, + E344C20A07D8B8F33B530974 /* TestConstants.swift in Sources */, + EFE476BA387E91BE1D5D3E1D /* URLRequest+StripeTest.swift in Sources */, + 48A6CCB4008A5060C2655C5F /* XCTestCase+Stripe.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - E69D640726855B260090B43D /* PBXTargetDependency */ = { + 08EA430A5FF96F1A708DE57B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = StripeCore; + target = 7877B31445857B119EA45445 /* StripeCore */; + targetProxy = 7FEF9BDDDD738CE997EC053B /* PBXContainerItemProxy */; + }; + 1EC7711EFEF07D6C119D7A70 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = E69D63FA26855B250090B43D /* StripeCore */; - targetProxy = E69D640626855B260090B43D /* PBXContainerItemProxy */; + name = StripeCore; + target = 7877B31445857B119EA45445 /* StripeCore */; + targetProxy = E1EC5611DA9FE94C4E0EF3A8 /* PBXContainerItemProxy */; }; - E6FB9BC3268EAA21000FDB4F /* PBXTargetDependency */ = { + 3670D483B4DC94B06A1CDEF6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = E69D63FA26855B250090B43D /* StripeCore */; - targetProxy = E6FB9BC2268EAA21000FDB4F /* PBXContainerItemProxy */; + name = StripeCoreTestUtils; + target = 3E987A4F06C4DE962E9F3CB8 /* StripeCoreTestUtils */; + targetProxy = 773BD5B9B4846D879C13CFE1 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - E6598C922696177B00278740 /* Localizable.strings */ = { + CFF68ABB8E67E83695FAD8EA /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - E6598C932696177B00278740 /* de */, - E6598C942696177B00278740 /* zh-Hans */, - E6598C952696177B00278740 /* ja */, - E6598C962696177B00278740 /* en */, - E6598C972696177B00278740 /* zh-HK */, - E6598C982696177B00278740 /* mt */, - E6598C992696177B00278740 /* nb */, - E6598C9A2696177B00278740 /* en-GB */, - E6598C9B2696177B00278740 /* es */, - E6598C9C2696177B00278740 /* da */, - E6598C9D2696177B00278740 /* es-419 */, - E6598C9E2696177B00278740 /* it */, - E6598C9F2696177B00278740 /* nn-NO */, - E6598CA02696177B00278740 /* fr-CA */, - E6598CA12696177B00278740 /* sv */, - E6598CA22696177B00278740 /* ko */, - E6598CA32696177B00278740 /* zh-Hant */, - E6598CA42696177B00278740 /* hu */, - E6598CA52696177B00278740 /* tr */, - E6598CA62696177B00278740 /* pt-BR */, - E6598CA72696177B00278740 /* ru */, - E6598CA82696177B00278740 /* fr */, - E6598CA92696177B00278740 /* fi */, - E6598CAA2696177B00278740 /* nl */, - E6598CAB2696177B00278740 /* pt-PT */, - 36F4BC7B26C1BBDA001518CD /* hr */, - 36F4BC8426C1BCC2001518CD /* fil */, - 36F4BC9D26C1BDE8001518CD /* vi */, - 36F4BCA526C1BE8E001518CD /* id */, - 36064BA326D6E6F4002A8AAA /* ms-MY */, - 36064BAB26D830B2002A8AAA /* bg-BG */, - 36064BB226D83157002A8AAA /* ca-ES */, - 36064BB926D832A3002A8AAA /* cs-CZ */, - 36064BC326D833B6002A8AAA /* et-EE */, - 36064BCB26D83492002A8AAA /* el-GR */, - 36064BD326D83524002A8AAA /* lt-LT */, - 36064BDB26D835BB002A8AAA /* lv-LV */, - 36064BE326D83630002A8AAA /* pl-PL */, - 36064BEB26D836AD002A8AAA /* ro-RO */, - 36064BF326D8378A002A8AAA /* sk-SK */, - 36064BFB26D83834002A8AAA /* sl-SI */, + 181E67908573FC358CCED4BF /* bg-BG */, + 77814365E9D13DD0A3EF0DCD /* ca-ES */, + 918D27F150CD87E3A5E6F377 /* cs-CZ */, + 31402722B97FC2D9A3A74E73 /* da */, + DE5E5D17713B48931D84BF42 /* de */, + ACCAA72D98FBC827A38282BB /* el-GR */, + 80C548FC21ABF10F4E88B0D0 /* en */, + 536085BA191EC2942523A7DB /* en-GB */, + 02D48D61A84BE5788EA61E59 /* es */, + 3FECC037162676AF2E8DCAEC /* es-419 */, + B3F73CA77397EAE70480FF25 /* et-EE */, + FFCE8DD57B10BD3C56885EA5 /* fi */, + 794AB67D466C8947FB4A7CFE /* fil */, + 48A3D6592296104A1512AE92 /* fr */, + 971D5A6F04E598041BE789EA /* fr-CA */, + 40A497A121A7C792624E7948 /* hr */, + ECF3D265DCDD0D64F6D7E6B2 /* hu */, + A619F83E71E5076329177CED /* id */, + 303695D2ECDFFCA9C1B68E53 /* it */, + A626F821ECEB25DFC007DB71 /* ja */, + 160FD8F504CCAC864C27AA62 /* ko */, + 43D9EC920BB9059E0C652178 /* lt-LT */, + FEC4F08F659CDD39ED1A2BAC /* lv-LV */, + 8D54A5C18C898B385629EB3D /* ms-MY */, + 5CE5D62D8BA864BFB38B70C5 /* mt */, + 0ACE2C3A8889C655E58EEA67 /* nb */, + 49538DBF8457D96707A2DA56 /* nl */, + EDBE83430B8FE494EF2AB5F3 /* nn-NO */, + CD9288E147B8C9D33CCB5045 /* pl-PL */, + 019EC578C08FE61F858E1F1F /* pt-BR */, + ACBD856B96CD58D2938B3F02 /* pt-PT */, + 625636EFF4844186C7A31FAF /* ro-RO */, + 9D4EB9EA1128F9DA9120BB04 /* ru */, + A0FBC76F73C3791701072BBA /* sk-SK */, + AAE1CFBD0403500A5DCBDE71 /* sl-SI */, + 2147B1CA0A1B65566D7AB7C6 /* sv */, + FF816C87A745BA4F9186BDF5 /* tr */, + F66C883A10AA9BAB7456BF03 /* vi */, + AA435F92864CA975753865DF /* zh-Hans */, + AF1FC608B88ACEA4C7438866 /* zh-Hant */, + 6EEB07003465364DBAFA7DEB /* zh-HK */, ); name = Localizable.strings; sourceTree = ""; @@ -1041,193 +1061,137 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - E69D640D26855B260090B43D /* Debug */ = { + 1F32ABF11A7EE50134DB4EF3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E69D641E26855B9B0090B43D /* Project-Debug.xcconfig */; + baseConfigurationReference = DDFAA07C8EBB5F5A5AC00E54 /* Project-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - E69D640E26855B260090B43D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E69D641826855B9B0090B43D /* Project-Release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; }; - E69D641026855B260090B43D /* Debug */ = { + 406CE0D780344B0E0C1C3FD3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E69D641726855B9B0090B43D /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 33A34DF206B0980BA1D2258F /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = StripeCore/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-core"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripeCoreTestUtils/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCoreTestUtils; + PRODUCT_NAME = StripeCoreTestUtils; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - E69D641126855B260090B43D /* Release */ = { + 5B5D93072F435361816D6E2D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E69D641F26855B9B0090B43D /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = CB2721EE8E075E700FF3E58A /* StripeiOS-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = StripeCore/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-core"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeCore; + SDKROOT = iphoneos; }; name = Release; }; - E69D641326855B260090B43D /* Debug */ = { + 63A2A6AAA9584841EC2CE54A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E69D641626855B9B0090B43D /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = 9761FF113E3F940E2B2BEBB1 /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCoreTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeCoreTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCoreTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeCoreTests; + SDKROOT = iphoneos; }; name = Debug; }; - E69D641426855B260090B43D /* Release */ = { + 78054EDDE3060C858086FA90 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E69D641926855B9B0090B43D /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = C3DCE66C04A91C235972687D /* StripeiOS-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCoreTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCoreTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripeCore/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-core"; + PRODUCT_NAME = StripeCore; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; - E6FB9BBE268EA95F000FDB4F /* Debug */ = { + 97012C251E738AC10133C8EE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E69D641726855B9B0090B43D /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 59EBF56CBE900B3EE80E73A5 /* Project-Debug.xcconfig */; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = NO; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCoreTestUtils/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + }; + name = Debug; + }; + A8FBA9F7BAC07A05CC29D4E6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9761FF113E3F940E2B2BEBB1 /* StripeiOS Tests-Debug.xcconfig */; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeCoreTestUtils/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCoreTestUtils; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeCoreTestUtils; + SDKROOT = iphoneos; }; name = Debug; }; - E6FB9BBF268EA95F000FDB4F /* Release */ = { + DDEA9A9EE069588F2D4E29B2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E69D641F26855B9B0090B43D /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = 33A34DF206B0980BA1D2258F /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = NO; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeCoreTestUtils/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCoreTestUtils; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripeCoreTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeCoreTests; + PRODUCT_NAME = StripeCoreTests; + SDKROOT = iphoneos; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - E69D63F526855B250090B43D /* Build configuration list for PBXProject "StripeCore" */ = { + 490BD7E6715C734C2A99C55B /* Build configuration list for PBXProject "StripeCore" */ = { isa = XCConfigurationList; buildConfigurations = ( - E69D640D26855B260090B43D /* Debug */, - E69D640E26855B260090B43D /* Release */, + 97012C251E738AC10133C8EE /* Debug */, + 1F32ABF11A7EE50134DB4EF3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E69D640F26855B260090B43D /* Build configuration list for PBXNativeTarget "StripeCore" */ = { + 5BFC042D8F3E5E305D374495 /* Build configuration list for PBXNativeTarget "StripeCoreTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - E69D641026855B260090B43D /* Debug */, - E69D641126855B260090B43D /* Release */, + 63A2A6AAA9584841EC2CE54A /* Debug */, + DDEA9A9EE069588F2D4E29B2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E69D641226855B260090B43D /* Build configuration list for PBXNativeTarget "StripeCoreTests" */ = { + 793D3D10C90D10C84728C1DE /* Build configuration list for PBXNativeTarget "StripeCoreTestUtils" */ = { isa = XCConfigurationList; buildConfigurations = ( - E69D641326855B260090B43D /* Debug */, - E69D641426855B260090B43D /* Release */, + A8FBA9F7BAC07A05CC29D4E6 /* Debug */, + 406CE0D780344B0E0C1C3FD3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E6FB9BBD268EA95F000FDB4F /* Build configuration list for PBXNativeTarget "StripeCoreTestUtils" */ = { + A8F477F78CC20A59C791D5F1 /* Build configuration list for PBXNativeTarget "StripeCore" */ = { isa = XCConfigurationList; buildConfigurations = ( - E6FB9BBE268EA95F000FDB4F /* Debug */, - E6FB9BBF268EA95F000FDB4F /* Release */, + 78054EDDE3060C858086FA90 /* Debug */, + 5B5D93072F435361816D6E2D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1235,7 +1199,7 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - E25440E828F9C8B000C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { + 1E364BF0E57ED61D2A87D929 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/uber/ios-snapshot-test-case"; requirement = { @@ -1243,7 +1207,7 @@ minimumVersion = 8.0.0; }; }; - E254411828F9FBD200C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */ = { + 9F8CE18BDCF6289B6266E92D /* XCRemoteSwiftPackageReference "OHHTTPStubs" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/eurias-stripe/OHHTTPStubs"; requirement = { @@ -1254,22 +1218,19 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - E25440EB28F9C8BB00C6F5D3 /* iOSSnapshotTestCase */ = { + 23D22B2C40BA7C182BCE50B2 /* iOSSnapshotTestCase */ = { isa = XCSwiftPackageProductDependency; - package = E25440E828F9C8B000C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */; productName = iOSSnapshotTestCase; }; - E254411D28F9FBEB00C6F5D3 /* OHHTTPStubs */ = { + 9AB19C81E50535A3407582B7 /* OHHTTPStubs */ = { isa = XCSwiftPackageProductDependency; - package = E254411828F9FBD200C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */; productName = OHHTTPStubs; }; - E254411F28F9FBEB00C6F5D3 /* OHHTTPStubsSwift */ = { + E86AC7DD5F4DE2780E0AC425 /* OHHTTPStubsSwift */ = { isa = XCSwiftPackageProductDependency; - package = E254411828F9FBD200C6F5D3 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */; productName = OHHTTPStubsSwift; }; /* End XCSwiftPackageProductDependency section */ }; - rootObject = E69D63F226855B250090B43D /* Project object */; + rootObject = CBF07079FA432D2BFCE24022 /* Project object */; } diff --git a/StripeCore/StripeCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripeCore/StripeCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripeCore/StripeCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripeCore/StripeCore.xcodeproj/xcshareddata/xcschemes/StripeCore.xcscheme b/StripeCore/StripeCore.xcodeproj/xcshareddata/xcschemes/StripeCore.xcscheme index 328369c6dcf..6fbc12e5925 100644 --- a/StripeCore/StripeCore.xcodeproj/xcshareddata/xcschemes/StripeCore.xcscheme +++ b/StripeCore/StripeCore.xcodeproj/xcshareddata/xcschemes/StripeCore.xcscheme @@ -1,6 +1,6 @@ @@ -27,12 +27,21 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -50,6 +59,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + diff --git a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2Tests.xcscheme b/StripeCore/StripeCore.xcodeproj/xcshareddata/xcschemes/StripeCoreTestUtils.xcscheme similarity index 59% rename from Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2Tests.xcscheme rename to StripeCore/StripeCore.xcodeproj/xcshareddata/xcschemes/StripeCoreTestUtils.xcscheme index d6fb3f10a79..17d28d0f1f4 100644 --- a/Stripe3DS2/Stripe3DS2.xcodeproj/xcshareddata/xcschemes/Stripe3DS2Tests.xcscheme +++ b/StripeCore/StripeCore.xcodeproj/xcshareddata/xcschemes/StripeCoreTestUtils.xcscheme @@ -1,6 +1,6 @@ + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + BlueprintIdentifier = "3E987A4F06C4DE962E9F3CB8" + BuildableName = "StripeCoreTestUtils.framework" + BlueprintName = "StripeCoreTestUtils" + ReferencedContainer = "container:StripeCore.xcodeproj"> @@ -26,18 +26,9 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES" + disableMainThreadChecker = "YES"> - - - - + BlueprintIdentifier = "3E987A4F06C4DE962E9F3CB8" + BuildableName = "StripeCoreTestUtils.framework" + BlueprintName = "StripeCoreTestUtils" + ReferencedContainer = "container:StripeCore.xcodeproj"> @@ -69,10 +60,10 @@ + BlueprintIdentifier = "3E987A4F06C4DE962E9F3CB8" + BuildableName = "StripeCoreTestUtils.framework" + BlueprintName = "StripeCoreTestUtils" + ReferencedContainer = "container:StripeCore.xcodeproj"> diff --git a/StripeFinancialConnections/Project.swift b/StripeFinancialConnections/Project.swift new file mode 100644 index 00000000000..751bc4c6199 --- /dev/null +++ b/StripeFinancialConnections/Project.swift @@ -0,0 +1,19 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripeFinancialConnections", + resources: "StripeFinancialConnections/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + ], + unitTestOptions: .testOptions( + resources: "StripeFinancialConnectionsTests/MockData/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeCoreTestUtils", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + ] + ) +) diff --git a/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/project.pbxproj b/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/project.pbxproj index 9f495c37db1..9367425277d 100644 --- a/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/project.pbxproj +++ b/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/project.pbxproj @@ -3,874 +3,897 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 3C19E0F22762E65400F3C4ED /* FinancialConnectionsAnalyticsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C19E0F12762E65400F3C4ED /* FinancialConnectionsAnalyticsTest.swift */; }; - 3C19E0F62762EF7800F3C4ED /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C19E0F52762EF7800F3C4ED /* StripeCoreTestUtils.framework */; }; - 3C2432F3275AB8140031E9B9 /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C2432F2275AB8140031E9B9 /* StripeCore+Import.swift */; }; - 3C27785A29117C4100E352E0 /* FlowRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C27785929117C4100E352E0 /* FlowRouter.swift */; }; - 3C32286A279A009C00A3D4D4 /* SessionFetcherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C322869279A009C00A3D4D4 /* SessionFetcherTests.swift */; }; - 3C34E0E92798EB33002618E4 /* FinancialConnectionsSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C34E0E82798EB33002618E4 /* FinancialConnectionsSession.swift */; }; - 3C34E0EB2799C3FF002618E4 /* FinancialConnectionsSessionFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C34E0EA2799C3FF002618E4 /* FinancialConnectionsSessionFetcher.swift */; }; - 3C34F0C527D25F35003ADCBA /* SoftLinkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C34F0C427D25F35003ADCBA /* SoftLinkTests.swift */; }; - 3C37D6D4274C0DCA0041F1BE /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C37D6D3274C0DCA0041F1BE /* StripeUICore.framework */; }; - 3C3ADCBA2800C1E0008C24EF /* BankAccountToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C3ADCB92800C1E0008C24EF /* BankAccountToken.swift */; }; - 3C481CEF281C55A60059A63A /* FinancialConnectionsSession_only_la.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C481CEE281C55A60059A63A /* FinancialConnectionsSession_only_la.json */; }; - 3C481CF3281C56E70059A63A /* FinancialConnectionsSession_only_accounts.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C481CF0281C56E70059A63A /* FinancialConnectionsSession_only_accounts.json */; }; - 3C481CF4281C56E70059A63A /* FinancialConnectionsSession_only_both_missing.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C481CF1281C56E70059A63A /* FinancialConnectionsSession_only_both_missing.json */; }; - 3C481CF5281C56E70059A63A /* FinancialConnectionsSession_both_accounts_la.json in Resources */ = {isa = PBXBuildFile; fileRef = 3C481CF2281C56E70059A63A /* FinancialConnectionsSession_both_accounts_la.json */; }; - 3C481CF7281C57A00059A63A /* FinancialConnectionsSessionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C481CF6281C57A00059A63A /* FinancialConnectionsSessionTests.swift */; }; - 3C4D2015273AED0900BC6444 /* FinancialConnectionsSheetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4D2014273AED0900BC6444 /* FinancialConnectionsSheetTests.swift */; }; - 3C4D2017273AED0900BC6444 /* StripeFinancialConnections.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C4D2009273AED0800BC6444 /* StripeFinancialConnections.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3C4D207B273C626A00BC6444 /* FinancialConnectionsSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4D207A273C626A00BC6444 /* FinancialConnectionsSheet.swift */; }; - 3C4D20B8273C6E2100BC6444 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C4D20B7273C6E2100BC6444 /* StripeCore.framework */; }; - 3C4D9E87277E1CD5007C741B /* FinancialConnectionsAccountFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4D9E86277E1CD5007C741B /* FinancialConnectionsAccountFetcher.swift */; }; - 3C4D9E89277E3D9E007C741B /* AccountFetcherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4D9E88277E3D9E007C741B /* AccountFetcherTests.swift */; }; - 3C51656928D0F8BA00D41DCF /* APIVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C51656828D0F8BA00D41DCF /* APIVersion.swift */; }; - 3C5430CF27457C8600B1E488 /* FinancialConnectionsAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C5430CE27457C8600B1E488 /* FinancialConnectionsAccount.swift */; }; - 3C5430E0274589E000B1E488 /* FinancialConnectionsSheetError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C5430DF274589E000B1E488 /* FinancialConnectionsSheetError.swift */; }; - 3C5B2CCD273DA702005C5A05 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3C5B2CA2273DA701005C5A05 /* Localizable.strings */; }; - 3C5B2CD0273DB32F005C5A05 /* StripeFinancialConnectionsBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C5B2CCF273DB32F005C5A05 /* StripeFinancialConnectionsBundleLocator.swift */; }; - 3C5B2CD3273DB3B9005C5A05 /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C5B2CD2273DB3B9005C5A05 /* STPLocalizedString.swift */; }; - 3C6E0B5C280FA01F00B05898 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C6E0B5B280FA01F00B05898 /* StripeCore.framework */; }; - 3C6E0B60280FA02D00B05898 /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C6E0B5F280FA02D00B05898 /* StripeUICore.framework */; }; - 3C6E0B61280FA05200B05898 /* StripeFinancialConnections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C4D2006273AED0800BC6444 /* StripeFinancialConnections.framework */; }; - 3C7FBA2E293A7CCE00EC7F8C /* UITableView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C7FBA2D293A7CCE00EC7F8C /* UITableView+Extensions.swift */; }; - 3C82F4AB275A8162008A7162 /* FinancialConnectionsWebFlowViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C82F4AA275A8162008A7162 /* FinancialConnectionsWebFlowViewController.swift */; }; - 3C82F4AF275A8178008A7162 /* AuthenticationSessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C82F4AE275A8178008A7162 /* AuthenticationSessionManager.swift */; }; - 3C9F0BD9276293D300E1FDFA /* FinancialConnectionsSheetAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F0BD8276293D300E1FDFA /* FinancialConnectionsSheetAnalytics.swift */; }; - 3CA52D4A27517239001F511E /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CA52D4927517239001F511E /* UIColor+Extensions.swift */; }; - 3CAD99B2284ADDD400B163EB /* HostController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99B1284ADDD400B163EB /* HostController.swift */; }; - 3CAD99B4284ADEBF00B163EB /* HostViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99B3284ADEBF00B163EB /* HostViewController.swift */; }; - 3CAD99B6284ADF5A00B163EB /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99B5284ADF5A00B163EB /* LoadingView.swift */; }; - 3CAD99BB284E381100B163EB /* FinancialConnectionsInstitution.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99BA284E381100B163EB /* FinancialConnectionsInstitution.swift */; }; - 3CAD99BE284E39C400B163EB /* NativeFlowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99BD284E39C400B163EB /* NativeFlowController.swift */; }; - 3CAD99C0284E438C00B163EB /* FinancialConnectionsNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99BF284E438C00B163EB /* FinancialConnectionsNavigationController.swift */; }; - 3CAD99C2284FE42000B163EB /* NativeFlowDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99C1284FE42000B163EB /* NativeFlowDataManager.swift */; }; - 3CAD99C5284FE75F00B163EB /* PlaceholderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99C4284FE75F00B163EB /* PlaceholderViewController.swift */; }; - 3CAD99C7285032E600B163EB /* InstitutionPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99C6285032E600B163EB /* InstitutionPickerViewController.swift */; }; - 3CAD99CA2851155400B163EB /* InstitutionDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CAD99C92851155400B163EB /* InstitutionDataSource.swift */; }; - 3CC4218B274C402600BBEDF4 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CC4218A274C402600BBEDF4 /* Image.swift */; }; - 3CC42197274C457A00BBEDF4 /* close@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3CC42195274C457A00BBEDF4 /* close@3x.png */; }; - 3CC42198274C457A00BBEDF4 /* back_arrow@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3CC42196274C457A00BBEDF4 /* back_arrow@3x.png */; }; - 3CD1D39827C82DC6001575BB /* FinancialConnectionsSDKImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CD1D39727C82DC6001575BB /* FinancialConnectionsSDKImplementation.swift */; }; - 3CE96D3427585BC6006B7059 /* FinancialConnectionsAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CE96D3327585BC6006B7059 /* FinancialConnectionsAPIClient.swift */; }; - 3CE96D3627585F01006B7059 /* FinancialConnectionsSessionManifest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CE96D3527585F01006B7059 /* FinancialConnectionsSessionManifest.swift */; }; - 3CFC631A28EDCF8E00DF9D28 /* ContinueStateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CFC631928EDCF8E00DF9D28 /* ContinueStateView.swift */; }; - 6A0019D82880865E009D662A /* StringExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0019D72880865E009D662A /* StringExtensionsTests.swift */; }; - 6A0019DC2885EAAA009D662A /* stripe_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A0019DB2885EAAA009D662A /* stripe_logo@3x.png */; }; - 6A0019DE2886F3B9009D662A /* UIViewController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0019DD2886F3B9009D662A /* UIViewController+Extensions.swift */; }; - 6A019888291192FE00418064 /* AlwaysTemplateImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A019887291192FE00418064 /* AlwaysTemplateImageView.swift */; }; - 6A038F09288F040800D3331D /* ReusableInformationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A038F08288F040800D3331D /* ReusableInformationView.swift */; }; - 6A038F0C288F2CD300D3331D /* PartnerAuthViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A038F0B288F2CD300D3331D /* PartnerAuthViewController.swift */; }; - 6A038F0E28903F3D00D3331D /* PrepaneView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A038F0D28903F3D00D3331D /* PrepaneView.swift */; }; - 6A1BA4AC2858D5F100759697 /* ConsentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1BA4AB2858D5F100759697 /* ConsentViewController.swift */; }; - 6A1BA4AE2858D76800759697 /* ConsentFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1BA4AD2858D76800759697 /* ConsentFooterView.swift */; }; - 6A1E299C289DAEF200F99E9D /* AccountPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E299B289DAEF200F99E9D /* AccountPickerViewController.swift */; }; - 6A1E299E289DB83E00F99E9D /* AccountPickerDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E299D289DB83E00F99E9D /* AccountPickerDataSource.swift */; }; - 6A1E29A228A1BB9100F99E9D /* PartnerAuthDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E29A128A1BB9100F99E9D /* PartnerAuthDataSource.swift */; }; - 6A1E29A428A3E59F00F99E9D /* AccountPickerFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E29A328A3E59F00F99E9D /* AccountPickerFooterView.swift */; }; - 6A1E29A628A3F0D400F99E9D /* AccountPickerSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E29A528A3F0D400F99E9D /* AccountPickerSelectionView.swift */; }; - 6A1E29A828A3F6B300F99E9D /* AccountPickerSelectionRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E29A728A3F6B300F99E9D /* AccountPickerSelectionRowView.swift */; }; - 6A1E29AA28A3FF8400F99E9D /* CheckboxView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E29A928A3FF8400F99E9D /* CheckboxView.swift */; }; - 6A1E29AD28A71B6100F99E9D /* SuccessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E29AC28A71B6100F99E9D /* SuccessViewController.swift */; }; - 6A1E29AF28A71C5D00F99E9D /* SuccessDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A1E29AE28A71C5D00F99E9D /* SuccessDataSource.swift */; }; - 6A2318D028AE7EA700F2A7D8 /* RadioButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A2318CF28AE7EA700F2A7D8 /* RadioButtonView.swift */; }; - 6A2318D428B3C36000F2A7D8 /* AccountPickerSelectionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A2318D328B3C36000F2A7D8 /* AccountPickerSelectionListView.swift */; }; - 6A2318D728B571E000F2A7D8 /* ManualEntryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A2318D628B571E000F2A7D8 /* ManualEntryViewController.swift */; }; - 6A2318D928B57E5100F2A7D8 /* ManualEntryTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A2318D828B57E5100F2A7D8 /* ManualEntryTextField.swift */; }; - 6A370F322901CA2C00A6DB9B /* FinancialConnectionsSynchronize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A370F312901CA2C00A6DB9B /* FinancialConnectionsSynchronize.swift */; }; - 6A4FA13928E11B3D00F07D42 /* CloseConfirmationAlertHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FA13828E11B3D00F07D42 /* CloseConfirmationAlertHandler.swift */; }; - 6A4FA13B28E3340B00F07D42 /* check@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA13A28E3340B00F07D42 /* check@3x.png */; }; - 6A4FA13D28E346E600F07D42 /* warning_triangle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA13C28E346E600F07D42 /* warning_triangle@3x.png */; }; - 6A4FA13F28E34AFF00F07D42 /* search@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA13E28E34AFF00F07D42 /* search@3x.png */; }; - 6A4FA14128E353BD00F07D42 /* edit@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA14028E353BD00F07D42 /* edit@3x.png */; }; - 6A4FA14328E3564100F07D42 /* email@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA14228E3564100F07D42 /* email@3x.png */; }; - 6A4FA14528E390D000F07D42 /* brandicon_default@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA14428E390D000F07D42 /* brandicon_default@3x.png */; }; - 6A4FA14728E3917000F07D42 /* warning_circle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA14628E3917000F07D42 /* warning_circle@3x.png */; }; - 6A4FA14928E391ED00F07D42 /* InstitutionIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FA14828E391ED00F07D42 /* InstitutionIconView.swift */; }; - 6A4FA14B28E4777C00F07D42 /* spinner@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA14A28E4777C00F07D42 /* spinner@3x.png */; }; - 6A4FA14D28E477EA00F07D42 /* SpinnerIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FA14C28E477EA00F07D42 /* SpinnerIconView.swift */; }; - 6A4FA14F28E4845800F07D42 /* chevron_down@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA14E28E4845800F07D42 /* chevron_down@3x.png */; }; - 6A4FA15128E48D2400F07D42 /* generic_error@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA15028E48D2400F07D42 /* generic_error@3x.png */; }; - 6A4FA15328E492D600F07D42 /* bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A4FA15228E492D600F07D42 /* bank@3x.png */; }; - 6A4FA15628E4DC9E00F07D42 /* AttachLinkedPaymentAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FA15528E4DC9E00F07D42 /* AttachLinkedPaymentAccountViewController.swift */; }; - 6A4FA15828E4DCBA00F07D42 /* AttachLinkedPaymentAccountDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FA15728E4DCBA00F07D42 /* AttachLinkedPaymentAccountDataSource.swift */; }; - 6A50F0DD28F5B91A00214753 /* UIImageView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A50F0DC28F5B91A00214753 /* UIImageView+Extensions.swift */; }; - 6A50F0DF28F8649100214753 /* FinancialConnectionsAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A50F0DE28F8649100214753 /* FinancialConnectionsAnalyticsClient.swift */; }; - 6A542DB12887259600958ED1 /* FeaturedInstitutionGridCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A542DB02887259600958ED1 /* FeaturedInstitutionGridCell.swift */; }; - 6A542DB328889AC400958ED1 /* InstitutionSearchTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A542DB228889AC400958ED1 /* InstitutionSearchTableView.swift */; }; - 6A542DB52889A1CB00958ED1 /* InstitutionSearchTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A542DB42889A1CB00958ED1 /* InstitutionSearchTableViewCell.swift */; }; - 6A59FC9E28B668A700F0F33E /* ManualEntryFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A59FC9D28B668A700F0F33E /* ManualEntryFormView.swift */; }; - 6A59FCA028B67EFD00F0F33E /* ManualEntryCheckView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A59FC9F28B67EFD00F0F33E /* ManualEntryCheckView.swift */; }; - 6A59FCA228B67FC000F0F33E /* bank_check@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A59FCA128B67FC000F0F33E /* bank_check@2x.png */; }; - 6A59FCA428B70C0200F0F33E /* ManualEntryDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A59FCA328B70C0200F0F33E /* ManualEntryDataSource.swift */; }; - 6A59FCA628B7BD7100F0F33E /* ManualEntryFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A59FCA528B7BD7100F0F33E /* ManualEntryFooterView.swift */; }; - 6A59FCA828B8204E00F0F33E /* ManualEntryValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A59FCA728B8204E00F0F33E /* ManualEntryValidator.swift */; }; - 6A78179428B901CB0017CB1E /* UIViewController+KeyboardAvoiding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A78179328B901CB0017CB1E /* UIViewController+KeyboardAvoiding.swift */; }; - 6A78179628B938FC0017CB1E /* ManualEntryValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A78179528B938FC0017CB1E /* ManualEntryValidatorTests.swift */; }; - 6A78179928BCF26B0017CB1E /* ManualEntrySuccessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A78179828BCF26B0017CB1E /* ManualEntrySuccessViewController.swift */; }; - 6A78179B28BCF2960017CB1E /* ManualEntrySuccessTransactionTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A78179A28BCF2960017CB1E /* ManualEntrySuccessTransactionTableView.swift */; }; - 6A78179D28BFA89A0017CB1E /* ManualEntryErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A78179C28BFA89A0017CB1E /* ManualEntryErrorView.swift */; }; - 6A7C861728D273940025B8DF /* SuccessIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A7C861628D273940025B8DF /* SuccessIconView.swift */; }; - 6A7C861A28D3C16E0025B8DF /* TerminalErrorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A7C861928D3C16E0025B8DF /* TerminalErrorViewController.swift */; }; - 6A8B1C7C28EA60FC004AA6FE /* APIPollingHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8B1C7B28EA60FB004AA6FE /* APIPollingHelper.swift */; }; - 6A8B1C7E28EA8086004AA6FE /* APIPollingHelperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8B1C7D28EA8086004AA6FE /* APIPollingHelperTests.swift */; }; - 6A8B4AFA28CAD40600128356 /* AccountPickerHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8B4AF928CAD40600128356 /* AccountPickerHelpers.swift */; }; - 6A8B4AFE28CADDFA00128356 /* AccountPickerHelpersTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8B4AFD28CADDFA00128356 /* AccountPickerHelpersTests.swift */; }; - 6A8B4B0028CAE6EC00128356 /* AccountPickerLabelRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8B4AFF28CAE6EC00128356 /* AccountPickerLabelRowView.swift */; }; - 6A8B4B0328CFC7C600128356 /* PaneLayoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8B4B0228CFC7C600128356 /* PaneLayoutView.swift */; }; - 6A8B4B0528CFD31800128356 /* PaneWithHeaderLayoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8B4B0428CFD31800128356 /* PaneWithHeaderLayoutView.swift */; }; - 6A8B4B0728D0BE4600128356 /* ConsentDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A8B4B0628D0BE4600128356 /* ConsentDataSource.swift */; }; - 6A90861C290C82A20076CF12 /* TimeInterval+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A90861B290C82A20076CF12 /* TimeInterval+Extensions.swift */; }; - 6A90861E291054E00076CF12 /* FinancialConnectionsImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A90861D291054E00076CF12 /* FinancialConnectionsImage.swift */; }; - 6A9117E7287CB20D007633D4 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A9117E6287CB20D007633D4 /* String+Extensions.swift */; }; - 6A9117EC287F4D87007633D4 /* ConsentBottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A9117EB287F4D87007633D4 /* ConsentBottomSheetViewController.swift */; }; - 6A9117EE287F535C007633D4 /* ConsentBottomSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A9117ED287F535C007633D4 /* ConsentBottomSheetView.swift */; }; - 6A99EF6228E51F1F00C76293 /* LinkingAccountsLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A99EF6128E51F1F00C76293 /* LinkingAccountsLoadingView.swift */; }; - 6A99EF6428E5CFBD00C76293 /* AccountNumberRetrievalErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A99EF6328E5CFBD00C76293 /* AccountNumberRetrievalErrorView.swift */; }; - 6A99EF6628E708D200C76293 /* Button+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A99EF6528E708D200C76293 /* Button+Extensions.swift */; }; - 6AA280EC290098EF0071DEB5 /* PaneWithCustomHeaderLayoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AA280EB290098EF0071DEB5 /* PaneWithCustomHeaderLayoutView.swift */; }; - 6AB0199028E7C882004DB6E3 /* finicity@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6AB0198E28E7C882004DB6E3 /* finicity@3x.png */; }; - 6AB0199128E7C882004DB6E3 /* mx@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6AB0198F28E7C882004DB6E3 /* mx@3x.png */; }; - 6ABE2D04285A2DEF0064B3A4 /* ConsentBodyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABE2D03285A2DEF0064B3A4 /* ConsentBodyView.swift */; }; - 6ABE2D06285B72A30064B3A4 /* ClickableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABE2D05285B72A30064B3A4 /* ClickableLabel.swift */; }; - 6ABE2D0A285B7BA20064B3A4 /* SFSafariViewController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABE2D09285B7BA20064B3A4 /* SFSafariViewController+Extensions.swift */; }; - 6ABF20382878786700C10295 /* UIFont+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABF20372878786700C10295 /* UIFont+Extensions.swift */; }; - 6AC190E228E7449000417EC5 /* InstitutionSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC190E128E7449000417EC5 /* InstitutionSearchBar.swift */; }; - 6AC190E428E752D000417EC5 /* cancel_circle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6AC190E328E752D000417EC5 /* cancel_circle@3x.png */; }; - 6AD025C12925D71C00C6CBF1 /* HitTestStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD025C02925D71C00C6CBF1 /* HitTestStackView.swift */; }; - 6AD025C32925DA7500C6CBF1 /* HitTestView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD025C22925DA7500C6CBF1 /* HitTestView.swift */; }; - 6AD025C52926876B00C6CBF1 /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD025C42926876B00C6CBF1 /* UIImage+Extensions.swift */; }; - 6AD025C7292725EF00C6CBF1 /* ConsentBottomSheetModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD025C6292725EF00C6CBF1 /* ConsentBottomSheetModel.swift */; }; - 6AD025C92927EAC800C6CBF1 /* bullet@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6AD025C82927EAC800C6CBF1 /* bullet@3x.png */; }; - 6AD025CB292BC89D00C6CBF1 /* BulletPointLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD025CA292BC89D00C6CBF1 /* BulletPointLabelView.swift */; }; - 6AD448B728C25F1F002CABB0 /* ResetFlowViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD448B628C25F1F002CABB0 /* ResetFlowViewController.swift */; }; - 6AD448B928C25F85002CABB0 /* ResetFlowDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD448B828C25F85002CABB0 /* ResetFlowDataSource.swift */; }; - 6AD5863E290AC9380088522B /* FinancialConnectionsPaymentMethodType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD5863D290AC9380088522B /* FinancialConnectionsPaymentMethodType.swift */; }; - 6AD58640290AC9590088522B /* FinancialConnectionsAuthSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD5863F290AC9590088522B /* FinancialConnectionsAuthSession.swift */; }; - 6AD58642290AC9FA0088522B /* FinancialConnectionsPartnerAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD58641290AC9FA0088522B /* FinancialConnectionsPartnerAccount.swift */; }; - 6AD58644290ACA200088522B /* FinancialConnectionsPaymentAccountResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD58643290ACA200088522B /* FinancialConnectionsPaymentAccountResource.swift */; }; - 6AD58646290ACA580088522B /* FinancialConnectionsMixedOAuthParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD58645290ACA580088522B /* FinancialConnectionsMixedOAuthParams.swift */; }; - 6AD58648290ACB2F0088522B /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AD58647290ACB2F0088522B /* Helpers.swift */; }; - 6AE2E5A928D92A8200623523 /* InstitutionSearchFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2E5A828D92A8200623523 /* InstitutionSearchFooterView.swift */; }; - 6AE2E5AB28DB366000623523 /* InstitutionSearchErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2E5AA28DB366000623523 /* InstitutionSearchErrorView.swift */; }; - 6AE2E5AD28DB916E00623523 /* MerchantDataAccessView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2E5AC28DB916E00623523 /* MerchantDataAccessView.swift */; }; - 6AE2E5AF28DC928A00623523 /* NSAttributedString+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2E5AE28DC928A00623523 /* NSAttributedString+Extensions.swift */; }; - 6AE2E5B128DC990700623523 /* MarkdownBoldAttributedStringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2E5B028DC990700623523 /* MarkdownBoldAttributedStringTests.swift */; }; - 6AE2E5B328DCFBEF00623523 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2E5B228DCFBEF00623523 /* String+Localized.swift */; }; - 6AE2E5B528DE132300623523 /* AccountPickerAccountLoadErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2E5B428DE132300623523 /* AccountPickerAccountLoadErrorView.swift */; }; - 6AE2E5B728DE7F4400623523 /* AccountPickerNoAccountEligibleErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2E5B628DE7F4400623523 /* AccountPickerNoAccountEligibleErrorView.swift */; }; - 6AE3F32F28EDF6B10079FD59 /* AuthFlowHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE3F32E28EDF6B10079FD59 /* AuthFlowHelpers.swift */; }; - 6AE3F33128EDF7010079FD59 /* AuthFlowHelpersTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE3F33028EDF7010079FD59 /* AuthFlowHelpersTests.swift */; }; - 6AE5171A28AAE46A006E8314 /* SuccessFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE5171928AAE46A006E8314 /* SuccessFooterView.swift */; }; - 6AE5171C28AAF099006E8314 /* SuccessBodyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE5171B28AAF099006E8314 /* SuccessBodyView.swift */; }; - 6AE5171E28ABEF5A006E8314 /* SuccessAccountListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE5171D28ABEF5A006E8314 /* SuccessAccountListView.swift */; }; - 6AFD485128871A98003439CB /* FeaturedInstitutionGridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AFD485028871A98003439CB /* FeaturedInstitutionGridView.swift */; }; + 01C820ECDBFC041A741A5499 /* FlowRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1407DD9E95ADFE143FA046E4 /* FlowRouter.swift */; }; + 04EB48BB849D29C7C8349DBC /* AccountPickerSelectionRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F95EA3D421BE335087E05DB /* AccountPickerSelectionRowView.swift */; }; + 05D03C32FC5F108E6B6B227B /* ClickableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E0C74C5F4B60F472AC1D6CF /* ClickableLabel.swift */; }; + 06445472B3008395FCA92FEC /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C650E82A4195A7566AA54298 /* StripeCore.framework */; }; + 07712610C7D2F484AAB96982 /* FinancialConnectionsInstitution.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FE8BCF5A9FF2B9392A755EA /* FinancialConnectionsInstitution.swift */; }; + 07A86CEB6B4F6BEB524EFE37 /* ManualEntryValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F897F5AA6A684D0A370EA7BC /* ManualEntryValidator.swift */; }; + 07BFA34C5643A79E1E35A159 /* FinancialConnectionsSession_only_accounts.json in Resources */ = {isa = PBXBuildFile; fileRef = 4AFBF95DAE0783010A17EB58 /* FinancialConnectionsSession_only_accounts.json */; }; + 0AF88791C01102CDCC31F419 /* AccountFetcherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77A71EBB1B98CD285DD17D5F /* AccountFetcherTests.swift */; }; + 11FB97AC840FEB5B5BF85BF9 /* FinancialConnectionsAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E2EAD7059FF8358E674774A /* FinancialConnectionsAPIClient.swift */; }; + 136B704C025F6F69D55A625C /* PlaceholderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C163A50C423B593C7F620630 /* PlaceholderViewController.swift */; }; + 152B480EA85D541CC64451A1 /* RadioButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A4D5A45DB15DF6148F1C85A /* RadioButtonView.swift */; }; + 1599A235CE57409AA2F678E1 /* LinkingAccountsLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D8F7A75976314427E8087F9 /* LinkingAccountsLoadingView.swift */; }; + 15EC9F36187C341800164428 /* FinancialConnectionsAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBBF5CEE2C9030B2D374BC76 /* FinancialConnectionsAnalyticsClient.swift */; }; + 163E387D567068E4A64A4C13 /* AccountPickerSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72DEDE8871A732D603E96E2B /* AccountPickerSelectionView.swift */; }; + 16F2968DC3B2FC4558821970 /* chevron_down@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = EC561AF0993C02AD68472D11 /* chevron_down@3x.png */; }; + 1889ECB24D40EF331974C288 /* AccountPickerNoAccountEligibleErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 912E3AA36B68492A69019AEA /* AccountPickerNoAccountEligibleErrorView.swift */; }; + 19D1548A5A4034D349DB0947 /* ManualEntryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8301F7BA1FF90D131AE96E10 /* ManualEntryViewController.swift */; }; + 1C043C73281C0856D2C979C6 /* FinancialConnectionsSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACEF0BAF1A5BBA3061C15A09 /* FinancialConnectionsSession.swift */; }; + 1C5D953684456368EEF4C622 /* ManualEntryTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6516BB12D029D1DDCBA1534D /* ManualEntryTextField.swift */; }; + 1CE588CD44D6591B95A9B281 /* AlwaysTemplateImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD2284A0556400DEAEB279BE /* AlwaysTemplateImageView.swift */; }; + 21C0B56B34EACFDAC06ED97D /* InstitutionSearchTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735101D3516EE679A29AE6D0 /* InstitutionSearchTableViewCell.swift */; }; + 2343C58289259920DD81620D /* ManualEntryErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88FD9148F64D2AA8989D361 /* ManualEntryErrorView.swift */; }; + 23DBA4240ED1727C47937A6B /* AccountPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97CE72E38D41E86E0A1FAE9F /* AccountPickerViewController.swift */; }; + 2554BE48E61032CCD4565E7E /* ManualEntrySuccessTransactionTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35882B0B77DB22CEEDDA8C3C /* ManualEntrySuccessTransactionTableView.swift */; }; + 2AA0942F22A323B33CA6B7CA /* PartnerAuthDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAC8B933341AF86D9AFF5979 /* PartnerAuthDataSource.swift */; }; + 2CE89100448F26DDA831F455 /* NativeFlowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F856808B78F4F1975959805 /* NativeFlowController.swift */; }; + 2D14461B27B3DEE2CC19B090 /* FinancialConnectionsAccountFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC1BC95816DAD5AE9680662 /* FinancialConnectionsAccountFetcher.swift */; }; + 2E29C0A30C137791D357F4C1 /* SuccessBodyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E53077F6CE2AF59B9BCB4EF /* SuccessBodyView.swift */; }; + 313E6E37B4D48022F03ED2C7 /* UIFont+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74512F0599D8AEEA0BB1DA5F /* UIFont+Extensions.swift */; }; + 33FA1684CE79F21271D14F23 /* HitTestStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A00D518C15FF3FAED7C193C2 /* HitTestStackView.swift */; }; + 3446145FCA3278D51A9D4B80 /* AttachLinkedPaymentAccountDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 518F1F230FD4DF68E683C728 /* AttachLinkedPaymentAccountDataSource.swift */; }; + 368DFF9D68F1F8D6A4353961 /* AuthFlowHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B31B3A45DD8AAFD6F08820 /* AuthFlowHelpers.swift */; }; + 3AE1C7A78FB5B220F5200F49 /* search@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = EF0111A8932418631FFA1663 /* search@3x.png */; }; + 3BF4BBF7E722B961E037286C /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94869BACB486153419B30DE5 /* XCTest.framework */; }; + 3BFED24B6DF835A0F2FB4939 /* TerminalErrorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B83A2749140B4E129CEF39C4 /* TerminalErrorViewController.swift */; }; + 3ECA346F75060BD954376EBF /* StripeFinancialConnectionsBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C0F907D5B0AC58BE7A454BA /* StripeFinancialConnectionsBundleLocator.swift */; }; + 3FE4DEFAD6FF77B8D9EE68D3 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = E05B47C10B77812660F7B01A /* String+Localized.swift */; }; + 432463EBF562CDDC6D3DC252 /* BankAccountToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = D890BD770F4E33D23ABA37EA /* BankAccountToken.swift */; }; + 43B6B0358EDD34A8AB39B53C /* bank_check@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6D18A6D99669DFF1E91A0705 /* bank_check@2x.png */; }; + 444884F264D13FF654EA7471 /* PaneLayoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34452D5FDC1ED566A13427FE /* PaneLayoutView.swift */; }; + 44B67A553B5B53C34547CCDE /* edit@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2C82EDE35EB6404444E10108 /* edit@3x.png */; }; + 460C7685096AA6C693309647 /* FinancialConnectionsAuthSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C837C27C2577391B91FF0E5 /* FinancialConnectionsAuthSession.swift */; }; + 465AE8A58AD2183E1E2042FE /* ConsentDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81304AD5BE5CCA10D1A866E0 /* ConsentDataSource.swift */; }; + 486E50E6CB90208AB98C031E /* UIImageView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC3AC48492FAB61E5B66D94 /* UIImageView+Extensions.swift */; }; + 48E093CC2FB4A619A9E2C20E /* ManualEntryCheckView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A22DBD7D336381FEB3AB00 /* ManualEntryCheckView.swift */; }; + 4A0D015C978BD79BBFE6CE57 /* ManualEntryDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C39F5F9AF440B13F51A81 /* ManualEntryDataSource.swift */; }; + 4A537AE0C50CAFF3889EFE28 /* UIViewController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7E41313B709F87B549D85F /* UIViewController+Extensions.swift */; }; + 4AADAA347EF70ECB8BE28E84 /* SuccessIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7455C145AEAE3D5F87532187 /* SuccessIconView.swift */; }; + 4CEE364A07B91B51B3D00F05 /* ConsentBottomSheetModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A80CA4A87A90D2E19262220 /* ConsentBottomSheetModel.swift */; }; + 58CD76A6379A04566684D2AC /* InstitutionSearchTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C71BC4222E1986338BCB9587 /* InstitutionSearchTableView.swift */; }; + 5E5C480AB5F0B2DBDA7B61B1 /* email@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EA1FC49D47073CD333D2EEA /* email@3x.png */; }; + 62F9AC317C04285853345A0C /* SpinnerIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 723996D53965EC2286267A01 /* SpinnerIconView.swift */; }; + 645D6FF67167263F9A1C2BB0 /* bullet@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 07BCA9D23511A3494C82B632 /* bullet@3x.png */; }; + 648FA50974B14CC861B08ECB /* APIPollingHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF54EDA6123C7E4E78D9D56B /* APIPollingHelper.swift */; }; + 6744CB1B182C5F7220B0B804 /* AuthFlowHelpersTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AFC0D3ED86914DC4216CCCA /* AuthFlowHelpersTests.swift */; }; + 691619AE9A989548ABA36535 /* HitTestView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F669BB8F3DA862C425897705 /* HitTestView.swift */; }; + 693FBB1373098550A32A1D94 /* mx@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = BDE174FB82FF2D359B048029 /* mx@3x.png */; }; + 6944E131D351784058C7D734 /* FinancialConnectionsPaymentMethodType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 191760EFAA9154C1F168E1D2 /* FinancialConnectionsPaymentMethodType.swift */; }; + 69508BFAF474855B05347CE4 /* ConsentBottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E337C061E4152E7814FC21E /* ConsentBottomSheetViewController.swift */; }; + 6D018BB3C1253ED4C1674E0B /* ManualEntryFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73C03F4DDC67B50C5E1993F6 /* ManualEntryFormView.swift */; }; + 6D29E55F6A3864ED52799169 /* InstitutionPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B3BF292FD82A198752A82EB /* InstitutionPickerViewController.swift */; }; + 6E6E30D01D4E9629DB07E97B /* FinancialConnectionsNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DA6A57067FB5EF86FEBD5B3 /* FinancialConnectionsNavigationController.swift */; }; + 700B745FEF43088D9E34C0E4 /* AccountPickerHelpersTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ED33E6BADC0893C3F6B22D2 /* AccountPickerHelpersTests.swift */; }; + 707C265C4179A8FEC98913FE /* ConsentBodyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA941D5F7178E89DE70076F /* ConsentBodyView.swift */; }; + 716E12A9AC0B790F14FB72C6 /* AccountNumberRetrievalErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6224E799E667DF223757D493 /* AccountNumberRetrievalErrorView.swift */; }; + 74CC216C8A71AD357B8AA544 /* NativeFlowDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 780BC432329228B042DA97D8 /* NativeFlowDataManager.swift */; }; + 755140DEEE50DCD6E939E528 /* check@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5B77DE6D7A86CC847977396A /* check@3x.png */; }; + 76C466DE26B6646D9B25E9B1 /* FeaturedInstitutionGridCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC4BABB6C871FE97868767E7 /* FeaturedInstitutionGridCell.swift */; }; + 76FB143918C5463B587091BB /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2D765AC793D89D26B74FC4 /* STPLocalizedString.swift */; }; + 779C729BB49FD4B99DCD517B /* MarkdownBoldAttributedStringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7D318EE807701AB3FCA17D /* MarkdownBoldAttributedStringTests.swift */; }; + 77C7F9A1DD0461FA2B1B4328 /* FinancialConnectionsPartnerAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452989E2D269784006EFD18C /* FinancialConnectionsPartnerAccount.swift */; }; + 77D3B375B9DBF80BA209BC99 /* FinancialConnectionsSessionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E05C2C5CDAA55CE700662040 /* FinancialConnectionsSessionTests.swift */; }; + 7AC3A12D50FA995882473C8A /* MerchantDataAccessView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A97EEE12DA8FB77D13C527 /* MerchantDataAccessView.swift */; }; + 7AE7474B7AFF416B6072721C /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54CF67A1F497E6CC73029CF0 /* StripeCore+Import.swift */; }; + 82FD3CEE526DE8B6519F666E /* FinancialConnectionsSessionFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = A872C2B500306F775622F904 /* FinancialConnectionsSessionFetcher.swift */; }; + 846D1D7429B9E414744DEC99 /* FinancialConnectionsSheetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20E7725EF317C3BD62ADF845 /* FinancialConnectionsSheetTests.swift */; }; + 864C5159C62C562C655B53F7 /* StripeFinancialConnections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E37D8CE9CD73443A9AAF2AE8 /* StripeFinancialConnections.framework */; }; + 87E22AF1E35FB63C20AEE9DF /* warning_triangle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5D555DB0657A602274596428 /* warning_triangle@3x.png */; }; + 8A424D8F321E80945AD42B1A /* ReusableInformationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C8781095363382A0F7BE5 /* ReusableInformationView.swift */; }; + 8C985491C17431278097D0FF /* Placeholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2710EA52082B4A983294567 /* Placeholder.swift */; }; + 8EDCAA40D5ACE4D4CCC67695 /* CloseConfirmationAlertHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB4BBD3A262039B34C2DDCCB /* CloseConfirmationAlertHandler.swift */; }; + 91A3583A0BDE0F8F0C4AD3E2 /* InstitutionIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 939D10B20D3ECA7BF7021BF8 /* InstitutionIconView.swift */; }; + 933F9DFE970FAB4715369086 /* HostController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93C4ECB724BD75320A999C42 /* HostController.swift */; }; + 97032B101B54E6A98178FD73 /* stripe_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B4F56BF50DBF4A353D2526A6 /* stripe_logo@3x.png */; }; + 971E6F5E78BC3265CD80D0C6 /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6652EBE38C47B36962AD370A /* StripeUICore.framework */; }; + 97C528CE821C6A55D58F68A4 /* ConsentFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E58AE51252DA4597DC82988 /* ConsentFooterView.swift */; }; + 99F41681B77ECB0090F34E31 /* SFSafariViewController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D38B3C816EAB38AD242B064 /* SFSafariViewController+Extensions.swift */; }; + 9AF6EC34D666BEB3C1397092 /* BulletPointLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 591E8073D2AD30115ABDB60F /* BulletPointLabelView.swift */; }; + 9CE29EA549C4BFA447AB82E0 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C650E82A4195A7566AA54298 /* StripeCore.framework */; }; + 9DEE4DE72A7FEDD9D3902C16 /* InstitutionSearchFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F560A66FD9A35762F884F2D4 /* InstitutionSearchFooterView.swift */; }; + 9E0044ABEC04E2A8C50E3658 /* FinancialConnectionsSessionManifest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 429F985168AE9F9D700AE37B /* FinancialConnectionsSessionManifest.swift */; }; + A10B5A3E5E8AE8767CF09C15 /* AccountPickerSelectionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 283469CD0298E3AFCFDAF10F /* AccountPickerSelectionListView.swift */; }; + A156FACA60231988F247F6F4 /* FinancialConnectionsSession_only_both_missing.json in Resources */ = {isa = PBXBuildFile; fileRef = 1DF07A1AAD6B39033F0B86FD /* FinancialConnectionsSession_only_both_missing.json */; }; + A1AEE72611F62550267C326C /* ManualEntryFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2922EAE205D76B40ED7FC92 /* ManualEntryFooterView.swift */; }; + A34AB3AC6D071605CABFFC9B /* UIViewController+KeyboardAvoiding.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB3C49A180D1697B03C79A59 /* UIViewController+KeyboardAvoiding.swift */; }; + A573468B2800DABF384CAB43 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65BCC4356AE3295B4A2F4A28 /* Image.swift */; }; + A6DB232AD8CB25B0C9F4C79C /* PaneWithHeaderLayoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FD362DF2D937D22E803C1DD /* PaneWithHeaderLayoutView.swift */; }; + A79D6A26EE9FF96D24F4AC5C /* NSAttributedString+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 267B3586136203186882F5CE /* NSAttributedString+Extensions.swift */; }; + A9F9E63FD6B72F5552A8A850 /* ResetFlowViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFA81F9910A88A7DEB0F0BFD /* ResetFlowViewController.swift */; }; + AA80602323C28AFAC391358D /* TimeInterval+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E813BE6B34901E4E050FFE13 /* TimeInterval+Extensions.swift */; }; + AB7C9A26484953762FFBB4A5 /* FinancialConnectionsWebFlowViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BD07CE6F99D7FAE83FC5CCC /* FinancialConnectionsWebFlowViewController.swift */; }; + ABB28C3F6604C2BA2FCA079D /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F3A660CB2E9651947FE6D0A /* String+Extensions.swift */; }; + ACD21F21C6E42706A882A1AE /* FinancialConnectionsSession_only_la.json in Resources */ = {isa = PBXBuildFile; fileRef = AA01BC4016BF8788633CCAD9 /* FinancialConnectionsSession_only_la.json */; }; + B271AAF41C9FE6AE392B88D3 /* FinancialConnectionsMixedOAuthParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3BF4CD26CEAE792AC2A7313 /* FinancialConnectionsMixedOAuthParams.swift */; }; + B2970FE2753A4D79E428BA73 /* SuccessDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C15A30C40F34CE330F89C41 /* SuccessDataSource.swift */; }; + B45B8DC3DAACDD5F04B1B1BE /* SuccessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB3F67BE6E46ED018EB8C3FD /* SuccessViewController.swift */; }; + B5EEF34D158C08A1745FA150 /* ContinueStateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA55452373FD735983F3690B /* ContinueStateView.swift */; }; + B8F440921DB172F96F912CD0 /* PaneWithCustomHeaderLayoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 263817C1DB5311A4E99C11CE /* PaneWithCustomHeaderLayoutView.swift */; }; + BAA72FE13406CAF5FA4BBDC8 /* SuccessAccountListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4EDFBDA8D9C0CEA30B51F2 /* SuccessAccountListView.swift */; }; + BC991D917034CCF5149403CA /* FeaturedInstitutionGridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 947F7F2C282A37EC4AB119E0 /* FeaturedInstitutionGridView.swift */; }; + BCEA321423DF0E7674C2544C /* APIVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D95E5F34BDEE0237F52DA0A /* APIVersion.swift */; }; + BD3C87E03EB44F7D1C11664C /* spinner@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 57B289E803B7A53B000D7919 /* spinner@3x.png */; }; + BF5F964E1CA6312755D4161E /* SessionFetcherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 965814B0C5F3D13158E610E3 /* SessionFetcherTests.swift */; }; + BFF222008EEEDC3FACE342D9 /* AccountPickerFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ACAB1B6DB88D74F5ECC1C6D /* AccountPickerFooterView.swift */; }; + C0831318A33A32BF2EAB641A /* AccountPickerHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1362591D12A04CA663A69A47 /* AccountPickerHelpers.swift */; }; + C19996D0AC7E046DA87B6B32 /* ManualEntryValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8C7FDF59D906EA5C6B7A514 /* ManualEntryValidatorTests.swift */; }; + C1A079E8E76A02EBCB2588DA /* AccountPickerDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D715516C6703A780913E66EB /* AccountPickerDataSource.swift */; }; + C23A55F7C98103222B159D73 /* bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = EA3F36F0BED21F607C546B6D /* bank@3x.png */; }; + C258E0D849083BCC8A9B5068 /* HostViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0863AF9E2F9BD7C026FE59E /* HostViewController.swift */; }; + C3338FA5019EC8E99E2BA62F /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064D0E3A3AC71FAA60B54FC5 /* Helpers.swift */; }; + C38BEDD99477C83C91B105DD /* AccountPickerAccountLoadErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 463549CECD379484842033E3 /* AccountPickerAccountLoadErrorView.swift */; }; + C39214EA5995D85B847406BE /* SuccessFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD828AB80DE41DE11D38AF5C /* SuccessFooterView.swift */; }; + C59DBA5A86A3331113D6ED7E /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60B7CFC14964440E8AA670A9 /* LoadingView.swift */; }; + C61D5957D3276991795F7D16 /* FinancialConnectionsSheetAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6038978C79785C18257CD74 /* FinancialConnectionsSheetAnalytics.swift */; }; + C6B99A1C34886D3B5E1AF1A2 /* InstitutionSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DA1C1B311E06C1165C6F6A2 /* InstitutionSearchBar.swift */; }; + C747113C75AC92643B283CBD /* close@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F1C7A2FE53419CB29CBB6C08 /* close@3x.png */; }; + C906FC4DE38F16032B787607 /* ResetFlowDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D1C78684DD0B2D168C86229 /* ResetFlowDataSource.swift */; }; + CA5825059866BD3416BF8240 /* ManualEntrySuccessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43A7913F446F111887F1FA01 /* ManualEntrySuccessViewController.swift */; }; + CB734C25A19D38A87876FB2B /* FinancialConnectionsAnalyticsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73AB8A480620B5C3567F453C /* FinancialConnectionsAnalyticsTest.swift */; }; + CBEAB081DD7353928F485071 /* APIPollingHelperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 710183EE587F6FDA077FC150 /* APIPollingHelperTests.swift */; }; + CF47070B2A4CA27FEE9AE5FA /* generic_error@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A764CF4DB5B5F6F488132A8 /* generic_error@3x.png */; }; + CF8152B40B6CA74FD15602BF /* warning_circle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 956668158B27ACD34A6B2657 /* warning_circle@3x.png */; }; + D0C1EF46A418A8F8774B7418 /* FinancialConnectionsSession_both_accounts_la.json in Resources */ = {isa = PBXBuildFile; fileRef = F6CF7F1005B57D566E139DE3 /* FinancialConnectionsSession_both_accounts_la.json */; }; + D0C6D94867FA04B1BF80D56D /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9AB787FE87EDD702B1BBF09 /* StripeCoreTestUtils.framework */; }; + D10FB0DAC5E452D4569CEA14 /* back_arrow@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C4DA5D0EB4ED760B3F9818C5 /* back_arrow@3x.png */; }; + D50E771043434AD80EA28628 /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6652EBE38C47B36962AD370A /* StripeUICore.framework */; }; + D926228B6C7601AE4C806C93 /* FinancialConnectionsPaymentAccountResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF9E2D4C9D7684B02AD6037A /* FinancialConnectionsPaymentAccountResource.swift */; }; + D936C8A9F6E018DB144A5B0A /* FinancialConnectionsSynchronize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4667E3861CDEC3A41B757714 /* FinancialConnectionsSynchronize.swift */; }; + D949AE695F3288F84258BACD /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF6810BAADB14ACB95216C2B /* Localizable.strings */; }; + D9D84D6FF624CF4363D87CEB /* InstitutionDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ED1CF95D441821773EA68EE /* InstitutionDataSource.swift */; }; + D9F35B3B31CA2E52055D6B1D /* StringExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF731140836AE438C7F4F6AB /* StringExtensionsTests.swift */; }; + DC4DFC847378AC9E9112B443 /* AuthenticationSessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 596A401ABA089532A5006584 /* AuthenticationSessionManager.swift */; }; + E1D538A71C3370D534EA479B /* finicity@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A9868B0E4CF3C0098AA2E989 /* finicity@3x.png */; }; + E3F62D2F9C344A1178030E8E /* AttachLinkedPaymentAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA62F9B77C6A1D1B12F02CF5 /* AttachLinkedPaymentAccountViewController.swift */; }; + E4D00DB842047E595DD85BEF /* CheckboxView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97EE2BCD7B861ACA49DB56CD /* CheckboxView.swift */; }; + E637387728FA1597B1B51E5D /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2EA7801B85973F10F65DDB6 /* UIImage+Extensions.swift */; }; + E760C94B619A8934D1D5E1D0 /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBC23DAC91962D0D8A713D37 /* UIColor+Extensions.swift */; }; + E85DCFCA61299EF27B3201CF /* FinancialConnectionsSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51D8397DB43DEC09BDF66E8A /* FinancialConnectionsSheet.swift */; }; + E942BC70AEBC91537B4628DF /* InstitutionSearchErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F400E7EB544BF34DDD468BE /* InstitutionSearchErrorView.swift */; }; + E9866D5CA186A242BBEA69E1 /* ConsentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13AAB10AEE7A8EC5C9C53FFA /* ConsentViewController.swift */; }; + E9E6775FE1FB4E13B284C8E3 /* AccountPickerLabelRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2323E76B1B9C295DC5EAD53E /* AccountPickerLabelRowView.swift */; }; + EC74B719F0FA1A977EF4708C /* FinancialConnectionsAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 359BF8ACFB35A16EBD96C4F0 /* FinancialConnectionsAccount.swift */; }; + ED818E10F37230678B9B73CC /* SoftLinkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90A06A97D714450321A5D76D /* SoftLinkTests.swift */; }; + EDB22A11E058269784090A51 /* ConsentBottomSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8199AF9CE999D21ED5871D96 /* ConsentBottomSheetView.swift */; }; + F0397F4E1D6A91416897F45E /* brandicon_default@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7413C9D80DF7190CA6FB82EE /* brandicon_default@3x.png */; }; + F03F840B9E896F1B09742191 /* PartnerAuthViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25BDE722D8A827955C3182E8 /* PartnerAuthViewController.swift */; }; + F0FB346A0F86C3561CD3C048 /* UITableView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B52F27D0FACAE9D4F4D15A73 /* UITableView+Extensions.swift */; }; + F10147CF75C2A09D66CB5C14 /* cancel_circle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A4CC00446B086B2987114099 /* cancel_circle@3x.png */; }; + F22DE4B785D51B318A1A3D08 /* FinancialConnectionsSheetError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C0737DE86515E172909366F /* FinancialConnectionsSheetError.swift */; }; + F419E86FC441B6C58B3F0D00 /* PrepaneView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5309724F4B9531EBBB03FD54 /* PrepaneView.swift */; }; + F65E8D16DE691EB6C99C4521 /* Button+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E4A84F0646AD673029CB6FC /* Button+Extensions.swift */; }; + F67624595BD2CD7B6793BFDA /* FinancialConnectionsImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93F7139E9BFB044902962D0 /* FinancialConnectionsImage.swift */; }; + FCC5A360E0064887DB28F5C6 /* StripeFinancialConnections.h in Headers */ = {isa = PBXBuildFile; fileRef = F96A3BA5CCB8DCCFA3126974 /* StripeFinancialConnections.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FE268512851E63E4E111DECD /* FinancialConnectionsSDKImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 248D51F7AADE404E49957DDA /* FinancialConnectionsSDKImplementation.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3C4D2011273AED0900BC6444 /* PBXContainerItemProxy */ = { + 99584176FCBCA6DC9B8E22E4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 3C4D1FFD273AED0800BC6444 /* Project object */; + containerPortal = 3D00B888AF0B02587576A83F /* Project object */; proxyType = 1; - remoteGlobalIDString = 3C4D2005273AED0800BC6444; + remoteGlobalIDString = 44C90013B7C82C80A2F69956; remoteInfo = StripeFinancialConnections; }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 4E8F557BB03B30AB6BCE5DAC /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 6EAD6F45EDAE7B645FDC823B /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ - 3C19E0F12762E65400F3C4ED /* FinancialConnectionsAnalyticsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAnalyticsTest.swift; sourceTree = ""; }; - 3C19E0F32762EDDF00F3C4ED /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C19E0F52762EF7800F3C4ED /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C2432F2275AB8140031E9B9 /* StripeCore+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; - 3C27785929117C4100E352E0 /* FlowRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlowRouter.swift; sourceTree = ""; }; - 3C322869279A009C00A3D4D4 /* SessionFetcherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionFetcherTests.swift; sourceTree = ""; }; - 3C34E0E82798EB33002618E4 /* FinancialConnectionsSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSession.swift; sourceTree = ""; }; - 3C34E0EA2799C3FF002618E4 /* FinancialConnectionsSessionFetcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSessionFetcher.swift; sourceTree = ""; }; - 3C34F0C427D25F35003ADCBA /* SoftLinkTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SoftLinkTests.swift; sourceTree = ""; }; - 3C37D6D3274C0DCA0041F1BE /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C3ADCB92800C1E0008C24EF /* BankAccountToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BankAccountToken.swift; sourceTree = ""; }; - 3C481CEE281C55A60059A63A /* FinancialConnectionsSession_only_la.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = FinancialConnectionsSession_only_la.json; sourceTree = ""; }; - 3C481CF0281C56E70059A63A /* FinancialConnectionsSession_only_accounts.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = FinancialConnectionsSession_only_accounts.json; sourceTree = ""; }; - 3C481CF1281C56E70059A63A /* FinancialConnectionsSession_only_both_missing.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = FinancialConnectionsSession_only_both_missing.json; sourceTree = ""; }; - 3C481CF2281C56E70059A63A /* FinancialConnectionsSession_both_accounts_la.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = FinancialConnectionsSession_both_accounts_la.json; sourceTree = ""; }; - 3C481CF6281C57A00059A63A /* FinancialConnectionsSessionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSessionTests.swift; sourceTree = ""; }; - 3C4D2006273AED0800BC6444 /* StripeFinancialConnections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeFinancialConnections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C4D2009273AED0800BC6444 /* StripeFinancialConnections.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeFinancialConnections.h; sourceTree = ""; }; - 3C4D200A273AED0800BC6444 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3C4D200F273AED0900BC6444 /* StripeFinancialConnectionsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeFinancialConnectionsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C4D2014273AED0900BC6444 /* FinancialConnectionsSheetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSheetTests.swift; sourceTree = ""; }; - 3C4D2016273AED0900BC6444 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3C4D2023273AED2900BC6444 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - 3C4D2024273AED2900BC6444 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - 3C4D2025273AED2900BC6444 /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - 3C4D2026273AED2900BC6444 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - 3C4D2027273AED2900BC6444 /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - 3C4D2028273AED2900BC6444 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - 3C4D2029273AED2900BC6444 /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - 3C4D202A273AED2900BC6444 /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - 3C4D202B273AED2900BC6444 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - 3C4D202C273AED2900BC6444 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - 3C4D207A273C626A00BC6444 /* FinancialConnectionsSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSheet.swift; sourceTree = ""; }; - 3C4D20B7273C6E2100BC6444 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C4D9E86277E1CD5007C741B /* FinancialConnectionsAccountFetcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAccountFetcher.swift; sourceTree = ""; }; - 3C4D9E88277E3D9E007C741B /* AccountFetcherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountFetcherTests.swift; sourceTree = ""; }; - 3C51656828D0F8BA00D41DCF /* APIVersion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIVersion.swift; sourceTree = ""; }; - 3C5430CE27457C8600B1E488 /* FinancialConnectionsAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAccount.swift; sourceTree = ""; }; - 3C5430DF274589E000B1E488 /* FinancialConnectionsSheetError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSheetError.swift; sourceTree = ""; }; - 3C5B2CA3273DA701005C5A05 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CA4273DA701005C5A05 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CA5273DA701005C5A05 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CA6273DA701005C5A05 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CA7273DA701005C5A05 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CA8273DA701005C5A05 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CA9273DA701005C5A05 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CAA273DA701005C5A05 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CAB273DA701005C5A05 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CAC273DA701005C5A05 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CAD273DA701005C5A05 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CAE273DA701005C5A05 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CAF273DA701005C5A05 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CB0273DA701005C5A05 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CB1273DA701005C5A05 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CB2273DA701005C5A05 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CB3273DA701005C5A05 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CB4273DA701005C5A05 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CB5273DA701005C5A05 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CB6273DA701005C5A05 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CB7273DA701005C5A05 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CB8273DA701005C5A05 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CB9273DA701005C5A05 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CBB273DA701005C5A05 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CBC273DA701005C5A05 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CBD273DA701005C5A05 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CBE273DA701005C5A05 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CBF273DA701005C5A05 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CC0273DA701005C5A05 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CC1273DA701005C5A05 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CC2273DA701005C5A05 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CC3273DA701005C5A05 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CC4273DA701005C5A05 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CC5273DA701005C5A05 /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CC6273DA701005C5A05 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CC7273DA701005C5A05 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CC8273DA702005C5A05 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CC9273DA702005C5A05 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CCA273DA702005C5A05 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CCB273DA702005C5A05 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - 3C5B2CCC273DA702005C5A05 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; - 3C5B2CCF273DB32F005C5A05 /* StripeFinancialConnectionsBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeFinancialConnectionsBundleLocator.swift; sourceTree = ""; }; - 3C5B2CD2273DB3B9005C5A05 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; - 3C6E0B5B280FA01F00B05898 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C6E0B5D280FA01F00B05898 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C6E0B5F280FA02D00B05898 /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3C7FBA2D293A7CCE00EC7F8C /* UITableView+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITableView+Extensions.swift"; sourceTree = ""; }; - 3C82F4AA275A8162008A7162 /* FinancialConnectionsWebFlowViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsWebFlowViewController.swift; sourceTree = ""; }; - 3C82F4AE275A8178008A7162 /* AuthenticationSessionManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationSessionManager.swift; sourceTree = ""; }; - 3C9F0BD8276293D300E1FDFA /* FinancialConnectionsSheetAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSheetAnalytics.swift; sourceTree = ""; }; - 3CA52D4927517239001F511E /* UIColor+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = ""; }; - 3CAD99B1284ADDD400B163EB /* HostController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HostController.swift; sourceTree = ""; }; - 3CAD99B3284ADEBF00B163EB /* HostViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HostViewController.swift; sourceTree = ""; }; - 3CAD99B5284ADF5A00B163EB /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; }; - 3CAD99BA284E381100B163EB /* FinancialConnectionsInstitution.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsInstitution.swift; sourceTree = ""; }; - 3CAD99BD284E39C400B163EB /* NativeFlowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeFlowController.swift; sourceTree = ""; }; - 3CAD99BF284E438C00B163EB /* FinancialConnectionsNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsNavigationController.swift; sourceTree = ""; }; - 3CAD99C1284FE42000B163EB /* NativeFlowDataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeFlowDataManager.swift; sourceTree = ""; }; - 3CAD99C4284FE75F00B163EB /* PlaceholderViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaceholderViewController.swift; sourceTree = ""; }; - 3CAD99C6285032E600B163EB /* InstitutionPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionPickerViewController.swift; sourceTree = ""; }; - 3CAD99C92851155400B163EB /* InstitutionDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionDataSource.swift; sourceTree = ""; }; - 3CC4218A274C402600BBEDF4 /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; - 3CC42195274C457A00BBEDF4 /* close@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "close@3x.png"; sourceTree = ""; }; - 3CC42196274C457A00BBEDF4 /* back_arrow@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_arrow@3x.png"; sourceTree = ""; }; - 3CD1D39727C82DC6001575BB /* FinancialConnectionsSDKImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSDKImplementation.swift; sourceTree = ""; }; - 3CE96D3327585BC6006B7059 /* FinancialConnectionsAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAPIClient.swift; sourceTree = ""; }; - 3CE96D3527585F01006B7059 /* FinancialConnectionsSessionManifest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSessionManifest.swift; sourceTree = ""; }; - 3CFC631928EDCF8E00DF9D28 /* ContinueStateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContinueStateView.swift; sourceTree = ""; }; - 6A0019D72880865E009D662A /* StringExtensionsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringExtensionsTests.swift; sourceTree = ""; }; - 6A0019DB2885EAAA009D662A /* stripe_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stripe_logo@3x.png"; sourceTree = ""; }; - 6A0019DD2886F3B9009D662A /* UIViewController+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Extensions.swift"; sourceTree = ""; }; - 6A019887291192FE00418064 /* AlwaysTemplateImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlwaysTemplateImageView.swift; sourceTree = ""; }; - 6A038F08288F040800D3331D /* ReusableInformationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReusableInformationView.swift; sourceTree = ""; }; - 6A038F0B288F2CD300D3331D /* PartnerAuthViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PartnerAuthViewController.swift; sourceTree = ""; }; - 6A038F0D28903F3D00D3331D /* PrepaneView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrepaneView.swift; sourceTree = ""; }; - 6A1BA4AB2858D5F100759697 /* ConsentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentViewController.swift; sourceTree = ""; }; - 6A1BA4AD2858D76800759697 /* ConsentFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentFooterView.swift; sourceTree = ""; }; - 6A1E299B289DAEF200F99E9D /* AccountPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerViewController.swift; sourceTree = ""; }; - 6A1E299D289DB83E00F99E9D /* AccountPickerDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerDataSource.swift; sourceTree = ""; }; - 6A1E29A128A1BB9100F99E9D /* PartnerAuthDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PartnerAuthDataSource.swift; sourceTree = ""; }; - 6A1E29A328A3E59F00F99E9D /* AccountPickerFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerFooterView.swift; sourceTree = ""; }; - 6A1E29A528A3F0D400F99E9D /* AccountPickerSelectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerSelectionView.swift; sourceTree = ""; }; - 6A1E29A728A3F6B300F99E9D /* AccountPickerSelectionRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerSelectionRowView.swift; sourceTree = ""; }; - 6A1E29A928A3FF8400F99E9D /* CheckboxView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxView.swift; sourceTree = ""; }; - 6A1E29AC28A71B6100F99E9D /* SuccessViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessViewController.swift; sourceTree = ""; }; - 6A1E29AE28A71C5D00F99E9D /* SuccessDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessDataSource.swift; sourceTree = ""; }; - 6A2318CF28AE7EA700F2A7D8 /* RadioButtonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioButtonView.swift; sourceTree = ""; }; - 6A2318D328B3C36000F2A7D8 /* AccountPickerSelectionListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerSelectionListView.swift; sourceTree = ""; }; - 6A2318D628B571E000F2A7D8 /* ManualEntryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryViewController.swift; sourceTree = ""; }; - 6A2318D828B57E5100F2A7D8 /* ManualEntryTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryTextField.swift; sourceTree = ""; }; - 6A370F312901CA2C00A6DB9B /* FinancialConnectionsSynchronize.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSynchronize.swift; sourceTree = ""; }; - 6A4FA13828E11B3D00F07D42 /* CloseConfirmationAlertHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloseConfirmationAlertHandler.swift; sourceTree = ""; }; - 6A4FA13A28E3340B00F07D42 /* check@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check@3x.png"; sourceTree = ""; }; - 6A4FA13C28E346E600F07D42 /* warning_triangle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warning_triangle@3x.png"; sourceTree = ""; }; - 6A4FA13E28E34AFF00F07D42 /* search@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "search@3x.png"; sourceTree = ""; }; - 6A4FA14028E353BD00F07D42 /* edit@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit@3x.png"; sourceTree = ""; }; - 6A4FA14228E3564100F07D42 /* email@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "email@3x.png"; sourceTree = ""; }; - 6A4FA14428E390D000F07D42 /* brandicon_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "brandicon_default@3x.png"; sourceTree = ""; }; - 6A4FA14628E3917000F07D42 /* warning_circle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warning_circle@3x.png"; sourceTree = ""; }; - 6A4FA14828E391ED00F07D42 /* InstitutionIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionIconView.swift; sourceTree = ""; }; - 6A4FA14A28E4777C00F07D42 /* spinner@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "spinner@3x.png"; sourceTree = ""; }; - 6A4FA14C28E477EA00F07D42 /* SpinnerIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpinnerIconView.swift; sourceTree = ""; }; - 6A4FA14E28E4845800F07D42 /* chevron_down@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chevron_down@3x.png"; sourceTree = ""; }; - 6A4FA15028E48D2400F07D42 /* generic_error@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "generic_error@3x.png"; sourceTree = ""; }; - 6A4FA15228E492D600F07D42 /* bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank@3x.png"; sourceTree = ""; }; - 6A4FA15528E4DC9E00F07D42 /* AttachLinkedPaymentAccountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachLinkedPaymentAccountViewController.swift; sourceTree = ""; }; - 6A4FA15728E4DCBA00F07D42 /* AttachLinkedPaymentAccountDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachLinkedPaymentAccountDataSource.swift; sourceTree = ""; }; - 6A50F0DC28F5B91A00214753 /* UIImageView+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImageView+Extensions.swift"; sourceTree = ""; }; - 6A50F0DE28F8649100214753 /* FinancialConnectionsAnalyticsClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAnalyticsClient.swift; sourceTree = ""; }; - 6A542DB02887259600958ED1 /* FeaturedInstitutionGridCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeaturedInstitutionGridCell.swift; sourceTree = ""; }; - 6A542DB228889AC400958ED1 /* InstitutionSearchTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchTableView.swift; sourceTree = ""; }; - 6A542DB42889A1CB00958ED1 /* InstitutionSearchTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchTableViewCell.swift; sourceTree = ""; }; - 6A59FC9D28B668A700F0F33E /* ManualEntryFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryFormView.swift; sourceTree = ""; }; - 6A59FC9F28B67EFD00F0F33E /* ManualEntryCheckView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryCheckView.swift; sourceTree = ""; }; - 6A59FCA128B67FC000F0F33E /* bank_check@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_check@2x.png"; sourceTree = ""; }; - 6A59FCA328B70C0200F0F33E /* ManualEntryDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryDataSource.swift; sourceTree = ""; }; - 6A59FCA528B7BD7100F0F33E /* ManualEntryFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryFooterView.swift; sourceTree = ""; }; - 6A59FCA728B8204E00F0F33E /* ManualEntryValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryValidator.swift; sourceTree = ""; }; - 6A78179328B901CB0017CB1E /* UIViewController+KeyboardAvoiding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+KeyboardAvoiding.swift"; sourceTree = ""; }; - 6A78179528B938FC0017CB1E /* ManualEntryValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryValidatorTests.swift; sourceTree = ""; }; - 6A78179828BCF26B0017CB1E /* ManualEntrySuccessViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntrySuccessViewController.swift; sourceTree = ""; }; - 6A78179A28BCF2960017CB1E /* ManualEntrySuccessTransactionTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntrySuccessTransactionTableView.swift; sourceTree = ""; }; - 6A78179C28BFA89A0017CB1E /* ManualEntryErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryErrorView.swift; sourceTree = ""; }; - 6A7C861628D273940025B8DF /* SuccessIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessIconView.swift; sourceTree = ""; }; - 6A7C861928D3C16E0025B8DF /* TerminalErrorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TerminalErrorViewController.swift; sourceTree = ""; }; - 6A8B1C7B28EA60FB004AA6FE /* APIPollingHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIPollingHelper.swift; sourceTree = ""; }; - 6A8B1C7D28EA8086004AA6FE /* APIPollingHelperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIPollingHelperTests.swift; sourceTree = ""; }; - 6A8B4AF928CAD40600128356 /* AccountPickerHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerHelpers.swift; sourceTree = ""; }; - 6A8B4AFD28CADDFA00128356 /* AccountPickerHelpersTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerHelpersTests.swift; sourceTree = ""; }; - 6A8B4AFF28CAE6EC00128356 /* AccountPickerLabelRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerLabelRowView.swift; sourceTree = ""; }; - 6A8B4B0228CFC7C600128356 /* PaneLayoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaneLayoutView.swift; sourceTree = ""; }; - 6A8B4B0428CFD31800128356 /* PaneWithHeaderLayoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaneWithHeaderLayoutView.swift; sourceTree = ""; }; - 6A8B4B0628D0BE4600128356 /* ConsentDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentDataSource.swift; sourceTree = ""; }; - 6A90861B290C82A20076CF12 /* TimeInterval+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TimeInterval+Extensions.swift"; sourceTree = ""; }; - 6A90861D291054E00076CF12 /* FinancialConnectionsImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsImage.swift; sourceTree = ""; }; - 6A9117E6287CB20D007633D4 /* String+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extensions.swift"; sourceTree = ""; }; - 6A9117EB287F4D87007633D4 /* ConsentBottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentBottomSheetViewController.swift; sourceTree = ""; }; - 6A9117ED287F535C007633D4 /* ConsentBottomSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentBottomSheetView.swift; sourceTree = ""; }; - 6A99EF6128E51F1F00C76293 /* LinkingAccountsLoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkingAccountsLoadingView.swift; sourceTree = ""; }; - 6A99EF6328E5CFBD00C76293 /* AccountNumberRetrievalErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountNumberRetrievalErrorView.swift; sourceTree = ""; }; - 6A99EF6528E708D200C76293 /* Button+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Button+Extensions.swift"; sourceTree = ""; }; - 6AA280EB290098EF0071DEB5 /* PaneWithCustomHeaderLayoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaneWithCustomHeaderLayoutView.swift; sourceTree = ""; }; - 6AB0198E28E7C882004DB6E3 /* finicity@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "finicity@3x.png"; sourceTree = ""; }; - 6AB0198F28E7C882004DB6E3 /* mx@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mx@3x.png"; sourceTree = ""; }; - 6ABE2D03285A2DEF0064B3A4 /* ConsentBodyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentBodyView.swift; sourceTree = ""; }; - 6ABE2D05285B72A30064B3A4 /* ClickableLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClickableLabel.swift; sourceTree = ""; }; - 6ABE2D09285B7BA20064B3A4 /* SFSafariViewController+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SFSafariViewController+Extensions.swift"; sourceTree = ""; }; - 6ABF20372878786700C10295 /* UIFont+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+Extensions.swift"; sourceTree = ""; }; - 6AC190E128E7449000417EC5 /* InstitutionSearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchBar.swift; sourceTree = ""; }; - 6AC190E328E752D000417EC5 /* cancel_circle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cancel_circle@3x.png"; sourceTree = ""; }; - 6AD025C02925D71C00C6CBF1 /* HitTestStackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HitTestStackView.swift; sourceTree = ""; }; - 6AD025C22925DA7500C6CBF1 /* HitTestView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HitTestView.swift; sourceTree = ""; }; - 6AD025C42926876B00C6CBF1 /* UIImage+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Extensions.swift"; sourceTree = ""; }; - 6AD025C6292725EF00C6CBF1 /* ConsentBottomSheetModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentBottomSheetModel.swift; sourceTree = ""; }; - 6AD025C82927EAC800C6CBF1 /* bullet@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bullet@3x.png"; sourceTree = ""; }; - 6AD025CA292BC89D00C6CBF1 /* BulletPointLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BulletPointLabelView.swift; sourceTree = ""; }; - 6AD448B628C25F1F002CABB0 /* ResetFlowViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetFlowViewController.swift; sourceTree = ""; }; - 6AD448B828C25F85002CABB0 /* ResetFlowDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetFlowDataSource.swift; sourceTree = ""; }; - 6AD5863D290AC9380088522B /* FinancialConnectionsPaymentMethodType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsPaymentMethodType.swift; sourceTree = ""; }; - 6AD5863F290AC9590088522B /* FinancialConnectionsAuthSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAuthSession.swift; sourceTree = ""; }; - 6AD58641290AC9FA0088522B /* FinancialConnectionsPartnerAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsPartnerAccount.swift; sourceTree = ""; }; - 6AD58643290ACA200088522B /* FinancialConnectionsPaymentAccountResource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsPaymentAccountResource.swift; sourceTree = ""; }; - 6AD58645290ACA580088522B /* FinancialConnectionsMixedOAuthParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsMixedOAuthParams.swift; sourceTree = ""; }; - 6AD58647290ACB2F0088522B /* Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Helpers.swift; sourceTree = ""; }; - 6AE2E5A828D92A8200623523 /* InstitutionSearchFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchFooterView.swift; sourceTree = ""; }; - 6AE2E5AA28DB366000623523 /* InstitutionSearchErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchErrorView.swift; sourceTree = ""; }; - 6AE2E5AC28DB916E00623523 /* MerchantDataAccessView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MerchantDataAccessView.swift; sourceTree = ""; }; - 6AE2E5AE28DC928A00623523 /* NSAttributedString+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Extensions.swift"; sourceTree = ""; }; - 6AE2E5B028DC990700623523 /* MarkdownBoldAttributedStringTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownBoldAttributedStringTests.swift; sourceTree = ""; }; - 6AE2E5B228DCFBEF00623523 /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; - 6AE2E5B428DE132300623523 /* AccountPickerAccountLoadErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerAccountLoadErrorView.swift; sourceTree = ""; }; - 6AE2E5B628DE7F4400623523 /* AccountPickerNoAccountEligibleErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerNoAccountEligibleErrorView.swift; sourceTree = ""; }; - 6AE3F32E28EDF6B10079FD59 /* AuthFlowHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthFlowHelpers.swift; sourceTree = ""; }; - 6AE3F33028EDF7010079FD59 /* AuthFlowHelpersTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthFlowHelpersTests.swift; sourceTree = ""; }; - 6AE5171928AAE46A006E8314 /* SuccessFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessFooterView.swift; sourceTree = ""; }; - 6AE5171B28AAF099006E8314 /* SuccessBodyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessBodyView.swift; sourceTree = ""; }; - 6AE5171D28ABEF5A006E8314 /* SuccessAccountListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessAccountListView.swift; sourceTree = ""; }; - 6AFD485028871A98003439CB /* FeaturedInstitutionGridView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeaturedInstitutionGridView.swift; sourceTree = ""; }; + 064D0E3A3AC71FAA60B54FC5 /* Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Helpers.swift; sourceTree = ""; }; + 07BCA9D23511A3494C82B632 /* bullet@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bullet@3x.png"; sourceTree = ""; }; + 0DA7868C9DD47582244B47C8 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + 0E0C74C5F4B60F472AC1D6CF /* ClickableLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClickableLabel.swift; sourceTree = ""; }; + 0F4FC108D8C162EEE1EEA97E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 106427315CD279EAAD7D1B74 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + 1362591D12A04CA663A69A47 /* AccountPickerHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerHelpers.swift; sourceTree = ""; }; + 13A97EEE12DA8FB77D13C527 /* MerchantDataAccessView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MerchantDataAccessView.swift; sourceTree = ""; }; + 13AAB10AEE7A8EC5C9C53FFA /* ConsentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentViewController.swift; sourceTree = ""; }; + 1407DD9E95ADFE143FA046E4 /* FlowRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlowRouter.swift; sourceTree = ""; }; + 14CED33665ED3D8EE8D5D7B7 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + 191760EFAA9154C1F168E1D2 /* FinancialConnectionsPaymentMethodType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsPaymentMethodType.swift; sourceTree = ""; }; + 1A80CA4A87A90D2E19262220 /* ConsentBottomSheetModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentBottomSheetModel.swift; sourceTree = ""; }; + 1CD19E0601599AE89976DB4D /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; + 1CE32B7E492EFD8143F687F2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + 1CFE14532C10471EC61BB05A /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + 1D38B3C816EAB38AD242B064 /* SFSafariViewController+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SFSafariViewController+Extensions.swift"; sourceTree = ""; }; + 1DF07A1AAD6B39033F0B86FD /* FinancialConnectionsSession_only_both_missing.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = FinancialConnectionsSession_only_both_missing.json; sourceTree = ""; }; + 1E58AE51252DA4597DC82988 /* ConsentFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentFooterView.swift; sourceTree = ""; }; + 1E80DD2D042B327D9756E083 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 1FD362DF2D937D22E803C1DD /* PaneWithHeaderLayoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaneWithHeaderLayoutView.swift; sourceTree = ""; }; + 20E7725EF317C3BD62ADF845 /* FinancialConnectionsSheetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSheetTests.swift; sourceTree = ""; }; + 2323E76B1B9C295DC5EAD53E /* AccountPickerLabelRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerLabelRowView.swift; sourceTree = ""; }; + 24701CABF53C21DD7BCF3E48 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + 248D51F7AADE404E49957DDA /* FinancialConnectionsSDKImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSDKImplementation.swift; sourceTree = ""; }; + 24D4A72B4CCA677F45C29A5C /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + 25BDE722D8A827955C3182E8 /* PartnerAuthViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PartnerAuthViewController.swift; sourceTree = ""; }; + 263817C1DB5311A4E99C11CE /* PaneWithCustomHeaderLayoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaneWithCustomHeaderLayoutView.swift; sourceTree = ""; }; + 267B3586136203186882F5CE /* NSAttributedString+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Extensions.swift"; sourceTree = ""; }; + 283469CD0298E3AFCFDAF10F /* AccountPickerSelectionListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerSelectionListView.swift; sourceTree = ""; }; + 2C0F907D5B0AC58BE7A454BA /* StripeFinancialConnectionsBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeFinancialConnectionsBundleLocator.swift; sourceTree = ""; }; + 2C10E841FF9EBFEA8C2E30AF /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 2C82EDE35EB6404444E10108 /* edit@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "edit@3x.png"; sourceTree = ""; }; + 2D95E5F34BDEE0237F52DA0A /* APIVersion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIVersion.swift; sourceTree = ""; }; + 314462DF7856349FF9775598 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; + 33B1E2861FA7CA86FF79236C /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + 34452D5FDC1ED566A13427FE /* PaneLayoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaneLayoutView.swift; sourceTree = ""; }; + 35882B0B77DB22CEEDDA8C3C /* ManualEntrySuccessTransactionTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntrySuccessTransactionTableView.swift; sourceTree = ""; }; + 359BF8ACFB35A16EBD96C4F0 /* FinancialConnectionsAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAccount.swift; sourceTree = ""; }; + 3BD07CE6F99D7FAE83FC5CCC /* FinancialConnectionsWebFlowViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsWebFlowViewController.swift; sourceTree = ""; }; + 3EA1FC49D47073CD333D2EEA /* email@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "email@3x.png"; sourceTree = ""; }; + 3ED33E6BADC0893C3F6B22D2 /* AccountPickerHelpersTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerHelpersTests.swift; sourceTree = ""; }; + 429F985168AE9F9D700AE37B /* FinancialConnectionsSessionManifest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSessionManifest.swift; sourceTree = ""; }; + 43A7913F446F111887F1FA01 /* ManualEntrySuccessViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntrySuccessViewController.swift; sourceTree = ""; }; + 452989E2D269784006EFD18C /* FinancialConnectionsPartnerAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsPartnerAccount.swift; sourceTree = ""; }; + 463549CECD379484842033E3 /* AccountPickerAccountLoadErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerAccountLoadErrorView.swift; sourceTree = ""; }; + 4667E3861CDEC3A41B757714 /* FinancialConnectionsSynchronize.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSynchronize.swift; sourceTree = ""; }; + 4AFBF95DAE0783010A17EB58 /* FinancialConnectionsSession_only_accounts.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = FinancialConnectionsSession_only_accounts.json; sourceTree = ""; }; + 4BFCD9C339634B71FC8F85E9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 4C15A30C40F34CE330F89C41 /* SuccessDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessDataSource.swift; sourceTree = ""; }; + 4C4EDFBDA8D9C0CEA30B51F2 /* SuccessAccountListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessAccountListView.swift; sourceTree = ""; }; + 4DA1C1B311E06C1165C6F6A2 /* InstitutionSearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchBar.swift; sourceTree = ""; }; + 4E2EAD7059FF8358E674774A /* FinancialConnectionsAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAPIClient.swift; sourceTree = ""; }; + 4E4A84F0646AD673029CB6FC /* Button+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Button+Extensions.swift"; sourceTree = ""; }; + 4E7D318EE807701AB3FCA17D /* MarkdownBoldAttributedStringTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownBoldAttributedStringTests.swift; sourceTree = ""; }; + 4F95EA3D421BE335087E05DB /* AccountPickerSelectionRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerSelectionRowView.swift; sourceTree = ""; }; + 50B4E948868910ADA557F50D /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + 518F1F230FD4DF68E683C728 /* AttachLinkedPaymentAccountDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachLinkedPaymentAccountDataSource.swift; sourceTree = ""; }; + 51D8397DB43DEC09BDF66E8A /* FinancialConnectionsSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSheet.swift; sourceTree = ""; }; + 51EEC3A9E3BC863ED054B1DC /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + 5309724F4B9531EBBB03FD54 /* PrepaneView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrepaneView.swift; sourceTree = ""; }; + 54CF67A1F497E6CC73029CF0 /* StripeCore+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; + 57B289E803B7A53B000D7919 /* spinner@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "spinner@3x.png"; sourceTree = ""; }; + 591E8073D2AD30115ABDB60F /* BulletPointLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BulletPointLabelView.swift; sourceTree = ""; }; + 596A401ABA089532A5006584 /* AuthenticationSessionManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationSessionManager.swift; sourceTree = ""; }; + 5AC5D8EE52FE5D305F78E3A0 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + 5B65388786D25271A87D34CE /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 5B77DE6D7A86CC847977396A /* check@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check@3x.png"; sourceTree = ""; }; + 5C0737DE86515E172909366F /* FinancialConnectionsSheetError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSheetError.swift; sourceTree = ""; }; + 5C09425306344278C7B55089 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 5C837C27C2577391B91FF0E5 /* FinancialConnectionsAuthSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAuthSession.swift; sourceTree = ""; }; + 5D1C78684DD0B2D168C86229 /* ResetFlowDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetFlowDataSource.swift; sourceTree = ""; }; + 5D555DB0657A602274596428 /* warning_triangle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warning_triangle@3x.png"; sourceTree = ""; }; + 5E48DB3155C1546B196DF97B /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + 5E53077F6CE2AF59B9BCB4EF /* SuccessBodyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessBodyView.swift; sourceTree = ""; }; + 5F856808B78F4F1975959805 /* NativeFlowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeFlowController.swift; sourceTree = ""; }; + 60B7CFC14964440E8AA670A9 /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; }; + 6224E799E667DF223757D493 /* AccountNumberRetrievalErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountNumberRetrievalErrorView.swift; sourceTree = ""; }; + 6516BB12D029D1DDCBA1534D /* ManualEntryTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryTextField.swift; sourceTree = ""; }; + 65BCC4356AE3295B4A2F4A28 /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; + 6652EBE38C47B36962AD370A /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 66D2857E68EA69AC6F658BEA /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + 6A764CF4DB5B5F6F488132A8 /* generic_error@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "generic_error@3x.png"; sourceTree = ""; }; + 6B70A0C4DBFE46805549CF8B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 6C81D547F6BAD96C62E1E4D3 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + 6D18A6D99669DFF1E91A0705 /* bank_check@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_check@2x.png"; sourceTree = ""; }; + 6DA6A57067FB5EF86FEBD5B3 /* FinancialConnectionsNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsNavigationController.swift; sourceTree = ""; }; + 6E2D765AC793D89D26B74FC4 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; + 6F1C8781095363382A0F7BE5 /* ReusableInformationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReusableInformationView.swift; sourceTree = ""; }; + 6FA941D5F7178E89DE70076F /* ConsentBodyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentBodyView.swift; sourceTree = ""; }; + 710183EE587F6FDA077FC150 /* APIPollingHelperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIPollingHelperTests.swift; sourceTree = ""; }; + 723996D53965EC2286267A01 /* SpinnerIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpinnerIconView.swift; sourceTree = ""; }; + 72DEDE8871A732D603E96E2B /* AccountPickerSelectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerSelectionView.swift; sourceTree = ""; }; + 735101D3516EE679A29AE6D0 /* InstitutionSearchTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchTableViewCell.swift; sourceTree = ""; }; + 73AB8A480620B5C3567F453C /* FinancialConnectionsAnalyticsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAnalyticsTest.swift; sourceTree = ""; }; + 73C03F4DDC67B50C5E1993F6 /* ManualEntryFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryFormView.swift; sourceTree = ""; }; + 7413C9D80DF7190CA6FB82EE /* brandicon_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "brandicon_default@3x.png"; sourceTree = ""; }; + 742D94AC4B2D17F8282A6788 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + 74512F0599D8AEEA0BB1DA5F /* UIFont+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+Extensions.swift"; sourceTree = ""; }; + 7455C145AEAE3D5F87532187 /* SuccessIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessIconView.swift; sourceTree = ""; }; + 77A71EBB1B98CD285DD17D5F /* AccountFetcherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountFetcherTests.swift; sourceTree = ""; }; + 780BC432329228B042DA97D8 /* NativeFlowDataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeFlowDataManager.swift; sourceTree = ""; }; + 7A4D5A45DB15DF6148F1C85A /* RadioButtonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioButtonView.swift; sourceTree = ""; }; + 7AFC0D3ED86914DC4216CCCA /* AuthFlowHelpersTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthFlowHelpersTests.swift; sourceTree = ""; }; + 7C402C24A15DC6167E2C593F /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + 7F3A660CB2E9651947FE6D0A /* String+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extensions.swift"; sourceTree = ""; }; + 81304AD5BE5CCA10D1A866E0 /* ConsentDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentDataSource.swift; sourceTree = ""; }; + 8199AF9CE999D21ED5871D96 /* ConsentBottomSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentBottomSheetView.swift; sourceTree = ""; }; + 8301F7BA1FF90D131AE96E10 /* ManualEntryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryViewController.swift; sourceTree = ""; }; + 846D9EF58B02C69F9629AE79 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + 88F7731972F5FB12FD4FA48B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 8B3BF292FD82A198752A82EB /* InstitutionPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionPickerViewController.swift; sourceTree = ""; }; + 8F400E7EB544BF34DDD468BE /* InstitutionSearchErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchErrorView.swift; sourceTree = ""; }; + 8FE8BCF5A9FF2B9392A755EA /* FinancialConnectionsInstitution.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsInstitution.swift; sourceTree = ""; }; + 90A06A97D714450321A5D76D /* SoftLinkTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoftLinkTests.swift; sourceTree = ""; }; + 912E3AA36B68492A69019AEA /* AccountPickerNoAccountEligibleErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerNoAccountEligibleErrorView.swift; sourceTree = ""; }; + 9312AAE1BFF1D9BBEA44E8AA /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + 939D10B20D3ECA7BF7021BF8 /* InstitutionIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionIconView.swift; sourceTree = ""; }; + 93C4ECB724BD75320A999C42 /* HostController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HostController.swift; sourceTree = ""; }; + 947F7F2C282A37EC4AB119E0 /* FeaturedInstitutionGridView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeaturedInstitutionGridView.swift; sourceTree = ""; }; + 94869BACB486153419B30DE5 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 956668158B27ACD34A6B2657 /* warning_circle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warning_circle@3x.png"; sourceTree = ""; }; + 965814B0C5F3D13158E610E3 /* SessionFetcherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionFetcherTests.swift; sourceTree = ""; }; + 97CE72E38D41E86E0A1FAE9F /* AccountPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerViewController.swift; sourceTree = ""; }; + 97EE2BCD7B861ACA49DB56CD /* CheckboxView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxView.swift; sourceTree = ""; }; + 9ACAB1B6DB88D74F5ECC1C6D /* AccountPickerFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerFooterView.swift; sourceTree = ""; }; + 9D8F7A75976314427E8087F9 /* LinkingAccountsLoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkingAccountsLoadingView.swift; sourceTree = ""; }; + 9E337C061E4152E7814FC21E /* ConsentBottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsentBottomSheetViewController.swift; sourceTree = ""; }; + 9EA0AA05BC9FC60A06AC1B5E /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 9ED1CF95D441821773EA68EE /* InstitutionDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionDataSource.swift; sourceTree = ""; }; + A00D518C15FF3FAED7C193C2 /* HitTestStackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HitTestStackView.swift; sourceTree = ""; }; + A0863AF9E2F9BD7C026FE59E /* HostViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HostViewController.swift; sourceTree = ""; }; + A37D7E687494FAE048945144 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + A3A2815DF2EE9447CE7A3826 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + A4CC00446B086B2987114099 /* cancel_circle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cancel_circle@3x.png"; sourceTree = ""; }; + A6038978C79785C18257CD74 /* FinancialConnectionsSheetAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSheetAnalytics.swift; sourceTree = ""; }; + A872C2B500306F775622F904 /* FinancialConnectionsSessionFetcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSessionFetcher.swift; sourceTree = ""; }; + A9868B0E4CF3C0098AA2E989 /* finicity@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "finicity@3x.png"; sourceTree = ""; }; + A9B31B3A45DD8AAFD6F08820 /* AuthFlowHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthFlowHelpers.swift; sourceTree = ""; }; + AA01BC4016BF8788633CCAD9 /* FinancialConnectionsSession_only_la.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = FinancialConnectionsSession_only_la.json; sourceTree = ""; }; + AC4BABB6C871FE97868767E7 /* FeaturedInstitutionGridCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeaturedInstitutionGridCell.swift; sourceTree = ""; }; + AC7FED22D9EAC568EA6B35EB /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + ACEF0BAF1A5BBA3061C15A09 /* FinancialConnectionsSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSession.swift; sourceTree = ""; }; + B2B74140FCD8F5871F42C881 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + B4F56BF50DBF4A353D2526A6 /* stripe_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stripe_logo@3x.png"; sourceTree = ""; }; + B52F27D0FACAE9D4F4D15A73 /* UITableView+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITableView+Extensions.swift"; sourceTree = ""; }; + B5FFA1B806BC6AD3500B0567 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + B83A2749140B4E129CEF39C4 /* TerminalErrorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TerminalErrorViewController.swift; sourceTree = ""; }; + BC4D2368AC577A5233DEC72C /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + BD2284A0556400DEAEB279BE /* AlwaysTemplateImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlwaysTemplateImageView.swift; sourceTree = ""; }; + BD4C39F5F9AF440B13F51A81 /* ManualEntryDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryDataSource.swift; sourceTree = ""; }; + BDE174FB82FF2D359B048029 /* mx@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mx@3x.png"; sourceTree = ""; }; + BF7E41313B709F87B549D85F /* UIViewController+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Extensions.swift"; sourceTree = ""; }; + C0467CE507A92557C72885DF /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + C163A50C423B593C7F620630 /* PlaceholderViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaceholderViewController.swift; sourceTree = ""; }; + C2710EA52082B4A983294567 /* Placeholder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Placeholder.swift; sourceTree = ""; }; + C2922EAE205D76B40ED7FC92 /* ManualEntryFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryFooterView.swift; sourceTree = ""; }; + C4DA5D0EB4ED760B3F9818C5 /* back_arrow@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_arrow@3x.png"; sourceTree = ""; }; + C650E82A4195A7566AA54298 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C71BC4222E1986338BCB9587 /* InstitutionSearchTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchTableView.swift; sourceTree = ""; }; + C88FD9148F64D2AA8989D361 /* ManualEntryErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryErrorView.swift; sourceTree = ""; }; + C8AFA09E86048B4325C36CC8 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + C93F7139E9BFB044902962D0 /* FinancialConnectionsImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsImage.swift; sourceTree = ""; }; + C9A22DBD7D336381FEB3AB00 /* ManualEntryCheckView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryCheckView.swift; sourceTree = ""; }; + CA2DA47ECE153F888FA675CE /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + CB3C49A180D1697B03C79A59 /* UIViewController+KeyboardAvoiding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+KeyboardAvoiding.swift"; sourceTree = ""; }; + CE10909F3FC7D60E13B65226 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + CEC1BC95816DAD5AE9680662 /* FinancialConnectionsAccountFetcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAccountFetcher.swift; sourceTree = ""; }; + CF731140836AE438C7F4F6AB /* StringExtensionsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringExtensionsTests.swift; sourceTree = ""; }; + CF80A9614EB3ADA9E81397F8 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + CFEEBA73EBBCE02A50B2DB7A /* StripeFinancialConnectionsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeFinancialConnectionsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + D2C62B6AA6891A4214E0754E /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + D2EA7801B85973F10F65DDB6 /* UIImage+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Extensions.swift"; sourceTree = ""; }; + D3BF4CD26CEAE792AC2A7313 /* FinancialConnectionsMixedOAuthParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsMixedOAuthParams.swift; sourceTree = ""; }; + D715516C6703A780913E66EB /* AccountPickerDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPickerDataSource.swift; sourceTree = ""; }; + D890BD770F4E33D23ABA37EA /* BankAccountToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BankAccountToken.swift; sourceTree = ""; }; + DBBF5CEE2C9030B2D374BC76 /* FinancialConnectionsAnalyticsClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsAnalyticsClient.swift; sourceTree = ""; }; + DD828AB80DE41DE11D38AF5C /* SuccessFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessFooterView.swift; sourceTree = ""; }; + DD9E2537472B2ED4AA3ED6A2 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + DDC3AC48492FAB61E5B66D94 /* UIImageView+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImageView+Extensions.swift"; sourceTree = ""; }; + DFA81F9910A88A7DEB0F0BFD /* ResetFlowViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResetFlowViewController.swift; sourceTree = ""; }; + E05B47C10B77812660F7B01A /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; + E05C2C5CDAA55CE700662040 /* FinancialConnectionsSessionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsSessionTests.swift; sourceTree = ""; }; + E37D8CE9CD73443A9AAF2AE8 /* StripeFinancialConnections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeFinancialConnections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E813BE6B34901E4E050FFE13 /* TimeInterval+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TimeInterval+Extensions.swift"; sourceTree = ""; }; + E898E7D173685669E31FC58F /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + E90CF6AD88E530CE63D57269 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + EA3F36F0BED21F607C546B6D /* bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank@3x.png"; sourceTree = ""; }; + EA55452373FD735983F3690B /* ContinueStateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContinueStateView.swift; sourceTree = ""; }; + EAC8B933341AF86D9AFF5979 /* PartnerAuthDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PartnerAuthDataSource.swift; sourceTree = ""; }; + EB3F67BE6E46ED018EB8C3FD /* SuccessViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessViewController.swift; sourceTree = ""; }; + EC561AF0993C02AD68472D11 /* chevron_down@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chevron_down@3x.png"; sourceTree = ""; }; + EF0111A8932418631FFA1663 /* search@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "search@3x.png"; sourceTree = ""; }; + EF9E2D4C9D7684B02AD6037A /* FinancialConnectionsPaymentAccountResource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinancialConnectionsPaymentAccountResource.swift; sourceTree = ""; }; + EFB09DF9C9434032F387E081 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + F1C7A2FE53419CB29CBB6C08 /* close@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "close@3x.png"; sourceTree = ""; }; + F25B2AB87C9548245C28D14C /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + F2B7ECC6F6A4DA1F5F376467 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + F2BA0F04A5A7D3B1DBF34AEE /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; + F560A66FD9A35762F884F2D4 /* InstitutionSearchFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstitutionSearchFooterView.swift; sourceTree = ""; }; + F669BB8F3DA862C425897705 /* HitTestView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HitTestView.swift; sourceTree = ""; }; + F6CF7F1005B57D566E139DE3 /* FinancialConnectionsSession_both_accounts_la.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = FinancialConnectionsSession_both_accounts_la.json; sourceTree = ""; }; + F897F5AA6A684D0A370EA7BC /* ManualEntryValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryValidator.swift; sourceTree = ""; }; + F8C7FDF59D906EA5C6B7A514 /* ManualEntryValidatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryValidatorTests.swift; sourceTree = ""; }; + F96A3BA5CCB8DCCFA3126974 /* StripeFinancialConnections.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeFinancialConnections.h; sourceTree = ""; }; + F9A847D2AAA7271F507DC9F3 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + F9AB787FE87EDD702B1BBF09 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FA62F9B77C6A1D1B12F02CF5 /* AttachLinkedPaymentAccountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachLinkedPaymentAccountViewController.swift; sourceTree = ""; }; + FB4BBD3A262039B34C2DDCCB /* CloseConfirmationAlertHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloseConfirmationAlertHandler.swift; sourceTree = ""; }; + FBC23DAC91962D0D8A713D37 /* UIColor+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = ""; }; + FF54EDA6123C7E4E78D9D56B /* APIPollingHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIPollingHelper.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 3C4D2003273AED0800BC6444 /* Frameworks */ = { + 13EF25670CFA2AE22BD37D31 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3C37D6D4274C0DCA0041F1BE /* StripeUICore.framework in Frameworks */, - 3C4D20B8273C6E2100BC6444 /* StripeCore.framework in Frameworks */, + 3BF4BBF7E722B961E037286C /* XCTest.framework in Frameworks */, + 9CE29EA549C4BFA447AB82E0 /* StripeCore.framework in Frameworks */, + D0C6D94867FA04B1BF80D56D /* StripeCoreTestUtils.framework in Frameworks */, + 864C5159C62C562C655B53F7 /* StripeFinancialConnections.framework in Frameworks */, + 971E6F5E78BC3265CD80D0C6 /* StripeUICore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3C4D200C273AED0900BC6444 /* Frameworks */ = { + 618850E963EE4CF3E0EFE1FD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3C6E0B61280FA05200B05898 /* StripeFinancialConnections.framework in Frameworks */, - 3C6E0B60280FA02D00B05898 /* StripeUICore.framework in Frameworks */, - 3C6E0B5C280FA01F00B05898 /* StripeCore.framework in Frameworks */, - 3C19E0F62762EF7800F3C4ED /* StripeCoreTestUtils.framework in Frameworks */, + 06445472B3008395FCA92FEC /* StripeCore.framework in Frameworks */, + D50E771043434AD80EA28628 /* StripeUICore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 3C481CED281C55780059A63A /* MockData */ = { + 0436E20F0A78D3A243CF7761 /* Images */ = { isa = PBXGroup; children = ( - 3C481CF2281C56E70059A63A /* FinancialConnectionsSession_both_accounts_la.json */, - 3C481CF0281C56E70059A63A /* FinancialConnectionsSession_only_accounts.json */, - 3C481CF1281C56E70059A63A /* FinancialConnectionsSession_only_both_missing.json */, - 3C481CEE281C55A60059A63A /* FinancialConnectionsSession_only_la.json */, + C4DA5D0EB4ED760B3F9818C5 /* back_arrow@3x.png */, + 6D18A6D99669DFF1E91A0705 /* bank_check@2x.png */, + EA3F36F0BED21F607C546B6D /* bank@3x.png */, + 7413C9D80DF7190CA6FB82EE /* brandicon_default@3x.png */, + 07BCA9D23511A3494C82B632 /* bullet@3x.png */, + A4CC00446B086B2987114099 /* cancel_circle@3x.png */, + 5B77DE6D7A86CC847977396A /* check@3x.png */, + EC561AF0993C02AD68472D11 /* chevron_down@3x.png */, + F1C7A2FE53419CB29CBB6C08 /* close@3x.png */, + 2C82EDE35EB6404444E10108 /* edit@3x.png */, + 3EA1FC49D47073CD333D2EEA /* email@3x.png */, + A9868B0E4CF3C0098AA2E989 /* finicity@3x.png */, + 6A764CF4DB5B5F6F488132A8 /* generic_error@3x.png */, + BDE174FB82FF2D359B048029 /* mx@3x.png */, + EF0111A8932418631FFA1663 /* search@3x.png */, + 57B289E803B7A53B000D7919 /* spinner@3x.png */, + B4F56BF50DBF4A353D2526A6 /* stripe_logo@3x.png */, + 956668158B27ACD34A6B2657 /* warning_circle@3x.png */, + 5D555DB0657A602274596428 /* warning_triangle@3x.png */, ); - path = MockData; + path = Images; sourceTree = ""; }; - 3C4D1FFC273AED0800BC6444 = { + 132A42D1B9A52681405D214A /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 3C4D2022273AED2900BC6444 /* BuildConfigurations */, - 3C4D2008273AED0800BC6444 /* StripeFinancialConnections */, - 3C4D2013273AED0900BC6444 /* StripeFinancialConnectionsTests */, - 3C4D2007273AED0800BC6444 /* Products */, - 3C4D20B6273C6E2100BC6444 /* Frameworks */, + 2C10E841FF9EBFEA8C2E30AF /* Project-Debug.xcconfig */, + B5FFA1B806BC6AD3500B0567 /* Project-Release.xcconfig */, + CA2DA47ECE153F888FA675CE /* StripeiOS Tests-Debug.xcconfig */, + 14CED33665ED3D8EE8D5D7B7 /* StripeiOS Tests-Release.xcconfig */, + 314462DF7856349FF9775598 /* StripeiOS-Debug.xcconfig */, + 1CD19E0601599AE89976DB4D /* StripeiOS-Release.xcconfig */, ); + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; - 3C4D2007273AED0800BC6444 /* Products */ = { + 2530BFFBB1E845D2AA698BFC /* Placeholder */ = { isa = PBXGroup; children = ( - 3C4D2006273AED0800BC6444 /* StripeFinancialConnections.framework */, - 3C4D200F273AED0900BC6444 /* StripeFinancialConnectionsTests.xctest */, + C163A50C423B593C7F620630 /* PlaceholderViewController.swift */, ); - name = Products; + path = Placeholder; sourceTree = ""; }; - 3C4D2008273AED0800BC6444 /* StripeFinancialConnections */ = { + 298B4CECCC54664B4997B9D7 /* Frameworks */ = { isa = PBXGroup; children = ( - 3C5B2CA0273DA701005C5A05 /* Resources */, - 3C4D2043273AF44D00BC6444 /* Source */, - 3C4D2009273AED0800BC6444 /* StripeFinancialConnections.h */, - 3C4D200A273AED0800BC6444 /* Info.plist */, + 94869BACB486153419B30DE5 /* XCTest.framework */, ); - path = StripeFinancialConnections; + name = Frameworks; sourceTree = ""; }; - 3C4D2013273AED0900BC6444 /* StripeFinancialConnectionsTests */ = { + 328390D72E3911449BB9FD0B /* Analytics */ = { isa = PBXGroup; children = ( - 3C481CED281C55780059A63A /* MockData */, - 3C34F0C427D25F35003ADCBA /* SoftLinkTests.swift */, - 3C4D2014273AED0900BC6444 /* FinancialConnectionsSheetTests.swift */, - 3C4D2016273AED0900BC6444 /* Info.plist */, - 3C19E0F12762E65400F3C4ED /* FinancialConnectionsAnalyticsTest.swift */, - 3C4D9E88277E3D9E007C741B /* AccountFetcherTests.swift */, - 3C322869279A009C00A3D4D4 /* SessionFetcherTests.swift */, - 3C481CF6281C57A00059A63A /* FinancialConnectionsSessionTests.swift */, - 6A0019D72880865E009D662A /* StringExtensionsTests.swift */, - 6A78179528B938FC0017CB1E /* ManualEntryValidatorTests.swift */, - 6A8B4AFD28CADDFA00128356 /* AccountPickerHelpersTests.swift */, - 6AE2E5B028DC990700623523 /* MarkdownBoldAttributedStringTests.swift */, - 6A8B1C7D28EA8086004AA6FE /* APIPollingHelperTests.swift */, - 6AE3F33028EDF7010079FD59 /* AuthFlowHelpersTests.swift */, + DBBF5CEE2C9030B2D374BC76 /* FinancialConnectionsAnalyticsClient.swift */, + A6038978C79785C18257CD74 /* FinancialConnectionsSheetAnalytics.swift */, ); - path = StripeFinancialConnectionsTests; + path = Analytics; sourceTree = ""; }; - 3C4D2022273AED2900BC6444 /* BuildConfigurations */ = { + 35190A546A00D11AB281556E /* API Bindings */ = { isa = PBXGroup; children = ( - 3C4D2023273AED2900BC6444 /* StripeiOS Tests-Debug.xcconfig */, - 3C4D2024273AED2900BC6444 /* StripeiOS-Debug.xcconfig */, - 3C4D2025273AED2900BC6444 /* Project-Release.xcconfig */, - 3C4D2026273AED2900BC6444 /* StripeiOS Tests-Release.xcconfig */, - 3C4D2027273AED2900BC6444 /* Project-Shared.xcconfig */, - 3C4D2028273AED2900BC6444 /* Version.xcconfig */, - 3C4D2029273AED2900BC6444 /* StripeiOS Tests-Shared.xcconfig */, - 3C4D202A273AED2900BC6444 /* StripeiOS-Shared.xcconfig */, - 3C4D202B273AED2900BC6444 /* Project-Debug.xcconfig */, - 3C4D202C273AED2900BC6444 /* StripeiOS-Release.xcconfig */, + 637114D9B91F9206B6F6709B /* Models */, + FF54EDA6123C7E4E78D9D56B /* APIPollingHelper.swift */, + 2D95E5F34BDEE0237F52DA0A /* APIVersion.swift */, + 4E2EAD7059FF8358E674774A /* FinancialConnectionsAPIClient.swift */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = "API Bindings"; sourceTree = ""; }; - 3C4D2043273AF44D00BC6444 /* Source */ = { + 3ADD22C8436381E94908DA82 /* Success */ = { isa = PBXGroup; children = ( - 3CAD99BC284E39B700B163EB /* Native */, - 3CAD99B0284ADDA000B163EB /* Common */, - 3CD1D39627C82D8B001575BB /* FinancialConnectionsSDK */, - 3C9F0BD7276293C100E1FDFA /* Analytics */, - 3C82F4A9275A8162008A7162 /* Web */, - 3C5430C627457C0300B1E488 /* API Bindings */, - 3C5B2CCE273DB316005C5A05 /* Helpers */, - 3C4D207A273C626A00BC6444 /* FinancialConnectionsSheet.swift */, - 3C5430DF274589E000B1E488 /* FinancialConnectionsSheetError.swift */, - 3C2432F2275AB8140031E9B9 /* StripeCore+Import.swift */, + 4C4EDFBDA8D9C0CEA30B51F2 /* SuccessAccountListView.swift */, + 5E53077F6CE2AF59B9BCB4EF /* SuccessBodyView.swift */, + 4C15A30C40F34CE330F89C41 /* SuccessDataSource.swift */, + DD828AB80DE41DE11D38AF5C /* SuccessFooterView.swift */, + EB3F67BE6E46ED018EB8C3FD /* SuccessViewController.swift */, ); - path = Source; + path = Success; sourceTree = ""; }; - 3C4D20B6273C6E2100BC6444 /* Frameworks */ = { + 45F5EA9A9A1DEBC1EC05937F /* FinancialConnectionsSDK */ = { isa = PBXGroup; children = ( - 3C6E0B5F280FA02D00B05898 /* StripeUICore.framework */, - 3C6E0B5B280FA01F00B05898 /* StripeCore.framework */, - 3C6E0B5D280FA01F00B05898 /* StripeCoreTestUtils.framework */, - 3C19E0F52762EF7800F3C4ED /* StripeCoreTestUtils.framework */, - 3C19E0F32762EDDF00F3C4ED /* StripeCoreTestUtils.framework */, - 3C37D6D3274C0DCA0041F1BE /* StripeUICore.framework */, - 3C4D20B7273C6E2100BC6444 /* StripeCore.framework */, + 248D51F7AADE404E49957DDA /* FinancialConnectionsSDKImplementation.swift */, ); - name = Frameworks; + path = FinancialConnectionsSDK; sourceTree = ""; }; - 3C5430C627457C0300B1E488 /* API Bindings */ = { + 53C3F536D69FCBC77C3E7D5F /* Common */ = { isa = PBXGroup; children = ( - 3C5430C727457C1200B1E488 /* Models */, - 3CE96D3327585BC6006B7059 /* FinancialConnectionsAPIClient.swift */, - 6A8B1C7B28EA60FB004AA6FE /* APIPollingHelper.swift */, - 3C51656828D0F8BA00D41DCF /* APIVersion.swift */, + 6DA6A57067FB5EF86FEBD5B3 /* FinancialConnectionsNavigationController.swift */, + 1407DD9E95ADFE143FA046E4 /* FlowRouter.swift */, + 93C4ECB724BD75320A999C42 /* HostController.swift */, + A0863AF9E2F9BD7C026FE59E /* HostViewController.swift */, + 60B7CFC14964440E8AA670A9 /* LoadingView.swift */, ); - path = "API Bindings"; + path = Common; sourceTree = ""; }; - 3C5430C727457C1200B1E488 /* Models */ = { + 541D32C4B0F1635A97F4FE11 /* Web */ = { isa = PBXGroup; children = ( - 3CE96D3527585F01006B7059 /* FinancialConnectionsSessionManifest.swift */, - 3C5430CE27457C8600B1E488 /* FinancialConnectionsAccount.swift */, - 3C34E0E82798EB33002618E4 /* FinancialConnectionsSession.swift */, - 3C3ADCB92800C1E0008C24EF /* BankAccountToken.swift */, - 3CAD99BA284E381100B163EB /* FinancialConnectionsInstitution.swift */, - 6A370F312901CA2C00A6DB9B /* FinancialConnectionsSynchronize.swift */, - 6AD5863D290AC9380088522B /* FinancialConnectionsPaymentMethodType.swift */, - 6AD5863F290AC9590088522B /* FinancialConnectionsAuthSession.swift */, - 6AD58641290AC9FA0088522B /* FinancialConnectionsPartnerAccount.swift */, - 6AD58643290ACA200088522B /* FinancialConnectionsPaymentAccountResource.swift */, - 6AD58645290ACA580088522B /* FinancialConnectionsMixedOAuthParams.swift */, - 6A90861D291054E00076CF12 /* FinancialConnectionsImage.swift */, + 596A401ABA089532A5006584 /* AuthenticationSessionManager.swift */, + EA55452373FD735983F3690B /* ContinueStateView.swift */, + CEC1BC95816DAD5AE9680662 /* FinancialConnectionsAccountFetcher.swift */, + A872C2B500306F775622F904 /* FinancialConnectionsSessionFetcher.swift */, + 3BD07CE6F99D7FAE83FC5CCC /* FinancialConnectionsWebFlowViewController.swift */, ); - path = Models; + path = Web; sourceTree = ""; }; - 3C5B2CA0273DA701005C5A05 /* Resources */ = { + 5A844A24E4E9F4B7E3802DA9 /* AccountPicker */ = { isa = PBXGroup; children = ( - 3CC4218E274C413E00BBEDF4 /* Images */, - 3C5B2CA1273DA701005C5A05 /* Localizations */, + 463549CECD379484842033E3 /* AccountPickerAccountLoadErrorView.swift */, + D715516C6703A780913E66EB /* AccountPickerDataSource.swift */, + 9ACAB1B6DB88D74F5ECC1C6D /* AccountPickerFooterView.swift */, + 1362591D12A04CA663A69A47 /* AccountPickerHelpers.swift */, + 2323E76B1B9C295DC5EAD53E /* AccountPickerLabelRowView.swift */, + 912E3AA36B68492A69019AEA /* AccountPickerNoAccountEligibleErrorView.swift */, + 283469CD0298E3AFCFDAF10F /* AccountPickerSelectionListView.swift */, + 4F95EA3D421BE335087E05DB /* AccountPickerSelectionRowView.swift */, + 72DEDE8871A732D603E96E2B /* AccountPickerSelectionView.swift */, + 97CE72E38D41E86E0A1FAE9F /* AccountPickerViewController.swift */, + 97EE2BCD7B861ACA49DB56CD /* CheckboxView.swift */, + 9D8F7A75976314427E8087F9 /* LinkingAccountsLoadingView.swift */, + 7A4D5A45DB15DF6148F1C85A /* RadioButtonView.swift */, ); - path = Resources; + path = AccountPicker; sourceTree = ""; }; - 3C5B2CA1273DA701005C5A05 /* Localizations */ = { + 605E7A0FA65A081265FA6F54 /* InstitutionPicker */ = { isa = PBXGroup; children = ( - 3C5B2CA2273DA701005C5A05 /* Localizable.strings */, + AC4BABB6C871FE97868767E7 /* FeaturedInstitutionGridCell.swift */, + 947F7F2C282A37EC4AB119E0 /* FeaturedInstitutionGridView.swift */, + 9ED1CF95D441821773EA68EE /* InstitutionDataSource.swift */, + 8B3BF292FD82A198752A82EB /* InstitutionPickerViewController.swift */, + 4DA1C1B311E06C1165C6F6A2 /* InstitutionSearchBar.swift */, + 8F400E7EB544BF34DDD468BE /* InstitutionSearchErrorView.swift */, + F560A66FD9A35762F884F2D4 /* InstitutionSearchFooterView.swift */, + C71BC4222E1986338BCB9587 /* InstitutionSearchTableView.swift */, + 735101D3516EE679A29AE6D0 /* InstitutionSearchTableViewCell.swift */, ); - path = Localizations; + path = InstitutionPicker; sourceTree = ""; }; - 3C5B2CCE273DB316005C5A05 /* Helpers */ = { + 637114D9B91F9206B6F6709B /* Models */ = { isa = PBXGroup; children = ( - 3CC4218A274C402600BBEDF4 /* Image.swift */, - 3C5B2CD2273DB3B9005C5A05 /* STPLocalizedString.swift */, - 6A9117E6287CB20D007633D4 /* String+Extensions.swift */, - 3C5B2CCF273DB32F005C5A05 /* StripeFinancialConnectionsBundleLocator.swift */, - 3CA52D4927517239001F511E /* UIColor+Extensions.swift */, - 6ABF20372878786700C10295 /* UIFont+Extensions.swift */, - 6A0019DD2886F3B9009D662A /* UIViewController+Extensions.swift */, - 6AE2E5AE28DC928A00623523 /* NSAttributedString+Extensions.swift */, - 6AE2E5B228DCFBEF00623523 /* String+Localized.swift */, - 6AD58647290ACB2F0088522B /* Helpers.swift */, + D890BD770F4E33D23ABA37EA /* BankAccountToken.swift */, + 359BF8ACFB35A16EBD96C4F0 /* FinancialConnectionsAccount.swift */, + 5C837C27C2577391B91FF0E5 /* FinancialConnectionsAuthSession.swift */, + C93F7139E9BFB044902962D0 /* FinancialConnectionsImage.swift */, + 8FE8BCF5A9FF2B9392A755EA /* FinancialConnectionsInstitution.swift */, + D3BF4CD26CEAE792AC2A7313 /* FinancialConnectionsMixedOAuthParams.swift */, + 452989E2D269784006EFD18C /* FinancialConnectionsPartnerAccount.swift */, + EF9E2D4C9D7684B02AD6037A /* FinancialConnectionsPaymentAccountResource.swift */, + 191760EFAA9154C1F168E1D2 /* FinancialConnectionsPaymentMethodType.swift */, + ACEF0BAF1A5BBA3061C15A09 /* FinancialConnectionsSession.swift */, + 429F985168AE9F9D700AE37B /* FinancialConnectionsSessionManifest.swift */, + 4667E3861CDEC3A41B757714 /* FinancialConnectionsSynchronize.swift */, ); - path = Helpers; + path = Models; sourceTree = ""; }; - 3C82F4A9275A8162008A7162 /* Web */ = { + 65C5C08A61EC14B62EA32D0B /* Resources */ = { isa = PBXGroup; children = ( - 3C82F4AA275A8162008A7162 /* FinancialConnectionsWebFlowViewController.swift */, - 3C82F4AE275A8178008A7162 /* AuthenticationSessionManager.swift */, - 3C4D9E86277E1CD5007C741B /* FinancialConnectionsAccountFetcher.swift */, - 3C34E0EA2799C3FF002618E4 /* FinancialConnectionsSessionFetcher.swift */, - 3CFC631928EDCF8E00DF9D28 /* ContinueStateView.swift */, + 0436E20F0A78D3A243CF7761 /* Images */, + F2CF7FBAD6C8773D6E954126 /* Localizations */, ); - path = Web; + path = Resources; sourceTree = ""; }; - 3C9F0BD7276293C100E1FDFA /* Analytics */ = { + 7879CBA341D7E807714A831B = { isa = PBXGroup; children = ( - 3C9F0BD8276293D300E1FDFA /* FinancialConnectionsSheetAnalytics.swift */, - 6A50F0DE28F8649100214753 /* FinancialConnectionsAnalyticsClient.swift */, + 7F765C8B9BCB2FA4A3334063 /* Project */, + 298B4CECCC54664B4997B9D7 /* Frameworks */, + 820BF9CF057CF92872BC3C15 /* Products */, ); - path = Analytics; sourceTree = ""; }; - 3CAD99B0284ADDA000B163EB /* Common */ = { + 78A335C396F4FDF349C7BD59 /* Source */ = { isa = PBXGroup; children = ( - 3CAD99BF284E438C00B163EB /* FinancialConnectionsNavigationController.swift */, - 3CAD99B1284ADDD400B163EB /* HostController.swift */, - 3CAD99B3284ADEBF00B163EB /* HostViewController.swift */, - 3CAD99B5284ADF5A00B163EB /* LoadingView.swift */, - 3C27785929117C4100E352E0 /* FlowRouter.swift */, + 328390D72E3911449BB9FD0B /* Analytics */, + 35190A546A00D11AB281556E /* API Bindings */, + 53C3F536D69FCBC77C3E7D5F /* Common */, + 45F5EA9A9A1DEBC1EC05937F /* FinancialConnectionsSDK */, + DEC2827C937247DAA010F3D2 /* Helpers */, + BF0B937496C645C3ED6E265E /* Native */, + 541D32C4B0F1635A97F4FE11 /* Web */, + 51D8397DB43DEC09BDF66E8A /* FinancialConnectionsSheet.swift */, + 5C0737DE86515E172909366F /* FinancialConnectionsSheetError.swift */, + C2710EA52082B4A983294567 /* Placeholder.swift */, + 54CF67A1F497E6CC73029CF0 /* StripeCore+Import.swift */, ); - path = Common; + path = Source; sourceTree = ""; }; - 3CAD99BC284E39B700B163EB /* Native */ = { + 7BFDCD3B61A38A4BA3466780 /* AttachLinkedPaymentAccount */ = { isa = PBXGroup; children = ( - 6A4FA15428E4DC8E00F07D42 /* AttachLinkedPaymentAccount */, - 6A7C861828D3C14B0025B8DF /* TerminalError */, - 6A78179E28C25E690017CB1E /* ResetFlow */, - 6A2318D528B571CF00F2A7D8 /* ManualEntry */, - 6A78179728BCF1C30017CB1E /* ManualEntrySuccess */, - 6A1E299A289DAEAA00F99E9D /* AccountPicker */, - 6A9117EA287F4D18007633D4 /* Shared */, - 6A1BA4AA2858D5E000759697 /* Consent */, - 3CAD99C8285032EC00B163EB /* InstitutionPicker */, - 6A038F0A288F2CBA00D3331D /* PartnerAuth */, - 3CAD99C3284FE75000B163EB /* Placeholder */, - 6A1E29AB28A71B5300F99E9D /* Success */, - 3CAD99BD284E39C400B163EB /* NativeFlowController.swift */, - 3CAD99C1284FE42000B163EB /* NativeFlowDataManager.swift */, + 6224E799E667DF223757D493 /* AccountNumberRetrievalErrorView.swift */, + 518F1F230FD4DF68E683C728 /* AttachLinkedPaymentAccountDataSource.swift */, + FA62F9B77C6A1D1B12F02CF5 /* AttachLinkedPaymentAccountViewController.swift */, ); - path = Native; + path = AttachLinkedPaymentAccount; sourceTree = ""; }; - 3CAD99C3284FE75000B163EB /* Placeholder */ = { + 7F765C8B9BCB2FA4A3334063 /* Project */ = { isa = PBXGroup; children = ( - 3CAD99C4284FE75F00B163EB /* PlaceholderViewController.swift */, + 132A42D1B9A52681405D214A /* BuildConfigurations */, + B099AE2E516197735F31B3D9 /* StripeFinancialConnections */, + EA8A954B6F8275294AD1D76F /* StripeFinancialConnectionsTests */, ); - path = Placeholder; + name = Project; sourceTree = ""; }; - 3CAD99C8285032EC00B163EB /* InstitutionPicker */ = { + 820BF9CF057CF92872BC3C15 /* Products */ = { isa = PBXGroup; children = ( - 3CAD99C6285032E600B163EB /* InstitutionPickerViewController.swift */, - 3CAD99C92851155400B163EB /* InstitutionDataSource.swift */, - 6AFD485028871A98003439CB /* FeaturedInstitutionGridView.swift */, - 6A542DB02887259600958ED1 /* FeaturedInstitutionGridCell.swift */, - 6A542DB228889AC400958ED1 /* InstitutionSearchTableView.swift */, - 6A542DB42889A1CB00958ED1 /* InstitutionSearchTableViewCell.swift */, - 6AE2E5A828D92A8200623523 /* InstitutionSearchFooterView.swift */, - 6AE2E5AA28DB366000623523 /* InstitutionSearchErrorView.swift */, - 6AC190E128E7449000417EC5 /* InstitutionSearchBar.swift */, + C650E82A4195A7566AA54298 /* StripeCore.framework */, + F9AB787FE87EDD702B1BBF09 /* StripeCoreTestUtils.framework */, + E37D8CE9CD73443A9AAF2AE8 /* StripeFinancialConnections.framework */, + CFEEBA73EBBCE02A50B2DB7A /* StripeFinancialConnectionsTests.xctest */, + 6652EBE38C47B36962AD370A /* StripeUICore.framework */, ); - path = InstitutionPicker; + name = Products; sourceTree = ""; }; - 3CC4218E274C413E00BBEDF4 /* Images */ = { + 92A9D27306891BBCBC4DBF49 /* ManualEntry */ = { isa = PBXGroup; children = ( - 6AD025C82927EAC800C6CBF1 /* bullet@3x.png */, - 6AB0198E28E7C882004DB6E3 /* finicity@3x.png */, - 6AB0198F28E7C882004DB6E3 /* mx@3x.png */, - 6AC190E328E752D000417EC5 /* cancel_circle@3x.png */, - 6A4FA15028E48D2400F07D42 /* generic_error@3x.png */, - 6A4FA14E28E4845800F07D42 /* chevron_down@3x.png */, - 6A4FA14A28E4777C00F07D42 /* spinner@3x.png */, - 6A4FA14428E390D000F07D42 /* brandicon_default@3x.png */, - 6A4FA15228E492D600F07D42 /* bank@3x.png */, - 6A4FA14028E353BD00F07D42 /* edit@3x.png */, - 6A4FA14228E3564100F07D42 /* email@3x.png */, - 6A4FA13E28E34AFF00F07D42 /* search@3x.png */, - 6A4FA13C28E346E600F07D42 /* warning_triangle@3x.png */, - 6A4FA14628E3917000F07D42 /* warning_circle@3x.png */, - 6A4FA13A28E3340B00F07D42 /* check@3x.png */, - 6A59FCA128B67FC000F0F33E /* bank_check@2x.png */, - 6A0019DB2885EAAA009D662A /* stripe_logo@3x.png */, - 3CC42196274C457A00BBEDF4 /* back_arrow@3x.png */, - 3CC42195274C457A00BBEDF4 /* close@3x.png */, + C9A22DBD7D336381FEB3AB00 /* ManualEntryCheckView.swift */, + BD4C39F5F9AF440B13F51A81 /* ManualEntryDataSource.swift */, + C88FD9148F64D2AA8989D361 /* ManualEntryErrorView.swift */, + C2922EAE205D76B40ED7FC92 /* ManualEntryFooterView.swift */, + 73C03F4DDC67B50C5E1993F6 /* ManualEntryFormView.swift */, + 6516BB12D029D1DDCBA1534D /* ManualEntryTextField.swift */, + F897F5AA6A684D0A370EA7BC /* ManualEntryValidator.swift */, + 8301F7BA1FF90D131AE96E10 /* ManualEntryViewController.swift */, ); - path = Images; + path = ManualEntry; sourceTree = ""; }; - 3CD1D39627C82D8B001575BB /* FinancialConnectionsSDK */ = { + 9D434FE45EB09749E475FED6 /* MockData */ = { isa = PBXGroup; children = ( - 3CD1D39727C82DC6001575BB /* FinancialConnectionsSDKImplementation.swift */, + F6CF7F1005B57D566E139DE3 /* FinancialConnectionsSession_both_accounts_la.json */, + 4AFBF95DAE0783010A17EB58 /* FinancialConnectionsSession_only_accounts.json */, + 1DF07A1AAD6B39033F0B86FD /* FinancialConnectionsSession_only_both_missing.json */, + AA01BC4016BF8788633CCAD9 /* FinancialConnectionsSession_only_la.json */, ); - path = FinancialConnectionsSDK; + path = MockData; sourceTree = ""; }; - 6A038F0A288F2CBA00D3331D /* PartnerAuth */ = { + A7767444AAEB7AB6E887A54D /* PartnerAuth */ = { isa = PBXGroup; children = ( - 6A038F0B288F2CD300D3331D /* PartnerAuthViewController.swift */, - 6A038F0D28903F3D00D3331D /* PrepaneView.swift */, - 6A1E29A128A1BB9100F99E9D /* PartnerAuthDataSource.swift */, + EAC8B933341AF86D9AFF5979 /* PartnerAuthDataSource.swift */, + 25BDE722D8A827955C3182E8 /* PartnerAuthViewController.swift */, + 5309724F4B9531EBBB03FD54 /* PrepaneView.swift */, ); path = PartnerAuth; sourceTree = ""; }; - 6A1BA4AA2858D5E000759697 /* Consent */ = { + ACC10582EEBD4F7003A8EA2E /* ManualEntrySuccess */ = { isa = PBXGroup; children = ( - 6A8B4B0628D0BE4600128356 /* ConsentDataSource.swift */, - 6A1BA4AB2858D5F100759697 /* ConsentViewController.swift */, - 6ABE2D03285A2DEF0064B3A4 /* ConsentBodyView.swift */, - 6A1BA4AD2858D76800759697 /* ConsentFooterView.swift */, + 35882B0B77DB22CEEDDA8C3C /* ManualEntrySuccessTransactionTableView.swift */, + 43A7913F446F111887F1FA01 /* ManualEntrySuccessViewController.swift */, ); - path = Consent; + path = ManualEntrySuccess; sourceTree = ""; }; - 6A1E299A289DAEAA00F99E9D /* AccountPicker */ = { + B099AE2E516197735F31B3D9 /* StripeFinancialConnections */ = { isa = PBXGroup; children = ( - 6A1E299B289DAEF200F99E9D /* AccountPickerViewController.swift */, - 6A1E299D289DB83E00F99E9D /* AccountPickerDataSource.swift */, - 6A1E29A328A3E59F00F99E9D /* AccountPickerFooterView.swift */, - 6A8B4AFF28CAE6EC00128356 /* AccountPickerLabelRowView.swift */, - 6A1E29A528A3F0D400F99E9D /* AccountPickerSelectionView.swift */, - 6A1E29A728A3F6B300F99E9D /* AccountPickerSelectionRowView.swift */, - 6A2318D328B3C36000F2A7D8 /* AccountPickerSelectionListView.swift */, - 6A1E29A928A3FF8400F99E9D /* CheckboxView.swift */, - 6A2318CF28AE7EA700F2A7D8 /* RadioButtonView.swift */, - 6A8B4AF928CAD40600128356 /* AccountPickerHelpers.swift */, - 6AE2E5B428DE132300623523 /* AccountPickerAccountLoadErrorView.swift */, - 6AE2E5B628DE7F4400623523 /* AccountPickerNoAccountEligibleErrorView.swift */, - 6A99EF6128E51F1F00C76293 /* LinkingAccountsLoadingView.swift */, + 65C5C08A61EC14B62EA32D0B /* Resources */, + 78A335C396F4FDF349C7BD59 /* Source */, + 1E80DD2D042B327D9756E083 /* Info.plist */, + F96A3BA5CCB8DCCFA3126974 /* StripeFinancialConnections.h */, ); - path = AccountPicker; + path = StripeFinancialConnections; sourceTree = ""; }; - 6A1E29AB28A71B5300F99E9D /* Success */ = { + BD42562786EC2FC703C1B28E /* TerminalError */ = { isa = PBXGroup; children = ( - 6A1E29AC28A71B6100F99E9D /* SuccessViewController.swift */, - 6AE5171B28AAF099006E8314 /* SuccessBodyView.swift */, - 6AE5171928AAE46A006E8314 /* SuccessFooterView.swift */, - 6A1E29AE28A71C5D00F99E9D /* SuccessDataSource.swift */, - 6AE5171D28ABEF5A006E8314 /* SuccessAccountListView.swift */, + B83A2749140B4E129CEF39C4 /* TerminalErrorViewController.swift */, ); - path = Success; + path = TerminalError; sourceTree = ""; }; - 6A2318D528B571CF00F2A7D8 /* ManualEntry */ = { + BF0B937496C645C3ED6E265E /* Native */ = { isa = PBXGroup; children = ( - 6A2318D628B571E000F2A7D8 /* ManualEntryViewController.swift */, - 6A59FC9D28B668A700F0F33E /* ManualEntryFormView.swift */, - 6A59FC9F28B67EFD00F0F33E /* ManualEntryCheckView.swift */, - 6A2318D828B57E5100F2A7D8 /* ManualEntryTextField.swift */, - 6A59FCA328B70C0200F0F33E /* ManualEntryDataSource.swift */, - 6A59FCA528B7BD7100F0F33E /* ManualEntryFooterView.swift */, - 6A59FCA728B8204E00F0F33E /* ManualEntryValidator.swift */, - 6A78179C28BFA89A0017CB1E /* ManualEntryErrorView.swift */, + 5A844A24E4E9F4B7E3802DA9 /* AccountPicker */, + 7BFDCD3B61A38A4BA3466780 /* AttachLinkedPaymentAccount */, + EB6632ED2E696DA6381326C0 /* Consent */, + 605E7A0FA65A081265FA6F54 /* InstitutionPicker */, + 92A9D27306891BBCBC4DBF49 /* ManualEntry */, + ACC10582EEBD4F7003A8EA2E /* ManualEntrySuccess */, + A7767444AAEB7AB6E887A54D /* PartnerAuth */, + 2530BFFBB1E845D2AA698BFC /* Placeholder */, + C76F2B3F6D5AB3E54CE1C206 /* ResetFlow */, + C0C2FC181FFA71CFAA6F3148 /* Shared */, + 3ADD22C8436381E94908DA82 /* Success */, + BD42562786EC2FC703C1B28E /* TerminalError */, + 5F856808B78F4F1975959805 /* NativeFlowController.swift */, + 780BC432329228B042DA97D8 /* NativeFlowDataManager.swift */, ); - path = ManualEntry; + path = Native; sourceTree = ""; }; - 6A4FA15428E4DC8E00F07D42 /* AttachLinkedPaymentAccount */ = { + C0C2FC181FFA71CFAA6F3148 /* Shared */ = { isa = PBXGroup; children = ( - 6A4FA15528E4DC9E00F07D42 /* AttachLinkedPaymentAccountViewController.swift */, - 6A4FA15728E4DCBA00F07D42 /* AttachLinkedPaymentAccountDataSource.swift */, - 6A99EF6328E5CFBD00C76293 /* AccountNumberRetrievalErrorView.swift */, + BD2284A0556400DEAEB279BE /* AlwaysTemplateImageView.swift */, + A9B31B3A45DD8AAFD6F08820 /* AuthFlowHelpers.swift */, + 591E8073D2AD30115ABDB60F /* BulletPointLabelView.swift */, + 4E4A84F0646AD673029CB6FC /* Button+Extensions.swift */, + 0E0C74C5F4B60F472AC1D6CF /* ClickableLabel.swift */, + FB4BBD3A262039B34C2DDCCB /* CloseConfirmationAlertHandler.swift */, + 1A80CA4A87A90D2E19262220 /* ConsentBottomSheetModel.swift */, + 8199AF9CE999D21ED5871D96 /* ConsentBottomSheetView.swift */, + 9E337C061E4152E7814FC21E /* ConsentBottomSheetViewController.swift */, + A00D518C15FF3FAED7C193C2 /* HitTestStackView.swift */, + F669BB8F3DA862C425897705 /* HitTestView.swift */, + 939D10B20D3ECA7BF7021BF8 /* InstitutionIconView.swift */, + 13A97EEE12DA8FB77D13C527 /* MerchantDataAccessView.swift */, + 34452D5FDC1ED566A13427FE /* PaneLayoutView.swift */, + 263817C1DB5311A4E99C11CE /* PaneWithCustomHeaderLayoutView.swift */, + 1FD362DF2D937D22E803C1DD /* PaneWithHeaderLayoutView.swift */, + 6F1C8781095363382A0F7BE5 /* ReusableInformationView.swift */, + 1D38B3C816EAB38AD242B064 /* SFSafariViewController+Extensions.swift */, + 723996D53965EC2286267A01 /* SpinnerIconView.swift */, + 7455C145AEAE3D5F87532187 /* SuccessIconView.swift */, + E813BE6B34901E4E050FFE13 /* TimeInterval+Extensions.swift */, + D2EA7801B85973F10F65DDB6 /* UIImage+Extensions.swift */, + DDC3AC48492FAB61E5B66D94 /* UIImageView+Extensions.swift */, + B52F27D0FACAE9D4F4D15A73 /* UITableView+Extensions.swift */, + CB3C49A180D1697B03C79A59 /* UIViewController+KeyboardAvoiding.swift */, ); - path = AttachLinkedPaymentAccount; + path = Shared; sourceTree = ""; }; - 6A78179728BCF1C30017CB1E /* ManualEntrySuccess */ = { + C76F2B3F6D5AB3E54CE1C206 /* ResetFlow */ = { isa = PBXGroup; children = ( - 6A78179828BCF26B0017CB1E /* ManualEntrySuccessViewController.swift */, - 6A78179A28BCF2960017CB1E /* ManualEntrySuccessTransactionTableView.swift */, + 5D1C78684DD0B2D168C86229 /* ResetFlowDataSource.swift */, + DFA81F9910A88A7DEB0F0BFD /* ResetFlowViewController.swift */, ); - path = ManualEntrySuccess; + path = ResetFlow; sourceTree = ""; }; - 6A78179E28C25E690017CB1E /* ResetFlow */ = { + DEC2827C937247DAA010F3D2 /* Helpers */ = { isa = PBXGroup; children = ( - 6AD448B628C25F1F002CABB0 /* ResetFlowViewController.swift */, - 6AD448B828C25F85002CABB0 /* ResetFlowDataSource.swift */, + 064D0E3A3AC71FAA60B54FC5 /* Helpers.swift */, + 65BCC4356AE3295B4A2F4A28 /* Image.swift */, + 267B3586136203186882F5CE /* NSAttributedString+Extensions.swift */, + 6E2D765AC793D89D26B74FC4 /* STPLocalizedString.swift */, + 7F3A660CB2E9651947FE6D0A /* String+Extensions.swift */, + E05B47C10B77812660F7B01A /* String+Localized.swift */, + 2C0F907D5B0AC58BE7A454BA /* StripeFinancialConnectionsBundleLocator.swift */, + FBC23DAC91962D0D8A713D37 /* UIColor+Extensions.swift */, + 74512F0599D8AEEA0BB1DA5F /* UIFont+Extensions.swift */, + BF7E41313B709F87B549D85F /* UIViewController+Extensions.swift */, ); - path = ResetFlow; + path = Helpers; sourceTree = ""; }; - 6A7C861828D3C14B0025B8DF /* TerminalError */ = { + EA8A954B6F8275294AD1D76F /* StripeFinancialConnectionsTests */ = { isa = PBXGroup; children = ( - 6A7C861928D3C16E0025B8DF /* TerminalErrorViewController.swift */, + 9D434FE45EB09749E475FED6 /* MockData */, + 77A71EBB1B98CD285DD17D5F /* AccountFetcherTests.swift */, + 3ED33E6BADC0893C3F6B22D2 /* AccountPickerHelpersTests.swift */, + 710183EE587F6FDA077FC150 /* APIPollingHelperTests.swift */, + 7AFC0D3ED86914DC4216CCCA /* AuthFlowHelpersTests.swift */, + 73AB8A480620B5C3567F453C /* FinancialConnectionsAnalyticsTest.swift */, + E05C2C5CDAA55CE700662040 /* FinancialConnectionsSessionTests.swift */, + 20E7725EF317C3BD62ADF845 /* FinancialConnectionsSheetTests.swift */, + 4BFCD9C339634B71FC8F85E9 /* Info.plist */, + F8C7FDF59D906EA5C6B7A514 /* ManualEntryValidatorTests.swift */, + 4E7D318EE807701AB3FCA17D /* MarkdownBoldAttributedStringTests.swift */, + 965814B0C5F3D13158E610E3 /* SessionFetcherTests.swift */, + 90A06A97D714450321A5D76D /* SoftLinkTests.swift */, + CF731140836AE438C7F4F6AB /* StringExtensionsTests.swift */, ); - path = TerminalError; + path = StripeFinancialConnectionsTests; sourceTree = ""; }; - 6A9117EA287F4D18007633D4 /* Shared */ = { + EB6632ED2E696DA6381326C0 /* Consent */ = { isa = PBXGroup; children = ( - 6ABE2D05285B72A30064B3A4 /* ClickableLabel.swift */, - 6A50F0DC28F5B91A00214753 /* UIImageView+Extensions.swift */, - 6ABE2D09285B7BA20064B3A4 /* SFSafariViewController+Extensions.swift */, - 6A78179328B901CB0017CB1E /* UIViewController+KeyboardAvoiding.swift */, - 6A9117EB287F4D87007633D4 /* ConsentBottomSheetViewController.swift */, - 6A9117ED287F535C007633D4 /* ConsentBottomSheetView.swift */, - 6AD025C6292725EF00C6CBF1 /* ConsentBottomSheetModel.swift */, - 6A038F08288F040800D3331D /* ReusableInformationView.swift */, - 6A8B4B0228CFC7C600128356 /* PaneLayoutView.swift */, - 6AA280EB290098EF0071DEB5 /* PaneWithCustomHeaderLayoutView.swift */, - 6A8B4B0428CFD31800128356 /* PaneWithHeaderLayoutView.swift */, - 6A7C861628D273940025B8DF /* SuccessIconView.swift */, - 6AE2E5AC28DB916E00623523 /* MerchantDataAccessView.swift */, - 6A4FA13828E11B3D00F07D42 /* CloseConfirmationAlertHandler.swift */, - 6A4FA14828E391ED00F07D42 /* InstitutionIconView.swift */, - 6A4FA14C28E477EA00F07D42 /* SpinnerIconView.swift */, - 6A99EF6528E708D200C76293 /* Button+Extensions.swift */, - 6AE3F32E28EDF6B10079FD59 /* AuthFlowHelpers.swift */, - 6A90861B290C82A20076CF12 /* TimeInterval+Extensions.swift */, - 6A019887291192FE00418064 /* AlwaysTemplateImageView.swift */, - 6AD025C42926876B00C6CBF1 /* UIImage+Extensions.swift */, - 6AD025C02925D71C00C6CBF1 /* HitTestStackView.swift */, - 6AD025C22925DA7500C6CBF1 /* HitTestView.swift */, - 6AD025CA292BC89D00C6CBF1 /* BulletPointLabelView.swift */, - 3C7FBA2D293A7CCE00EC7F8C /* UITableView+Extensions.swift */, + 6FA941D5F7178E89DE70076F /* ConsentBodyView.swift */, + 81304AD5BE5CCA10D1A866E0 /* ConsentDataSource.swift */, + 1E58AE51252DA4597DC82988 /* ConsentFooterView.swift */, + 13AAB10AEE7A8EC5C9C53FFA /* ConsentViewController.swift */, ); - path = Shared; + path = Consent; + sourceTree = ""; + }; + F2CF7FBAD6C8773D6E954126 /* Localizations */ = { + isa = PBXGroup; + children = ( + BF6810BAADB14ACB95216C2B /* Localizable.strings */, + ); + path = Localizations; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 3C4D2001273AED0800BC6444 /* Headers */ = { + BD02401A40A42372CFD642EE /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3C4D2017273AED0900BC6444 /* StripeFinancialConnections.h in Headers */, + FCC5A360E0064887DB28F5C6 /* StripeFinancialConnections.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3C4D2005273AED0800BC6444 /* StripeFinancialConnections */ = { + 44C90013B7C82C80A2F69956 /* StripeFinancialConnections */ = { isa = PBXNativeTarget; - buildConfigurationList = 3C4D201A273AED0900BC6444 /* Build configuration list for PBXNativeTarget "StripeFinancialConnections" */; + buildConfigurationList = DE1BF3F953C39B1173504C4A /* Build configuration list for PBXNativeTarget "StripeFinancialConnections" */; buildPhases = ( - 3C4D2001273AED0800BC6444 /* Headers */, - 3C4D2002273AED0800BC6444 /* Sources */, - 3C4D2003273AED0800BC6444 /* Frameworks */, - 3C4D2004273AED0800BC6444 /* Resources */, + BD02401A40A42372CFD642EE /* Headers */, + 019D2A9648EC14A85E873494 /* Sources */, + CC61EC7C016C47747A2D7AB0 /* Resources */, + 6EAD6F45EDAE7B645FDC823B /* Embed Frameworks */, + 618850E963EE4CF3E0EFE1FD /* Frameworks */, ); buildRules = ( ); @@ -878,348 +901,340 @@ ); name = StripeFinancialConnections; productName = StripeFinancialConnections; - productReference = 3C4D2006273AED0800BC6444 /* StripeFinancialConnections.framework */; + productReference = E37D8CE9CD73443A9AAF2AE8 /* StripeFinancialConnections.framework */; productType = "com.apple.product-type.framework"; }; - 3C4D200E273AED0900BC6444 /* StripeFinancialConnectionsTests */ = { + DF72D31B68363878FC1604CF /* StripeFinancialConnectionsTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 3C4D201D273AED0900BC6444 /* Build configuration list for PBXNativeTarget "StripeFinancialConnectionsTests" */; + buildConfigurationList = 8C428C73E0383F9203731DCB /* Build configuration list for PBXNativeTarget "StripeFinancialConnectionsTests" */; buildPhases = ( - 3C4D200B273AED0900BC6444 /* Sources */, - 3C4D200C273AED0900BC6444 /* Frameworks */, - 3C4D200D273AED0900BC6444 /* Resources */, + 0EF6A0BEC1B066774A0D985E /* Sources */, + 704BBAB23732F215CEEAD39C /* Resources */, + 4E8F557BB03B30AB6BCE5DAC /* Embed Frameworks */, + 13EF25670CFA2AE22BD37D31 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 3C4D2012273AED0900BC6444 /* PBXTargetDependency */, + 3257A97C053FFC03C4806278 /* PBXTargetDependency */, ); name = StripeFinancialConnectionsTests; productName = StripeFinancialConnectionsTests; - productReference = 3C4D200F273AED0900BC6444 /* StripeFinancialConnectionsTests.xctest */; + productReference = CFEEBA73EBBCE02A50B2DB7A /* StripeFinancialConnectionsTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 3C4D1FFD273AED0800BC6444 /* Project object */ = { + 3D00B888AF0B02587576A83F /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1220; - LastUpgradeCheck = 1220; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 3C4D2005273AED0800BC6444 = { - CreatedOnToolsVersion = 12.2; - LastSwiftMigration = 1220; - }; - 3C4D200E273AED0900BC6444 = { - CreatedOnToolsVersion = 12.2; - }; }; }; - buildConfigurationList = 3C4D2000273AED0800BC6444 /* Build configuration list for PBXProject "StripeFinancialConnections" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = F7F4B17FFDBC5691F1A51423 /* Build configuration list for PBXProject "StripeFinancialConnections" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + "bg-BG", + "ca-ES", + "cs-CZ", + da, de, - "lt-LT", - "zh-Hans", - ja, "el-GR", - "ms-MY", - "zh-HK", - mt, - nb, - "ca-ES", + en, "en-GB", es, - da, "es-419", - it, - "nn-NO", - "fr-CA", - "bg-BG", - sv, - ko, - fil, - "zh-Hant", - "ro-RO", - hu, - tr, "et-EE", - "pt-BR", - "lv-LV", - vi, - ru, - "cs-CZ", - "sk-SK", - "sl-SI", - fr, fi, + fil, + fr, + "fr-CA", + hr, + hu, id, + it, + ja, + ko, + "lt-LT", + "lv-LV", + "ms-MY", + mt, + nb, nl, + "nn-NO", "pl-PL", + "pt-BR", "pt-PT", - hr, + "ro-RO", + ru, + "sk-SK", + "sl-SI", + sv, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = 3C4D1FFC273AED0800BC6444; - productRefGroup = 3C4D2007273AED0800BC6444 /* Products */; + mainGroup = 7879CBA341D7E807714A831B; + productRefGroup = 820BF9CF057CF92872BC3C15 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 3C4D2005273AED0800BC6444 /* StripeFinancialConnections */, - 3C4D200E273AED0900BC6444 /* StripeFinancialConnectionsTests */, + 44C90013B7C82C80A2F69956 /* StripeFinancialConnections */, + DF72D31B68363878FC1604CF /* StripeFinancialConnectionsTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 3C4D2004273AED0800BC6444 /* Resources */ = { + 704BBAB23732F215CEEAD39C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6A59FCA228B67FC000F0F33E /* bank_check@2x.png in Resources */, - 6A4FA15128E48D2400F07D42 /* generic_error@3x.png in Resources */, - 6A4FA13F28E34AFF00F07D42 /* search@3x.png in Resources */, - 6AB0199128E7C882004DB6E3 /* mx@3x.png in Resources */, - 3CC42197274C457A00BBEDF4 /* close@3x.png in Resources */, - 6A4FA13B28E3340B00F07D42 /* check@3x.png in Resources */, - 6A4FA15328E492D600F07D42 /* bank@3x.png in Resources */, - 6A4FA14328E3564100F07D42 /* email@3x.png in Resources */, - 6A4FA13D28E346E600F07D42 /* warning_triangle@3x.png in Resources */, - 6A4FA14728E3917000F07D42 /* warning_circle@3x.png in Resources */, - 3CC42198274C457A00BBEDF4 /* back_arrow@3x.png in Resources */, - 6A4FA14B28E4777C00F07D42 /* spinner@3x.png in Resources */, - 6A4FA14528E390D000F07D42 /* brandicon_default@3x.png in Resources */, - 6A4FA14128E353BD00F07D42 /* edit@3x.png in Resources */, - 6A4FA14F28E4845800F07D42 /* chevron_down@3x.png in Resources */, - 6AD025C92927EAC800C6CBF1 /* bullet@3x.png in Resources */, - 3C5B2CCD273DA702005C5A05 /* Localizable.strings in Resources */, - 6A0019DC2885EAAA009D662A /* stripe_logo@3x.png in Resources */, - 6AB0199028E7C882004DB6E3 /* finicity@3x.png in Resources */, - 6AC190E428E752D000417EC5 /* cancel_circle@3x.png in Resources */, + D0C1EF46A418A8F8774B7418 /* FinancialConnectionsSession_both_accounts_la.json in Resources */, + 07BFA34C5643A79E1E35A159 /* FinancialConnectionsSession_only_accounts.json in Resources */, + A156FACA60231988F247F6F4 /* FinancialConnectionsSession_only_both_missing.json in Resources */, + ACD21F21C6E42706A882A1AE /* FinancialConnectionsSession_only_la.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3C4D200D273AED0900BC6444 /* Resources */ = { + CC61EC7C016C47747A2D7AB0 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3C481CF5281C56E70059A63A /* FinancialConnectionsSession_both_accounts_la.json in Resources */, - 3C481CF4281C56E70059A63A /* FinancialConnectionsSession_only_both_missing.json in Resources */, - 3C481CF3281C56E70059A63A /* FinancialConnectionsSession_only_accounts.json in Resources */, - 3C481CEF281C55A60059A63A /* FinancialConnectionsSession_only_la.json in Resources */, + D10FB0DAC5E452D4569CEA14 /* back_arrow@3x.png in Resources */, + C23A55F7C98103222B159D73 /* bank@3x.png in Resources */, + 43B6B0358EDD34A8AB39B53C /* bank_check@2x.png in Resources */, + F0397F4E1D6A91416897F45E /* brandicon_default@3x.png in Resources */, + 645D6FF67167263F9A1C2BB0 /* bullet@3x.png in Resources */, + F10147CF75C2A09D66CB5C14 /* cancel_circle@3x.png in Resources */, + 755140DEEE50DCD6E939E528 /* check@3x.png in Resources */, + 16F2968DC3B2FC4558821970 /* chevron_down@3x.png in Resources */, + C747113C75AC92643B283CBD /* close@3x.png in Resources */, + 44B67A553B5B53C34547CCDE /* edit@3x.png in Resources */, + 5E5C480AB5F0B2DBDA7B61B1 /* email@3x.png in Resources */, + E1D538A71C3370D534EA479B /* finicity@3x.png in Resources */, + CF47070B2A4CA27FEE9AE5FA /* generic_error@3x.png in Resources */, + 693FBB1373098550A32A1D94 /* mx@3x.png in Resources */, + 3AE1C7A78FB5B220F5200F49 /* search@3x.png in Resources */, + BD3C87E03EB44F7D1C11664C /* spinner@3x.png in Resources */, + 97032B101B54E6A98178FD73 /* stripe_logo@3x.png in Resources */, + CF8152B40B6CA74FD15602BF /* warning_circle@3x.png in Resources */, + 87E22AF1E35FB63C20AEE9DF /* warning_triangle@3x.png in Resources */, + D949AE695F3288F84258BACD /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 3C4D2002273AED0800BC6444 /* Sources */ = { + 019D2A9648EC14A85E873494 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3C9F0BD9276293D300E1FDFA /* FinancialConnectionsSheetAnalytics.swift in Sources */, - 6AD025C12925D71C00C6CBF1 /* HitTestStackView.swift in Sources */, - 6AFD485128871A98003439CB /* FeaturedInstitutionGridView.swift in Sources */, - 6A8B4B0028CAE6EC00128356 /* AccountPickerLabelRowView.swift in Sources */, - 3CAD99BE284E39C400B163EB /* NativeFlowController.swift in Sources */, - 6AD448B728C25F1F002CABB0 /* ResetFlowViewController.swift in Sources */, - 6A1E29AA28A3FF8400F99E9D /* CheckboxView.swift in Sources */, - 3CAD99CA2851155400B163EB /* InstitutionDataSource.swift in Sources */, - 3C5430CF27457C8600B1E488 /* FinancialConnectionsAccount.swift in Sources */, - 6AC190E228E7449000417EC5 /* InstitutionSearchBar.swift in Sources */, - 6A542DB12887259600958ED1 /* FeaturedInstitutionGridCell.swift in Sources */, - 6A1BA4AE2858D76800759697 /* ConsentFooterView.swift in Sources */, - 6A2318D728B571E000F2A7D8 /* ManualEntryViewController.swift in Sources */, - 6AD58644290ACA200088522B /* FinancialConnectionsPaymentAccountResource.swift in Sources */, - 6A8B4B0328CFC7C600128356 /* PaneLayoutView.swift in Sources */, - 3CAD99B4284ADEBF00B163EB /* HostViewController.swift in Sources */, - 6AE5171A28AAE46A006E8314 /* SuccessFooterView.swift in Sources */, - 6A1E29A628A3F0D400F99E9D /* AccountPickerSelectionView.swift in Sources */, - 6A542DB328889AC400958ED1 /* InstitutionSearchTableView.swift in Sources */, - 6A9117EE287F535C007633D4 /* ConsentBottomSheetView.swift in Sources */, - 3CAD99B6284ADF5A00B163EB /* LoadingView.swift in Sources */, - 6AE5171E28ABEF5A006E8314 /* SuccessAccountListView.swift in Sources */, - 6A8B4B0728D0BE4600128356 /* ConsentDataSource.swift in Sources */, - 6A4FA14928E391ED00F07D42 /* InstitutionIconView.swift in Sources */, - 3C5B2CD3273DB3B9005C5A05 /* STPLocalizedString.swift in Sources */, - 6A1E29AF28A71C5D00F99E9D /* SuccessDataSource.swift in Sources */, - 6A4FA14D28E477EA00F07D42 /* SpinnerIconView.swift in Sources */, - 6AE2E5B528DE132300623523 /* AccountPickerAccountLoadErrorView.swift in Sources */, - 6A7C861728D273940025B8DF /* SuccessIconView.swift in Sources */, - 6A1E299E289DB83E00F99E9D /* AccountPickerDataSource.swift in Sources */, - 6A99EF6628E708D200C76293 /* Button+Extensions.swift in Sources */, - 6AD448B928C25F85002CABB0 /* ResetFlowDataSource.swift in Sources */, - 6A59FCA428B70C0200F0F33E /* ManualEntryDataSource.swift in Sources */, - 6A1BA4AC2858D5F100759697 /* ConsentViewController.swift in Sources */, - 6AD025CB292BC89D00C6CBF1 /* BulletPointLabelView.swift in Sources */, - 3CD1D39827C82DC6001575BB /* FinancialConnectionsSDKImplementation.swift in Sources */, - 3C34E0EB2799C3FF002618E4 /* FinancialConnectionsSessionFetcher.swift in Sources */, - 3C4D207B273C626A00BC6444 /* FinancialConnectionsSheet.swift in Sources */, - 6ABE2D04285A2DEF0064B3A4 /* ConsentBodyView.swift in Sources */, - 6A038F0E28903F3D00D3331D /* PrepaneView.swift in Sources */, - 6A1E29AD28A71B6100F99E9D /* SuccessViewController.swift in Sources */, - 6A8B1C7C28EA60FC004AA6FE /* APIPollingHelper.swift in Sources */, - 3C5B2CD0273DB32F005C5A05 /* StripeFinancialConnectionsBundleLocator.swift in Sources */, - 6A1E299C289DAEF200F99E9D /* AccountPickerViewController.swift in Sources */, - 6A4FA15828E4DCBA00F07D42 /* AttachLinkedPaymentAccountDataSource.swift in Sources */, - 6A50F0DD28F5B91A00214753 /* UIImageView+Extensions.swift in Sources */, - 6A50F0DF28F8649100214753 /* FinancialConnectionsAnalyticsClient.swift in Sources */, - 3C3ADCBA2800C1E0008C24EF /* BankAccountToken.swift in Sources */, - 6A99EF6428E5CFBD00C76293 /* AccountNumberRetrievalErrorView.swift in Sources */, - 6A019888291192FE00418064 /* AlwaysTemplateImageView.swift in Sources */, - 3CAD99C0284E438C00B163EB /* FinancialConnectionsNavigationController.swift in Sources */, - 6A2318D928B57E5100F2A7D8 /* ManualEntryTextField.swift in Sources */, - 6A59FCA628B7BD7100F0F33E /* ManualEntryFooterView.swift in Sources */, - 3CAD99BB284E381100B163EB /* FinancialConnectionsInstitution.swift in Sources */, - 6A4FA13928E11B3D00F07D42 /* CloseConfirmationAlertHandler.swift in Sources */, - 6AE2E5B328DCFBEF00623523 /* String+Localized.swift in Sources */, - 6AE2E5AB28DB366000623523 /* InstitutionSearchErrorView.swift in Sources */, - 6A78179B28BCF2960017CB1E /* ManualEntrySuccessTransactionTableView.swift in Sources */, - 6A59FCA028B67EFD00F0F33E /* ManualEntryCheckView.swift in Sources */, - 6A1E29A828A3F6B300F99E9D /* AccountPickerSelectionRowView.swift in Sources */, - 6A038F09288F040800D3331D /* ReusableInformationView.swift in Sources */, - 3C27785A29117C4100E352E0 /* FlowRouter.swift in Sources */, - 6AD58642290AC9FA0088522B /* FinancialConnectionsPartnerAccount.swift in Sources */, - 3CAD99C2284FE42000B163EB /* NativeFlowDataManager.swift in Sources */, - 6AD025C52926876B00C6CBF1 /* UIImage+Extensions.swift in Sources */, - 3C82F4AF275A8178008A7162 /* AuthenticationSessionManager.swift in Sources */, - 3C82F4AB275A8162008A7162 /* FinancialConnectionsWebFlowViewController.swift in Sources */, - 6A59FCA828B8204E00F0F33E /* ManualEntryValidator.swift in Sources */, - 6A78179428B901CB0017CB1E /* UIViewController+KeyboardAvoiding.swift in Sources */, - 6AE2E5AF28DC928A00623523 /* NSAttributedString+Extensions.swift in Sources */, - 3CAD99C5284FE75F00B163EB /* PlaceholderViewController.swift in Sources */, - 6A4FA15628E4DC9E00F07D42 /* AttachLinkedPaymentAccountViewController.swift in Sources */, - 6A78179D28BFA89A0017CB1E /* ManualEntryErrorView.swift in Sources */, - 6AE3F32F28EDF6B10079FD59 /* AuthFlowHelpers.swift in Sources */, - 6AD025C32925DA7500C6CBF1 /* HitTestView.swift in Sources */, - 3C7FBA2E293A7CCE00EC7F8C /* UITableView+Extensions.swift in Sources */, - 3CE96D3627585F01006B7059 /* FinancialConnectionsSessionManifest.swift in Sources */, - 6AD58640290AC9590088522B /* FinancialConnectionsAuthSession.swift in Sources */, - 6A2318D028AE7EA700F2A7D8 /* RadioButtonView.swift in Sources */, - 6ABE2D0A285B7BA20064B3A4 /* SFSafariViewController+Extensions.swift in Sources */, - 6AD5863E290AC9380088522B /* FinancialConnectionsPaymentMethodType.swift in Sources */, - 6A1E29A428A3E59F00F99E9D /* AccountPickerFooterView.swift in Sources */, - 6A9117EC287F4D87007633D4 /* ConsentBottomSheetViewController.swift in Sources */, - 6AE2E5B728DE7F4400623523 /* AccountPickerNoAccountEligibleErrorView.swift in Sources */, - 6A99EF6228E51F1F00C76293 /* LinkingAccountsLoadingView.swift in Sources */, - 6AE2E5A928D92A8200623523 /* InstitutionSearchFooterView.swift in Sources */, - 3C5430E0274589E000B1E488 /* FinancialConnectionsSheetError.swift in Sources */, - 3CA52D4A27517239001F511E /* UIColor+Extensions.swift in Sources */, - 3C51656928D0F8BA00D41DCF /* APIVersion.swift in Sources */, - 3CA52D4A27517239001F511E /* UIColor+Extensions.swift in Sources */, - 3C4D9E87277E1CD5007C741B /* FinancialConnectionsAccountFetcher.swift in Sources */, - 6A59FC9E28B668A700F0F33E /* ManualEntryFormView.swift in Sources */, - 6A0019DE2886F3B9009D662A /* UIViewController+Extensions.swift in Sources */, - 6A8B4B0528CFD31800128356 /* PaneWithHeaderLayoutView.swift in Sources */, - 6A90861C290C82A20076CF12 /* TimeInterval+Extensions.swift in Sources */, - 6AE5171C28AAF099006E8314 /* SuccessBodyView.swift in Sources */, - 3CE96D3427585BC6006B7059 /* FinancialConnectionsAPIClient.swift in Sources */, - 6A78179928BCF26B0017CB1E /* ManualEntrySuccessViewController.swift in Sources */, - 6AD58646290ACA580088522B /* FinancialConnectionsMixedOAuthParams.swift in Sources */, - 6A8B4AFA28CAD40600128356 /* AccountPickerHelpers.swift in Sources */, - 3CFC631A28EDCF8E00DF9D28 /* ContinueStateView.swift in Sources */, - 6AD025C7292725EF00C6CBF1 /* ConsentBottomSheetModel.swift in Sources */, - 3C34E0E92798EB33002618E4 /* FinancialConnectionsSession.swift in Sources */, - 6AA280EC290098EF0071DEB5 /* PaneWithCustomHeaderLayoutView.swift in Sources */, - 6AD58648290ACB2F0088522B /* Helpers.swift in Sources */, - 3CAD99B2284ADDD400B163EB /* HostController.swift in Sources */, - 6A9117E7287CB20D007633D4 /* String+Extensions.swift in Sources */, - 6A2318D428B3C36000F2A7D8 /* AccountPickerSelectionListView.swift in Sources */, - 6A1E29A228A1BB9100F99E9D /* PartnerAuthDataSource.swift in Sources */, - 3C2432F3275AB8140031E9B9 /* StripeCore+Import.swift in Sources */, - 6A370F322901CA2C00A6DB9B /* FinancialConnectionsSynchronize.swift in Sources */, - 6ABE2D06285B72A30064B3A4 /* ClickableLabel.swift in Sources */, - 3CAD99C7285032E600B163EB /* InstitutionPickerViewController.swift in Sources */, - 6A90861E291054E00076CF12 /* FinancialConnectionsImage.swift in Sources */, - 6AE2E5AD28DB916E00623523 /* MerchantDataAccessView.swift in Sources */, - 6ABF20382878786700C10295 /* UIFont+Extensions.swift in Sources */, - 6A542DB52889A1CB00958ED1 /* InstitutionSearchTableViewCell.swift in Sources */, - 6A7C861A28D3C16E0025B8DF /* TerminalErrorViewController.swift in Sources */, - 3CC4218B274C402600BBEDF4 /* Image.swift in Sources */, - 6A038F0C288F2CD300D3331D /* PartnerAuthViewController.swift in Sources */, + 648FA50974B14CC861B08ECB /* APIPollingHelper.swift in Sources */, + BCEA321423DF0E7674C2544C /* APIVersion.swift in Sources */, + 11FB97AC840FEB5B5BF85BF9 /* FinancialConnectionsAPIClient.swift in Sources */, + 432463EBF562CDDC6D3DC252 /* BankAccountToken.swift in Sources */, + EC74B719F0FA1A977EF4708C /* FinancialConnectionsAccount.swift in Sources */, + 460C7685096AA6C693309647 /* FinancialConnectionsAuthSession.swift in Sources */, + F67624595BD2CD7B6793BFDA /* FinancialConnectionsImage.swift in Sources */, + 07712610C7D2F484AAB96982 /* FinancialConnectionsInstitution.swift in Sources */, + B271AAF41C9FE6AE392B88D3 /* FinancialConnectionsMixedOAuthParams.swift in Sources */, + 77C7F9A1DD0461FA2B1B4328 /* FinancialConnectionsPartnerAccount.swift in Sources */, + D926228B6C7601AE4C806C93 /* FinancialConnectionsPaymentAccountResource.swift in Sources */, + 6944E131D351784058C7D734 /* FinancialConnectionsPaymentMethodType.swift in Sources */, + 1C043C73281C0856D2C979C6 /* FinancialConnectionsSession.swift in Sources */, + 9E0044ABEC04E2A8C50E3658 /* FinancialConnectionsSessionManifest.swift in Sources */, + D936C8A9F6E018DB144A5B0A /* FinancialConnectionsSynchronize.swift in Sources */, + 15EC9F36187C341800164428 /* FinancialConnectionsAnalyticsClient.swift in Sources */, + C61D5957D3276991795F7D16 /* FinancialConnectionsSheetAnalytics.swift in Sources */, + 6E6E30D01D4E9629DB07E97B /* FinancialConnectionsNavigationController.swift in Sources */, + 01C820ECDBFC041A741A5499 /* FlowRouter.swift in Sources */, + 933F9DFE970FAB4715369086 /* HostController.swift in Sources */, + C258E0D849083BCC8A9B5068 /* HostViewController.swift in Sources */, + C59DBA5A86A3331113D6ED7E /* LoadingView.swift in Sources */, + FE268512851E63E4E111DECD /* FinancialConnectionsSDKImplementation.swift in Sources */, + E85DCFCA61299EF27B3201CF /* FinancialConnectionsSheet.swift in Sources */, + F22DE4B785D51B318A1A3D08 /* FinancialConnectionsSheetError.swift in Sources */, + C3338FA5019EC8E99E2BA62F /* Helpers.swift in Sources */, + A573468B2800DABF384CAB43 /* Image.swift in Sources */, + A79D6A26EE9FF96D24F4AC5C /* NSAttributedString+Extensions.swift in Sources */, + 76FB143918C5463B587091BB /* STPLocalizedString.swift in Sources */, + ABB28C3F6604C2BA2FCA079D /* String+Extensions.swift in Sources */, + 3FE4DEFAD6FF77B8D9EE68D3 /* String+Localized.swift in Sources */, + 3ECA346F75060BD954376EBF /* StripeFinancialConnectionsBundleLocator.swift in Sources */, + E760C94B619A8934D1D5E1D0 /* UIColor+Extensions.swift in Sources */, + 313E6E37B4D48022F03ED2C7 /* UIFont+Extensions.swift in Sources */, + 4A537AE0C50CAFF3889EFE28 /* UIViewController+Extensions.swift in Sources */, + C38BEDD99477C83C91B105DD /* AccountPickerAccountLoadErrorView.swift in Sources */, + C1A079E8E76A02EBCB2588DA /* AccountPickerDataSource.swift in Sources */, + BFF222008EEEDC3FACE342D9 /* AccountPickerFooterView.swift in Sources */, + C0831318A33A32BF2EAB641A /* AccountPickerHelpers.swift in Sources */, + E9E6775FE1FB4E13B284C8E3 /* AccountPickerLabelRowView.swift in Sources */, + 1889ECB24D40EF331974C288 /* AccountPickerNoAccountEligibleErrorView.swift in Sources */, + A10B5A3E5E8AE8767CF09C15 /* AccountPickerSelectionListView.swift in Sources */, + 04EB48BB849D29C7C8349DBC /* AccountPickerSelectionRowView.swift in Sources */, + 163E387D567068E4A64A4C13 /* AccountPickerSelectionView.swift in Sources */, + 23DBA4240ED1727C47937A6B /* AccountPickerViewController.swift in Sources */, + E4D00DB842047E595DD85BEF /* CheckboxView.swift in Sources */, + 1599A235CE57409AA2F678E1 /* LinkingAccountsLoadingView.swift in Sources */, + 152B480EA85D541CC64451A1 /* RadioButtonView.swift in Sources */, + 716E12A9AC0B790F14FB72C6 /* AccountNumberRetrievalErrorView.swift in Sources */, + 3446145FCA3278D51A9D4B80 /* AttachLinkedPaymentAccountDataSource.swift in Sources */, + E3F62D2F9C344A1178030E8E /* AttachLinkedPaymentAccountViewController.swift in Sources */, + 707C265C4179A8FEC98913FE /* ConsentBodyView.swift in Sources */, + 465AE8A58AD2183E1E2042FE /* ConsentDataSource.swift in Sources */, + 97C528CE821C6A55D58F68A4 /* ConsentFooterView.swift in Sources */, + E9866D5CA186A242BBEA69E1 /* ConsentViewController.swift in Sources */, + 76C466DE26B6646D9B25E9B1 /* FeaturedInstitutionGridCell.swift in Sources */, + BC991D917034CCF5149403CA /* FeaturedInstitutionGridView.swift in Sources */, + D9D84D6FF624CF4363D87CEB /* InstitutionDataSource.swift in Sources */, + 6D29E55F6A3864ED52799169 /* InstitutionPickerViewController.swift in Sources */, + C6B99A1C34886D3B5E1AF1A2 /* InstitutionSearchBar.swift in Sources */, + E942BC70AEBC91537B4628DF /* InstitutionSearchErrorView.swift in Sources */, + 9DEE4DE72A7FEDD9D3902C16 /* InstitutionSearchFooterView.swift in Sources */, + 58CD76A6379A04566684D2AC /* InstitutionSearchTableView.swift in Sources */, + 21C0B56B34EACFDAC06ED97D /* InstitutionSearchTableViewCell.swift in Sources */, + 48E093CC2FB4A619A9E2C20E /* ManualEntryCheckView.swift in Sources */, + 4A0D015C978BD79BBFE6CE57 /* ManualEntryDataSource.swift in Sources */, + 2343C58289259920DD81620D /* ManualEntryErrorView.swift in Sources */, + A1AEE72611F62550267C326C /* ManualEntryFooterView.swift in Sources */, + 6D018BB3C1253ED4C1674E0B /* ManualEntryFormView.swift in Sources */, + 1C5D953684456368EEF4C622 /* ManualEntryTextField.swift in Sources */, + 07A86CEB6B4F6BEB524EFE37 /* ManualEntryValidator.swift in Sources */, + 19D1548A5A4034D349DB0947 /* ManualEntryViewController.swift in Sources */, + 2554BE48E61032CCD4565E7E /* ManualEntrySuccessTransactionTableView.swift in Sources */, + CA5825059866BD3416BF8240 /* ManualEntrySuccessViewController.swift in Sources */, + 2CE89100448F26DDA831F455 /* NativeFlowController.swift in Sources */, + 74CC216C8A71AD357B8AA544 /* NativeFlowDataManager.swift in Sources */, + 2AA0942F22A323B33CA6B7CA /* PartnerAuthDataSource.swift in Sources */, + F03F840B9E896F1B09742191 /* PartnerAuthViewController.swift in Sources */, + F419E86FC441B6C58B3F0D00 /* PrepaneView.swift in Sources */, + 136B704C025F6F69D55A625C /* PlaceholderViewController.swift in Sources */, + C906FC4DE38F16032B787607 /* ResetFlowDataSource.swift in Sources */, + A9F9E63FD6B72F5552A8A850 /* ResetFlowViewController.swift in Sources */, + 1CE588CD44D6591B95A9B281 /* AlwaysTemplateImageView.swift in Sources */, + 368DFF9D68F1F8D6A4353961 /* AuthFlowHelpers.swift in Sources */, + 9AF6EC34D666BEB3C1397092 /* BulletPointLabelView.swift in Sources */, + F65E8D16DE691EB6C99C4521 /* Button+Extensions.swift in Sources */, + 05D03C32FC5F108E6B6B227B /* ClickableLabel.swift in Sources */, + 8EDCAA40D5ACE4D4CCC67695 /* CloseConfirmationAlertHandler.swift in Sources */, + 4CEE364A07B91B51B3D00F05 /* ConsentBottomSheetModel.swift in Sources */, + EDB22A11E058269784090A51 /* ConsentBottomSheetView.swift in Sources */, + 69508BFAF474855B05347CE4 /* ConsentBottomSheetViewController.swift in Sources */, + 33FA1684CE79F21271D14F23 /* HitTestStackView.swift in Sources */, + 691619AE9A989548ABA36535 /* HitTestView.swift in Sources */, + 91A3583A0BDE0F8F0C4AD3E2 /* InstitutionIconView.swift in Sources */, + 7AC3A12D50FA995882473C8A /* MerchantDataAccessView.swift in Sources */, + 444884F264D13FF654EA7471 /* PaneLayoutView.swift in Sources */, + B8F440921DB172F96F912CD0 /* PaneWithCustomHeaderLayoutView.swift in Sources */, + A6DB232AD8CB25B0C9F4C79C /* PaneWithHeaderLayoutView.swift in Sources */, + 8A424D8F321E80945AD42B1A /* ReusableInformationView.swift in Sources */, + 99F41681B77ECB0090F34E31 /* SFSafariViewController+Extensions.swift in Sources */, + 62F9AC317C04285853345A0C /* SpinnerIconView.swift in Sources */, + 4AADAA347EF70ECB8BE28E84 /* SuccessIconView.swift in Sources */, + AA80602323C28AFAC391358D /* TimeInterval+Extensions.swift in Sources */, + E637387728FA1597B1B51E5D /* UIImage+Extensions.swift in Sources */, + 486E50E6CB90208AB98C031E /* UIImageView+Extensions.swift in Sources */, + F0FB346A0F86C3561CD3C048 /* UITableView+Extensions.swift in Sources */, + A34AB3AC6D071605CABFFC9B /* UIViewController+KeyboardAvoiding.swift in Sources */, + BAA72FE13406CAF5FA4BBDC8 /* SuccessAccountListView.swift in Sources */, + 2E29C0A30C137791D357F4C1 /* SuccessBodyView.swift in Sources */, + B2970FE2753A4D79E428BA73 /* SuccessDataSource.swift in Sources */, + C39214EA5995D85B847406BE /* SuccessFooterView.swift in Sources */, + B45B8DC3DAACDD5F04B1B1BE /* SuccessViewController.swift in Sources */, + 3BFED24B6DF835A0F2FB4939 /* TerminalErrorViewController.swift in Sources */, + 8C985491C17431278097D0FF /* Placeholder.swift in Sources */, + 7AE7474B7AFF416B6072721C /* StripeCore+Import.swift in Sources */, + DC4DFC847378AC9E9112B443 /* AuthenticationSessionManager.swift in Sources */, + B5EEF34D158C08A1745FA150 /* ContinueStateView.swift in Sources */, + 2D14461B27B3DEE2CC19B090 /* FinancialConnectionsAccountFetcher.swift in Sources */, + 82FD3CEE526DE8B6519F666E /* FinancialConnectionsSessionFetcher.swift in Sources */, + AB7C9A26484953762FFBB4A5 /* FinancialConnectionsWebFlowViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3C4D200B273AED0900BC6444 /* Sources */ = { + 0EF6A0BEC1B066774A0D985E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3C34F0C527D25F35003ADCBA /* SoftLinkTests.swift in Sources */, - 3C4D9E89277E3D9E007C741B /* AccountFetcherTests.swift in Sources */, - 6AE2E5B128DC990700623523 /* MarkdownBoldAttributedStringTests.swift in Sources */, - 3C19E0F22762E65400F3C4ED /* FinancialConnectionsAnalyticsTest.swift in Sources */, - 6A78179628B938FC0017CB1E /* ManualEntryValidatorTests.swift in Sources */, - 6AE3F33128EDF7010079FD59 /* AuthFlowHelpersTests.swift in Sources */, - 6A0019D82880865E009D662A /* StringExtensionsTests.swift in Sources */, - 3C32286A279A009C00A3D4D4 /* SessionFetcherTests.swift in Sources */, - 3C481CF7281C57A00059A63A /* FinancialConnectionsSessionTests.swift in Sources */, - 6A8B1C7E28EA8086004AA6FE /* APIPollingHelperTests.swift in Sources */, - 6A8B4AFE28CADDFA00128356 /* AccountPickerHelpersTests.swift in Sources */, - 3C4D2015273AED0900BC6444 /* FinancialConnectionsSheetTests.swift in Sources */, + CBEAB081DD7353928F485071 /* APIPollingHelperTests.swift in Sources */, + 0AF88791C01102CDCC31F419 /* AccountFetcherTests.swift in Sources */, + 700B745FEF43088D9E34C0E4 /* AccountPickerHelpersTests.swift in Sources */, + 6744CB1B182C5F7220B0B804 /* AuthFlowHelpersTests.swift in Sources */, + CB734C25A19D38A87876FB2B /* FinancialConnectionsAnalyticsTest.swift in Sources */, + 77D3B375B9DBF80BA209BC99 /* FinancialConnectionsSessionTests.swift in Sources */, + 846D1D7429B9E414744DEC99 /* FinancialConnectionsSheetTests.swift in Sources */, + C19996D0AC7E046DA87B6B32 /* ManualEntryValidatorTests.swift in Sources */, + 779C729BB49FD4B99DCD517B /* MarkdownBoldAttributedStringTests.swift in Sources */, + BF5F964E1CA6312755D4161E /* SessionFetcherTests.swift in Sources */, + ED818E10F37230678B9B73CC /* SoftLinkTests.swift in Sources */, + D9F35B3B31CA2E52055D6B1D /* StringExtensionsTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3C4D2012273AED0900BC6444 /* PBXTargetDependency */ = { + 3257A97C053FFC03C4806278 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3C4D2005273AED0800BC6444 /* StripeFinancialConnections */; - targetProxy = 3C4D2011273AED0900BC6444 /* PBXContainerItemProxy */; + name = StripeFinancialConnections; + target = 44C90013B7C82C80A2F69956 /* StripeFinancialConnections */; + targetProxy = 99584176FCBCA6DC9B8E22E4 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 3C5B2CA2273DA701005C5A05 /* Localizable.strings */ = { + BF6810BAADB14ACB95216C2B /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 3C5B2CA3273DA701005C5A05 /* de */, - 3C5B2CA4273DA701005C5A05 /* lt-LT */, - 3C5B2CA5273DA701005C5A05 /* zh-Hans */, - 3C5B2CA6273DA701005C5A05 /* ja */, - 3C5B2CA7273DA701005C5A05 /* el-GR */, - 3C5B2CA8273DA701005C5A05 /* ms-MY */, - 3C5B2CA9273DA701005C5A05 /* en */, - 3C5B2CAA273DA701005C5A05 /* zh-HK */, - 3C5B2CAB273DA701005C5A05 /* mt */, - 3C5B2CAC273DA701005C5A05 /* nb */, - 3C5B2CAD273DA701005C5A05 /* ca-ES */, - 3C5B2CAE273DA701005C5A05 /* en-GB */, - 3C5B2CAF273DA701005C5A05 /* es */, - 3C5B2CB0273DA701005C5A05 /* da */, - 3C5B2CB1273DA701005C5A05 /* es-419 */, - 3C5B2CB2273DA701005C5A05 /* it */, - 3C5B2CB3273DA701005C5A05 /* nn-NO */, - 3C5B2CB4273DA701005C5A05 /* fr-CA */, - 3C5B2CB5273DA701005C5A05 /* bg-BG */, - 3C5B2CB6273DA701005C5A05 /* sv */, - 3C5B2CB7273DA701005C5A05 /* ko */, - 3C5B2CB8273DA701005C5A05 /* fil */, - 3C5B2CB9273DA701005C5A05 /* zh-Hant */, - 3C5B2CBB273DA701005C5A05 /* ro-RO */, - 3C5B2CBC273DA701005C5A05 /* hu */, - 3C5B2CBD273DA701005C5A05 /* tr */, - 3C5B2CBE273DA701005C5A05 /* et-EE */, - 3C5B2CBF273DA701005C5A05 /* pt-BR */, - 3C5B2CC0273DA701005C5A05 /* lv-LV */, - 3C5B2CC1273DA701005C5A05 /* vi */, - 3C5B2CC2273DA701005C5A05 /* ru */, - 3C5B2CC3273DA701005C5A05 /* cs-CZ */, - 3C5B2CC4273DA701005C5A05 /* sk-SK */, - 3C5B2CC5273DA701005C5A05 /* sl-SI */, - 3C5B2CC6273DA701005C5A05 /* fr */, - 3C5B2CC7273DA701005C5A05 /* fi */, - 3C5B2CC8273DA702005C5A05 /* id */, - 3C5B2CC9273DA702005C5A05 /* nl */, - 3C5B2CCA273DA702005C5A05 /* pl-PL */, - 3C5B2CCB273DA702005C5A05 /* pt-PT */, - 3C5B2CCC273DA702005C5A05 /* hr */, + E898E7D173685669E31FC58F /* bg-BG */, + 0DA7868C9DD47582244B47C8 /* ca-ES */, + AC7FED22D9EAC568EA6B35EB /* cs-CZ */, + 7C402C24A15DC6167E2C593F /* da */, + 0F4FC108D8C162EEE1EEA97E /* de */, + 24D4A72B4CCA677F45C29A5C /* el-GR */, + 5C09425306344278C7B55089 /* en */, + 106427315CD279EAAD7D1B74 /* en-GB */, + 6B70A0C4DBFE46805549CF8B /* es */, + CF80A9614EB3ADA9E81397F8 /* es-419 */, + CE10909F3FC7D60E13B65226 /* et-EE */, + 9312AAE1BFF1D9BBEA44E8AA /* fi */, + 742D94AC4B2D17F8282A6788 /* fil */, + E90CF6AD88E530CE63D57269 /* fr */, + 24701CABF53C21DD7BCF3E48 /* fr-CA */, + 6C81D547F6BAD96C62E1E4D3 /* hr */, + A3A2815DF2EE9447CE7A3826 /* hu */, + 51EEC3A9E3BC863ED054B1DC /* id */, + 5B65388786D25271A87D34CE /* it */, + F9A847D2AAA7271F507DC9F3 /* ja */, + 5E48DB3155C1546B196DF97B /* ko */, + C8AFA09E86048B4325C36CC8 /* lt-LT */, + BC4D2368AC577A5233DEC72C /* lv-LV */, + 846D9EF58B02C69F9629AE79 /* ms-MY */, + F25B2AB87C9548245C28D14C /* mt */, + EFB09DF9C9434032F387E081 /* nb */, + C0467CE507A92557C72885DF /* nl */, + 5AC5D8EE52FE5D305F78E3A0 /* nn-NO */, + F2BA0F04A5A7D3B1DBF34AEE /* pl-PL */, + 9EA0AA05BC9FC60A06AC1B5E /* pt-BR */, + 66D2857E68EA69AC6F658BEA /* pt-PT */, + B2B74140FCD8F5871F42C881 /* ro-RO */, + 88F7731972F5FB12FD4FA48B /* ru */, + A37D7E687494FAE048945144 /* sk-SK */, + 1CFE14532C10471EC61BB05A /* sl-SI */, + D2C62B6AA6891A4214E0754E /* sv */, + 33B1E2861FA7CA86FF79236C /* tr */, + DD9E2537472B2ED4AA3ED6A2 /* vi */, + F2B7ECC6F6A4DA1F5F376467 /* zh-Hans */, + 50B4E948868910ADA557F50D /* zh-Hant */, + 1CE32B7E492EFD8143F687F2 /* zh-HK */, ); name = Localizable.strings; sourceTree = ""; @@ -1227,152 +1242,103 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 3C4D2018273AED0900BC6444 /* Debug */ = { + 00E780C5BEA516D21120ACE2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3C4D202B273AED2900BC6444 /* Project-Debug.xcconfig */; + baseConfigurationReference = 14CED33665ED3D8EE8D5D7B7 /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + INFOPLIST_FILE = StripeFinancialConnectionsTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeFinancialConnectionsTests; + PRODUCT_NAME = StripeFinancialConnectionsTests; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - 3C4D2019273AED0900BC6444 /* Release */ = { + 0F5472F7DE76FFA97369CE47 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3C4D2025273AED2900BC6444 /* Project-Release.xcconfig */; + baseConfigurationReference = 2C10E841FF9EBFEA8C2E30AF /* Project-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; }; - name = Release; + name = Debug; }; - 3C4D201B273AED0900BC6444 /* Debug */ = { + 11E0E3D8EFAC643C1CF22071 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3C4D2024273AED2900BC6444 /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 1CD19E0601599AE89976DB4D /* StripeiOS-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = Y28TH9SHX7; INFOPLIST_FILE = StripeFinancialConnections/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-financialconnections"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-financial-connections"; + PRODUCT_NAME = StripeFinancialConnections; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - 3C4D201C273AED0900BC6444 /* Release */ = { + 7D2EBF6B1293E586F89B7BA4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3C4D202C273AED2900BC6444 /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = 314462DF7856349FF9775598 /* StripeiOS-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = Y28TH9SHX7; INFOPLIST_FILE = StripeFinancialConnections/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-financialconnections"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_VERSION = 5.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-financial-connections"; + PRODUCT_NAME = StripeFinancialConnections; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; - 3C4D201E273AED0900BC6444 /* Debug */ = { + 929F106FFD819D993A187A71 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3C4D2023273AED2900BC6444 /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = CA2DA47ECE153F888FA675CE /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeFinancialConnectionsTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeFinancialConnectionsTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeFinancialConnectionsTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeFinancialConnectionsTests; + SDKROOT = iphoneos; }; name = Debug; }; - 3C4D201F273AED0900BC6444 /* Release */ = { + F7799318348B9FA5263B14D1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3C4D2026273AED2900BC6444 /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = B5FFA1B806BC6AD3500B0567 /* Project-Release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeFinancialConnectionsTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeFinancialConnectionsTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3C4D2000273AED0800BC6444 /* Build configuration list for PBXProject "StripeFinancialConnections" */ = { + 8C428C73E0383F9203731DCB /* Build configuration list for PBXNativeTarget "StripeFinancialConnectionsTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3C4D2018273AED0900BC6444 /* Debug */, - 3C4D2019273AED0900BC6444 /* Release */, + 929F106FFD819D993A187A71 /* Debug */, + 00E780C5BEA516D21120ACE2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3C4D201A273AED0900BC6444 /* Build configuration list for PBXNativeTarget "StripeFinancialConnections" */ = { + DE1BF3F953C39B1173504C4A /* Build configuration list for PBXNativeTarget "StripeFinancialConnections" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3C4D201B273AED0900BC6444 /* Debug */, - 3C4D201C273AED0900BC6444 /* Release */, + 7D2EBF6B1293E586F89B7BA4 /* Debug */, + 11E0E3D8EFAC643C1CF22071 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3C4D201D273AED0900BC6444 /* Build configuration list for PBXNativeTarget "StripeFinancialConnectionsTests" */ = { + F7F4B17FFDBC5691F1A51423 /* Build configuration list for PBXProject "StripeFinancialConnections" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3C4D201E273AED0900BC6444 /* Debug */, - 3C4D201F273AED0900BC6444 /* Release */, + 0F5472F7DE76FFA97369CE47 /* Debug */, + F7799318348B9FA5263B14D1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 3C4D1FFD273AED0800BC6444 /* Project object */; + rootObject = 3D00B888AF0B02587576A83F /* Project object */; } diff --git a/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/xcshareddata/xcschemes/StripeFinancialConnections.xcscheme b/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/xcshareddata/xcschemes/StripeFinancialConnections.xcscheme index a6ee42b8ddb..d58bf207625 100644 --- a/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/xcshareddata/xcschemes/StripeFinancialConnections.xcscheme +++ b/StripeFinancialConnections/StripeFinancialConnections.xcodeproj/xcshareddata/xcschemes/StripeFinancialConnections.xcscheme @@ -1,6 +1,6 @@ @@ -27,12 +27,21 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -50,6 +59,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + diff --git a/StripeIdentity/Project.swift b/StripeIdentity/Project.swift new file mode 100644 index 00000000000..3b9c035da6b --- /dev/null +++ b/StripeIdentity/Project.swift @@ -0,0 +1,20 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripeIdentity", + resources: "StripeIdentity/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripeCameraCore", path: "//StripeCameraCore"), + ], + unitTestOptions: .testOptions( + resources: "StripeIdentityTests/Mock Files/**", + dependencies: [ + .project(target: "StripeCoreTestUtils", path: "//StripeCore"), + .project(target: "StripeCameraCoreTestUtils", path: "//StripeCameraCore"), + ], + includesSnapshots: true + ) +) diff --git a/StripeIdentity/StripeIdentity.xcodeproj/project.pbxproj b/StripeIdentity/StripeIdentity.xcodeproj/project.pbxproj index 693044564f9..692a286b523 100644 --- a/StripeIdentity/StripeIdentity.xcodeproj/project.pbxproj +++ b/StripeIdentity/StripeIdentity.xcodeproj/project.pbxproj @@ -7,220 +7,229 @@ objects = { /* Begin PBXBuildFile section */ - 363B9262274320C800BA52EC /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363B9261274320C800BA52EC /* Enums+CustomStringConvertible.swift */; }; - D48DA57928CD15DF00050C06 /* VerificationPageData_no_errors_needback.json in Resources */ = {isa = PBXBuildFile; fileRef = D48DA57828CD15DF00050C06 /* VerificationPageData_no_errors_needback.json */; }; - E254413E28FDEF0500C6F5D3 /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = E254413D28FDEF0500C6F5D3 /* iOSSnapshotTestCase */; }; - E254414028FDEF0500C6F5D3 /* iOSSnapshotTestCase in Embed Frameworks */ = {isa = PBXBuildFile; productRef = E254413D28FDEF0500C6F5D3 /* iOSSnapshotTestCase */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - E606936F2702A2C100742859 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = E606936E2702A2C100742859 /* String+Localized.swift */; }; - E606937A270435FF00742859 /* IdentityElementsFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6069379270435FF00742859 /* IdentityElementsFactoryTest.swift */; }; - E60FD5D327AE16F300ED64A1 /* DocumentFileUploadViewController+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = E60FD5D227AE16F300ED64A1 /* DocumentFileUploadViewController+Strings.swift */; }; - E60FD5D527AE17A100ED64A1 /* InstructionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E60FD5D427AE17A100ED64A1 /* InstructionListView.swift */; }; - E612B1182746028000A258C1 /* IdentityFlowNavigationControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E612B1172746028000A258C1 /* IdentityFlowNavigationControllerTest.swift */; }; - E612B11A2746046000A258C1 /* VerificationFlowResult+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E612B1192746046000A258C1 /* VerificationFlowResult+Equatable.swift */; }; - E61676D62846F2D000C9E44A /* IdentityImageUploaderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61676D52846F2D000C9E44A /* IdentityImageUploaderTest.swift */; }; - E61676E62849894600C9E44A /* VerificationPageStaticContentSelfieModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61676E42849894600C9E44A /* VerificationPageStaticContentSelfieModels.swift */; }; - E61676E72849894600C9E44A /* VerificationPageStaticContentSelfiePage.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61676E52849894600C9E44A /* VerificationPageStaticContentSelfiePage.swift */; }; - E61676E928499B9000C9E44A /* SelfieUploader+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61676E828499B9000C9E44A /* SelfieUploader+API.swift */; }; - E61676EB2849A29500C9E44A /* FaceScanner+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61676EA2849A29500C9E44A /* FaceScanner+API.swift */; }; - E61676F9284FFBB500C9E44A /* TimeInterval+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61676F8284FFBB500C9E44A /* TimeInterval+StripeIdentity.swift */; }; - E616770228500F3400C9E44A /* IdentityAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = E616770128500F3400C9E44A /* IdentityAnalyticsClient.swift */; }; - E616770A2853F6A700C9E44A /* VerificationPageDataFace.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61677092853F6A700C9E44A /* VerificationPageDataFace.swift */; }; - E61ADAD3270F6293004ED998 /* VerificationSheetController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADAD2270F6293004ED998 /* VerificationSheetController.swift */; }; - E61C32462797AEA2008A30D4 /* DocumentFileUploadViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61C32452797AEA2008A30D4 /* DocumentFileUploadViewControllerTest.swift */; }; - E61EA92C26A0D8AE00CAEE52 /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E61EA92B26A0D8AE00CAEE52 /* StripeCoreTestUtils.framework */; }; - E61EA92F26A0E00900CAEE52 /* mock.html in Resources */ = {isa = PBXBuildFile; fileRef = E61EA92E26A0E00900CAEE52 /* mock.html */; }; - E6200DC02745E8F400A06A8E /* IdentityFlowNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6200DBF2745E8F400A06A8E /* IdentityFlowNavigationController.swift */; }; - E627AEF5275851640048F88D /* DocumentCaptureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E627AEF4275851640048F88D /* DocumentCaptureView.swift */; }; - E6395966285D691E00DA947D /* MLDetectorMetricsTrackerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6395965285D691E00DA947D /* MLDetectorMetricsTrackerMock.swift */; }; - E63B673E2743415300CFEDBA /* StripeCameraCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E63B673D2743415300CFEDBA /* StripeCameraCore.framework */; }; - E63B674A2743487E00CFEDBA /* StripeCameraCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E63B67492743487E00CFEDBA /* StripeCameraCoreTestUtils.framework */; }; - E63E9373281874FE008F5FC0 /* BottomAlignedLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E63E9372281874FE008F5FC0 /* BottomAlignedLabel.swift */; }; - E646511D269E1E0B002EC424 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E6465103269E1E0B002EC424 /* Localizable.strings */; }; - E6465120269E1F8F002EC424 /* StripeIdentityBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E646511F269E1F8F002EC424 /* StripeIdentityBundleLocator.swift */; }; - E6465122269E202A002EC424 /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6465121269E202A002EC424 /* STPLocalizedString.swift */; }; - E651289627A9BD5D00586A1F /* MLModelLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = E651289527A9BD5D00586A1F /* MLModelLoader.swift */; }; - E651289A27A9E69800586A1F /* IdentityMLModelLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = E651289927A9E69800586A1F /* IdentityMLModelLoader.swift */; }; - E65129ED27AA922500586A1F /* IdentityMLModelLoaderMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E65129EC27AA922500586A1F /* IdentityMLModelLoaderMock.swift */; }; - E651A4C72787D7FE0009506E /* DocumentUploader+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = E651A4C62787D7FE0009506E /* DocumentUploader+API.swift */; }; - E651A4C927890BAB0009506E /* DocumentUploaderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E651A4C827890BAB0009506E /* DocumentUploaderTest.swift */; }; - E6548E5927279DFF00F399B2 /* VerificationPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548E4F27279DFD00F399B2 /* VerificationPage.swift */; }; - E6548E5A27279DFF00F399B2 /* VerificationPageStaticContentDocumentCapturePage.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548E5027279DFD00F399B2 /* VerificationPageStaticContentDocumentCapturePage.swift */; }; - E6548E5C27279DFF00F399B2 /* VerificationPageStaticContentConsentPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548E5227279DFE00F399B2 /* VerificationPageStaticContentConsentPage.swift */; }; - E6548E5D27279DFF00F399B2 /* VerificationPageStaticContentTextPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548E5327279DFE00F399B2 /* VerificationPageStaticContentTextPage.swift */; }; - E6548E5E27279DFF00F399B2 /* VerificationPageStaticContentDocumentSelectPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548E5427279DFE00F399B2 /* VerificationPageStaticContentDocumentSelectPage.swift */; }; - E6548E5F27279DFF00F399B2 /* VerificationPageRequirements.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548E5527279DFF00F399B2 /* VerificationPageRequirements.swift */; }; - E6548E6027279DFF00F399B2 /* VerificationPageStaticContentDocumentCaptureModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548E5627279DFF00F399B2 /* VerificationPageStaticContentDocumentCaptureModels.swift */; }; - E6548E6927288C0D00F399B2 /* IdentityAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548E6827288C0D00F399B2 /* IdentityAPIClient.swift */; }; - E6548EEA2729025000F399B2 /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548EE92729025000F399B2 /* StripeCore+Import.swift */; }; - E6548EED2729BB2100F399B2 /* VerificationPage_200.json in Resources */ = {isa = PBXBuildFile; fileRef = E6548EEC2729BB2100F399B2 /* VerificationPage_200.json */; }; - E6548EF52729BE6B00F399B2 /* IdentityMockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548EF42729BE6B00F399B2 /* IdentityMockData.swift */; }; - E6548EF82729BFC500F399B2 /* VerificationSheetControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548EF72729BFC500F399B2 /* VerificationSheetControllerTest.swift */; }; - E6548EFD272A074D00F399B2 /* IdentityAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548EFC272A074D00F399B2 /* IdentityAPIClientTest.swift */; }; - E6548F33272C89FE00F399B2 /* IdentityFlowViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F2D272C89FE00F399B2 /* IdentityFlowViewController.swift */; }; - E6548F35272C89FE00F399B2 /* IndividualViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F2F272C89FE00F399B2 /* IndividualViewController.swift */; }; - E6548F36272C89FE00F399B2 /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F30272C89FE00F399B2 /* LoadingViewController.swift */; }; - E6548F3D272C92CE00F399B2 /* VerificationSheetFlowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F3C272C92CE00F399B2 /* VerificationSheetFlowController.swift */; }; - E6548F3F272CABF700F399B2 /* VerifyWebURLHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F3E272CABF700F399B2 /* VerifyWebURLHelper.swift */; }; - E6548F45272CAC0500F399B2 /* IdentityFlowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F41272CAC0500F399B2 /* IdentityFlowView.swift */; }; - E6548F49272CC50900F399B2 /* BiometricConsentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F48272CC50900F399B2 /* BiometricConsentViewController.swift */; }; - E6548F522731D9B400F399B2 /* VerificationPageDataRequirements.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F512731D9B400F399B2 /* VerificationPageDataRequirements.swift */; }; - E6548F542731DA8F00F399B2 /* VerificationPageDataRequirementError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F532731DA8F00F399B2 /* VerificationPageDataRequirementError.swift */; }; - E6548F562731DAFD00F399B2 /* VerificationPageData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F552731DAFD00F399B2 /* VerificationPageData.swift */; }; - E6548F5B2731E13F00F399B2 /* VerificationPageData_200.json in Resources */ = {isa = PBXBuildFile; fileRef = E6548F5A2731DEAA00F399B2 /* VerificationPageData_200.json */; }; - E6548F5F2731E4E500F399B2 /* VerificationPageDataUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F5E2731E4E500F399B2 /* VerificationPageDataUpdate.swift */; }; - E6548F7D27339AC000F399B2 /* VerificationSheetFlowControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F7C27339AC000F399B2 /* VerificationSheetFlowControllerTest.swift */; }; - E6548F852734541F00F399B2 /* ErrorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F842734541F00F399B2 /* ErrorViewController.swift */; }; - E6548F8A2734AEBA00F399B2 /* IdentityAPIClientTestMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6548F892734AEBA00F399B2 /* IdentityAPIClientTestMock.swift */; }; - E657B580276416FD00134033 /* VerificationPageDataDocumentFileData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B57F276416FD00134033 /* VerificationPageDataDocumentFileData.swift */; }; - E657B58327642FEC00134033 /* CGImage+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B58227642FEC00134033 /* CGImage+StripeIdentity.swift */; }; - E657B5862764307600134033 /* CGImage+StripeIdentityUnitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B5852764307600134033 /* CGImage+StripeIdentityUnitTest.swift */; }; - E657B58827680D2A00134033 /* CGImage_StripeIdentitySnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657B58727680D2A00134033 /* CGImage_StripeIdentitySnapshotTest.swift */; }; - E657B58A27681B7F00134033 /* cgimage_stripeidentity_test.png in Resources */ = {isa = PBXBuildFile; fileRef = E657B58927681B7F00134033 /* cgimage_stripeidentity_test.png */; }; - E659A08A282B0C2D00DF8C0C /* FaceDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A089282B0C2D00DF8C0C /* FaceDetector.swift */; }; - E659A08C282B0C4800DF8C0C /* FaceDetectorOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A08B282B0C4800DF8C0C /* FaceDetectorOutput.swift */; }; - E659A08E282B0CB000DF8C0C /* MLDetectorConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A08D282B0CB000DF8C0C /* MLDetectorConfiguration.swift */; }; - E659A097282B391900DF8C0C /* ImageScanningConcurrencyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A096282B391900DF8C0C /* ImageScanningConcurrencyManager.swift */; }; - E659A099282B492D00DF8C0C /* FaceScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A098282B492D00DF8C0C /* FaceScanner.swift */; }; - E659A09B282B49F500DF8C0C /* FaceScannerConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A09A282B49F500DF8C0C /* FaceScannerConfiguration.swift */; }; - E659A09D282B6D0100DF8C0C /* Array+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A09C282B6D0100DF8C0C /* Array+StripeIdentity.swift */; }; - E659A0AA282C8E3D00DF8C0C /* ImageScanningConcurrencyManagerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A0A9282C8E3D00DF8C0C /* ImageScanningConcurrencyManagerMock.swift */; }; - E659A0B62846F09400DF8C0C /* IdentityImageUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A0B32846F09400DF8C0C /* IdentityImageUploader.swift */; }; - E659A0B72846F09400DF8C0C /* SelfieUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A0B42846F09400DF8C0C /* SelfieUploader.swift */; }; - E659A0B82846F09500DF8C0C /* DocumentUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A0B52846F09400DF8C0C /* DocumentUploader.swift */; }; - E65DD28127A2634900625A17 /* MLMultiArray+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = E65DD28027A2634900625A17 /* MLMultiArray+StripeIdentity.swift */; }; - E662FC8B278E2EC2005B0DAD /* ListItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E662FC8A278E2EC2005B0DAD /* ListItemView.swift */; }; - E662FC8E278E3094005B0DAD /* ListViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E662FC8D278E3094005B0DAD /* ListViewSnapshotTest.swift */; }; - E662FC90278E4636005B0DAD /* DocumentFileUploadViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E662FC8F278E4636005B0DAD /* DocumentFileUploadViewController.swift */; }; - E662FC92278E48DB005B0DAD /* DocumentType+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = E662FC91278E48DB005B0DAD /* DocumentType+StripeIdentity.swift */; }; - E662FC94278E5AC4005B0DAD /* icon_checkmark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E662FC93278E5AC4005B0DAD /* icon_checkmark@3x.png */; }; - E663658B28581F71006A4679 /* IdentityAnalyticsClientTestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = E663658A28581F71006A4679 /* IdentityAnalyticsClientTestHelpers.swift */; }; - E663658D285A77CD006A4679 /* MLDetectorMetricsTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E663658C285A77CD006A4679 /* MLDetectorMetricsTracker.swift */; }; - E666A50B2735F7E6001DE130 /* DocumentTypeSelectViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666A50A2735F7E6001DE130 /* DocumentTypeSelectViewController.swift */; }; - E666A51627361C91001DE130 /* DocumentTypeSelectViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666A51527361C91001DE130 /* DocumentTypeSelectViewControllerTest.swift */; }; - E666A51A2736243D001DE130 /* VerificationSheetFlowControllerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666A5192736243D001DE130 /* VerificationSheetFlowControllerMock.swift */; }; - E666A51C27362946001DE130 /* VerificationSheetControllerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666A51B27362946001DE130 /* VerificationSheetControllerMock.swift */; }; - E666A5252739EFEE001DE130 /* DocumentCaptureViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666A5242739EFEE001DE130 /* DocumentCaptureViewController.swift */; }; - E666A52A273A0951001DE130 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666A529273A0951001DE130 /* Image.swift */; }; - E666A52C273A0AE6001DE130 /* InstructionalDocumentScanningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666A52B273A0AE6001DE130 /* InstructionalDocumentScanningView.swift */; }; - E666DF05273B2F0600638B60 /* DocumentScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = E666DF04273B2F0600638B60 /* DocumentScanner.swift */; }; - E666DF18273B3BB700638B60 /* front_drivers_license.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E666DF16273B3BB700638B60 /* front_drivers_license.jpg */; }; - E666DF19273B3BB700638B60 /* back_drivers_license.jpg in Resources */ = {isa = PBXBuildFile; fileRef = E666DF17273B3BB700638B60 /* back_drivers_license.jpg */; }; - E66B82B327F7D17700C6A662 /* VerificationPage_require_live_capture.json in Resources */ = {isa = PBXBuildFile; fileRef = E66B82B227F7CE1600C6A662 /* VerificationPage_require_live_capture.json */; }; - E66DA0C228189DC40099213C /* CameraPreviewContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0C128189DC40099213C /* CameraPreviewContainerView.swift */; }; - E66DA0C52818A8920099213C /* SelfieScanningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0C42818A8920099213C /* SelfieScanningView.swift */; }; - E66DA0C72818ACCB0099213C /* SelfieScanningViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0C62818ACCA0099213C /* SelfieScanningViewSnapshotTest.swift */; }; - E66DA0D9281A25480099213C /* SelfieCaptureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0D8281A25480099213C /* SelfieCaptureView.swift */; }; - E66DA0DB281A29020099213C /* SelfieCaptureViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0DA281A29020099213C /* SelfieCaptureViewController.swift */; }; - E66DA0DD281A2B100099213C /* SelfieCaptureViewController+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0DC281A2B100099213C /* SelfieCaptureViewController+Strings.swift */; }; - E66DA0F02822F0A90099213C /* FaceScannerOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0EF2822F0A90099213C /* FaceScannerOutput.swift */; }; - E66DA0F2282311790099213C /* FaceCaptureData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0F1282311790099213C /* FaceCaptureData.swift */; }; - E66DA0F4282314410099213C /* ContentCenteringScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0F3282314410099213C /* ContentCenteringScrollView.swift */; }; - E66DA0F6282339080099213C /* ImageScanningSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0F5282339080099213C /* ImageScanningSession.swift */; }; - E66DA0F9282343470099213C /* ImageScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0F8282343470099213C /* ImageScanner.swift */; }; - E66DA0FB2824BF140099213C /* SelfieCaptureViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0FA2824BF140099213C /* SelfieCaptureViewSnapshotTest.swift */; }; - E66DA0FF2829C4D00099213C /* ImageScanningSessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0FE2829C4D00099213C /* ImageScanningSessionDelegate.swift */; }; - E67377472808F6F900DF966B /* DocumentScanner+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67377462808F6F900DF966B /* DocumentScanner+API.swift */; }; - E673774B2808FDC900DF966B /* VNBarcodeSymbology+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = E673774A2808FDC900DF966B /* VNBarcodeSymbology+StripeIdentity.swift */; }; - E67776A0278D1E7D003C5DB5 /* ListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E677769F278D1E7D003C5DB5 /* ListView.swift */; }; - E67776A2278E13B9003C5DB5 /* ListItemViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67776A1278E13B9003C5DB5 /* ListItemViewSnapshotTest.swift */; }; - E67A1E49273DD92D00977F63 /* DocumentCaptureViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67A1E48273DD92D00977F63 /* DocumentCaptureViewControllerTest.swift */; }; - E67A1E53273DF31100977F63 /* ImageScannerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67A1E52273DF31100977F63 /* ImageScannerMock.swift */; }; - E6A50DA627B21CF800D7BDED /* DocumentCaptureViewController+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DA527B21CF800D7BDED /* DocumentCaptureViewController+Strings.swift */; }; - E6A50DA827B2220600D7BDED /* DocumentSide.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DA727B2220600D7BDED /* DocumentSide.swift */; }; - E6A50DAA27B30A4400D7BDED /* ShadowConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DA927B30A4400D7BDED /* ShadowConfiguration.swift */; }; - E6A50DAC27B30E9000D7BDED /* DocumentScanningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DAB27B30E9000D7BDED /* DocumentScanningView.swift */; }; - E6A50DAE27B341A000D7BDED /* DocumentScanningViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DAD27B341A000D7BDED /* DocumentScanningViewSnapshotTest.swift */; }; - E6A50DB027B35A7500D7BDED /* InstructionalDocumentScanningViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DAF27B35A7500D7BDED /* InstructionalDocumentScanningViewSnapshotTest.swift */; }; - E6A50DB227B466BC00D7BDED /* TruncatedDecimal.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DB127B466BC00D7BDED /* TruncatedDecimal.swift */; }; - E6A50DB427B4858A00D7BDED /* TruncatedDecimalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DB327B4858A00D7BDED /* TruncatedDecimalTest.swift */; }; - E6A50DB627B510E700D7BDED /* icon_checkmark_92@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6A50DB527B510E700D7BDED /* icon_checkmark_92@3x.png */; }; - E6A50DBA27B77CAD00D7BDED /* NSAttributedString+HTML.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DB927B77CAD00D7BDED /* NSAttributedString+HTML.swift */; }; - E6A50DBE27B77F9D00D7BDED /* NSAttributedString_HTMLSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DBD27B77F9D00D7BDED /* NSAttributedString_HTMLSnapshotTest.swift */; }; - E6A50DC027B785B800D7BDED /* HTMLViewWithIconLabels.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DBF27B785B800D7BDED /* HTMLViewWithIconLabels.swift */; }; - E6A50DC827B7B94300D7BDED /* icon_clock@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6A50DC727B7B94300D7BDED /* icon_clock@3x.png */; }; - E6A50DCA27B8395400D7BDED /* IdentityHTMLViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A50DC927B8395400D7BDED /* IdentityHTMLViewSnapshotTest.swift */; }; - E6AA24F02744B2AB00FD205E /* SuccessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AA24EF2744B2AB00FD205E /* SuccessViewController.swift */; }; - E6AADF30286A88DC00C46665 /* VerificationSheetFlowControllerError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AADF2F286A88DC00C46665 /* VerificationSheetFlowControllerError.swift */; }; - E6AADF32286A970600C46665 /* ErrorViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AADF31286A970600C46665 /* ErrorViewControllerTest.swift */; }; - E6AADF36286AAFD000C46665 /* VerificationPage_no_selfie.json in Resources */ = {isa = PBXBuildFile; fileRef = E6AADF35286AAFA600C46665 /* VerificationPage_no_selfie.json */; }; - E6ABED6D276C1BF8007F6D89 /* DocumentUploaderMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6ABED6C276C1BF8007F6D89 /* DocumentUploaderMock.swift */; }; - E6AF1ECA269FD7990091BE99 /* VerificationSheetAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EC5269FD7980091BE99 /* VerificationSheetAnalytics.swift */; }; - E6AF1ECB269FD7990091BE99 /* IdentityVerificationSheetError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EC6269FD7980091BE99 /* IdentityVerificationSheetError.swift */; }; - E6AF1ECC269FD7990091BE99 /* VerificationClientSecret.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EC7269FD7990091BE99 /* VerificationClientSecret.swift */; }; - E6AF1ECE269FD7990091BE99 /* IdentityVerificationSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EC9269FD7990091BE99 /* IdentityVerificationSheet.swift */; }; - E6AF1ED2269FD7B30091BE99 /* VerificationFlowWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1ED1269FD7B30091BE99 /* VerificationFlowWebViewController.swift */; }; - E6AF1ED4269FD7BB0091BE99 /* VerificationFlowWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1ED3269FD7BB0091BE99 /* VerificationFlowWebView.swift */; }; - E6AF1EE1269FD9970091BE99 /* VerificationClientSecretTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EDD269FD9960091BE99 /* VerificationClientSecretTest.swift */; }; - E6AF1EE2269FD9970091BE99 /* VerificationFlowWebViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EE0269FD9970091BE99 /* VerificationFlowWebViewControllerTest.swift */; }; - E6AF1EE3269FD9970091BE99 /* IdentityVerificationSheetTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EDC269FD9960091BE99 /* IdentityVerificationSheetTest.swift */; }; - E6AF1EE4269FD9970091BE99 /* VerificationFlowWebViewTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EDE269FD9970091BE99 /* VerificationFlowWebViewTest.swift */; }; - E6AF1EE5269FD9970091BE99 /* VerificationSheetAnalyticsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EDF269FD9970091BE99 /* VerificationSheetAnalyticsTest.swift */; }; - E6AF1EE9269FDA020091BE99 /* VerificationFlowWebViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AF1EE8269FDA020091BE99 /* VerificationFlowWebViewSnapshotTests.swift */; }; - E6B3F63526FBFEA800963EAB /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6B3F63426FBFEA800963EAB /* StripeUICore.framework */; }; - E6B3F64526FD97E600963EAB /* IdentityElementsFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B3F64426FD97E600963EAB /* IdentityElementsFactory.swift */; }; - E6B906DD27C7655300D0A703 /* MotionBlurDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906DC27C7655300D0A703 /* MotionBlurDetector.swift */; }; - E6B906DF27C7658600D0A703 /* DocumentType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906DE27C7658600D0A703 /* DocumentType.swift */; }; - E6B906E227C9C2A000D0A703 /* BarcodeDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906E127C9C2A000D0A703 /* BarcodeDetector.swift */; }; - E6B906E427C9C8F400D0A703 /* VisionBasedDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906E327C9C8F400D0A703 /* VisionBasedDetector.swift */; }; - E6B906E827CA0FC900D0A703 /* IconLabelHTMLView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906E727CA0FC900D0A703 /* IconLabelHTMLView.swift */; }; - E6B906EA27CA137400D0A703 /* HTMLTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906E927CA137400D0A703 /* HTMLTextView.swift */; }; - E6B906EC27CA1B4100D0A703 /* icon_info@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6B906EB27CA1B4100D0A703 /* icon_info@3x.png */; }; - E6B906EE27CAB4F200D0A703 /* VerificationPageCollectedData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906ED27CAB4F200D0A703 /* VerificationPageCollectedData.swift */; }; - E6B906F027CAC54300D0A703 /* IdentityDataCollecting.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906EF27CAC54300D0A703 /* IdentityDataCollecting.swift */; }; - E6B906F227CAC5C000D0A703 /* VerificationPageFieldType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906F127CAC5C000D0A703 /* VerificationPageFieldType.swift */; }; - E6B906F627CB2B1F00D0A703 /* VerificationPageData_submitted.json in Resources */ = {isa = PBXBuildFile; fileRef = E6B906F527CB128A00D0A703 /* VerificationPageData_submitted.json */; }; - E6B906F727CB2B1F00D0A703 /* VerificationPageData_no_errors.json in Resources */ = {isa = PBXBuildFile; fileRef = E6B906F427CB122200D0A703 /* VerificationPageData_no_errors.json */; }; - E6B906FA27CEA0E000D0A703 /* DocumentScannerOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906F927CEA0E000D0A703 /* DocumentScannerOutput.swift */; }; - E6B906FC27CEA10700D0A703 /* DocumentScannerConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B906FB27CEA10700D0A703 /* DocumentScannerConfiguration.swift */; }; - E6B9071227D1C95B00D0A703 /* VerificationPageClearData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B9071127D1C95B00D0A703 /* VerificationPageClearData.swift */; }; - E6C7BB1D27A8B700000807A6 /* NonMaxSuppression.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6C7BB1C27A8B700000807A6 /* NonMaxSuppression.swift */; }; - E6C7BB2427A8BE2E000807A6 /* IDDetectorConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6C7BB2027A8BE2E000807A6 /* IDDetectorConstants.swift */; }; - E6C7BB2527A8BE2E000807A6 /* MLModelUnexpectedOutputError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6C7BB2127A8BE2E000807A6 /* MLModelUnexpectedOutputError.swift */; }; - E6C7BB2627A8BE2E000807A6 /* IDDetectorOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6C7BB2227A8BE2E000807A6 /* IDDetectorOutput.swift */; }; - E6C7BB2727A8BE2E000807A6 /* IDDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6C7BB2327A8BE2E000807A6 /* IDDetector.swift */; }; - E6CC14B8269E22060078837F /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6CC14B7269E22060078837F /* StripeCore.framework */; }; - E6D6576727BB041600AF4212 /* BiometricConsentViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6D6576627BB041600AF4212 /* BiometricConsentViewControllerTest.swift */; }; - E6D6576927BB062F00AF4212 /* BiometricConsentViewControllerSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6D6576827BB062F00AF4212 /* BiometricConsentViewControllerSnapshotTest.swift */; }; - E6D6576B27BBB3C600AF4212 /* SuccessViewControllerSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6D6576A27BBB3C600AF4212 /* SuccessViewControllerSnapshotTest.swift */; }; - E6D6577D27BF314200AF4212 /* InstructionListViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6D6577C27BF314200AF4212 /* InstructionListViewSnapshotTest.swift */; }; - E6E146B126950E1E007BDCD8 /* StripeIdentity.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6E146A726950E1E007BDCD8 /* StripeIdentity.framework */; }; - E6E146B826950E1E007BDCD8 /* StripeIdentity.h in Headers */ = {isa = PBXBuildFile; fileRef = E6E146AA26950E1E007BDCD8 /* StripeIdentity.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E6E4AF4627C1C99200F55330 /* AnimatedBorderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E4AF4527C1C99200F55330 /* AnimatedBorderView.swift */; }; - E6E4AF4827C1D16C00F55330 /* AnimatedBorderViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E4AF4727C1D16C00F55330 /* AnimatedBorderViewSnapshotTest.swift */; }; - F311D59827A275E800AD8123 /* IdentityUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = F311D59727A275E800AD8123 /* IdentityUI.swift */; }; - F311D59A27A2786100AD8123 /* HeaderViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F311D59927A2786100AD8123 /* HeaderViewSnapshotTest.swift */; }; - F311D59E27A279B700AD8123 /* SnapshotTestMockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = F311D59D27A279B700AD8123 /* SnapshotTestMockData.swift */; }; - F322C36927ABC41F0087CCBA /* header_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = F322C36827ABC41F0087CCBA /* header_icon.png */; }; - F3680DF727A9B42900A8796A /* icon_add@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F3680DF627A9B42900A8796A /* icon_add@3x.png */; }; - F3680DF927A9B72B00A8796A /* HeaderIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3680DF827A9B72B00A8796A /* HeaderIconView.swift */; }; - F3680E0027A9C6ED00A8796A /* HeaderIconViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3680DFF27A9C6ED00A8796A /* HeaderIconViewSnapshotTest.swift */; }; - F3680E0427AA501500A8796A /* ShadowedCorneredImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3680E0327AA501500A8796A /* ShadowedCorneredImageView.swift */; }; - F383FB4527B5D20E00E19E52 /* ErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F383FB4427B5D20E00E19E52 /* ErrorView.swift */; }; - F383FB4727B5D52C00E19E52 /* ErrorViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F383FB4627B5D52C00E19E52 /* ErrorViewSnapshotTest.swift */; }; - F383FB4927B5E7FA00E19E52 /* UINavigationController+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = F383FB4827B5E7FA00E19E52 /* UINavigationController+StripeIdentity.swift */; }; - F3A3C7D427A0A195006BB89B /* HeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3A3C7D327A0A195006BB89B /* HeaderView.swift */; }; - F3B0AD8427BB1E2500AE4406 /* icon_warning_92@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F3B0AD8327BB1E2400AE4406 /* icon_warning_92@3x.png */; }; - F3FA474527ADD5DA0045AB4B /* IdentityFlowViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3FA474427ADD5DA0045AB4B /* IdentityFlowViewSnapshotTest.swift */; }; + 047B7B3A70037FA1172A164C /* HeaderViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94838BCA1111F735A8FBC072 /* HeaderViewSnapshotTest.swift */; }; + 063C2C263111DA52ECC92DC0 /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = E94605BCADE912561ED6F710 /* STPLocalizedString.swift */; }; + 0825B219E9B618265CDF5E89 /* VerificationPageStaticContentTextPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB06216204F856766C67E18 /* VerificationPageStaticContentTextPage.swift */; }; + 0A0B05F751A02CF3AB9E24DF /* ContentCenteringScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB10B7416AB6D7F94A57A8E3 /* ContentCenteringScrollView.swift */; }; + 0BA47205B2A7EE905006AFDF /* HeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C48F9BFEB0E03E881C2D6017 /* HeaderView.swift */; }; + 0CC741018E3A07A925A4CCC3 /* FaceScanner+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 725E481300FDDDD41EBAA835 /* FaceScanner+API.swift */; }; + 0FBE6D53EBE7C2B93DEA34B4 /* IdentityFlowNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 050900C738C01F6D96F7ED5B /* IdentityFlowNavigationController.swift */; }; + 10B606812179D64E67BFFFCF /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D0F4646D7565055396DD8F5 /* StripeCore.framework */; }; + 12542E187994CC0683E2E3D8 /* DocumentUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = C334F59C93D3D11534FACBBA /* DocumentUploader.swift */; }; + 135B58FCD4663D3D8E4C82F7 /* VerificationPage_200.json in Resources */ = {isa = PBXBuildFile; fileRef = 3218882B7E1610E17BDB4522 /* VerificationPage_200.json */; }; + 19AADF41AB0794258D06264B /* icon_checkmark_92@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F696493D59EE069EB76B0CB4 /* icon_checkmark_92@3x.png */; }; + 1A85FB72FDFB361FE71C81C8 /* VerificationPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69753FF8ED7304500D4EFFB9 /* VerificationPage.swift */; }; + 1C9FE58DA3777F5B54F3AEC1 /* icon_checkmark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0CD0A4F2BB147D41D2DF6976 /* icon_checkmark@3x.png */; }; + 1D4D9CDF6B1D335963849940 /* VerificationSheetAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = E70585F354B2B8B1420311CB /* VerificationSheetAnalytics.swift */; }; + 1DB3040542D8274848932380 /* TimeInterval+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E5237659945E4A05ADE6DB0 /* TimeInterval+StripeIdentity.swift */; }; + 1E48ABBE603C4DB065DD2093 /* CGImage+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 744CE13E8488F0E4AC951D6C /* CGImage+StripeIdentity.swift */; }; + 1ECF04022C1481B12FC86D05 /* CameraPreviewContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E204A65850D7EC60AB779B5 /* CameraPreviewContainerView.swift */; }; + 2225D341AE96C5168C350C72 /* IndividualViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B71F1C5085AD91100943CFCA /* IndividualViewController.swift */; }; + 22C7DF527FAF0642A0850DEA /* DocumentFileUploadViewController+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14534C235EF7B57DDB6B74F1 /* DocumentFileUploadViewController+Strings.swift */; }; + 230C42264D444023F416A7A1 /* IdentityAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59680E002FC6E7BC9906BD2 /* IdentityAPIClientTest.swift */; }; + 24E6928BEA4044DB779D4189 /* VNBarcodeSymbology+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C78174C0059A8957832825 /* VNBarcodeSymbology+StripeIdentity.swift */; }; + 2522A0773650573501106F4D /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20D40A569C2BB62F86D57C01 /* Image.swift */; }; + 25A7B4E2E5CB3FD549F6819B /* InstructionListViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8389CF3DBB12A384BCF0959F /* InstructionListViewSnapshotTest.swift */; }; + 286BF86B773F41210E015B2B /* IdentityDataCollecting.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9CB453179082B1AE6B242FD /* IdentityDataCollecting.swift */; }; + 28CAAFE7E31A8D17233615F3 /* VerificationSheetFlowControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A69C1BC7C63512FE24B32433 /* VerificationSheetFlowControllerTest.swift */; }; + 28D0DEBE960D92E18CEB4D71 /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = E26F8082A859AC1F5C5A3D13 /* Enums+CustomStringConvertible.swift */; }; + 29E974CDD5827CF390349EA4 /* FaceScannerOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3E90C7076A10469E4893B73 /* FaceScannerOutput.swift */; }; + 2B7C095E1029C163D107CF68 /* ListViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8D82EAF85863CAAA250E393 /* ListViewSnapshotTest.swift */; }; + 2C8C7EF7F7E594FD8E4171E7 /* VerificationPageStaticContentDocumentCapturePage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6702A1AB7FBCD89A356A86FE /* VerificationPageStaticContentDocumentCapturePage.swift */; }; + 2E943A5B252D7927CE3C32E3 /* IdentityVerificationSheetError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DD5FEA0E4E7EF1A4BA9646B /* IdentityVerificationSheetError.swift */; }; + 2F13AF5BC25FF74743D55503 /* DocumentTypeSelectViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D28361A39FEF902EF979BEEE /* DocumentTypeSelectViewControllerTest.swift */; }; + 2F330EA97B99545A50328BDD /* HTMLViewWithIconLabels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36ED32D7EE8F52D6FC7D8826 /* HTMLViewWithIconLabels.swift */; }; + 320565753A6D528A24336934 /* ErrorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 198B92E9E0D04CA24F208E07 /* ErrorView.swift */; }; + 33F0FF8DB7D784C95647B693 /* FaceCaptureData.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4943A54EF548F28DB66DD1F /* FaceCaptureData.swift */; }; + 349A4B5CC24DF5539B773A84 /* MLDetectorConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18593C820FE0E35DDEE36956 /* MLDetectorConfiguration.swift */; }; + 34ABF501E050B043CE1E859C /* IdentityImageUploaderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F08E49ED4B7010002D5FC734 /* IdentityImageUploaderTest.swift */; }; + 34C09421E30F9BA262AB1532 /* CGImage+StripeIdentityUnitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DEBC1A25D2C446219E7E733 /* CGImage+StripeIdentityUnitTest.swift */; }; + 375C63BC59BFC5F8615E266F /* VerificationPageData_no_errors.json in Resources */ = {isa = PBXBuildFile; fileRef = 3AA3F3B346FFC8E58BF8739A /* VerificationPageData_no_errors.json */; }; + 37BCABAD8160BF4D14FA6449 /* ShadowConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AB451EC826E856E6BCB7070 /* ShadowConfiguration.swift */; }; + 3B3012E73D8B4820362F25BD /* DocumentTypeSelectViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9910B88643D95B2F9329E4A2 /* DocumentTypeSelectViewController.swift */; }; + 3C228BF28D1D56F1E74AE7AB /* VerificationPageData_submitted.json in Resources */ = {isa = PBXBuildFile; fileRef = 99607F36AF24C978953964E9 /* VerificationPageData_submitted.json */; }; + 3C553B8ADA8136498FF8E011 /* VerificationPageStaticContentDocumentSelectPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB9BD2014C4A16821A2B8DC1 /* VerificationPageStaticContentDocumentSelectPage.swift */; }; + 3CB793BE23FC9716A0F35CCB /* IdentityElementsFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FF56E95E47DA51C3517E1EC /* IdentityElementsFactoryTest.swift */; }; + 3D9D1BA3B4C7E2464D457FF7 /* VerificationPageDataRequirementError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2E15397783A643B74921A00 /* VerificationPageDataRequirementError.swift */; }; + 3E64C28D0E13D6F9F455C3F2 /* SuccessViewControllerSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FF19274A29802CDB696D1DF /* SuccessViewControllerSnapshotTest.swift */; }; + 3F9FB3BC02DDC7BCF4207F73 /* MotionBlurDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57F22CC7DFA4B98A1A533CE0 /* MotionBlurDetector.swift */; }; + 443F1D1D9FE899158D58461E /* cgimage_stripeidentity_test.png in Resources */ = {isa = PBXBuildFile; fileRef = 6F772F905FB81552FA1728B2 /* cgimage_stripeidentity_test.png */; }; + 45B515AC217F10059EE155E2 /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = 960247DC321CBDB422FE713D /* iOSSnapshotTestCase */; }; + 46A6C4DCF553DF24F3674002 /* VerificationSheetController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5082A4100CEE0C8378AD185 /* VerificationSheetController.swift */; }; + 471F567D8201BBA6D82D9932 /* front_drivers_license.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 280A8D95B0045A940A917B1A /* front_drivers_license.jpg */; }; + 47E285A86960CDE275E5EA53 /* VerificationPageDataFace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14244B002D9F37B56BE8D4F4 /* VerificationPageDataFace.swift */; }; + 4A5FEB151B079C41FD40FED5 /* StripeCameraCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 14C231755842F322A25160ED /* StripeCameraCoreTestUtils.framework */; }; + 4A6D49DED2555FBDACF13B3F /* VerificationFlowWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 658F7A165D731F5046ACDF29 /* VerificationFlowWebView.swift */; }; + 4A824CD6A0A518F616D428CF /* FaceScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D2F49DD0BAC5FEF308BA165 /* FaceScanner.swift */; }; + 4C9D354F6C1E9E89B13D0367 /* AnimatedBorderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EA099682E4BE0A34CFCBE6C /* AnimatedBorderView.swift */; }; + 4D4430064CB7F2CE3AD3266A /* VerificationFlowWebViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2EB7348CE21DB1A86706532 /* VerificationFlowWebViewControllerTest.swift */; }; + 4E39FB668EC68320579F23BC /* IDDetectorOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CDF024DA4F519CB21A717AA /* IDDetectorOutput.swift */; }; + 4E44D8C9967E301DB34EB6F0 /* VerificationPageDataDocumentFileData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083865663173CDD9F77417A4 /* VerificationPageDataDocumentFileData.swift */; }; + 4E6AF5DD963FAB8B6E06F482 /* ImageScanningSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F99DB710C60AC2A98449D51 /* ImageScanningSession.swift */; }; + 4F20C4AF111778413B77DA22 /* DocumentScannerOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48E1204F31DC9F8FEA0D312A /* DocumentScannerOutput.swift */; }; + 4FAB896404856F5AED99B89B /* DocumentScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = C74D7B9CB1FF34AE667C65B3 /* DocumentScanner.swift */; }; + 51DCAEAEEA0B32038A989A51 /* MLModelLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 748D38C4370E78DBC9E20E95 /* MLModelLoader.swift */; }; + 541CA755717969560BF2C694 /* FaceScannerConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29E0AD187733319776268351 /* FaceScannerConfiguration.swift */; }; + 548C24D5A0F63E60BC83676F /* DocumentUploaderMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE691D40B29AB0F31443479A /* DocumentUploaderMock.swift */; }; + 54909D14587287B674027374 /* CGImage_StripeIdentitySnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1096AFFD3877D9A22703E6CA /* CGImage_StripeIdentitySnapshotTest.swift */; }; + 54C882D8194AC39EB58BCDE7 /* DocumentCaptureViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCA7F9B0204BF18C483A474A /* DocumentCaptureViewControllerTest.swift */; }; + 56583B45EA53659E843E35F6 /* VerificationPageData.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B539D323CF2AACB580596B /* VerificationPageData.swift */; }; + 56E78CD83827B277B998188E /* icon_warning_92@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DBB998F589E062218E0BD90 /* icon_warning_92@3x.png */; }; + 590772C305CDA9FE9157F92C /* TruncatedDecimalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6918DC6A9681E769D44BC78 /* TruncatedDecimalTest.swift */; }; + 5B4F08774CC9CA1D93216D0D /* VerificationFlowWebViewTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E91362066B0F066C00CB45F2 /* VerificationFlowWebViewTest.swift */; }; + 5BC21FBB6B4A1B1C8EC04270 /* VerificationPageCollectedData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F4F55F9FBE67FCFE3767816 /* VerificationPageCollectedData.swift */; }; + 5DD28B1BE8DF2CC04E9190E5 /* MLDetectorMetricsTrackerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 786574907AC9065E6E658D9C /* MLDetectorMetricsTrackerMock.swift */; }; + 5E00E8AC4088548403B3E630 /* VerificationFlowWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48A449D0BE66D0A555183AF4 /* VerificationFlowWebViewController.swift */; }; + 5F569781EFCC445502DA574F /* InstructionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 423EA472FB8902C1ED6EBA60 /* InstructionListView.swift */; }; + 60B3D5B1B19D31D69D5049A0 /* SelfieUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BB8E3DF263505065E8545AB /* SelfieUploader.swift */; }; + 6174B8E57AEB44661C5B08E3 /* ErrorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A9F73BBC3ECDBAE226012A5 /* ErrorViewController.swift */; }; + 66BD1F1CB366B61D1ECD0E84 /* IdentityAnalyticsClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCC019FA1D6D8AEB598D9EC5 /* IdentityAnalyticsClient.swift */; }; + 683FA0F250620BE62EFA2807 /* ListItemViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B65B0A0F124B3E0C5490D2B6 /* ListItemViewSnapshotTest.swift */; }; + 68BB1FEB385D943EC3CC926B /* IconLabelHTMLView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93A9C204870754D960586E10 /* IconLabelHTMLView.swift */; }; + 695E12945F47ED3060B8AE19 /* StripeCameraCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB639F497EF62CAE81822820 /* StripeCameraCore.framework */; }; + 6A06F81B7D6B68EA72A293F5 /* StripeIdentity.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C69B4A6F36A8BD814CB05D9 /* StripeIdentity.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6A1B2E52B09C2D436CF7794D /* IdentityVerificationSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F1B93DB4F1708B41125301 /* IdentityVerificationSheet.swift */; }; + 6B8DDA62E6ABFBC770A8AC86 /* ImageScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 149453E1854C9566CC8D8484 /* ImageScanner.swift */; }; + 6BD9AE7267A9A43C740D7416 /* SelfieCaptureViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67BFE71088C74C03B05CBCD2 /* SelfieCaptureViewController.swift */; }; + 6C1E79C83069CDD64BF03563 /* back_drivers_license.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9048C4B9F47CE82127D6C1B3 /* back_drivers_license.jpg */; }; + 72461D38E6D468AAEC5BBFF6 /* DocumentFileUploadViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB927B052ADBE97524CC0F43 /* DocumentFileUploadViewController.swift */; }; + 7287EFE41CE74C92BCF86218 /* icon_info@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 188E601955C27EA3E98012AF /* icon_info@3x.png */; }; + 74701BC18362926FDED42E5A /* VerificationFlowResult+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52FB883B057ED79F2C58BC58 /* VerificationFlowResult+Equatable.swift */; }; + 752E548B7E39B3CD8FC2F76A /* VerificationSheetFlowControllerError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CDAA5C16C934746013C6CE6 /* VerificationSheetFlowControllerError.swift */; }; + 75AC5A117C885FBD0746291E /* ShadowedCorneredImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE238D8B6DAA92980E1F813A /* ShadowedCorneredImageView.swift */; }; + 76890B79CA3C83BBD7362065 /* VerifyWebURLHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D75A138199A6CC2DB31DD2D5 /* VerifyWebURLHelper.swift */; }; + 7797883309701F3BB36B1F20 /* VerificationPage_require_live_capture.json in Resources */ = {isa = PBXBuildFile; fileRef = 7FD2B7B0EDA3144115F080BC /* VerificationPage_require_live_capture.json */; }; + 78BC6F625665CE6EAB33EA62 /* ImageScannerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B804DA867C37809656BB3 /* ImageScannerMock.swift */; }; + 79BA026188FE0DB22ECE1BB0 /* VisionBasedDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E170B07B4958901EE3864A4 /* VisionBasedDetector.swift */; }; + 7C261F9C94175AD5345D384A /* IdentityHTMLViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2AF434F2405C5F38F259112 /* IdentityHTMLViewSnapshotTest.swift */; }; + 7CA57E67AC14DA90AE87743B /* ListItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BED2C3A9B548341D73D3CC /* ListItemView.swift */; }; + 7F55104D44AE746B5E686780 /* HTMLTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520D8A1D20ACE21966E806D9 /* HTMLTextView.swift */; }; + 812B45A86DD6B28A06A8FAC7 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 989A2C5379C60B9F0E0E2711 /* Localizable.strings */; }; + 867C0D3782143FC44501485C /* UINavigationController+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF0871DEB2B2BA56EFADEEA6 /* UINavigationController+StripeIdentity.swift */; }; + 86B2EFF1DEE73738EB454F4D /* DocumentCaptureViewController+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68FE94303A1D22C03D3157CE /* DocumentCaptureViewController+Strings.swift */; }; + 87927769E26B4189FB24D0C2 /* BottomAlignedLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5EE118A0368B2BBC342F162 /* BottomAlignedLabel.swift */; }; + 87994273B34C4783F92EF8FB /* IdentityFlowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BBFB1E6CDEA9002DB6353E7 /* IdentityFlowView.swift */; }; + 87A4B9B848DF1CFA11F32FC4 /* VerificationPageClearData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1FC19E901C6E57D948833FD /* VerificationPageClearData.swift */; }; + 882C201AF4C8F48816DB740F /* IdentityElementsFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31CC3450DDBE415B82707F4B /* IdentityElementsFactory.swift */; }; + 8DACF642D2E0C5FE35637EAE /* VerificationClientSecretTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFD771C14C0711019D8AC9C2 /* VerificationClientSecretTest.swift */; }; + 8E420E7B59168A4B81C19123 /* BiometricConsentViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B264A8F97FA8CB0706F140F /* BiometricConsentViewControllerTest.swift */; }; + 8E5D382BF426061CDD83197B /* ImageScanningConcurrencyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC8F619B76D191FF2DEC8660 /* ImageScanningConcurrencyManager.swift */; }; + 8EB5D825D1ADC9DAB6E7D5A3 /* DocumentCaptureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AF040F11A7D0693A7783654 /* DocumentCaptureView.swift */; }; + 8FEC054A2BF0649B64B6ED4F /* icon_add@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9431C816BF67F677B9447746 /* icon_add@3x.png */; }; + 905C6BC4E70CAF4AAFEAE246 /* BiometricConsentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A20A2B98A36D6A860B39E615 /* BiometricConsentViewController.swift */; }; + 91C23784E05401CA9EF37140 /* SuccessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC12E83001A164E12705498A /* SuccessViewController.swift */; }; + 924DE7C0E856DD2C5B80D53A /* Array+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBC057ECE030E8374AD9CF61 /* Array+StripeIdentity.swift */; }; + 92B9210AA596D5A135F24710 /* SelfieUploader+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EFF781FE9ED055F99F767D3 /* SelfieUploader+API.swift */; }; + 934D31A211E71520985D1D96 /* VerificationPageStaticContentDocumentCaptureModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B095FAF27C9C47DD4EDF5E4 /* VerificationPageStaticContentDocumentCaptureModels.swift */; }; + 9665F0EF90739A5D033C03A6 /* DocumentSide.swift in Sources */ = {isa = PBXBuildFile; fileRef = E310DFA6CAC355B848E82998 /* DocumentSide.swift */; }; + 96C17BE1FF29C4A24FAFFDBB /* IdentityFlowViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E7C993DB897B55B2A172CD9 /* IdentityFlowViewSnapshotTest.swift */; }; + 981D82CFC8B9EBF104B166F7 /* VerificationSheetFlowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AF8558B79CD52154D6EF3B /* VerificationSheetFlowController.swift */; }; + 9873265F2244B937E83F56BC /* SelfieCaptureViewController+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 328DF3C5E53973F6943FC4BD /* SelfieCaptureViewController+Strings.swift */; }; + 99243751D031F96B17286315 /* DocumentFileUploadViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F0B317274417308FBA55E55 /* DocumentFileUploadViewControllerTest.swift */; }; + 9A9B9B47F9CDA8AD1788A411 /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B48A1FCF125B2844F8CAD43 /* LoadingViewController.swift */; }; + 9D73810AC9A6AF921038DC54 /* DocumentScannerConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5DE93D9C60DFB779F71D5DC /* DocumentScannerConfiguration.swift */; }; + 9F07B2D6AEC03BCCBCCF5908 /* AnimatedBorderViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A31C88110FBCDDA9FB912491 /* AnimatedBorderViewSnapshotTest.swift */; }; + 9F3790F6AB77036ADCC4B2C8 /* IdentityMLModelLoaderMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 111A55FA39B400E6E87A5175 /* IdentityMLModelLoaderMock.swift */; }; + A030F131A965131A67388D97 /* DocumentCaptureViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99D92831ABFEBB1027419225 /* DocumentCaptureViewController.swift */; }; + A10A4F91CF1ECB610909ECD5 /* BiometricConsentViewControllerSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957545FFD547CDA1CFB719E6 /* BiometricConsentViewControllerSnapshotTest.swift */; }; + A41FF7CAF8EBEBCB16115DCB /* DocumentUploaderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FE476C4E5F3E281B7E6E136 /* DocumentUploaderTest.swift */; }; + A44BC25EF5F443C7D0CBB783 /* VerificationSheetControllerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = F459D2DF594C15C03585F3AF /* VerificationSheetControllerMock.swift */; }; + A47A4BB7D62116CAA3D29C2A /* HeaderIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FB4155E2BD74F6B44F8D68F /* HeaderIconView.swift */; }; + A6E190F4F1E9D599C2422624 /* VerificationSheetFlowControllerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CAC6276996043D1B3FC92F7 /* VerificationSheetFlowControllerMock.swift */; }; + A7AC2D0D9FDCF8AC5298708D /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD376CBC869531C40036081B /* StripeUICore.framework */; }; + A7B8782A3E807D11A6E6A239 /* VerificationSheetAnalyticsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F06CA1B36DA48B8E8BD7A5 /* VerificationSheetAnalyticsTest.swift */; }; + A8D87710369D0DCB43E481FF /* VerificationPageStaticContentSelfiePage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAB01766577CAB2CF0C2CFFB /* VerificationPageStaticContentSelfiePage.swift */; }; + A8EDE16782B8ABEB359CADAC /* IdentityVerificationSheetTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D5C67D8BB38BC3EA6282FF2 /* IdentityVerificationSheetTest.swift */; }; + A8EEE8C2CD83374877393E8C /* ListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D4A09C8B4EBF06D00B80994 /* ListView.swift */; }; + A9C41FB2EB8034BCCD6CAC29 /* StripeIdentityBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE8340912F2A489BB80D39B /* StripeIdentityBundleLocator.swift */; }; + AB4F7B2D348FAA2DD0BB40BD /* ErrorViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A1FCF877D109689CA724EB4 /* ErrorViewSnapshotTest.swift */; }; + AB6B3BDF7D8F3F84EEA7208A /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45CA21A528C7D39BAA2F2B51 /* StripeCore+Import.swift */; }; + AD1ADA8B98C1FDB5C8C0A39F /* BarcodeDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63826305A96644687BF980CC /* BarcodeDetector.swift */; }; + ADA2674008520B832585A8EE /* IDDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCB41D1D6B1D35C92EA6F2B7 /* IDDetector.swift */; }; + AF16352FECF8EE27ECD6AAC9 /* MLDetectorMetricsTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0989CE5CF80CF69BD28675DE /* MLDetectorMetricsTracker.swift */; }; + AF48EAD4D52EB59134652A08 /* SnapshotTestMockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 037D27A0AAECB846C8579452 /* SnapshotTestMockData.swift */; }; + AF90AF76409959324FB270EA /* HeaderIconViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C30DB2230DF9B47CD20AAF /* HeaderIconViewSnapshotTest.swift */; }; + B2377EEDCE440269E0766410 /* IdentityImageUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D4C3F2BAFB6BEFFFC1B566F /* IdentityImageUploader.swift */; }; + B292E22D9DD3198D44F249A7 /* SelfieCaptureViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = F95321B67AA78B88A32E37BE /* SelfieCaptureViewSnapshotTest.swift */; }; + B38910D7C10E80AED2EB9358 /* icon_clock@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C3288667B33AACBC2380CD9D /* icon_clock@3x.png */; }; + B5B5C232C6541F15AEF3C4BC /* StripeIdentity.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D604F6AABE4D6D5CCF802685 /* StripeIdentity.framework */; }; + B6D4EF6BB1A9178AFA18675B /* SelfieScanningViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD7373453206D23A9ABF5E17 /* SelfieScanningViewSnapshotTest.swift */; }; + B6E0CD4C1CDE03985005F08D /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5726517468179B69D50692C0 /* StripeCoreTestUtils.framework */; }; + B729E396A57DC7E1DC3D1FBA /* DocumentScanningViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67F4A7C86FF6784C6844649 /* DocumentScanningViewSnapshotTest.swift */; }; + B8E47E623C9E4DAF53C3520C /* NonMaxSuppression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93F2EE0B99059C7BFB72AFAF /* NonMaxSuppression.swift */; }; + BA655B97F1F31F3B8BA14199 /* ImageScanningConcurrencyManagerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 005D7E5D0E239D61ED1E9796 /* ImageScanningConcurrencyManagerMock.swift */; }; + BD4686589B16ED96A748CCA8 /* DocumentScanningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6A26F37BDBB5330AE87E7CB /* DocumentScanningView.swift */; }; + BDF0199A4A88D5E66751A033 /* InstructionalDocumentScanningViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01C54327529E9A3BD81F37F4 /* InstructionalDocumentScanningViewSnapshotTest.swift */; }; + BDF8D30919A290A0CF52059C /* header_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 7CD11009097B994FEFF5393E /* header_icon.png */; }; + BFA24F4BD97F5BE9F5C0E934 /* IdentityUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEB6AB9A9BAF6E50B962C339 /* IdentityUI.swift */; }; + C1AA4B758A20557CDBE72FD9 /* SelfieScanningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18BE1F9B0EB046BF0E1C2D8B /* SelfieScanningView.swift */; }; + C1DF05059A82FE217A7831BA /* mock.html in Resources */ = {isa = PBXBuildFile; fileRef = ADA1D4AB1AE9B0E45C68FFD2 /* mock.html */; }; + C378303DE7D3674CE4C771B7 /* DocumentType+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE1984CE45A111B5694A3F49 /* DocumentType+StripeIdentity.swift */; }; + C4BBB6E780EA8288EB46E795 /* ImageScanningSessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE163E90F54FE4A075C7B74 /* ImageScanningSessionDelegate.swift */; }; + C55B74FEDC0B7033143CA347 /* IdentityFlowNavigationControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A58D5CA5EA7922E280F7CC /* IdentityFlowNavigationControllerTest.swift */; }; + C5DB8461793523F9488DBBFA /* MLModelUnexpectedOutputError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FD2C7D94586AB8984DB7389 /* MLModelUnexpectedOutputError.swift */; }; + C5E8CA0B4DFEF0F017AEE8D7 /* NSAttributedString+HTML.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42768A09155B5439E724B360 /* NSAttributedString+HTML.swift */; }; + C63EAF360DB9887856543E68 /* ErrorViewControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20129AFBC6B4D304B494CBA6 /* ErrorViewControllerTest.swift */; }; + C8A9ABCDD7A384756CC382D1 /* IdentityFlowViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBE61B9C03DCE61E57CEC3F4 /* IdentityFlowViewController.swift */; }; + C9E49126B9BEC74E605C6DD0 /* SelfieCaptureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FEB1C2A314572B0234005A7 /* SelfieCaptureView.swift */; }; + CB3C71FE1DCD8632B5ADBC5F /* VerificationPageFieldType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2C25D8AD61094AB6530BCA4 /* VerificationPageFieldType.swift */; }; + CB3E51C6E407E6A4A1001AAC /* IdentityAnalyticsClientTestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43D3DC62FE3C5CC9FD22A50 /* IdentityAnalyticsClientTestHelpers.swift */; }; + CBA4B3CAFDFF232B72393842 /* VerificationClientSecret.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E01DDEABC6ABAB0F03B7CEC /* VerificationClientSecret.swift */; }; + CE7F2D308363EEDD627AEBF7 /* InstructionalDocumentScanningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CDF8D78C430D9B26DD92B11 /* InstructionalDocumentScanningView.swift */; }; + CF5E139AD71239C64376815D /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1559E966A487EE3867DD7B8 /* String+Localized.swift */; }; + CFA141490408B4644A4F0375 /* IdentityMockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 738A5EB6B7F1C5621F190A72 /* IdentityMockData.swift */; }; + D19E35C5D5263F212071AE75 /* IDDetectorConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14ED7B7A9CC6DE447C14B5CB /* IDDetectorConstants.swift */; }; + D3DA8FAC2DD250C34075FBC0 /* VerificationPageRequirements.swift in Sources */ = {isa = PBXBuildFile; fileRef = A676387474C2E5684F1A654D /* VerificationPageRequirements.swift */; }; + DB6005016F47D09559DA0C98 /* DocumentType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AFAC1FACF9A36AAFC19BF2F /* DocumentType.swift */; }; + DCFBA69CC4437E2E6061F50B /* IdentityMLModelLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4546F9D432ACFF45E9CE1368 /* IdentityMLModelLoader.swift */; }; + DCFFA11A461B012F7515941F /* VerificationFlowWebViewSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22A64D0C0989BD43624BB506 /* VerificationFlowWebViewSnapshotTests.swift */; }; + E15D79E05C4FA68CA56B0CC8 /* TruncatedDecimal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9DA29DC85773AC710A5201 /* TruncatedDecimal.swift */; }; + E1D4A5DD8C188725C5D23BBB /* VerificationPage_no_selfie.json in Resources */ = {isa = PBXBuildFile; fileRef = D5C7698331B899B80AF4F730 /* VerificationPage_no_selfie.json */; }; + E5B984BE9EFC4E87D1866CB3 /* VerificationPageStaticContentSelfieModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B35B47EE955CE3D6A670CA0 /* VerificationPageStaticContentSelfieModels.swift */; }; + E646201B58937F04897840EB /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AB1A0B05C00E547ED1A0D09 /* XCTest.framework */; }; + E64EE8A82FFB624F981D7E17 /* VerificationPageDataUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15E15D64B5F7EF76235D0BA5 /* VerificationPageDataUpdate.swift */; }; + EA2A1C7D4A9FB826A2146808 /* DocumentScanner+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC4AE39C12E613AFB80FF4E8 /* DocumentScanner+API.swift */; }; + EF277282173FFF6A52FE1EA3 /* FaceDetectorOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9BA1457F98160EBCBEE670 /* FaceDetectorOutput.swift */; }; + EF343909D610063574D0F911 /* VerificationPageData_no_errors_needback.json in Resources */ = {isa = PBXBuildFile; fileRef = 9D112C14362D55A94E9B9E6E /* VerificationPageData_no_errors_needback.json */; }; + F146D14E6D35174CB94A8A48 /* FaceDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9BD50679E8B87237BF3955E /* FaceDetector.swift */; }; + F1CA28CC435B94C289B08257 /* DocumentUploader+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 643CB84029E6A12167838C3A /* DocumentUploader+API.swift */; }; + F1DAE15C305F9733A7C40673 /* VerificationPageDataRequirements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A566C584F41FE23108295E3 /* VerificationPageDataRequirements.swift */; }; + F2BBAF668109BC42FF4FCD09 /* IdentityAPIClientTestMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8D0D5F9E17825856B55E4D1 /* IdentityAPIClientTestMock.swift */; }; + F2F041A9228AFAEFCB8A03B7 /* VerificationSheetControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FB8B409BCEBD89987293A94 /* VerificationSheetControllerTest.swift */; }; + F831E6E67E7F9057FED3F4B8 /* IdentityAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEF2BB05DF09AABFEEC1C66D /* IdentityAPIClient.swift */; }; + FA9F01846614FC4B30FDBF82 /* VerificationPageStaticContentConsentPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84088B48BC2EA950AA25D2F /* VerificationPageStaticContentConsentPage.swift */; }; + FD6FB63B061FEABF17053225 /* NSAttributedString_HTMLSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D95CE7A231D14C9FD32A7848 /* NSAttributedString_HTMLSnapshotTest.swift */; }; + FDB82DE4F471545F5D7B4CCA /* MLMultiArray+StripeIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D731669A9237F0B147B366 /* MLMultiArray+StripeIdentity.swift */; }; + FF3D439778B2EF580053AC15 /* VerificationPageData_200.json in Resources */ = {isa = PBXBuildFile; fileRef = B75F0E4F340355B8661085F7 /* VerificationPageData_200.json */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - E6E146B226950E1E007BDCD8 /* PBXContainerItemProxy */ = { + C5559AE430066C0A94C2686A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = E6E1469E26950E1E007BDCD8 /* Project object */; + containerPortal = 0705CAA185B63201FD561508 /* Project object */; proxyType = 1; - remoteGlobalIDString = E6E146A626950E1E007BDCD8; + remoteGlobalIDString = F251015845B21C036CFBC636; remoteInfo = StripeIdentity; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - E254413F28FDEF0500C6F5D3 /* Embed Frameworks */ = { + 048FEFC038A0C2BC99CCB683 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 559B276C9F23AEDE2D54B9A8 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - E254414028FDEF0500C6F5D3 /* iOSSnapshotTestCase in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -228,1309 +237,1300 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 36064BA426D6E70C002A8AAA /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BBD26D832F8002A8AAA /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BBE26D83313002A8AAA /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BBF26D8331F002A8AAA /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BC426D833C3002A8AAA /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BCC26D8349C002A8AAA /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BD426D8352F002A8AAA /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BDC26D835C6002A8AAA /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BE426D8363E002A8AAA /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BEC26D836BC002A8AAA /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BF426D837A2002A8AAA /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; - 36064BFC26D8383E002A8AAA /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; - 363B9261274320C800BA52EC /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; - 36F4BC7C26C1BBE0001518CD /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC8526C1BCCF001518CD /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BC9E26C1BDEF001518CD /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; - 36F4BCA626C1BE96001518CD /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; - D48DA57828CD15DF00050C06 /* VerificationPageData_no_errors_needback.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPageData_no_errors_needback.json; sourceTree = ""; }; - E606936E2702A2C100742859 /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; - E6069379270435FF00742859 /* IdentityElementsFactoryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityElementsFactoryTest.swift; sourceTree = ""; }; - E60FD5D227AE16F300ED64A1 /* DocumentFileUploadViewController+Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentFileUploadViewController+Strings.swift"; sourceTree = ""; }; - E60FD5D427AE17A100ED64A1 /* InstructionListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionListView.swift; sourceTree = ""; }; - E612B1172746028000A258C1 /* IdentityFlowNavigationControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityFlowNavigationControllerTest.swift; sourceTree = ""; }; - E612B1192746046000A258C1 /* VerificationFlowResult+Equatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VerificationFlowResult+Equatable.swift"; sourceTree = ""; }; - E61676D52846F2D000C9E44A /* IdentityImageUploaderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityImageUploaderTest.swift; sourceTree = ""; }; - E61676E42849894600C9E44A /* VerificationPageStaticContentSelfieModels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentSelfieModels.swift; sourceTree = ""; }; - E61676E52849894600C9E44A /* VerificationPageStaticContentSelfiePage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentSelfiePage.swift; sourceTree = ""; }; - E61676E828499B9000C9E44A /* SelfieUploader+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SelfieUploader+API.swift"; sourceTree = ""; }; - E61676EA2849A29500C9E44A /* FaceScanner+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FaceScanner+API.swift"; sourceTree = ""; }; - E61676F8284FFBB500C9E44A /* TimeInterval+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TimeInterval+StripeIdentity.swift"; sourceTree = ""; }; - E616770128500F3400C9E44A /* IdentityAnalyticsClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAnalyticsClient.swift; sourceTree = ""; }; - E61677092853F6A700C9E44A /* VerificationPageDataFace.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataFace.swift; sourceTree = ""; }; - E61ADAD2270F6293004ED998 /* VerificationSheetController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetController.swift; sourceTree = ""; }; - E61C32452797AEA2008A30D4 /* DocumentFileUploadViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentFileUploadViewControllerTest.swift; sourceTree = ""; }; - E61EA92B26A0D8AE00CAEE52 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E61EA92E26A0E00900CAEE52 /* mock.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = mock.html; sourceTree = ""; }; - E6200DBF2745E8F400A06A8E /* IdentityFlowNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityFlowNavigationController.swift; sourceTree = ""; }; - E627AEF4275851640048F88D /* DocumentCaptureView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentCaptureView.swift; sourceTree = ""; }; - E6395965285D691E00DA947D /* MLDetectorMetricsTrackerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLDetectorMetricsTrackerMock.swift; sourceTree = ""; }; - E63B673D2743415300CFEDBA /* StripeCameraCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCameraCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E63B67492743487E00CFEDBA /* StripeCameraCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCameraCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E63E9372281874FE008F5FC0 /* BottomAlignedLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomAlignedLabel.swift; sourceTree = ""; }; - E6465104269E1E0B002EC424 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - E6465105269E1E0B002EC424 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - E6465106269E1E0B002EC424 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - E6465107269E1E0B002EC424 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - E6465108269E1E0B002EC424 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - E6465109269E1E0B002EC424 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; - E646510A269E1E0B002EC424 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - E646510B269E1E0B002EC424 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - E646510C269E1E0B002EC424 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - E646510D269E1E0B002EC424 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - E646510E269E1E0B002EC424 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - E646510F269E1E0B002EC424 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - E6465110269E1E0B002EC424 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - E6465111269E1E0B002EC424 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - E6465112269E1E0B002EC424 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - E6465113269E1E0B002EC424 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - E6465114269E1E0B002EC424 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - E6465115269E1E0B002EC424 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - E6465116269E1E0B002EC424 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - E6465117269E1E0B002EC424 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - E6465118269E1E0B002EC424 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - E6465119269E1E0B002EC424 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - E646511A269E1E0B002EC424 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - E646511B269E1E0B002EC424 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - E646511C269E1E0B002EC424 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - E646511F269E1F8F002EC424 /* StripeIdentityBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeIdentityBundleLocator.swift; sourceTree = ""; }; - E6465121269E202A002EC424 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; - E651289527A9BD5D00586A1F /* MLModelLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLModelLoader.swift; sourceTree = ""; }; - E651289927A9E69800586A1F /* IdentityMLModelLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityMLModelLoader.swift; sourceTree = ""; }; - E65129EC27AA922500586A1F /* IdentityMLModelLoaderMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityMLModelLoaderMock.swift; sourceTree = ""; }; - E651A4C62787D7FE0009506E /* DocumentUploader+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentUploader+API.swift"; sourceTree = ""; }; - E651A4C827890BAB0009506E /* DocumentUploaderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentUploaderTest.swift; sourceTree = ""; }; - E6548E4F27279DFD00F399B2 /* VerificationPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPage.swift; sourceTree = ""; }; - E6548E5027279DFD00F399B2 /* VerificationPageStaticContentDocumentCapturePage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentDocumentCapturePage.swift; sourceTree = ""; }; - E6548E5227279DFE00F399B2 /* VerificationPageStaticContentConsentPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentConsentPage.swift; sourceTree = ""; }; - E6548E5327279DFE00F399B2 /* VerificationPageStaticContentTextPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentTextPage.swift; sourceTree = ""; }; - E6548E5427279DFE00F399B2 /* VerificationPageStaticContentDocumentSelectPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentDocumentSelectPage.swift; sourceTree = ""; }; - E6548E5527279DFF00F399B2 /* VerificationPageRequirements.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPageRequirements.swift; sourceTree = ""; }; - E6548E5627279DFF00F399B2 /* VerificationPageStaticContentDocumentCaptureModels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentDocumentCaptureModels.swift; sourceTree = ""; }; - E6548E6827288C0D00F399B2 /* IdentityAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAPIClient.swift; sourceTree = ""; }; - E6548EE92729025000F399B2 /* StripeCore+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; - E6548EEC2729BB2100F399B2 /* VerificationPage_200.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = VerificationPage_200.json; sourceTree = ""; }; - E6548EF42729BE6B00F399B2 /* IdentityMockData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityMockData.swift; sourceTree = ""; }; - E6548EF72729BFC500F399B2 /* VerificationSheetControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetControllerTest.swift; sourceTree = ""; }; - E6548EFC272A074D00F399B2 /* IdentityAPIClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAPIClientTest.swift; sourceTree = ""; }; - E6548F2D272C89FE00F399B2 /* IdentityFlowViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IdentityFlowViewController.swift; sourceTree = ""; }; - E6548F2F272C89FE00F399B2 /* IndividualViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IndividualViewController.swift; sourceTree = ""; }; - E6548F30272C89FE00F399B2 /* LoadingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadingViewController.swift; sourceTree = ""; }; - E6548F3C272C92CE00F399B2 /* VerificationSheetFlowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetFlowController.swift; sourceTree = ""; }; - E6548F3E272CABF700F399B2 /* VerifyWebURLHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerifyWebURLHelper.swift; sourceTree = ""; }; - E6548F41272CAC0500F399B2 /* IdentityFlowView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IdentityFlowView.swift; sourceTree = ""; }; - E6548F48272CC50900F399B2 /* BiometricConsentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BiometricConsentViewController.swift; sourceTree = ""; }; - E6548F512731D9B400F399B2 /* VerificationPageDataRequirements.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataRequirements.swift; sourceTree = ""; }; - E6548F532731DA8F00F399B2 /* VerificationPageDataRequirementError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataRequirementError.swift; sourceTree = ""; }; - E6548F552731DAFD00F399B2 /* VerificationPageData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageData.swift; sourceTree = ""; }; - E6548F5A2731DEAA00F399B2 /* VerificationPageData_200.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPageData_200.json; sourceTree = ""; }; - E6548F5E2731E4E500F399B2 /* VerificationPageDataUpdate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataUpdate.swift; sourceTree = ""; }; - E6548F7C27339AC000F399B2 /* VerificationSheetFlowControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetFlowControllerTest.swift; sourceTree = ""; }; - E6548F842734541F00F399B2 /* ErrorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorViewController.swift; sourceTree = ""; }; - E6548F892734AEBA00F399B2 /* IdentityAPIClientTestMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAPIClientTestMock.swift; sourceTree = ""; }; - E657B57F276416FD00134033 /* VerificationPageDataDocumentFileData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataDocumentFileData.swift; sourceTree = ""; }; - E657B58227642FEC00134033 /* CGImage+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGImage+StripeIdentity.swift"; sourceTree = ""; }; - E657B5852764307600134033 /* CGImage+StripeIdentityUnitTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGImage+StripeIdentityUnitTest.swift"; sourceTree = ""; }; - E657B58727680D2A00134033 /* CGImage_StripeIdentitySnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CGImage_StripeIdentitySnapshotTest.swift; sourceTree = ""; }; - E657B58927681B7F00134033 /* cgimage_stripeidentity_test.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cgimage_stripeidentity_test.png; sourceTree = ""; }; - E657B58F27683D5700134033 /* CGImage_StripeIdentitySnapshotTest.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CGImage_StripeIdentitySnapshotTest.png; sourceTree = ""; }; - E659A089282B0C2D00DF8C0C /* FaceDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceDetector.swift; sourceTree = ""; }; - E659A08B282B0C4800DF8C0C /* FaceDetectorOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceDetectorOutput.swift; sourceTree = ""; }; - E659A08D282B0CB000DF8C0C /* MLDetectorConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLDetectorConfiguration.swift; sourceTree = ""; }; - E659A096282B391900DF8C0C /* ImageScanningConcurrencyManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScanningConcurrencyManager.swift; sourceTree = ""; }; - E659A098282B492D00DF8C0C /* FaceScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceScanner.swift; sourceTree = ""; }; - E659A09A282B49F500DF8C0C /* FaceScannerConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceScannerConfiguration.swift; sourceTree = ""; }; - E659A09C282B6D0100DF8C0C /* Array+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+StripeIdentity.swift"; sourceTree = ""; }; - E659A0A9282C8E3D00DF8C0C /* ImageScanningConcurrencyManagerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScanningConcurrencyManagerMock.swift; sourceTree = ""; }; - E659A0B32846F09400DF8C0C /* IdentityImageUploader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IdentityImageUploader.swift; sourceTree = ""; }; - E659A0B42846F09400DF8C0C /* SelfieUploader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelfieUploader.swift; sourceTree = ""; }; - E659A0B52846F09400DF8C0C /* DocumentUploader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocumentUploader.swift; sourceTree = ""; }; - E65DD28027A2634900625A17 /* MLMultiArray+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MLMultiArray+StripeIdentity.swift"; sourceTree = ""; }; - E662FC8A278E2EC2005B0DAD /* ListItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListItemView.swift; sourceTree = ""; }; - E662FC8D278E3094005B0DAD /* ListViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListViewSnapshotTest.swift; sourceTree = ""; }; - E662FC8F278E4636005B0DAD /* DocumentFileUploadViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentFileUploadViewController.swift; sourceTree = ""; }; - E662FC91278E48DB005B0DAD /* DocumentType+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentType+StripeIdentity.swift"; sourceTree = ""; }; - E662FC93278E5AC4005B0DAD /* icon_checkmark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_checkmark@3x.png"; sourceTree = ""; }; - E663658A28581F71006A4679 /* IdentityAnalyticsClientTestHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAnalyticsClientTestHelpers.swift; sourceTree = ""; }; - E663658C285A77CD006A4679 /* MLDetectorMetricsTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLDetectorMetricsTracker.swift; sourceTree = ""; }; - E666A50A2735F7E6001DE130 /* DocumentTypeSelectViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentTypeSelectViewController.swift; sourceTree = ""; }; - E666A51527361C91001DE130 /* DocumentTypeSelectViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentTypeSelectViewControllerTest.swift; sourceTree = ""; }; - E666A5192736243D001DE130 /* VerificationSheetFlowControllerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetFlowControllerMock.swift; sourceTree = ""; }; - E666A51B27362946001DE130 /* VerificationSheetControllerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetControllerMock.swift; sourceTree = ""; }; - E666A5242739EFEE001DE130 /* DocumentCaptureViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentCaptureViewController.swift; sourceTree = ""; }; - E666A529273A0951001DE130 /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; - E666A52B273A0AE6001DE130 /* InstructionalDocumentScanningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionalDocumentScanningView.swift; sourceTree = ""; }; - E666DF04273B2F0600638B60 /* DocumentScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DocumentScanner.swift; path = StripeIdentity/Source/NativeComponents/Coordinators/ImageScanner/DocumentScanner/DocumentScanner.swift; sourceTree = SOURCE_ROOT; }; - E666DF16273B3BB700638B60 /* front_drivers_license.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = front_drivers_license.jpg; path = "StripeIdentityTests/Mock Files/Mock Photos/front_drivers_license.jpg"; sourceTree = SOURCE_ROOT; }; - E666DF17273B3BB700638B60 /* back_drivers_license.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = back_drivers_license.jpg; path = "StripeIdentityTests/Mock Files/Mock Photos/back_drivers_license.jpg"; sourceTree = SOURCE_ROOT; }; - E66B82B227F7CE1600C6A662 /* VerificationPage_require_live_capture.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPage_require_live_capture.json; sourceTree = ""; }; - E66DA0C128189DC40099213C /* CameraPreviewContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraPreviewContainerView.swift; sourceTree = ""; }; - E66DA0C42818A8920099213C /* SelfieScanningView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelfieScanningView.swift; sourceTree = ""; }; - E66DA0C62818ACCA0099213C /* SelfieScanningViewSnapshotTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelfieScanningViewSnapshotTest.swift; sourceTree = ""; }; - E66DA0D8281A25480099213C /* SelfieCaptureView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfieCaptureView.swift; sourceTree = ""; }; - E66DA0DA281A29020099213C /* SelfieCaptureViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfieCaptureViewController.swift; sourceTree = ""; }; - E66DA0DC281A2B100099213C /* SelfieCaptureViewController+Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SelfieCaptureViewController+Strings.swift"; sourceTree = ""; }; - E66DA0EF2822F0A90099213C /* FaceScannerOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceScannerOutput.swift; sourceTree = ""; }; - E66DA0F1282311790099213C /* FaceCaptureData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceCaptureData.swift; sourceTree = ""; }; - E66DA0F3282314410099213C /* ContentCenteringScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentCenteringScrollView.swift; sourceTree = ""; }; - E66DA0F5282339080099213C /* ImageScanningSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScanningSession.swift; sourceTree = ""; }; - E66DA0F8282343470099213C /* ImageScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScanner.swift; sourceTree = ""; }; - E66DA0FA2824BF140099213C /* SelfieCaptureViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfieCaptureViewSnapshotTest.swift; sourceTree = ""; }; - E66DA0FE2829C4D00099213C /* ImageScanningSessionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ImageScanningSessionDelegate.swift; path = StripeIdentity/Source/NativeComponents/Coordinators/ImageScanningSession/ImageScanningSessionDelegate.swift; sourceTree = SOURCE_ROOT; }; - E67377462808F6F900DF966B /* DocumentScanner+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentScanner+API.swift"; sourceTree = ""; }; - E673774A2808FDC900DF966B /* VNBarcodeSymbology+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VNBarcodeSymbology+StripeIdentity.swift"; sourceTree = ""; }; - E677769F278D1E7D003C5DB5 /* ListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListView.swift; sourceTree = ""; }; - E67776A1278E13B9003C5DB5 /* ListItemViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListItemViewSnapshotTest.swift; sourceTree = ""; }; - E67A1E48273DD92D00977F63 /* DocumentCaptureViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentCaptureViewControllerTest.swift; sourceTree = ""; }; - E67A1E52273DF31100977F63 /* ImageScannerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScannerMock.swift; sourceTree = ""; }; - E6A50DA527B21CF800D7BDED /* DocumentCaptureViewController+Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentCaptureViewController+Strings.swift"; sourceTree = ""; }; - E6A50DA727B2220600D7BDED /* DocumentSide.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentSide.swift; sourceTree = ""; }; - E6A50DA927B30A4400D7BDED /* ShadowConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShadowConfiguration.swift; sourceTree = ""; }; - E6A50DAB27B30E9000D7BDED /* DocumentScanningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentScanningView.swift; sourceTree = ""; }; - E6A50DAD27B341A000D7BDED /* DocumentScanningViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentScanningViewSnapshotTest.swift; sourceTree = ""; }; - E6A50DAF27B35A7500D7BDED /* InstructionalDocumentScanningViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionalDocumentScanningViewSnapshotTest.swift; sourceTree = ""; }; - E6A50DB127B466BC00D7BDED /* TruncatedDecimal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TruncatedDecimal.swift; sourceTree = ""; }; - E6A50DB327B4858A00D7BDED /* TruncatedDecimalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TruncatedDecimalTest.swift; sourceTree = ""; }; - E6A50DB527B510E700D7BDED /* icon_checkmark_92@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_checkmark_92@3x.png"; sourceTree = ""; }; - E6A50DB927B77CAD00D7BDED /* NSAttributedString+HTML.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+HTML.swift"; sourceTree = ""; }; - E6A50DBD27B77F9D00D7BDED /* NSAttributedString_HTMLSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSAttributedString_HTMLSnapshotTest.swift; sourceTree = ""; }; - E6A50DBF27B785B800D7BDED /* HTMLViewWithIconLabels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTMLViewWithIconLabels.swift; sourceTree = ""; }; - E6A50DC727B7B94300D7BDED /* icon_clock@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_clock@3x.png"; sourceTree = ""; }; - E6A50DC927B8395400D7BDED /* IdentityHTMLViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityHTMLViewSnapshotTest.swift; sourceTree = ""; }; - E6AA24EF2744B2AB00FD205E /* SuccessViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessViewController.swift; sourceTree = ""; }; - E6AADF2F286A88DC00C46665 /* VerificationSheetFlowControllerError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetFlowControllerError.swift; sourceTree = ""; }; - E6AADF31286A970600C46665 /* ErrorViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorViewControllerTest.swift; sourceTree = ""; }; - E6AADF35286AAFA600C46665 /* VerificationPage_no_selfie.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPage_no_selfie.json; sourceTree = ""; }; - E6ABED6C276C1BF8007F6D89 /* DocumentUploaderMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentUploaderMock.swift; sourceTree = ""; }; - E6AF1EC5269FD7980091BE99 /* VerificationSheetAnalytics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationSheetAnalytics.swift; sourceTree = ""; }; - E6AF1EC6269FD7980091BE99 /* IdentityVerificationSheetError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IdentityVerificationSheetError.swift; sourceTree = ""; }; - E6AF1EC7269FD7990091BE99 /* VerificationClientSecret.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationClientSecret.swift; sourceTree = ""; }; - E6AF1EC9269FD7990091BE99 /* IdentityVerificationSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IdentityVerificationSheet.swift; sourceTree = ""; }; - E6AF1ED1269FD7B30091BE99 /* VerificationFlowWebViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebViewController.swift; sourceTree = ""; }; - E6AF1ED3269FD7BB0091BE99 /* VerificationFlowWebView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebView.swift; sourceTree = ""; }; - E6AF1EDC269FD9960091BE99 /* IdentityVerificationSheetTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityVerificationSheetTest.swift; sourceTree = ""; }; - E6AF1EDD269FD9960091BE99 /* VerificationClientSecretTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationClientSecretTest.swift; sourceTree = ""; }; - E6AF1EDE269FD9970091BE99 /* VerificationFlowWebViewTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebViewTest.swift; sourceTree = ""; }; - E6AF1EDF269FD9970091BE99 /* VerificationSheetAnalyticsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetAnalyticsTest.swift; sourceTree = ""; }; - E6AF1EE0269FD9970091BE99 /* VerificationFlowWebViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebViewControllerTest.swift; sourceTree = ""; }; - E6AF1EE8269FDA020091BE99 /* VerificationFlowWebViewSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebViewSnapshotTests.swift; sourceTree = ""; }; - E6B3F63426FBFEA800963EAB /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6B3F64426FD97E600963EAB /* IdentityElementsFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityElementsFactory.swift; sourceTree = ""; }; - E6B906DC27C7655300D0A703 /* MotionBlurDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MotionBlurDetector.swift; sourceTree = ""; }; - E6B906DE27C7658600D0A703 /* DocumentType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentType.swift; sourceTree = ""; }; - E6B906E127C9C2A000D0A703 /* BarcodeDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BarcodeDetector.swift; sourceTree = ""; }; - E6B906E327C9C8F400D0A703 /* VisionBasedDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisionBasedDetector.swift; sourceTree = ""; }; - E6B906E727CA0FC900D0A703 /* IconLabelHTMLView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconLabelHTMLView.swift; sourceTree = ""; }; - E6B906E927CA137400D0A703 /* HTMLTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTMLTextView.swift; sourceTree = ""; }; - E6B906EB27CA1B4100D0A703 /* icon_info@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_info@3x.png"; sourceTree = ""; }; - E6B906ED27CAB4F200D0A703 /* VerificationPageCollectedData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageCollectedData.swift; sourceTree = ""; }; - E6B906EF27CAC54300D0A703 /* IdentityDataCollecting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityDataCollecting.swift; sourceTree = ""; }; - E6B906F127CAC5C000D0A703 /* VerificationPageFieldType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageFieldType.swift; sourceTree = ""; }; - E6B906F427CB122200D0A703 /* VerificationPageData_no_errors.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPageData_no_errors.json; sourceTree = ""; }; - E6B906F527CB128A00D0A703 /* VerificationPageData_submitted.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPageData_submitted.json; sourceTree = ""; }; - E6B906F927CEA0E000D0A703 /* DocumentScannerOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentScannerOutput.swift; sourceTree = ""; }; - E6B906FB27CEA10700D0A703 /* DocumentScannerConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentScannerConfiguration.swift; sourceTree = ""; }; - E6B9071127D1C95B00D0A703 /* VerificationPageClearData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationPageClearData.swift; sourceTree = ""; }; - E6C7BB1C27A8B700000807A6 /* NonMaxSuppression.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NonMaxSuppression.swift; sourceTree = ""; }; - E6C7BB2027A8BE2E000807A6 /* IDDetectorConstants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IDDetectorConstants.swift; sourceTree = ""; }; - E6C7BB2127A8BE2E000807A6 /* MLModelUnexpectedOutputError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MLModelUnexpectedOutputError.swift; sourceTree = ""; }; - E6C7BB2227A8BE2E000807A6 /* IDDetectorOutput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IDDetectorOutput.swift; sourceTree = ""; }; - E6C7BB2327A8BE2E000807A6 /* IDDetector.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IDDetector.swift; sourceTree = ""; }; - E6CC14B7269E22060078837F /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6D6576627BB041600AF4212 /* BiometricConsentViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BiometricConsentViewControllerTest.swift; sourceTree = ""; }; - E6D6576827BB062F00AF4212 /* BiometricConsentViewControllerSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BiometricConsentViewControllerSnapshotTest.swift; sourceTree = ""; }; - E6D6576A27BBB3C600AF4212 /* SuccessViewControllerSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessViewControllerSnapshotTest.swift; sourceTree = ""; }; - E6D6577C27BF314200AF4212 /* InstructionListViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionListViewSnapshotTest.swift; sourceTree = ""; }; - E6E146A726950E1E007BDCD8 /* StripeIdentity.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeIdentity.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6E146AA26950E1E007BDCD8 /* StripeIdentity.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeIdentity.h; sourceTree = ""; }; - E6E146AB26950E1E007BDCD8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E6E146B026950E1E007BDCD8 /* StripeIdentityTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeIdentityTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - E6E146B726950E1E007BDCD8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E6E146C226950E64007BDCD8 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - E6E146C326950E64007BDCD8 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - E6E146C426950E64007BDCD8 /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - E6E146C526950E64007BDCD8 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - E6E146C626950E64007BDCD8 /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - E6E146C726950E64007BDCD8 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - E6E146C826950E64007BDCD8 /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - E6E146C926950E64007BDCD8 /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - E6E146CA26950E64007BDCD8 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - E6E146CB26950E64007BDCD8 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - E6E4AF4527C1C99200F55330 /* AnimatedBorderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimatedBorderView.swift; sourceTree = ""; }; - E6E4AF4727C1D16C00F55330 /* AnimatedBorderViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimatedBorderViewSnapshotTest.swift; sourceTree = ""; }; - F311D59727A275E800AD8123 /* IdentityUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityUI.swift; sourceTree = ""; }; - F311D59927A2786100AD8123 /* HeaderViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderViewSnapshotTest.swift; sourceTree = ""; }; - F311D59D27A279B700AD8123 /* SnapshotTestMockData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SnapshotTestMockData.swift; sourceTree = ""; }; - F322C36827ABC41F0087CCBA /* header_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = header_icon.png; sourceTree = ""; }; - F3680DF627A9B42900A8796A /* icon_add@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_add@3x.png"; sourceTree = ""; }; - F3680DF827A9B72B00A8796A /* HeaderIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderIconView.swift; sourceTree = ""; }; - F3680DFF27A9C6ED00A8796A /* HeaderIconViewSnapshotTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HeaderIconViewSnapshotTest.swift; sourceTree = ""; }; - F3680E0327AA501500A8796A /* ShadowedCorneredImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShadowedCorneredImageView.swift; sourceTree = ""; }; - F383FB4427B5D20E00E19E52 /* ErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorView.swift; sourceTree = ""; }; - F383FB4627B5D52C00E19E52 /* ErrorViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorViewSnapshotTest.swift; sourceTree = ""; }; - F383FB4827B5E7FA00E19E52 /* UINavigationController+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController+StripeIdentity.swift"; sourceTree = ""; }; - F3A3C7D327A0A195006BB89B /* HeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderView.swift; sourceTree = ""; }; - F3B0AD8327BB1E2400AE4406 /* icon_warning_92@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_warning_92@3x.png"; sourceTree = ""; }; - F3FA474427ADD5DA0045AB4B /* IdentityFlowViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityFlowViewSnapshotTest.swift; sourceTree = ""; }; + 005D7E5D0E239D61ED1E9796 /* ImageScanningConcurrencyManagerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScanningConcurrencyManagerMock.swift; sourceTree = ""; }; + 005EAC562365676CE56F306D /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + 01C54327529E9A3BD81F37F4 /* InstructionalDocumentScanningViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionalDocumentScanningViewSnapshotTest.swift; sourceTree = ""; }; + 037D27A0AAECB846C8579452 /* SnapshotTestMockData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SnapshotTestMockData.swift; sourceTree = ""; }; + 03C30DB2230DF9B47CD20AAF /* HeaderIconViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderIconViewSnapshotTest.swift; sourceTree = ""; }; + 050900C738C01F6D96F7ED5B /* IdentityFlowNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityFlowNavigationController.swift; sourceTree = ""; }; + 0631A038B5360C337B8E596C /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + 083865663173CDD9F77417A4 /* VerificationPageDataDocumentFileData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataDocumentFileData.swift; sourceTree = ""; }; + 0989CE5CF80CF69BD28675DE /* MLDetectorMetricsTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLDetectorMetricsTracker.swift; sourceTree = ""; }; + 09F06CA1B36DA48B8E8BD7A5 /* VerificationSheetAnalyticsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetAnalyticsTest.swift; sourceTree = ""; }; + 0ACA3969442F9B14DF70ABE7 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + 0AFAC8C1757DE685E0E9BFB3 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + 0CD0A4F2BB147D41D2DF6976 /* icon_checkmark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_checkmark@3x.png"; sourceTree = ""; }; + 0CFB27562E05409A1C0263EA /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + 0EA099682E4BE0A34CFCBE6C /* AnimatedBorderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimatedBorderView.swift; sourceTree = ""; }; + 0F99DB710C60AC2A98449D51 /* ImageScanningSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScanningSession.swift; sourceTree = ""; }; + 1096AFFD3877D9A22703E6CA /* CGImage_StripeIdentitySnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CGImage_StripeIdentitySnapshotTest.swift; sourceTree = ""; }; + 111A55FA39B400E6E87A5175 /* IdentityMLModelLoaderMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityMLModelLoaderMock.swift; sourceTree = ""; }; + 14244B002D9F37B56BE8D4F4 /* VerificationPageDataFace.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataFace.swift; sourceTree = ""; }; + 14534C235EF7B57DDB6B74F1 /* DocumentFileUploadViewController+Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentFileUploadViewController+Strings.swift"; sourceTree = ""; }; + 149453E1854C9566CC8D8484 /* ImageScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScanner.swift; sourceTree = ""; }; + 14C231755842F322A25160ED /* StripeCameraCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCameraCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 14ED7B7A9CC6DE447C14B5CB /* IDDetectorConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IDDetectorConstants.swift; sourceTree = ""; }; + 15E15D64B5F7EF76235D0BA5 /* VerificationPageDataUpdate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataUpdate.swift; sourceTree = ""; }; + 18593C820FE0E35DDEE36956 /* MLDetectorConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLDetectorConfiguration.swift; sourceTree = ""; }; + 188E601955C27EA3E98012AF /* icon_info@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_info@3x.png"; sourceTree = ""; }; + 18BE1F9B0EB046BF0E1C2D8B /* SelfieScanningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfieScanningView.swift; sourceTree = ""; }; + 198B92E9E0D04CA24F208E07 /* ErrorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorView.swift; sourceTree = ""; }; + 1A566C584F41FE23108295E3 /* VerificationPageDataRequirements.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataRequirements.swift; sourceTree = ""; }; + 1B264A8F97FA8CB0706F140F /* BiometricConsentViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BiometricConsentViewControllerTest.swift; sourceTree = ""; }; + 1CAC6276996043D1B3FC92F7 /* VerificationSheetFlowControllerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetFlowControllerMock.swift; sourceTree = ""; }; + 1CDF8D78C430D9B26DD92B11 /* InstructionalDocumentScanningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionalDocumentScanningView.swift; sourceTree = ""; }; + 1E01DDEABC6ABAB0F03B7CEC /* VerificationClientSecret.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationClientSecret.swift; sourceTree = ""; }; + 1E7C993DB897B55B2A172CD9 /* IdentityFlowViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityFlowViewSnapshotTest.swift; sourceTree = ""; }; + 1F4F55F9FBE67FCFE3767816 /* VerificationPageCollectedData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageCollectedData.swift; sourceTree = ""; }; + 1FB4155E2BD74F6B44F8D68F /* HeaderIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderIconView.swift; sourceTree = ""; }; + 20129AFBC6B4D304B494CBA6 /* ErrorViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorViewControllerTest.swift; sourceTree = ""; }; + 20D40A569C2BB62F86D57C01 /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; + 22A64D0C0989BD43624BB506 /* VerificationFlowWebViewSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebViewSnapshotTests.swift; sourceTree = ""; }; + 22B3E26EBB8F43F7559C635B /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + 2344DA31ADA3573F9C2EE7A0 /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + 280A8D95B0045A940A917B1A /* front_drivers_license.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = front_drivers_license.jpg; sourceTree = ""; }; + 29E0AD187733319776268351 /* FaceScannerConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceScannerConfiguration.swift; sourceTree = ""; }; + 2AB451EC826E856E6BCB7070 /* ShadowConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShadowConfiguration.swift; sourceTree = ""; }; + 2B35B47EE955CE3D6A670CA0 /* VerificationPageStaticContentSelfieModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentSelfieModels.swift; sourceTree = ""; }; + 2CDF024DA4F519CB21A717AA /* IDDetectorOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IDDetectorOutput.swift; sourceTree = ""; }; + 2E5237659945E4A05ADE6DB0 /* TimeInterval+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TimeInterval+StripeIdentity.swift"; sourceTree = ""; }; + 2FAE3BFE9870AF3F0553AB9C /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 2FC476BFBFA09FDC174857A6 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + 2FD2C7D94586AB8984DB7389 /* MLModelUnexpectedOutputError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLModelUnexpectedOutputError.swift; sourceTree = ""; }; + 2FEB1C2A314572B0234005A7 /* SelfieCaptureView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfieCaptureView.swift; sourceTree = ""; }; + 3118D24F94912E8A9BB86BFE /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + 31CC3450DDBE415B82707F4B /* IdentityElementsFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityElementsFactory.swift; sourceTree = ""; }; + 3218882B7E1610E17BDB4522 /* VerificationPage_200.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPage_200.json; sourceTree = ""; }; + 328DF3C5E53973F6943FC4BD /* SelfieCaptureViewController+Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SelfieCaptureViewController+Strings.swift"; sourceTree = ""; }; + 36ED32D7EE8F52D6FC7D8826 /* HTMLViewWithIconLabels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTMLViewWithIconLabels.swift; sourceTree = ""; }; + 3954F595B70115874BD88CCC /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 3AA3F3B346FFC8E58BF8739A /* VerificationPageData_no_errors.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPageData_no_errors.json; sourceTree = ""; }; + 3AFAC1FACF9A36AAFC19BF2F /* DocumentType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentType.swift; sourceTree = ""; }; + 3B48A1FCF125B2844F8CAD43 /* LoadingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingViewController.swift; sourceTree = ""; }; + 3DD5FEA0E4E7EF1A4BA9646B /* IdentityVerificationSheetError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityVerificationSheetError.swift; sourceTree = ""; }; + 40DAFA9171B6D631DE9B6830 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 423EA472FB8902C1ED6EBA60 /* InstructionListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionListView.swift; sourceTree = ""; }; + 42768A09155B5439E724B360 /* NSAttributedString+HTML.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+HTML.swift"; sourceTree = ""; }; + 434BC5FFBC1163872413A40A /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + 4546F9D432ACFF45E9CE1368 /* IdentityMLModelLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityMLModelLoader.swift; sourceTree = ""; }; + 45CA21A528C7D39BAA2F2B51 /* StripeCore+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; + 48A449D0BE66D0A555183AF4 /* VerificationFlowWebViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebViewController.swift; sourceTree = ""; }; + 48E1204F31DC9F8FEA0D312A /* DocumentScannerOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentScannerOutput.swift; sourceTree = ""; }; + 4A1FCF877D109689CA724EB4 /* ErrorViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorViewSnapshotTest.swift; sourceTree = ""; }; + 4A59C0CC87CDB7AABFE96686 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + 4C0B804DA867C37809656BB3 /* ImageScannerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScannerMock.swift; sourceTree = ""; }; + 4D0F4646D7565055396DD8F5 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4D2F49DD0BAC5FEF308BA165 /* FaceScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceScanner.swift; sourceTree = ""; }; + 4D4C3F2BAFB6BEFFFC1B566F /* IdentityImageUploader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityImageUploader.swift; sourceTree = ""; }; + 4D5C67D8BB38BC3EA6282FF2 /* IdentityVerificationSheetTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityVerificationSheetTest.swift; sourceTree = ""; }; + 4DEBC1A25D2C446219E7E733 /* CGImage+StripeIdentityUnitTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGImage+StripeIdentityUnitTest.swift"; sourceTree = ""; }; + 4F6B26A21285054BEE9CA244 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 520D8A1D20ACE21966E806D9 /* HTMLTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTMLTextView.swift; sourceTree = ""; }; + 52DD224D2BE08E0553EF8AA6 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + 52FB883B057ED79F2C58BC58 /* VerificationFlowResult+Equatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VerificationFlowResult+Equatable.swift"; sourceTree = ""; }; + 53F1B93DB4F1708B41125301 /* IdentityVerificationSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityVerificationSheet.swift; sourceTree = ""; }; + 5726517468179B69D50692C0 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 57F22CC7DFA4B98A1A533CE0 /* MotionBlurDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MotionBlurDetector.swift; sourceTree = ""; }; + 598A711C4A2B8988EFBEEF77 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 5A9F73BBC3ECDBAE226012A5 /* ErrorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorViewController.swift; sourceTree = ""; }; + 5B975279521B43A8F82EBAB3 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + 5D4A09C8B4EBF06D00B80994 /* ListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListView.swift; sourceTree = ""; }; + 5F0B317274417308FBA55E55 /* DocumentFileUploadViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentFileUploadViewControllerTest.swift; sourceTree = ""; }; + 6182719E4413B5136BB763D1 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 63826305A96644687BF980CC /* BarcodeDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BarcodeDetector.swift; sourceTree = ""; }; + 643CB84029E6A12167838C3A /* DocumentUploader+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentUploader+API.swift"; sourceTree = ""; }; + 658F7A165D731F5046ACDF29 /* VerificationFlowWebView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebView.swift; sourceTree = ""; }; + 6702A1AB7FBCD89A356A86FE /* VerificationPageStaticContentDocumentCapturePage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentDocumentCapturePage.swift; sourceTree = ""; }; + 67BFE71088C74C03B05CBCD2 /* SelfieCaptureViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfieCaptureViewController.swift; sourceTree = ""; }; + 68FE94303A1D22C03D3157CE /* DocumentCaptureViewController+Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentCaptureViewController+Strings.swift"; sourceTree = ""; }; + 69753FF8ED7304500D4EFFB9 /* VerificationPage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPage.swift; sourceTree = ""; }; + 6BC7102DF0964D1204E2BFEB /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + 6EB06216204F856766C67E18 /* VerificationPageStaticContentTextPage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentTextPage.swift; sourceTree = ""; }; + 6F772F905FB81552FA1728B2 /* cgimage_stripeidentity_test.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cgimage_stripeidentity_test.png; sourceTree = ""; }; + 6FF56E95E47DA51C3517E1EC /* IdentityElementsFactoryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityElementsFactoryTest.swift; sourceTree = ""; }; + 704D26339D2158FD8FADE1C2 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + 725E481300FDDDD41EBAA835 /* FaceScanner+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FaceScanner+API.swift"; sourceTree = ""; }; + 738A5EB6B7F1C5621F190A72 /* IdentityMockData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityMockData.swift; sourceTree = ""; }; + 744CE13E8488F0E4AC951D6C /* CGImage+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGImage+StripeIdentity.swift"; sourceTree = ""; }; + 748D38C4370E78DBC9E20E95 /* MLModelLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLModelLoader.swift; sourceTree = ""; }; + 74D9040BDF0DBA526C156C3D /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + 786574907AC9065E6E658D9C /* MLDetectorMetricsTrackerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MLDetectorMetricsTrackerMock.swift; sourceTree = ""; }; + 7B095FAF27C9C47DD4EDF5E4 /* VerificationPageStaticContentDocumentCaptureModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentDocumentCaptureModels.swift; sourceTree = ""; }; + 7CD11009097B994FEFF5393E /* header_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = header_icon.png; sourceTree = ""; }; + 7CDAA5C16C934746013C6CE6 /* VerificationSheetFlowControllerError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetFlowControllerError.swift; sourceTree = ""; }; + 7E204A65850D7EC60AB779B5 /* CameraPreviewContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraPreviewContainerView.swift; sourceTree = ""; }; + 7EAFBBEEA27B11E702B78497 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + 7F9DA29DC85773AC710A5201 /* TruncatedDecimal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TruncatedDecimal.swift; sourceTree = ""; }; + 7FB8B409BCEBD89987293A94 /* VerificationSheetControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetControllerTest.swift; sourceTree = ""; }; + 7FD2B7B0EDA3144115F080BC /* VerificationPage_require_live_capture.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPage_require_live_capture.json; sourceTree = ""; }; + 80C34F71161E8793947E18E7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 80F9C4B0CFCD5FF45D203B62 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + 82D731669A9237F0B147B366 /* MLMultiArray+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MLMultiArray+StripeIdentity.swift"; sourceTree = ""; }; + 8389CF3DBB12A384BCF0959F /* InstructionListViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstructionListViewSnapshotTest.swift; sourceTree = ""; }; + 8605B809AD7EBA140CC9DBE9 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + 8AB1A0B05C00E547ED1A0D09 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 8AF040F11A7D0693A7783654 /* DocumentCaptureView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentCaptureView.swift; sourceTree = ""; }; + 8BBFB1E6CDEA9002DB6353E7 /* IdentityFlowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityFlowView.swift; sourceTree = ""; }; + 8EFF781FE9ED055F99F767D3 /* SelfieUploader+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SelfieUploader+API.swift"; sourceTree = ""; }; + 8FE476C4E5F3E281B7E6E136 /* DocumentUploaderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentUploaderTest.swift; sourceTree = ""; }; + 8FF19274A29802CDB696D1DF /* SuccessViewControllerSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessViewControllerSnapshotTest.swift; sourceTree = ""; }; + 9048C4B9F47CE82127D6C1B3 /* back_drivers_license.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = back_drivers_license.jpg; sourceTree = ""; }; + 93A9C204870754D960586E10 /* IconLabelHTMLView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconLabelHTMLView.swift; sourceTree = ""; }; + 93F2EE0B99059C7BFB72AFAF /* NonMaxSuppression.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NonMaxSuppression.swift; sourceTree = ""; }; + 9431C816BF67F677B9447746 /* icon_add@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_add@3x.png"; sourceTree = ""; }; + 94838BCA1111F735A8FBC072 /* HeaderViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderViewSnapshotTest.swift; sourceTree = ""; }; + 957545FFD547CDA1CFB719E6 /* BiometricConsentViewControllerSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BiometricConsentViewControllerSnapshotTest.swift; sourceTree = ""; }; + 98AF8558B79CD52154D6EF3B /* VerificationSheetFlowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetFlowController.swift; sourceTree = ""; }; + 9910B88643D95B2F9329E4A2 /* DocumentTypeSelectViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentTypeSelectViewController.swift; sourceTree = ""; }; + 99607F36AF24C978953964E9 /* VerificationPageData_submitted.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPageData_submitted.json; sourceTree = ""; }; + 99D92831ABFEBB1027419225 /* DocumentCaptureViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentCaptureViewController.swift; sourceTree = ""; }; + 9A5A1304CA30DC06B715BD92 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; + 9BB8E3DF263505065E8545AB /* SelfieUploader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfieUploader.swift; sourceTree = ""; }; + 9C69B4A6F36A8BD814CB05D9 /* StripeIdentity.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeIdentity.h; sourceTree = ""; }; + 9D112C14362D55A94E9B9E6E /* VerificationPageData_no_errors_needback.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPageData_no_errors_needback.json; sourceTree = ""; }; + 9DBB998F589E062218E0BD90 /* icon_warning_92@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_warning_92@3x.png"; sourceTree = ""; }; + 9E170B07B4958901EE3864A4 /* VisionBasedDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisionBasedDetector.swift; sourceTree = ""; }; + A163E1EC771058E5DF5FFE66 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + A20A2B98A36D6A860B39E615 /* BiometricConsentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BiometricConsentViewController.swift; sourceTree = ""; }; + A2AF434F2405C5F38F259112 /* IdentityHTMLViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityHTMLViewSnapshotTest.swift; sourceTree = ""; }; + A2C25D8AD61094AB6530BCA4 /* VerificationPageFieldType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageFieldType.swift; sourceTree = ""; }; + A31C88110FBCDDA9FB912491 /* AnimatedBorderViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimatedBorderViewSnapshotTest.swift; sourceTree = ""; }; + A5082A4100CEE0C8378AD185 /* VerificationSheetController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetController.swift; sourceTree = ""; }; + A59680E002FC6E7BC9906BD2 /* IdentityAPIClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAPIClientTest.swift; sourceTree = ""; }; + A5D517A4C8669379A029BBAD /* StripeIdentityTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeIdentityTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + A5DE93D9C60DFB779F71D5DC /* DocumentScannerConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentScannerConfiguration.swift; sourceTree = ""; }; + A676387474C2E5684F1A654D /* VerificationPageRequirements.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageRequirements.swift; sourceTree = ""; }; + A69C1BC7C63512FE24B32433 /* VerificationSheetFlowControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetFlowControllerTest.swift; sourceTree = ""; }; + AAB01766577CAB2CF0C2CFFB /* VerificationPageStaticContentSelfiePage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentSelfiePage.swift; sourceTree = ""; }; + AD7373453206D23A9ABF5E17 /* SelfieScanningViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfieScanningViewSnapshotTest.swift; sourceTree = ""; }; + AD8443DFD20A6F7E547E4DAE /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + ADA1D4AB1AE9B0E45C68FFD2 /* mock.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = mock.html; sourceTree = ""; }; + AE92BAAC65F86A87F25B9C08 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + B17C20418C972E7B06B84370 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; + B2E15397783A643B74921A00 /* VerificationPageDataRequirementError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageDataRequirementError.swift; sourceTree = ""; }; + B2EB7348CE21DB1A86706532 /* VerificationFlowWebViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebViewControllerTest.swift; sourceTree = ""; }; + B3B539D323CF2AACB580596B /* VerificationPageData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageData.swift; sourceTree = ""; }; + B3BED2C3A9B548341D73D3CC /* ListItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListItemView.swift; sourceTree = ""; }; + B5EE118A0368B2BBC342F162 /* BottomAlignedLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomAlignedLabel.swift; sourceTree = ""; }; + B634C1568CBC56B3E33CE3E2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + B65B0A0F124B3E0C5490D2B6 /* ListItemViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListItemViewSnapshotTest.swift; sourceTree = ""; }; + B67F4A7C86FF6784C6844649 /* DocumentScanningViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentScanningViewSnapshotTest.swift; sourceTree = ""; }; + B71F1C5085AD91100943CFCA /* IndividualViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndividualViewController.swift; sourceTree = ""; }; + B75F0E4F340355B8661085F7 /* VerificationPageData_200.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPageData_200.json; sourceTree = ""; }; + B9BD50679E8B87237BF3955E /* FaceDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceDetector.swift; sourceTree = ""; }; + B9CB453179082B1AE6B242FD /* IdentityDataCollecting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityDataCollecting.swift; sourceTree = ""; }; + BB10B7416AB6D7F94A57A8E3 /* ContentCenteringScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentCenteringScrollView.swift; sourceTree = ""; }; + BCA7F9B0204BF18C483A474A /* DocumentCaptureViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentCaptureViewControllerTest.swift; sourceTree = ""; }; + BCB41D1D6B1D35C92EA6F2B7 /* IDDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IDDetector.swift; sourceTree = ""; }; + BCC019FA1D6D8AEB598D9EC5 /* IdentityAnalyticsClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAnalyticsClient.swift; sourceTree = ""; }; + BD9BA1457F98160EBCBEE670 /* FaceDetectorOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceDetectorOutput.swift; sourceTree = ""; }; + C3288667B33AACBC2380CD9D /* icon_clock@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_clock@3x.png"; sourceTree = ""; }; + C334F59C93D3D11534FACBBA /* DocumentUploader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentUploader.swift; sourceTree = ""; }; + C3C78174C0059A8957832825 /* VNBarcodeSymbology+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VNBarcodeSymbology+StripeIdentity.swift"; sourceTree = ""; }; + C43D3DC62FE3C5CC9FD22A50 /* IdentityAnalyticsClientTestHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAnalyticsClientTestHelpers.swift; sourceTree = ""; }; + C4891127AAACF7829BEE80E2 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + C48F9BFEB0E03E881C2D6017 /* HeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderView.swift; sourceTree = ""; }; + C4943A54EF548F28DB66DD1F /* FaceCaptureData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceCaptureData.swift; sourceTree = ""; }; + C74D7B9CB1FF34AE667C65B3 /* DocumentScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentScanner.swift; sourceTree = ""; }; + C84088B48BC2EA950AA25D2F /* VerificationPageStaticContentConsentPage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentConsentPage.swift; sourceTree = ""; }; + C8D0D5F9E17825856B55E4D1 /* IdentityAPIClientTestMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAPIClientTestMock.swift; sourceTree = ""; }; + C8D82EAF85863CAAA250E393 /* ListViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListViewSnapshotTest.swift; sourceTree = ""; }; + CB639F497EF62CAE81822820 /* StripeCameraCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCameraCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CBC057ECE030E8374AD9CF61 /* Array+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+StripeIdentity.swift"; sourceTree = ""; }; + CC4AE39C12E613AFB80FF4E8 /* DocumentScanner+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentScanner+API.swift"; sourceTree = ""; }; + CE691D40B29AB0F31443479A /* DocumentUploaderMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentUploaderMock.swift; sourceTree = ""; }; + CEE8340912F2A489BB80D39B /* StripeIdentityBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeIdentityBundleLocator.swift; sourceTree = ""; }; + CF2EEA927FA9ACE159A67063 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + D105F7A265B60FE9AD82B0DF /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + D28361A39FEF902EF979BEEE /* DocumentTypeSelectViewControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentTypeSelectViewControllerTest.swift; sourceTree = ""; }; + D5C7698331B899B80AF4F730 /* VerificationPage_no_selfie.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = VerificationPage_no_selfie.json; sourceTree = ""; }; + D604F6AABE4D6D5CCF802685 /* StripeIdentity.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeIdentity.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D6918DC6A9681E769D44BC78 /* TruncatedDecimalTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TruncatedDecimalTest.swift; sourceTree = ""; }; + D6A26F37BDBB5330AE87E7CB /* DocumentScanningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentScanningView.swift; sourceTree = ""; }; + D75A138199A6CC2DB31DD2D5 /* VerifyWebURLHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifyWebURLHelper.swift; sourceTree = ""; }; + D7A58D5CA5EA7922E280F7CC /* IdentityFlowNavigationControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityFlowNavigationControllerTest.swift; sourceTree = ""; }; + D95CE7A231D14C9FD32A7848 /* NSAttributedString_HTMLSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSAttributedString_HTMLSnapshotTest.swift; sourceTree = ""; }; + DC12E83001A164E12705498A /* SuccessViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessViewController.swift; sourceTree = ""; }; + DC8F619B76D191FF2DEC8660 /* ImageScanningConcurrencyManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScanningConcurrencyManager.swift; sourceTree = ""; }; + E1FC19E901C6E57D948833FD /* VerificationPageClearData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageClearData.swift; sourceTree = ""; }; + E26F8082A859AC1F5C5A3D13 /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; + E310DFA6CAC355B848E82998 /* DocumentSide.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentSide.swift; sourceTree = ""; }; + E3A5A9765EF649A580A0519F /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + E3E90C7076A10469E4893B73 /* FaceScannerOutput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceScannerOutput.swift; sourceTree = ""; }; + E6C2F1CDF5594786FB4BAA49 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + E70585F354B2B8B1420311CB /* VerificationSheetAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetAnalytics.swift; sourceTree = ""; }; + E850C3F1FEA42490F1B3761E /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; + E91362066B0F066C00CB45F2 /* VerificationFlowWebViewTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationFlowWebViewTest.swift; sourceTree = ""; }; + E94605BCADE912561ED6F710 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; + EB927B052ADBE97524CC0F43 /* DocumentFileUploadViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocumentFileUploadViewController.swift; sourceTree = ""; }; + EB9B2148051885B8591A13DE /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + EBE61B9C03DCE61E57CEC3F4 /* IdentityFlowViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityFlowViewController.swift; sourceTree = ""; }; + EE1984CE45A111B5694A3F49 /* DocumentType+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DocumentType+StripeIdentity.swift"; sourceTree = ""; }; + EE238D8B6DAA92980E1F813A /* ShadowedCorneredImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShadowedCorneredImageView.swift; sourceTree = ""; }; + EEF2BB05DF09AABFEEC1C66D /* IdentityAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityAPIClient.swift; sourceTree = ""; }; + F08E49ED4B7010002D5FC734 /* IdentityImageUploaderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityImageUploaderTest.swift; sourceTree = ""; }; + F0CB25FB0857C39B915505DF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + F1559E966A487EE3867DD7B8 /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; + F43124EF97ADAB2BD1B7DEE2 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + F44D3A78A44A0EB11BA51E5F /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + F459D2DF594C15C03585F3AF /* VerificationSheetControllerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSheetControllerMock.swift; sourceTree = ""; }; + F46E474400B21A35FA6066F8 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + F48A3390B6B74481B1F64EC6 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + F524F862B05C4744F3A5FCD4 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + F696493D59EE069EB76B0CB4 /* icon_checkmark_92@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_checkmark_92@3x.png"; sourceTree = ""; }; + F8103B1FD36D79D22EACF7EE /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + F8521F2AA5740FAB9952B58E /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + F95321B67AA78B88A32E37BE /* SelfieCaptureViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfieCaptureViewSnapshotTest.swift; sourceTree = ""; }; + F9D552632FFF310FC6A4DB26 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + FB119F30000F66B9660A44E8 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + FB9BD2014C4A16821A2B8DC1 /* VerificationPageStaticContentDocumentSelectPage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationPageStaticContentDocumentSelectPage.swift; sourceTree = ""; }; + FD376CBC869531C40036081B /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FEB6AB9A9BAF6E50B962C339 /* IdentityUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdentityUI.swift; sourceTree = ""; }; + FF0871DEB2B2BA56EFADEEA6 /* UINavigationController+StripeIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController+StripeIdentity.swift"; sourceTree = ""; }; + FFD771C14C0711019D8AC9C2 /* VerificationClientSecretTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationClientSecretTest.swift; sourceTree = ""; }; + FFE163E90F54FE4A075C7B74 /* ImageScanningSessionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageScanningSessionDelegate.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - E6E146A426950E1E007BDCD8 /* Frameworks */ = { + 65EE834154FF7B955E7239D7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E63B673E2743415300CFEDBA /* StripeCameraCore.framework in Frameworks */, - E6B3F63526FBFEA800963EAB /* StripeUICore.framework in Frameworks */, - E6CC14B8269E22060078837F /* StripeCore.framework in Frameworks */, + 695E12945F47ED3060B8AE19 /* StripeCameraCore.framework in Frameworks */, + 10B606812179D64E67BFFFCF /* StripeCore.framework in Frameworks */, + A7AC2D0D9FDCF8AC5298708D /* StripeUICore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6E146AD26950E1E007BDCD8 /* Frameworks */ = { + 942AEFA5BCC5A034EF066C3E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E63B674A2743487E00CFEDBA /* StripeCameraCoreTestUtils.framework in Frameworks */, - E61EA92C26A0D8AE00CAEE52 /* StripeCoreTestUtils.framework in Frameworks */, - E6E146B126950E1E007BDCD8 /* StripeIdentity.framework in Frameworks */, - E254413E28FDEF0500C6F5D3 /* iOSSnapshotTestCase in Frameworks */, + E646201B58937F04897840EB /* XCTest.framework in Frameworks */, + 4A5FEB151B079C41FD40FED5 /* StripeCameraCoreTestUtils.framework in Frameworks */, + B6E0CD4C1CDE03985005F08D /* StripeCoreTestUtils.framework in Frameworks */, + B5B5C232C6541F15AEF3C4BC /* StripeIdentity.framework in Frameworks */, + 45B515AC217F10059EE155E2 /* iOSSnapshotTestCase in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - E6069378270435C700742859 /* Elements */ = { + 00D6B9FD0E5C501B4BF57EF9 /* StripeIdentityTests */ = { isa = PBXGroup; children = ( - E6069379270435FF00742859 /* IdentityElementsFactoryTest.swift */, + F70954CA70A6D39896F5E2B5 /* Helpers */, + 21094F500C248952675A92E7 /* Mock Files */, + 6C8A36498C59C6AA87239ADC /* Snapshot */, + C240F6CABCF2EAA5A9F29733 /* Unit */, + F0CB25FB0857C39B915505DF /* Info.plist */, ); - path = Elements; + path = StripeIdentityTests; sourceTree = ""; }; - E616770028500F1300C9E44A /* Analytics */ = { + 0DB7E4B2463D591EEF46036C /* DocumentScanner */ = { isa = PBXGroup; children = ( - E616770128500F3400C9E44A /* IdentityAnalyticsClient.swift */, + C74D7B9CB1FF34AE667C65B3 /* DocumentScanner.swift */, + A5DE93D9C60DFB779F71D5DC /* DocumentScannerConfiguration.swift */, + 48E1204F31DC9F8FEA0D312A /* DocumentScannerOutput.swift */, ); - path = Analytics; + path = DocumentScanner; sourceTree = ""; }; - E61EA92D26A0DFFA00CAEE52 /* Mock Files */ = { + 1839EB588B1D039EC1FC1671 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - E666DF15273B3BA700638B60 /* Mock Photos */, - E61EA92E26A0E00900CAEE52 /* mock.html */, - E6548EEB2729BB1300F399B2 /* VerificationPage */, - E6548F592731DE5800F399B2 /* VerificationPageData */, + 4F6B26A21285054BEE9CA244 /* Project-Debug.xcconfig */, + A163E1EC771058E5DF5FFE66 /* Project-Release.xcconfig */, + 8605B809AD7EBA140CC9DBE9 /* StripeiOS Tests-Debug.xcconfig */, + 434BC5FFBC1163872413A40A /* StripeiOS Tests-Release.xcconfig */, + B17C20418C972E7B06B84370 /* StripeiOS-Debug.xcconfig */, + E850C3F1FEA42490F1B3761E /* StripeiOS-Release.xcconfig */, ); - path = "Mock Files"; + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; - E63B26CE27AB27FD00728F94 /* Helpers */ = { + 1F0F886BEAFD97F97250E0A6 /* API Bindings */ = { isa = PBXGroup; children = ( - E651289527A9BD5D00586A1F /* MLModelLoader.swift */, - E6C7BB2127A8BE2E000807A6 /* MLModelUnexpectedOutputError.swift */, - E6C7BB1C27A8B700000807A6 /* NonMaxSuppression.swift */, + C79CD3902BA22B78A8E4A03E /* Models */, + CC4AE39C12E613AFB80FF4E8 /* DocumentScanner+API.swift */, + EE1984CE45A111B5694A3F49 /* DocumentType+StripeIdentity.swift */, + 643CB84029E6A12167838C3A /* DocumentUploader+API.swift */, + 725E481300FDDDD41EBAA835 /* FaceScanner+API.swift */, + EEF2BB05DF09AABFEEC1C66D /* IdentityAPIClient.swift */, + 8EFF781FE9ED055F99F767D3 /* SelfieUploader+API.swift */, ); - path = Helpers; + path = "API Bindings"; sourceTree = ""; }; - E6465101269E1E0B002EC424 /* Resources */ = { + 21094F500C248952675A92E7 /* Mock Files */ = { isa = PBXGroup; children = ( - E666A5262739F7CA001DE130 /* Images */, - E6465102269E1E0B002EC424 /* Localizations */, + 4A0742257602474CE098C00E /* Mock Photos */, + 281E4F7E9C4222212FE549EA /* VerificationPage */, + 7072DCFE3A5741D38837C873 /* VerificationPageData */, + ADA1D4AB1AE9B0E45C68FFD2 /* mock.html */, ); - path = Resources; + path = "Mock Files"; sourceTree = ""; }; - E6465102269E1E0B002EC424 /* Localizations */ = { + 281E4F7E9C4222212FE549EA /* VerificationPage */ = { isa = PBXGroup; children = ( - E6465103269E1E0B002EC424 /* Localizable.strings */, + 3218882B7E1610E17BDB4522 /* VerificationPage_200.json */, + D5C7698331B899B80AF4F730 /* VerificationPage_no_selfie.json */, + 7FD2B7B0EDA3144115F080BC /* VerificationPage_require_live_capture.json */, ); - path = Localizations; + path = VerificationPage; sourceTree = ""; }; - E646511E269E1F7C002EC424 /* Helpers */ = { + 2EBA502F418D648EEF72EDB9 /* Detectors */ = { isa = PBXGroup; children = ( - E666A529273A0951001DE130 /* Image.swift */, - E6465121269E202A002EC424 /* STPLocalizedString.swift */, - E606936E2702A2C100742859 /* String+Localized.swift */, - E646511F269E1F8F002EC424 /* StripeIdentityBundleLocator.swift */, + 71CAD90E0B821CC823D976E9 /* FaceDetector */, + E32A0AA1EF4E64B83646D59C /* IDDetector */, + 63826305A96644687BF980CC /* BarcodeDetector.swift */, + 18593C820FE0E35DDEE36956 /* MLDetectorConfiguration.swift */, + 0989CE5CF80CF69BD28675DE /* MLDetectorMetricsTracker.swift */, + 57F22CC7DFA4B98A1A533CE0 /* MotionBlurDetector.swift */, + 9E170B07B4958901EE3864A4 /* VisionBasedDetector.swift */, ); - path = Helpers; + path = Detectors; sourceTree = ""; }; - E64FDFE42829E0D400801782 /* ImageScanningSession */ = { + 33C89482CBE5232226CC592E /* ListView */ = { isa = PBXGroup; children = ( - E66DA0F5282339080099213C /* ImageScanningSession.swift */, - E66DA0FE2829C4D00099213C /* ImageScanningSessionDelegate.swift */, + B3BED2C3A9B548341D73D3CC /* ListItemView.swift */, + 5D4A09C8B4EBF06D00B80994 /* ListView.swift */, ); - path = ImageScanningSession; + path = ListView; sourceTree = ""; }; - E651289427A9BD4800586A1F /* ML */ = { + 33CCD5EF14F04A59D399E045 /* Coordinators */ = { isa = PBXGroup; children = ( - E63B26CE27AB27FD00728F94 /* Helpers */, - E651289927A9E69800586A1F /* IdentityMLModelLoader.swift */, + 8FE476C4E5F3E281B7E6E136 /* DocumentUploaderTest.swift */, + F08E49ED4B7010002D5FC734 /* IdentityImageUploaderTest.swift */, + 4D5C67D8BB38BC3EA6282FF2 /* IdentityVerificationSheetTest.swift */, + 7FB8B409BCEBD89987293A94 /* VerificationSheetControllerTest.swift */, + A69C1BC7C63512FE24B32433 /* VerificationSheetFlowControllerTest.swift */, ); - path = ML; + path = Coordinators; sourceTree = ""; }; - E6548DCC27276E2300F399B2 /* API Bindings */ = { + 377C902DA22E0F9853BF81F4 /* FaceScanner */ = { isa = PBXGroup; children = ( - E67377462808F6F900DF966B /* DocumentScanner+API.swift */, - E662FC91278E48DB005B0DAD /* DocumentType+StripeIdentity.swift */, - E651A4C62787D7FE0009506E /* DocumentUploader+API.swift */, - E61676EA2849A29500C9E44A /* FaceScanner+API.swift */, - E6548E6827288C0D00F399B2 /* IdentityAPIClient.swift */, - E6548DCD27276E2900F399B2 /* Models */, - E61676E828499B9000C9E44A /* SelfieUploader+API.swift */, + C4943A54EF548F28DB66DD1F /* FaceCaptureData.swift */, + 4D2F49DD0BAC5FEF308BA165 /* FaceScanner.swift */, + 29E0AD187733319776268351 /* FaceScannerConfiguration.swift */, + E3E90C7076A10469E4893B73 /* FaceScannerOutput.swift */, ); - path = "API Bindings"; + path = FaceScanner; sourceTree = ""; }; - E6548DCD27276E2900F399B2 /* Models */ = { + 3B9E0DCE151FFC05A3D3E05B /* VerificationPage */ = { isa = PBXGroup; children = ( - E6B906DE27C7658600D0A703 /* DocumentType.swift */, - E6A50DB127B466BC00D7BDED /* TruncatedDecimal.swift */, - E6548E1027278EDF00F399B2 /* VerificationPage */, - E6548F502731D9A200F399B2 /* VerificationPageData */, - E6548F5D2731E4D500F399B2 /* VerificationPageDataUpdate */, + 69753FF8ED7304500D4EFFB9 /* VerificationPage.swift */, + A2C25D8AD61094AB6530BCA4 /* VerificationPageFieldType.swift */, + A676387474C2E5684F1A654D /* VerificationPageRequirements.swift */, + C84088B48BC2EA950AA25D2F /* VerificationPageStaticContentConsentPage.swift */, + 7B095FAF27C9C47DD4EDF5E4 /* VerificationPageStaticContentDocumentCaptureModels.swift */, + 6702A1AB7FBCD89A356A86FE /* VerificationPageStaticContentDocumentCapturePage.swift */, + FB9BD2014C4A16821A2B8DC1 /* VerificationPageStaticContentDocumentSelectPage.swift */, + 2B35B47EE955CE3D6A670CA0 /* VerificationPageStaticContentSelfieModels.swift */, + AAB01766577CAB2CF0C2CFFB /* VerificationPageStaticContentSelfiePage.swift */, + 6EB06216204F856766C67E18 /* VerificationPageStaticContentTextPage.swift */, ); - path = Models; + path = VerificationPage; sourceTree = ""; }; - E6548E1027278EDF00F399B2 /* VerificationPage */ = { + 4A0742257602474CE098C00E /* Mock Photos */ = { isa = PBXGroup; children = ( - E6548E4F27279DFD00F399B2 /* VerificationPage.swift */, - E6B906F127CAC5C000D0A703 /* VerificationPageFieldType.swift */, - E6548E5527279DFF00F399B2 /* VerificationPageRequirements.swift */, - E6548E5227279DFE00F399B2 /* VerificationPageStaticContentConsentPage.swift */, - E6548E5627279DFF00F399B2 /* VerificationPageStaticContentDocumentCaptureModels.swift */, - E6548E5027279DFD00F399B2 /* VerificationPageStaticContentDocumentCapturePage.swift */, - E6548E5427279DFE00F399B2 /* VerificationPageStaticContentDocumentSelectPage.swift */, - E61676E42849894600C9E44A /* VerificationPageStaticContentSelfieModels.swift */, - E61676E52849894600C9E44A /* VerificationPageStaticContentSelfiePage.swift */, - E6548E5327279DFE00F399B2 /* VerificationPageStaticContentTextPage.swift */, + 9048C4B9F47CE82127D6C1B3 /* back_drivers_license.jpg */, + 6F772F905FB81552FA1728B2 /* cgimage_stripeidentity_test.png */, + 280A8D95B0045A940A917B1A /* front_drivers_license.jpg */, + 7CD11009097B994FEFF5393E /* header_icon.png */, ); - path = VerificationPage; + path = "Mock Photos"; sourceTree = ""; }; - E6548EEB2729BB1300F399B2 /* VerificationPage */ = { + 4A93B9E4F9CD7EF6BC8D8202 /* Selfie */ = { isa = PBXGroup; children = ( - E6548EEC2729BB2100F399B2 /* VerificationPage_200.json */, - E6AADF35286AAFA600C46665 /* VerificationPage_no_selfie.json */, - E66B82B227F7CE1600C6A662 /* VerificationPage_require_live_capture.json */, + 2FEB1C2A314572B0234005A7 /* SelfieCaptureView.swift */, + 18BE1F9B0EB046BF0E1C2D8B /* SelfieScanningView.swift */, ); - path = VerificationPage; + path = Selfie; sourceTree = ""; }; - E6548EF32729BE2300F399B2 /* Helpers */ = { + 4CC5469F73EDF726A534C43A /* Source */ = { isa = PBXGroup; children = ( - E6ABED6C276C1BF8007F6D89 /* DocumentUploaderMock.swift */, - E663658A28581F71006A4679 /* IdentityAnalyticsClientTestHelpers.swift */, - E6548F892734AEBA00F399B2 /* IdentityAPIClientTestMock.swift */, - E65129EC27AA922500586A1F /* IdentityMLModelLoaderMock.swift */, - E6548EF42729BE6B00F399B2 /* IdentityMockData.swift */, - E67A1E52273DF31100977F63 /* ImageScannerMock.swift */, - E659A0A9282C8E3D00DF8C0C /* ImageScanningConcurrencyManagerMock.swift */, - E6395965285D691E00DA947D /* MLDetectorMetricsTrackerMock.swift */, - F311D59D27A279B700AD8123 /* SnapshotTestMockData.swift */, - E612B1192746046000A258C1 /* VerificationFlowResult+Equatable.swift */, - E666A51B27362946001DE130 /* VerificationSheetControllerMock.swift */, - E666A5192736243D001DE130 /* VerificationSheetFlowControllerMock.swift */, + 6FF221966B2E1A26EB5771B8 /* Analytics */, + 1F0F886BEAFD97F97250E0A6 /* API Bindings */, + A15C667249E105B9A37EC6AA /* Categories */, + E4939A3B0BCBB7B44F717847 /* Elements */, + 882FA766B74C9E5C2E2F5382 /* Helpers */, + 921749968993B6299670C8F0 /* NativeComponents */, + 8B9E16932812CEDA69E79947 /* WebWrapper */, + E26F8082A859AC1F5C5A3D13 /* Enums+CustomStringConvertible.swift */, + 53F1B93DB4F1708B41125301 /* IdentityVerificationSheet.swift */, + 3DD5FEA0E4E7EF1A4BA9646B /* IdentityVerificationSheetError.swift */, + 45CA21A528C7D39BAA2F2B51 /* StripeCore+Import.swift */, + 1E01DDEABC6ABAB0F03B7CEC /* VerificationClientSecret.swift */, + E70585F354B2B8B1420311CB /* VerificationSheetAnalytics.swift */, ); - path = Helpers; + path = Source; sourceTree = ""; }; - E6548EFB272A073C00F399B2 /* API Bindings */ = { + 4F960B140ECD6032C9036EC6 /* VerificationPageData */ = { isa = PBXGroup; children = ( - E6548EFC272A074D00F399B2 /* IdentityAPIClientTest.swift */, - E6A50DB327B4858A00D7BDED /* TruncatedDecimalTest.swift */, + B3B539D323CF2AACB580596B /* VerificationPageData.swift */, + B2E15397783A643B74921A00 /* VerificationPageDataRequirementError.swift */, + 1A566C584F41FE23108295E3 /* VerificationPageDataRequirements.swift */, ); - path = "API Bindings"; + path = VerificationPageData; sourceTree = ""; }; - E6548F07272B0A1200F399B2 /* WebWrapper */ = { + 500DB8B56AFF3E5D762BA726 /* StripeIdentity */ = { isa = PBXGroup; children = ( - E6AF1ED3269FD7BB0091BE99 /* VerificationFlowWebView.swift */, - E6AF1ED1269FD7B30091BE99 /* VerificationFlowWebViewController.swift */, - E6548F3E272CABF700F399B2 /* VerifyWebURLHelper.swift */, + DD11F7A6C34DDED8661D6182 /* Resources */, + 4CC5469F73EDF726A534C43A /* Source */, + 80C34F71161E8793947E18E7 /* Info.plist */, + 9C69B4A6F36A8BD814CB05D9 /* StripeIdentity.h */, ); - path = WebWrapper; + path = StripeIdentity; sourceTree = ""; }; - E6548F08272B0A1B00F399B2 /* NativeComponents */ = { + 6C8A36498C59C6AA87239ADC /* Snapshot */ = { isa = PBXGroup; children = ( - E6548F4A2731D6B200F399B2 /* Coordinators */, - E6B906DB27C7650D00D0A703 /* Detectors */, - E6A50DA727B2220600D7BDED /* DocumentSide.swift */, - E6200DBF2745E8F400A06A8E /* IdentityFlowNavigationController.swift */, - F311D59727A275E800AD8123 /* IdentityUI.swift */, - E651289427A9BD4800586A1F /* ML */, - E6548F42272CAC0500F399B2 /* ViewControllers */, - E6548F40272CAC0500F399B2 /* Views */, - E6B906EF27CAC54300D0A703 /* IdentityDataCollecting.swift */, + A31C88110FBCDDA9FB912491 /* AnimatedBorderViewSnapshotTest.swift */, + 957545FFD547CDA1CFB719E6 /* BiometricConsentViewControllerSnapshotTest.swift */, + 1096AFFD3877D9A22703E6CA /* CGImage_StripeIdentitySnapshotTest.swift */, + B67F4A7C86FF6784C6844649 /* DocumentScanningViewSnapshotTest.swift */, + 4A1FCF877D109689CA724EB4 /* ErrorViewSnapshotTest.swift */, + 03C30DB2230DF9B47CD20AAF /* HeaderIconViewSnapshotTest.swift */, + 94838BCA1111F735A8FBC072 /* HeaderViewSnapshotTest.swift */, + 1E7C993DB897B55B2A172CD9 /* IdentityFlowViewSnapshotTest.swift */, + A2AF434F2405C5F38F259112 /* IdentityHTMLViewSnapshotTest.swift */, + 01C54327529E9A3BD81F37F4 /* InstructionalDocumentScanningViewSnapshotTest.swift */, + 8389CF3DBB12A384BCF0959F /* InstructionListViewSnapshotTest.swift */, + B65B0A0F124B3E0C5490D2B6 /* ListItemViewSnapshotTest.swift */, + C8D82EAF85863CAAA250E393 /* ListViewSnapshotTest.swift */, + D95CE7A231D14C9FD32A7848 /* NSAttributedString_HTMLSnapshotTest.swift */, + F95321B67AA78B88A32E37BE /* SelfieCaptureViewSnapshotTest.swift */, + AD7373453206D23A9ABF5E17 /* SelfieScanningViewSnapshotTest.swift */, + 8FF19274A29802CDB696D1DF /* SuccessViewControllerSnapshotTest.swift */, + 22A64D0C0989BD43624BB506 /* VerificationFlowWebViewSnapshotTests.swift */, ); - path = NativeComponents; + path = Snapshot; sourceTree = ""; }; - E6548F40272CAC0500F399B2 /* Views */ = { + 6FF221966B2E1A26EB5771B8 /* Analytics */ = { isa = PBXGroup; children = ( - E63E9372281874FE008F5FC0 /* BottomAlignedLabel.swift */, - E66DA0C128189DC40099213C /* CameraPreviewContainerView.swift */, - E66DA0BE281896660099213C /* DocumentCapture */, - F383FB4427B5D20E00E19E52 /* ErrorView.swift */, - F3680DF827A9B72B00A8796A /* HeaderIconView.swift */, - F3A3C7D327A0A195006BB89B /* HeaderView.swift */, - E6548F41272CAC0500F399B2 /* IdentityFlowView.swift */, - E6B906E627CA0FAE00D0A703 /* IdentityHTMLView */, - E60FD5D427AE17A100ED64A1 /* InstructionListView.swift */, - E662FC8C278E2ECC005B0DAD /* ListView */, - E66DA0C32818A8920099213C /* Selfie */, - E6A50DA927B30A4400D7BDED /* ShadowConfiguration.swift */, - F3680E0327AA501500A8796A /* ShadowedCorneredImageView.swift */, - E66DA0F3282314410099213C /* ContentCenteringScrollView.swift */, + BCC019FA1D6D8AEB598D9EC5 /* IdentityAnalyticsClient.swift */, ); - path = Views; + path = Analytics; sourceTree = ""; }; - E6548F42272CAC0500F399B2 /* ViewControllers */ = { + 7018612D148DB5EC9137EEDF /* WebWrapper */ = { isa = PBXGroup; children = ( - E6548F48272CC50900F399B2 /* BiometricConsentViewController.swift */, - E666A5242739EFEE001DE130 /* DocumentCaptureViewController.swift */, - E6A50DA527B21CF800D7BDED /* DocumentCaptureViewController+Strings.swift */, - E662FC8F278E4636005B0DAD /* DocumentFileUploadViewController.swift */, - E60FD5D227AE16F300ED64A1 /* DocumentFileUploadViewController+Strings.swift */, - E666A50A2735F7E6001DE130 /* DocumentTypeSelectViewController.swift */, - E6548F842734541F00F399B2 /* ErrorViewController.swift */, - E6548F2D272C89FE00F399B2 /* IdentityFlowViewController.swift */, - E6548F2F272C89FE00F399B2 /* IndividualViewController.swift */, - E6548F30272C89FE00F399B2 /* LoadingViewController.swift */, - E6AA24EF2744B2AB00FD205E /* SuccessViewController.swift */, - E66DA0DA281A29020099213C /* SelfieCaptureViewController.swift */, - E66DA0DC281A2B100099213C /* SelfieCaptureViewController+Strings.swift */, + B2EB7348CE21DB1A86706532 /* VerificationFlowWebViewControllerTest.swift */, + E91362066B0F066C00CB45F2 /* VerificationFlowWebViewTest.swift */, ); - path = ViewControllers; + path = WebWrapper; sourceTree = ""; }; - E6548F4A2731D6B200F399B2 /* Coordinators */ = { + 7072DCFE3A5741D38837C873 /* VerificationPageData */ = { isa = PBXGroup; children = ( - E66DA0F72823430A0099213C /* ImageScanner */, - E64FDFE42829E0D400801782 /* ImageScanningSession */, - E659A0B22846F09400DF8C0C /* ImageUploaders */, - E61ADAD2270F6293004ED998 /* VerificationSheetController.swift */, - E6548F3C272C92CE00F399B2 /* VerificationSheetFlowController.swift */, - E6AADF2F286A88DC00C46665 /* VerificationSheetFlowControllerError.swift */, + B75F0E4F340355B8661085F7 /* VerificationPageData_200.json */, + 9D112C14362D55A94E9B9E6E /* VerificationPageData_no_errors_needback.json */, + 3AA3F3B346FFC8E58BF8739A /* VerificationPageData_no_errors.json */, + 99607F36AF24C978953964E9 /* VerificationPageData_submitted.json */, ); - path = Coordinators; + path = VerificationPageData; sourceTree = ""; }; - E6548F502731D9A200F399B2 /* VerificationPageData */ = { + 71CAD90E0B821CC823D976E9 /* FaceDetector */ = { isa = PBXGroup; children = ( - E6548F552731DAFD00F399B2 /* VerificationPageData.swift */, - E6548F532731DA8F00F399B2 /* VerificationPageDataRequirementError.swift */, - E6548F512731D9B400F399B2 /* VerificationPageDataRequirements.swift */, + B9BD50679E8B87237BF3955E /* FaceDetector.swift */, + BD9BA1457F98160EBCBEE670 /* FaceDetectorOutput.swift */, ); - path = VerificationPageData; + path = FaceDetector; sourceTree = ""; }; - E6548F592731DE5800F399B2 /* VerificationPageData */ = { + 735252221308FED2A1BB2982 /* Project */ = { isa = PBXGroup; children = ( - E6548F5A2731DEAA00F399B2 /* VerificationPageData_200.json */, - E6B906F427CB122200D0A703 /* VerificationPageData_no_errors.json */, - E6B906F527CB128A00D0A703 /* VerificationPageData_submitted.json */, - D48DA57828CD15DF00050C06 /* VerificationPageData_no_errors_needback.json */, + 1839EB588B1D039EC1FC1671 /* BuildConfigurations */, + 500DB8B56AFF3E5D762BA726 /* StripeIdentity */, + 00D6B9FD0E5C501B4BF57EF9 /* StripeIdentityTests */, ); - path = VerificationPageData; + name = Project; sourceTree = ""; }; - E6548F5D2731E4D500F399B2 /* VerificationPageDataUpdate */ = { + 7B6CB500A83165695FFF5CE4 /* IdentityHTMLView */ = { isa = PBXGroup; children = ( - E6B9071127D1C95B00D0A703 /* VerificationPageClearData.swift */, - E6B906ED27CAB4F200D0A703 /* VerificationPageCollectedData.swift */, - E657B57F276416FD00134033 /* VerificationPageDataDocumentFileData.swift */, - E61677092853F6A700C9E44A /* VerificationPageDataFace.swift */, - E6548F5E2731E4E500F399B2 /* VerificationPageDataUpdate.swift */, + 520D8A1D20ACE21966E806D9 /* HTMLTextView.swift */, + 36ED32D7EE8F52D6FC7D8826 /* HTMLViewWithIconLabels.swift */, + 93A9C204870754D960586E10 /* IconLabelHTMLView.swift */, ); - path = VerificationPageDataUpdate; + path = IdentityHTMLView; sourceTree = ""; }; - E657B58127642FD500134033 /* Categories */ = { + 87394A902F17C225C9801233 /* ML */ = { isa = PBXGroup; children = ( - E657B58227642FEC00134033 /* CGImage+StripeIdentity.swift */, - E65DD28027A2634900625A17 /* MLMultiArray+StripeIdentity.swift */, - E6A50DB927B77CAD00D7BDED /* NSAttributedString+HTML.swift */, - F383FB4827B5E7FA00E19E52 /* UINavigationController+StripeIdentity.swift */, - E673774A2808FDC900DF966B /* VNBarcodeSymbology+StripeIdentity.swift */, - E659A09C282B6D0100DF8C0C /* Array+StripeIdentity.swift */, - E61676F8284FFBB500C9E44A /* TimeInterval+StripeIdentity.swift */, + FB26528E34B8AFBD225061AF /* Helpers */, + 4546F9D432ACFF45E9CE1368 /* IdentityMLModelLoader.swift */, ); - path = Categories; + path = ML; sourceTree = ""; }; - E657B5842764304800134033 /* Categories */ = { + 8809E2951514DA7B6B8E9C7F /* Categories */ = { isa = PBXGroup; children = ( - E657B5852764307600134033 /* CGImage+StripeIdentityUnitTest.swift */, + 4DEBC1A25D2C446219E7E733 /* CGImage+StripeIdentityUnitTest.swift */, ); path = Categories; sourceTree = ""; }; - E659A088282B0C0400DF8C0C /* FaceDetector */ = { + 881271B2FC813730D937B96E /* ViewControllers */ = { isa = PBXGroup; children = ( - E659A089282B0C2D00DF8C0C /* FaceDetector.swift */, - E659A08B282B0C4800DF8C0C /* FaceDetectorOutput.swift */, + A20A2B98A36D6A860B39E615 /* BiometricConsentViewController.swift */, + 99D92831ABFEBB1027419225 /* DocumentCaptureViewController.swift */, + 68FE94303A1D22C03D3157CE /* DocumentCaptureViewController+Strings.swift */, + EB927B052ADBE97524CC0F43 /* DocumentFileUploadViewController.swift */, + 14534C235EF7B57DDB6B74F1 /* DocumentFileUploadViewController+Strings.swift */, + 9910B88643D95B2F9329E4A2 /* DocumentTypeSelectViewController.swift */, + 5A9F73BBC3ECDBAE226012A5 /* ErrorViewController.swift */, + EBE61B9C03DCE61E57CEC3F4 /* IdentityFlowViewController.swift */, + B71F1C5085AD91100943CFCA /* IndividualViewController.swift */, + 3B48A1FCF125B2844F8CAD43 /* LoadingViewController.swift */, + 67BFE71088C74C03B05CBCD2 /* SelfieCaptureViewController.swift */, + 328DF3C5E53973F6943FC4BD /* SelfieCaptureViewController+Strings.swift */, + DC12E83001A164E12705498A /* SuccessViewController.swift */, ); - path = FaceDetector; + path = ViewControllers; sourceTree = ""; }; - E659A0B22846F09400DF8C0C /* ImageUploaders */ = { + 882FA766B74C9E5C2E2F5382 /* Helpers */ = { isa = PBXGroup; children = ( - E659A0B52846F09400DF8C0C /* DocumentUploader.swift */, - E659A0B32846F09400DF8C0C /* IdentityImageUploader.swift */, - E659A0B42846F09400DF8C0C /* SelfieUploader.swift */, + 20D40A569C2BB62F86D57C01 /* Image.swift */, + E94605BCADE912561ED6F710 /* STPLocalizedString.swift */, + F1559E966A487EE3867DD7B8 /* String+Localized.swift */, + CEE8340912F2A489BB80D39B /* StripeIdentityBundleLocator.swift */, ); - path = ImageUploaders; + path = Helpers; sourceTree = ""; }; - E662FC8C278E2ECC005B0DAD /* ListView */ = { + 8A94C8D885B3CEA5BBB73D84 /* Localizations */ = { isa = PBXGroup; children = ( - E662FC8A278E2EC2005B0DAD /* ListItemView.swift */, - E677769F278D1E7D003C5DB5 /* ListView.swift */, + 989A2C5379C60B9F0E0E2711 /* Localizable.strings */, ); - path = ListView; + path = Localizations; + sourceTree = ""; + }; + 8B9E16932812CEDA69E79947 /* WebWrapper */ = { + isa = PBXGroup; + children = ( + 658F7A165D731F5046ACDF29 /* VerificationFlowWebView.swift */, + 48A449D0BE66D0A555183AF4 /* VerificationFlowWebViewController.swift */, + D75A138199A6CC2DB31DD2D5 /* VerifyWebURLHelper.swift */, + ); + path = WebWrapper; sourceTree = ""; }; - E666A51E2739BF87001DE130 /* NativeComponents */ = { + 921749968993B6299670C8F0 /* NativeComponents */ = { isa = PBXGroup; children = ( - E666A5212739C1D4001DE130 /* Coordinators */, - E666A5202739C1BD001DE130 /* ViewControllers */, - E612B1172746028000A258C1 /* IdentityFlowNavigationControllerTest.swift */, + D9B3846C593CC86E22146C09 /* Coordinators */, + 2EBA502F418D648EEF72EDB9 /* Detectors */, + 87394A902F17C225C9801233 /* ML */, + 881271B2FC813730D937B96E /* ViewControllers */, + A1E77974EEA3CA7771B4F624 /* Views */, + E310DFA6CAC355B848E82998 /* DocumentSide.swift */, + B9CB453179082B1AE6B242FD /* IdentityDataCollecting.swift */, + 050900C738C01F6D96F7ED5B /* IdentityFlowNavigationController.swift */, + FEB6AB9A9BAF6E50B962C339 /* IdentityUI.swift */, ); path = NativeComponents; sourceTree = ""; }; - E666A51F2739BFA3001DE130 /* WebWrapper */ = { + 9C674AEFDAF7791E3C23E052 /* Images */ = { isa = PBXGroup; children = ( - E6AF1EE0269FD9970091BE99 /* VerificationFlowWebViewControllerTest.swift */, - E6AF1EDE269FD9970091BE99 /* VerificationFlowWebViewTest.swift */, + 9431C816BF67F677B9447746 /* icon_add@3x.png */, + F696493D59EE069EB76B0CB4 /* icon_checkmark_92@3x.png */, + 0CD0A4F2BB147D41D2DF6976 /* icon_checkmark@3x.png */, + C3288667B33AACBC2380CD9D /* icon_clock@3x.png */, + 188E601955C27EA3E98012AF /* icon_info@3x.png */, + 9DBB998F589E062218E0BD90 /* icon_warning_92@3x.png */, ); - path = WebWrapper; + path = Images; sourceTree = ""; }; - E666A5202739C1BD001DE130 /* ViewControllers */ = { + A15C667249E105B9A37EC6AA /* Categories */ = { isa = PBXGroup; children = ( - E67A1E48273DD92D00977F63 /* DocumentCaptureViewControllerTest.swift */, - E666A51527361C91001DE130 /* DocumentTypeSelectViewControllerTest.swift */, - E61C32452797AEA2008A30D4 /* DocumentFileUploadViewControllerTest.swift */, - E6D6576627BB041600AF4212 /* BiometricConsentViewControllerTest.swift */, - E6AADF31286A970600C46665 /* ErrorViewControllerTest.swift */, + CBC057ECE030E8374AD9CF61 /* Array+StripeIdentity.swift */, + 744CE13E8488F0E4AC951D6C /* CGImage+StripeIdentity.swift */, + 82D731669A9237F0B147B366 /* MLMultiArray+StripeIdentity.swift */, + 42768A09155B5439E724B360 /* NSAttributedString+HTML.swift */, + 2E5237659945E4A05ADE6DB0 /* TimeInterval+StripeIdentity.swift */, + FF0871DEB2B2BA56EFADEEA6 /* UINavigationController+StripeIdentity.swift */, + C3C78174C0059A8957832825 /* VNBarcodeSymbology+StripeIdentity.swift */, ); - path = ViewControllers; + path = Categories; sourceTree = ""; }; - E666A5212739C1D4001DE130 /* Coordinators */ = { + A1E77974EEA3CA7771B4F624 /* Views */ = { isa = PBXGroup; children = ( - E651A4C827890BAB0009506E /* DocumentUploaderTest.swift */, - E61676D52846F2D000C9E44A /* IdentityImageUploaderTest.swift */, - E6AF1EDC269FD9960091BE99 /* IdentityVerificationSheetTest.swift */, - E6548EF72729BFC500F399B2 /* VerificationSheetControllerTest.swift */, - E6548F7C27339AC000F399B2 /* VerificationSheetFlowControllerTest.swift */, + E8F859A98FD354C4D369663B /* DocumentCapture */, + 7B6CB500A83165695FFF5CE4 /* IdentityHTMLView */, + 33C89482CBE5232226CC592E /* ListView */, + 4A93B9E4F9CD7EF6BC8D8202 /* Selfie */, + B5EE118A0368B2BBC342F162 /* BottomAlignedLabel.swift */, + 7E204A65850D7EC60AB779B5 /* CameraPreviewContainerView.swift */, + BB10B7416AB6D7F94A57A8E3 /* ContentCenteringScrollView.swift */, + 198B92E9E0D04CA24F208E07 /* ErrorView.swift */, + 1FB4155E2BD74F6B44F8D68F /* HeaderIconView.swift */, + C48F9BFEB0E03E881C2D6017 /* HeaderView.swift */, + 8BBFB1E6CDEA9002DB6353E7 /* IdentityFlowView.swift */, + 423EA472FB8902C1ED6EBA60 /* InstructionListView.swift */, + 2AB451EC826E856E6BCB7070 /* ShadowConfiguration.swift */, + EE238D8B6DAA92980E1F813A /* ShadowedCorneredImageView.swift */, ); - path = Coordinators; + path = Views; sourceTree = ""; }; - E666A5262739F7CA001DE130 /* Images */ = { + B676F5058454EA479CE2B699 /* Frameworks */ = { isa = PBXGroup; children = ( - F3680DF627A9B42900A8796A /* icon_add@3x.png */, - E6A50DB527B510E700D7BDED /* icon_checkmark_92@3x.png */, - E662FC93278E5AC4005B0DAD /* icon_checkmark@3x.png */, - E6A50DC727B7B94300D7BDED /* icon_clock@3x.png */, - E6B906EB27CA1B4100D0A703 /* icon_info@3x.png */, - F3B0AD8327BB1E2400AE4406 /* icon_warning_92@3x.png */, + 8AB1A0B05C00E547ED1A0D09 /* XCTest.framework */, ); - path = Images; + name = Frameworks; sourceTree = ""; }; - E666DF15273B3BA700638B60 /* Mock Photos */ = { + BC502BBBD4439DAD6B20C36B /* Elements */ = { isa = PBXGroup; children = ( - E666DF17273B3BB700638B60 /* back_drivers_license.jpg */, - E657B58927681B7F00134033 /* cgimage_stripeidentity_test.png */, - E666DF16273B3BB700638B60 /* front_drivers_license.jpg */, - F322C36827ABC41F0087CCBA /* header_icon.png */, + 6FF56E95E47DA51C3517E1EC /* IdentityElementsFactoryTest.swift */, ); - path = "Mock Photos"; + path = Elements; sourceTree = ""; }; - E66DA0BE281896660099213C /* DocumentCapture */ = { + BD87721D7BE91AA7EA25E952 /* ImageScanningSession */ = { isa = PBXGroup; children = ( - E6E4AF4527C1C99200F55330 /* AnimatedBorderView.swift */, - E627AEF4275851640048F88D /* DocumentCaptureView.swift */, - E6A50DAB27B30E9000D7BDED /* DocumentScanningView.swift */, - E666A52B273A0AE6001DE130 /* InstructionalDocumentScanningView.swift */, + 0F99DB710C60AC2A98449D51 /* ImageScanningSession.swift */, + FFE163E90F54FE4A075C7B74 /* ImageScanningSessionDelegate.swift */, ); - path = DocumentCapture; + path = ImageScanningSession; sourceTree = ""; }; - E66DA0C32818A8920099213C /* Selfie */ = { + C240F6CABCF2EAA5A9F29733 /* Unit */ = { isa = PBXGroup; children = ( - E66DA0C42818A8920099213C /* SelfieScanningView.swift */, - E66DA0D8281A25480099213C /* SelfieCaptureView.swift */, + FA68623DC1EA02B69E91D537 /* API Bindings */, + 8809E2951514DA7B6B8E9C7F /* Categories */, + BC502BBBD4439DAD6B20C36B /* Elements */, + E05EEC720175CFA2B7B02DF9 /* NativeComponents */, + 7018612D148DB5EC9137EEDF /* WebWrapper */, + FFD771C14C0711019D8AC9C2 /* VerificationClientSecretTest.swift */, + 09F06CA1B36DA48B8E8BD7A5 /* VerificationSheetAnalyticsTest.swift */, ); - path = Selfie; + path = Unit; sourceTree = ""; }; - E66DA0EE2822F09C0099213C /* FaceScanner */ = { + C30D6A52DEFD4953D1003B59 = { isa = PBXGroup; children = ( - E66DA0EF2822F0A90099213C /* FaceScannerOutput.swift */, - E66DA0F1282311790099213C /* FaceCaptureData.swift */, - E659A098282B492D00DF8C0C /* FaceScanner.swift */, - E659A09A282B49F500DF8C0C /* FaceScannerConfiguration.swift */, + 735252221308FED2A1BB2982 /* Project */, + B676F5058454EA479CE2B699 /* Frameworks */, + DA1A05D0BE4F60655BC0E2CD /* Products */, ); - path = FaceScanner; sourceTree = ""; }; - E66DA0F72823430A0099213C /* ImageScanner */ = { + C79CD3902BA22B78A8E4A03E /* Models */ = { isa = PBXGroup; children = ( - E6B906F827CEA0CC00D0A703 /* DocumentScanner */, - E66DA0EE2822F09C0099213C /* FaceScanner */, - E66DA0F8282343470099213C /* ImageScanner.swift */, - E659A096282B391900DF8C0C /* ImageScanningConcurrencyManager.swift */, + 3B9E0DCE151FFC05A3D3E05B /* VerificationPage */, + 4F960B140ECD6032C9036EC6 /* VerificationPageData */, + DD82B7FB4D8A2A274B406258 /* VerificationPageDataUpdate */, + 3AFAC1FACF9A36AAFC19BF2F /* DocumentType.swift */, + 7F9DA29DC85773AC710A5201 /* TruncatedDecimal.swift */, ); - path = ImageScanner; + path = Models; sourceTree = ""; }; - E6AF1EE6269FD9B60091BE99 /* Unit */ = { + C9888FDFA7892093618E47C9 /* ViewControllers */ = { isa = PBXGroup; children = ( - E6548EFB272A073C00F399B2 /* API Bindings */, - E657B5842764304800134033 /* Categories */, - E6069378270435C700742859 /* Elements */, - E666A51E2739BF87001DE130 /* NativeComponents */, - E6AF1EDD269FD9960091BE99 /* VerificationClientSecretTest.swift */, - E6AF1EDF269FD9970091BE99 /* VerificationSheetAnalyticsTest.swift */, - E666A51F2739BFA3001DE130 /* WebWrapper */, + 1B264A8F97FA8CB0706F140F /* BiometricConsentViewControllerTest.swift */, + BCA7F9B0204BF18C483A474A /* DocumentCaptureViewControllerTest.swift */, + 5F0B317274417308FBA55E55 /* DocumentFileUploadViewControllerTest.swift */, + D28361A39FEF902EF979BEEE /* DocumentTypeSelectViewControllerTest.swift */, + 20129AFBC6B4D304B494CBA6 /* ErrorViewControllerTest.swift */, ); - path = Unit; + path = ViewControllers; sourceTree = ""; }; - E6AF1EE7269FD9E60091BE99 /* Snapshot */ = { + D20B93DC17B56E6A4B98A3B0 /* ImageUploaders */ = { isa = PBXGroup; children = ( - E6E4AF4727C1D16C00F55330 /* AnimatedBorderViewSnapshotTest.swift */, - E6D6576827BB062F00AF4212 /* BiometricConsentViewControllerSnapshotTest.swift */, - E657B58F27683D5700134033 /* CGImage_StripeIdentitySnapshotTest.png */, - E657B58727680D2A00134033 /* CGImage_StripeIdentitySnapshotTest.swift */, - E6A50DAD27B341A000D7BDED /* DocumentScanningViewSnapshotTest.swift */, - F383FB4627B5D52C00E19E52 /* ErrorViewSnapshotTest.swift */, - F3680DFF27A9C6ED00A8796A /* HeaderIconViewSnapshotTest.swift */, - F311D59927A2786100AD8123 /* HeaderViewSnapshotTest.swift */, - F3FA474427ADD5DA0045AB4B /* IdentityFlowViewSnapshotTest.swift */, - E6A50DC927B8395400D7BDED /* IdentityHTMLViewSnapshotTest.swift */, - E6A50DAF27B35A7500D7BDED /* InstructionalDocumentScanningViewSnapshotTest.swift */, - E6D6577C27BF314200AF4212 /* InstructionListViewSnapshotTest.swift */, - E67776A1278E13B9003C5DB5 /* ListItemViewSnapshotTest.swift */, - E662FC8D278E3094005B0DAD /* ListViewSnapshotTest.swift */, - E6A50DBD27B77F9D00D7BDED /* NSAttributedString_HTMLSnapshotTest.swift */, - E66DA0FA2824BF140099213C /* SelfieCaptureViewSnapshotTest.swift */, - E66DA0C62818ACCA0099213C /* SelfieScanningViewSnapshotTest.swift */, - E6D6576A27BBB3C600AF4212 /* SuccessViewControllerSnapshotTest.swift */, - E6AF1EE8269FDA020091BE99 /* VerificationFlowWebViewSnapshotTests.swift */, + C334F59C93D3D11534FACBBA /* DocumentUploader.swift */, + 4D4C3F2BAFB6BEFFFC1B566F /* IdentityImageUploader.swift */, + 9BB8E3DF263505065E8545AB /* SelfieUploader.swift */, ); - path = Snapshot; + path = ImageUploaders; sourceTree = ""; }; - E6B3F64326FD97C800963EAB /* Elements */ = { + D9B3846C593CC86E22146C09 /* Coordinators */ = { isa = PBXGroup; children = ( - E6B3F64426FD97E600963EAB /* IdentityElementsFactory.swift */, + F2A0B1EE1A4A9208812559DF /* ImageScanner */, + BD87721D7BE91AA7EA25E952 /* ImageScanningSession */, + D20B93DC17B56E6A4B98A3B0 /* ImageUploaders */, + A5082A4100CEE0C8378AD185 /* VerificationSheetController.swift */, + 98AF8558B79CD52154D6EF3B /* VerificationSheetFlowController.swift */, + 7CDAA5C16C934746013C6CE6 /* VerificationSheetFlowControllerError.swift */, ); - path = Elements; + path = Coordinators; sourceTree = ""; }; - E6B906DB27C7650D00D0A703 /* Detectors */ = { + DA1A05D0BE4F60655BC0E2CD /* Products */ = { isa = PBXGroup; children = ( - E6B906E127C9C2A000D0A703 /* BarcodeDetector.swift */, - E659A088282B0C0400DF8C0C /* FaceDetector */, - E6C7BB1F27A8BE2E000807A6 /* IDDetector */, - E659A08D282B0CB000DF8C0C /* MLDetectorConfiguration.swift */, - E663658C285A77CD006A4679 /* MLDetectorMetricsTracker.swift */, - E6B906DC27C7655300D0A703 /* MotionBlurDetector.swift */, - E6B906E327C9C8F400D0A703 /* VisionBasedDetector.swift */, + CB639F497EF62CAE81822820 /* StripeCameraCore.framework */, + 14C231755842F322A25160ED /* StripeCameraCoreTestUtils.framework */, + 4D0F4646D7565055396DD8F5 /* StripeCore.framework */, + 5726517468179B69D50692C0 /* StripeCoreTestUtils.framework */, + D604F6AABE4D6D5CCF802685 /* StripeIdentity.framework */, + A5D517A4C8669379A029BBAD /* StripeIdentityTests.xctest */, + FD376CBC869531C40036081B /* StripeUICore.framework */, ); - path = Detectors; + name = Products; sourceTree = ""; }; - E6B906E627CA0FAE00D0A703 /* IdentityHTMLView */ = { + DD11F7A6C34DDED8661D6182 /* Resources */ = { isa = PBXGroup; children = ( - E6B906E927CA137400D0A703 /* HTMLTextView.swift */, - E6A50DBF27B785B800D7BDED /* HTMLViewWithIconLabels.swift */, - E6B906E727CA0FC900D0A703 /* IconLabelHTMLView.swift */, + 9C674AEFDAF7791E3C23E052 /* Images */, + 8A94C8D885B3CEA5BBB73D84 /* Localizations */, ); - path = IdentityHTMLView; + path = Resources; sourceTree = ""; }; - E6B906F827CEA0CC00D0A703 /* DocumentScanner */ = { + DD82B7FB4D8A2A274B406258 /* VerificationPageDataUpdate */ = { isa = PBXGroup; children = ( - E666DF04273B2F0600638B60 /* DocumentScanner.swift */, - E6B906FB27CEA10700D0A703 /* DocumentScannerConfiguration.swift */, - E6B906F927CEA0E000D0A703 /* DocumentScannerOutput.swift */, + E1FC19E901C6E57D948833FD /* VerificationPageClearData.swift */, + 1F4F55F9FBE67FCFE3767816 /* VerificationPageCollectedData.swift */, + 083865663173CDD9F77417A4 /* VerificationPageDataDocumentFileData.swift */, + 14244B002D9F37B56BE8D4F4 /* VerificationPageDataFace.swift */, + 15E15D64B5F7EF76235D0BA5 /* VerificationPageDataUpdate.swift */, ); - path = DocumentScanner; + path = VerificationPageDataUpdate; sourceTree = ""; }; - E6C7BB1F27A8BE2E000807A6 /* IDDetector */ = { + E05EEC720175CFA2B7B02DF9 /* NativeComponents */ = { isa = PBXGroup; children = ( - E6C7BB2327A8BE2E000807A6 /* IDDetector.swift */, - E6C7BB2027A8BE2E000807A6 /* IDDetectorConstants.swift */, - E6C7BB2227A8BE2E000807A6 /* IDDetectorOutput.swift */, + 33CCD5EF14F04A59D399E045 /* Coordinators */, + C9888FDFA7892093618E47C9 /* ViewControllers */, + D7A58D5CA5EA7922E280F7CC /* IdentityFlowNavigationControllerTest.swift */, ); - path = IDDetector; + path = NativeComponents; sourceTree = ""; }; - E6CC14B6269E22060078837F /* Frameworks */ = { + E32A0AA1EF4E64B83646D59C /* IDDetector */ = { isa = PBXGroup; children = ( - E63B67492743487E00CFEDBA /* StripeCameraCoreTestUtils.framework */, - E63B673D2743415300CFEDBA /* StripeCameraCore.framework */, - E6B3F63426FBFEA800963EAB /* StripeUICore.framework */, - E61EA92B26A0D8AE00CAEE52 /* StripeCoreTestUtils.framework */, - E6CC14B7269E22060078837F /* StripeCore.framework */, + BCB41D1D6B1D35C92EA6F2B7 /* IDDetector.swift */, + 14ED7B7A9CC6DE447C14B5CB /* IDDetectorConstants.swift */, + 2CDF024DA4F519CB21A717AA /* IDDetectorOutput.swift */, ); - name = Frameworks; + path = IDDetector; sourceTree = ""; }; - E6E1469D26950E1E007BDCD8 = { + E4939A3B0BCBB7B44F717847 /* Elements */ = { isa = PBXGroup; children = ( - E6E146C126950E64007BDCD8 /* BuildConfigurations */, - E6E146A926950E1E007BDCD8 /* StripeIdentity */, - E6E146B426950E1E007BDCD8 /* StripeIdentityTests */, - E6E146A826950E1E007BDCD8 /* Products */, - E6CC14B6269E22060078837F /* Frameworks */, + 31CC3450DDBE415B82707F4B /* IdentityElementsFactory.swift */, ); + path = Elements; sourceTree = ""; }; - E6E146A826950E1E007BDCD8 /* Products */ = { + E8F859A98FD354C4D369663B /* DocumentCapture */ = { isa = PBXGroup; children = ( - E6E146A726950E1E007BDCD8 /* StripeIdentity.framework */, - E6E146B026950E1E007BDCD8 /* StripeIdentityTests.xctest */, + 0EA099682E4BE0A34CFCBE6C /* AnimatedBorderView.swift */, + 8AF040F11A7D0693A7783654 /* DocumentCaptureView.swift */, + D6A26F37BDBB5330AE87E7CB /* DocumentScanningView.swift */, + 1CDF8D78C430D9B26DD92B11 /* InstructionalDocumentScanningView.swift */, ); - name = Products; + path = DocumentCapture; sourceTree = ""; }; - E6E146A926950E1E007BDCD8 /* StripeIdentity */ = { + F2A0B1EE1A4A9208812559DF /* ImageScanner */ = { isa = PBXGroup; children = ( - E6E146AB26950E1E007BDCD8 /* Info.plist */, - E6465101269E1E0B002EC424 /* Resources */, - E6E146D6269512A1007BDCD8 /* Source */, - E6E146AA26950E1E007BDCD8 /* StripeIdentity.h */, + 0DB7E4B2463D591EEF46036C /* DocumentScanner */, + 377C902DA22E0F9853BF81F4 /* FaceScanner */, + 149453E1854C9566CC8D8484 /* ImageScanner.swift */, + DC8F619B76D191FF2DEC8660 /* ImageScanningConcurrencyManager.swift */, ); - path = StripeIdentity; + path = ImageScanner; sourceTree = ""; }; - E6E146B426950E1E007BDCD8 /* StripeIdentityTests */ = { + F70954CA70A6D39896F5E2B5 /* Helpers */ = { isa = PBXGroup; children = ( - E6548EF32729BE2300F399B2 /* Helpers */, - E6E146B726950E1E007BDCD8 /* Info.plist */, - E61EA92D26A0DFFA00CAEE52 /* Mock Files */, - E6AF1EE7269FD9E60091BE99 /* Snapshot */, - E6AF1EE6269FD9B60091BE99 /* Unit */, + CE691D40B29AB0F31443479A /* DocumentUploaderMock.swift */, + C43D3DC62FE3C5CC9FD22A50 /* IdentityAnalyticsClientTestHelpers.swift */, + C8D0D5F9E17825856B55E4D1 /* IdentityAPIClientTestMock.swift */, + 111A55FA39B400E6E87A5175 /* IdentityMLModelLoaderMock.swift */, + 738A5EB6B7F1C5621F190A72 /* IdentityMockData.swift */, + 4C0B804DA867C37809656BB3 /* ImageScannerMock.swift */, + 005D7E5D0E239D61ED1E9796 /* ImageScanningConcurrencyManagerMock.swift */, + 786574907AC9065E6E658D9C /* MLDetectorMetricsTrackerMock.swift */, + 037D27A0AAECB846C8579452 /* SnapshotTestMockData.swift */, + 52FB883B057ED79F2C58BC58 /* VerificationFlowResult+Equatable.swift */, + F459D2DF594C15C03585F3AF /* VerificationSheetControllerMock.swift */, + 1CAC6276996043D1B3FC92F7 /* VerificationSheetFlowControllerMock.swift */, ); - path = StripeIdentityTests; + path = Helpers; sourceTree = ""; }; - E6E146C126950E64007BDCD8 /* BuildConfigurations */ = { + FA68623DC1EA02B69E91D537 /* API Bindings */ = { isa = PBXGroup; children = ( - E6E146C226950E64007BDCD8 /* StripeiOS Tests-Debug.xcconfig */, - E6E146C326950E64007BDCD8 /* StripeiOS-Debug.xcconfig */, - E6E146C426950E64007BDCD8 /* Project-Release.xcconfig */, - E6E146C526950E64007BDCD8 /* StripeiOS Tests-Release.xcconfig */, - E6E146C626950E64007BDCD8 /* Project-Shared.xcconfig */, - E6E146C726950E64007BDCD8 /* Version.xcconfig */, - E6E146C826950E64007BDCD8 /* StripeiOS Tests-Shared.xcconfig */, - E6E146C926950E64007BDCD8 /* StripeiOS-Shared.xcconfig */, - E6E146CA26950E64007BDCD8 /* Project-Debug.xcconfig */, - E6E146CB26950E64007BDCD8 /* StripeiOS-Release.xcconfig */, + A59680E002FC6E7BC9906BD2 /* IdentityAPIClientTest.swift */, + D6918DC6A9681E769D44BC78 /* TruncatedDecimalTest.swift */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = "API Bindings"; sourceTree = ""; }; - E6E146D6269512A1007BDCD8 /* Source */ = { + FB26528E34B8AFBD225061AF /* Helpers */ = { isa = PBXGroup; children = ( - E616770028500F1300C9E44A /* Analytics */, - E6548DCC27276E2300F399B2 /* API Bindings */, - E657B58127642FD500134033 /* Categories */, - E6B3F64326FD97C800963EAB /* Elements */, - 363B9261274320C800BA52EC /* Enums+CustomStringConvertible.swift */, - E646511E269E1F7C002EC424 /* Helpers */, - E6AF1EC9269FD7990091BE99 /* IdentityVerificationSheet.swift */, - E6AF1EC6269FD7980091BE99 /* IdentityVerificationSheetError.swift */, - E6548F08272B0A1B00F399B2 /* NativeComponents */, - E6548EE92729025000F399B2 /* StripeCore+Import.swift */, - E6AF1EC7269FD7990091BE99 /* VerificationClientSecret.swift */, - E6AF1EC5269FD7980091BE99 /* VerificationSheetAnalytics.swift */, - E6548F07272B0A1200F399B2 /* WebWrapper */, + 748D38C4370E78DBC9E20E95 /* MLModelLoader.swift */, + 2FD2C7D94586AB8984DB7389 /* MLModelUnexpectedOutputError.swift */, + 93F2EE0B99059C7BFB72AFAF /* NonMaxSuppression.swift */, ); - path = Source; + path = Helpers; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - E6E146A226950E1E007BDCD8 /* Headers */ = { + 9B1562BF42FD34FD2D6229B6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E6E146B826950E1E007BDCD8 /* StripeIdentity.h in Headers */, + 6A06F81B7D6B68EA72A293F5 /* StripeIdentity.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - E6E146A626950E1E007BDCD8 /* StripeIdentity */ = { + 5883CCEAA4C73E1DB1F0D3A5 /* StripeIdentityTests */ = { isa = PBXNativeTarget; - buildConfigurationList = E6E146BB26950E1E007BDCD8 /* Build configuration list for PBXNativeTarget "StripeIdentity" */; + buildConfigurationList = 7C14F7F327D79A07F63042E0 /* Build configuration list for PBXNativeTarget "StripeIdentityTests" */; buildPhases = ( - E6E146A226950E1E007BDCD8 /* Headers */, - E6E146A326950E1E007BDCD8 /* Sources */, - E6E146A426950E1E007BDCD8 /* Frameworks */, - E6E146A526950E1E007BDCD8 /* Resources */, + 2B7015585124CD15B8ECF68A /* Sources */, + 2FB257609A15689D3483EA9B /* Resources */, + 048FEFC038A0C2BC99CCB683 /* Embed Frameworks */, + 942AEFA5BCC5A034EF066C3E /* Frameworks */, ); buildRules = ( ); dependencies = ( + 90F68D87EFF3F3EE0E36B03A /* PBXTargetDependency */, ); - name = StripeIdentity; + name = StripeIdentityTests; packageProductDependencies = ( + 960247DC321CBDB422FE713D /* iOSSnapshotTestCase */, ); - productName = StripeIdentity; - productReference = E6E146A726950E1E007BDCD8 /* StripeIdentity.framework */; - productType = "com.apple.product-type.framework"; + productName = StripeIdentityTests; + productReference = A5D517A4C8669379A029BBAD /* StripeIdentityTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; - E6E146AF26950E1E007BDCD8 /* StripeIdentityTests */ = { + F251015845B21C036CFBC636 /* StripeIdentity */ = { isa = PBXNativeTarget; - buildConfigurationList = E6E146BE26950E1E007BDCD8 /* Build configuration list for PBXNativeTarget "StripeIdentityTests" */; + buildConfigurationList = 9E28A14ACC690D35FD59690A /* Build configuration list for PBXNativeTarget "StripeIdentity" */; buildPhases = ( - E6E146AC26950E1E007BDCD8 /* Sources */, - E6E146AD26950E1E007BDCD8 /* Frameworks */, - E6E146AE26950E1E007BDCD8 /* Resources */, - E254413F28FDEF0500C6F5D3 /* Embed Frameworks */, + 9B1562BF42FD34FD2D6229B6 /* Headers */, + 3DCE29146A781338C4D3AC2A /* Sources */, + A037CEBE08A7F64ADB4986B9 /* Resources */, + 559B276C9F23AEDE2D54B9A8 /* Embed Frameworks */, + 65EE834154FF7B955E7239D7 /* Frameworks */, ); buildRules = ( ); dependencies = ( - E6E146B326950E1E007BDCD8 /* PBXTargetDependency */, ); - name = StripeIdentityTests; - packageProductDependencies = ( - E254413D28FDEF0500C6F5D3 /* iOSSnapshotTestCase */, - ); - productName = StripeIdentityTests; - productReference = E6E146B026950E1E007BDCD8 /* StripeIdentityTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; + name = StripeIdentity; + productName = StripeIdentity; + productReference = D604F6AABE4D6D5CCF802685 /* StripeIdentity.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - E6E1469E26950E1E007BDCD8 /* Project object */ = { + 0705CAA185B63201FD561508 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1250; - LastUpgradeCheck = 1250; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - E6E146A626950E1E007BDCD8 = { - CreatedOnToolsVersion = 12.5; - LastSwiftMigration = 1250; - }; - E6E146AF26950E1E007BDCD8 = { - CreatedOnToolsVersion = 12.5; - }; }; }; - buildConfigurationList = E6E146A126950E1E007BDCD8 /* Build configuration list for PBXProject "StripeIdentity" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = 8BD83D322879659AB98AEA29 /* Build configuration list for PBXProject "StripeIdentity" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + "bg-BG", + "ca-ES", + "cs-CZ", + da, de, - "zh-Hans", - ja, - "zh-HK", - mt, - nb, + "el-GR", + en, "en-GB", es, - da, "es-419", - it, - "nn-NO", - "fr-CA", - sv, - ko, - "zh-Hant", - hu, - tr, - "pt-BR", - ru, - fr, + "et-EE", fi, - nl, - "pt-PT", - hr, fil, - vi, + fr, + "fr-CA", + hr, + hu, id, - "ms-MY", - "bg-BG", - "ca-ES", - "cs-CZ", - "et-EE", - "el-GR", + it, + ja, + ko, "lt-LT", "lv-LV", + "ms-MY", + mt, + nb, + nl, + "nn-NO", "pl-PL", + "pt-BR", + "pt-PT", "ro-RO", + ru, "sk-SK", "sl-SI", + sv, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = E6E1469D26950E1E007BDCD8; + mainGroup = C30D6A52DEFD4953D1003B59; packageReferences = ( - E254413A28FDEEFE00C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, + 1034C700B96E0B79C2107621 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, ); - productRefGroup = E6E146A826950E1E007BDCD8 /* Products */; + productRefGroup = DA1A05D0BE4F60655BC0E2CD /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - E6E146A626950E1E007BDCD8 /* StripeIdentity */, - E6E146AF26950E1E007BDCD8 /* StripeIdentityTests */, + F251015845B21C036CFBC636 /* StripeIdentity */, + 5883CCEAA4C73E1DB1F0D3A5 /* StripeIdentityTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - E6E146A526950E1E007BDCD8 /* Resources */ = { + 2FB257609A15689D3483EA9B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - E646511D269E1E0B002EC424 /* Localizable.strings in Resources */, - E6B906EC27CA1B4100D0A703 /* icon_info@3x.png in Resources */, - F3680DF727A9B42900A8796A /* icon_add@3x.png in Resources */, - E6A50DB627B510E700D7BDED /* icon_checkmark_92@3x.png in Resources */, - E662FC94278E5AC4005B0DAD /* icon_checkmark@3x.png in Resources */, - F3B0AD8427BB1E2500AE4406 /* icon_warning_92@3x.png in Resources */, - E6A50DC827B7B94300D7BDED /* icon_clock@3x.png in Resources */, + 6C1E79C83069CDD64BF03563 /* back_drivers_license.jpg in Resources */, + 443F1D1D9FE899158D58461E /* cgimage_stripeidentity_test.png in Resources */, + 471F567D8201BBA6D82D9932 /* front_drivers_license.jpg in Resources */, + BDF8D30919A290A0CF52059C /* header_icon.png in Resources */, + 135B58FCD4663D3D8E4C82F7 /* VerificationPage_200.json in Resources */, + E1D4A5DD8C188725C5D23BBB /* VerificationPage_no_selfie.json in Resources */, + 7797883309701F3BB36B1F20 /* VerificationPage_require_live_capture.json in Resources */, + FF3D439778B2EF580053AC15 /* VerificationPageData_200.json in Resources */, + 375C63BC59BFC5F8615E266F /* VerificationPageData_no_errors.json in Resources */, + EF343909D610063574D0F911 /* VerificationPageData_no_errors_needback.json in Resources */, + 3C228BF28D1D56F1E74AE7AB /* VerificationPageData_submitted.json in Resources */, + C1DF05059A82FE217A7831BA /* mock.html in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6E146AE26950E1E007BDCD8 /* Resources */ = { + A037CEBE08A7F64ADB4986B9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - E61EA92F26A0E00900CAEE52 /* mock.html in Resources */, - E6548EED2729BB2100F399B2 /* VerificationPage_200.json in Resources */, - E6B906F727CB2B1F00D0A703 /* VerificationPageData_no_errors.json in Resources */, - F322C36927ABC41F0087CCBA /* header_icon.png in Resources */, - E66B82B327F7D17700C6A662 /* VerificationPage_require_live_capture.json in Resources */, - E6AADF36286AAFD000C46665 /* VerificationPage_no_selfie.json in Resources */, - D48DA57928CD15DF00050C06 /* VerificationPageData_no_errors_needback.json in Resources */, - E6548F5B2731E13F00F399B2 /* VerificationPageData_200.json in Resources */, - E657B58A27681B7F00134033 /* cgimage_stripeidentity_test.png in Resources */, - E6B906F627CB2B1F00D0A703 /* VerificationPageData_submitted.json in Resources */, - E666DF19273B3BB700638B60 /* back_drivers_license.jpg in Resources */, - E666DF18273B3BB700638B60 /* front_drivers_license.jpg in Resources */, + 8FEC054A2BF0649B64B6ED4F /* icon_add@3x.png in Resources */, + 1C9FE58DA3777F5B54F3AEC1 /* icon_checkmark@3x.png in Resources */, + 19AADF41AB0794258D06264B /* icon_checkmark_92@3x.png in Resources */, + B38910D7C10E80AED2EB9358 /* icon_clock@3x.png in Resources */, + 7287EFE41CE74C92BCF86218 /* icon_info@3x.png in Resources */, + 56E78CD83827B277B998188E /* icon_warning_92@3x.png in Resources */, + 812B45A86DD6B28A06A8FAC7 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - E6E146A326950E1E007BDCD8 /* Sources */ = { + 2B7015585124CD15B8ECF68A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E60FD5D527AE17A100ED64A1 /* InstructionListView.swift in Sources */, - E6E4AF4627C1C99200F55330 /* AnimatedBorderView.swift in Sources */, - E66DA0F6282339080099213C /* ImageScanningSession.swift in Sources */, - E666A52C273A0AE6001DE130 /* InstructionalDocumentScanningView.swift in Sources */, - E6AF1ED4269FD7BB0091BE99 /* VerificationFlowWebView.swift in Sources */, - E662FC92278E48DB005B0DAD /* DocumentType+StripeIdentity.swift in Sources */, - E6AA24F02744B2AB00FD205E /* SuccessViewController.swift in Sources */, - E6548F3F272CABF700F399B2 /* VerifyWebURLHelper.swift in Sources */, - F383FB4527B5D20E00E19E52 /* ErrorView.swift in Sources */, - E662FC90278E4636005B0DAD /* DocumentFileUploadViewController.swift in Sources */, - E63E9373281874FE008F5FC0 /* BottomAlignedLabel.swift in Sources */, - E6548F35272C89FE00F399B2 /* IndividualViewController.swift in Sources */, - E6200DC02745E8F400A06A8E /* IdentityFlowNavigationController.swift in Sources */, - E66DA0DB281A29020099213C /* SelfieCaptureViewController.swift in Sources */, - E651289627A9BD5D00586A1F /* MLModelLoader.swift in Sources */, - E6548E6027279DFF00F399B2 /* VerificationPageStaticContentDocumentCaptureModels.swift in Sources */, - E61676E72849894600C9E44A /* VerificationPageStaticContentSelfiePage.swift in Sources */, - F3680E0427AA501500A8796A /* ShadowedCorneredImageView.swift in Sources */, - E61ADAD3270F6293004ED998 /* VerificationSheetController.swift in Sources */, - E666A52A273A0951001DE130 /* Image.swift in Sources */, - E66DA0DD281A2B100099213C /* SelfieCaptureViewController+Strings.swift in Sources */, - E6548F852734541F00F399B2 /* ErrorViewController.swift in Sources */, - E6548E6927288C0D00F399B2 /* IdentityAPIClient.swift in Sources */, - E6465122269E202A002EC424 /* STPLocalizedString.swift in Sources */, - E6548F36272C89FE00F399B2 /* LoadingViewController.swift in Sources */, - F383FB4927B5E7FA00E19E52 /* UINavigationController+StripeIdentity.swift in Sources */, - E6548E5927279DFF00F399B2 /* VerificationPage.swift in Sources */, - E6B906EE27CAB4F200D0A703 /* VerificationPageCollectedData.swift in Sources */, - E6AF1ED2269FD7B30091BE99 /* VerificationFlowWebViewController.swift in Sources */, - E6548F45272CAC0500F399B2 /* IdentityFlowView.swift in Sources */, - E6548F562731DAFD00F399B2 /* VerificationPageData.swift in Sources */, - E6548F33272C89FE00F399B2 /* IdentityFlowViewController.swift in Sources */, - E6B906FA27CEA0E000D0A703 /* DocumentScannerOutput.swift in Sources */, - E66DA0D9281A25480099213C /* SelfieCaptureView.swift in Sources */, - E67776A0278D1E7D003C5DB5 /* ListView.swift in Sources */, - E6B3F64526FD97E600963EAB /* IdentityElementsFactory.swift in Sources */, - E6B906E227C9C2A000D0A703 /* BarcodeDetector.swift in Sources */, - E6B906F027CAC54300D0A703 /* IdentityDataCollecting.swift in Sources */, - E6548E5E27279DFF00F399B2 /* VerificationPageStaticContentDocumentSelectPage.swift in Sources */, - F311D59827A275E800AD8123 /* IdentityUI.swift in Sources */, - E6B906F227CAC5C000D0A703 /* VerificationPageFieldType.swift in Sources */, - E6548F542731DA8F00F399B2 /* VerificationPageDataRequirementError.swift in Sources */, - E66DA0F02822F0A90099213C /* FaceScannerOutput.swift in Sources */, - E6A50DAC27B30E9000D7BDED /* DocumentScanningView.swift in Sources */, - E659A099282B492D00DF8C0C /* FaceScanner.swift in Sources */, - E659A08A282B0C2D00DF8C0C /* FaceDetector.swift in Sources */, - E651289A27A9E69800586A1F /* IdentityMLModelLoader.swift in Sources */, - E6B906EA27CA137400D0A703 /* HTMLTextView.swift in Sources */, - E66DA0F2282311790099213C /* FaceCaptureData.swift in Sources */, - E662FC8B278E2EC2005B0DAD /* ListItemView.swift in Sources */, - E6A50DAA27B30A4400D7BDED /* ShadowConfiguration.swift in Sources */, - E66DA0F4282314410099213C /* ContentCenteringScrollView.swift in Sources */, - E6C7BB2627A8BE2E000807A6 /* IDDetectorOutput.swift in Sources */, - E6A50DA827B2220600D7BDED /* DocumentSide.swift in Sources */, - E657B58327642FEC00134033 /* CGImage+StripeIdentity.swift in Sources */, - F3680DF927A9B72B00A8796A /* HeaderIconView.swift in Sources */, - E6548E5F27279DFF00F399B2 /* VerificationPageRequirements.swift in Sources */, - E6465120269E1F8F002EC424 /* StripeIdentityBundleLocator.swift in Sources */, - E65DD28127A2634900625A17 /* MLMultiArray+StripeIdentity.swift in Sources */, - E666A5252739EFEE001DE130 /* DocumentCaptureViewController.swift in Sources */, - E659A0B62846F09400DF8C0C /* IdentityImageUploader.swift in Sources */, - E6A50DA627B21CF800D7BDED /* DocumentCaptureViewController+Strings.swift in Sources */, - E6548E5D27279DFF00F399B2 /* VerificationPageStaticContentTextPage.swift in Sources */, - E6B906FC27CEA10700D0A703 /* DocumentScannerConfiguration.swift in Sources */, - E6548F49272CC50900F399B2 /* BiometricConsentViewController.swift in Sources */, - E6B906DD27C7655300D0A703 /* MotionBlurDetector.swift in Sources */, - E663658D285A77CD006A4679 /* MLDetectorMetricsTracker.swift in Sources */, - E6C7BB2727A8BE2E000807A6 /* IDDetector.swift in Sources */, - E6548F3D272C92CE00F399B2 /* VerificationSheetFlowController.swift in Sources */, - E606936F2702A2C100742859 /* String+Localized.swift in Sources */, - E659A0B82846F09500DF8C0C /* DocumentUploader.swift in Sources */, - E666DF05273B2F0600638B60 /* DocumentScanner.swift in Sources */, - E659A09D282B6D0100DF8C0C /* Array+StripeIdentity.swift in Sources */, - 363B9262274320C800BA52EC /* Enums+CustomStringConvertible.swift in Sources */, - E6AF1ECC269FD7990091BE99 /* VerificationClientSecret.swift in Sources */, - E66DA0F9282343470099213C /* ImageScanner.swift in Sources */, - E6B906E827CA0FC900D0A703 /* IconLabelHTMLView.swift in Sources */, - E616770228500F3400C9E44A /* IdentityAnalyticsClient.swift in Sources */, - E67377472808F6F900DF966B /* DocumentScanner+API.swift in Sources */, - E666A50B2735F7E6001DE130 /* DocumentTypeSelectViewController.swift in Sources */, - E6548E5A27279DFF00F399B2 /* VerificationPageStaticContentDocumentCapturePage.swift in Sources */, - E659A08E282B0CB000DF8C0C /* MLDetectorConfiguration.swift in Sources */, - E66DA0C52818A8920099213C /* SelfieScanningView.swift in Sources */, - E651A4C72787D7FE0009506E /* DocumentUploader+API.swift in Sources */, - E6548EEA2729025000F399B2 /* StripeCore+Import.swift in Sources */, - E659A09B282B49F500DF8C0C /* FaceScannerConfiguration.swift in Sources */, - E659A097282B391900DF8C0C /* ImageScanningConcurrencyManager.swift in Sources */, - E66DA0FF2829C4D00099213C /* ImageScanningSessionDelegate.swift in Sources */, - E673774B2808FDC900DF966B /* VNBarcodeSymbology+StripeIdentity.swift in Sources */, - E6AF1ECE269FD7990091BE99 /* IdentityVerificationSheet.swift in Sources */, - E6AF1ECA269FD7990091BE99 /* VerificationSheetAnalytics.swift in Sources */, - E6C7BB2427A8BE2E000807A6 /* IDDetectorConstants.swift in Sources */, - E659A08C282B0C4800DF8C0C /* FaceDetectorOutput.swift in Sources */, - E6C7BB1D27A8B700000807A6 /* NonMaxSuppression.swift in Sources */, - E6548F5F2731E4E500F399B2 /* VerificationPageDataUpdate.swift in Sources */, - E6B906DF27C7658600D0A703 /* DocumentType.swift in Sources */, - E61676EB2849A29500C9E44A /* FaceScanner+API.swift in Sources */, - E627AEF5275851640048F88D /* DocumentCaptureView.swift in Sources */, - E6B906E427C9C8F400D0A703 /* VisionBasedDetector.swift in Sources */, - E6A50DC027B785B800D7BDED /* HTMLViewWithIconLabels.swift in Sources */, - E6548F522731D9B400F399B2 /* VerificationPageDataRequirements.swift in Sources */, - E61676F9284FFBB500C9E44A /* TimeInterval+StripeIdentity.swift in Sources */, - E616770A2853F6A700C9E44A /* VerificationPageDataFace.swift in Sources */, - E6AADF30286A88DC00C46665 /* VerificationSheetFlowControllerError.swift in Sources */, - E657B580276416FD00134033 /* VerificationPageDataDocumentFileData.swift in Sources */, - E61676E62849894600C9E44A /* VerificationPageStaticContentSelfieModels.swift in Sources */, - E6C7BB2527A8BE2E000807A6 /* MLModelUnexpectedOutputError.swift in Sources */, - E6AF1ECB269FD7990091BE99 /* IdentityVerificationSheetError.swift in Sources */, - E6B9071227D1C95B00D0A703 /* VerificationPageClearData.swift in Sources */, - E659A0B72846F09400DF8C0C /* SelfieUploader.swift in Sources */, - E60FD5D327AE16F300ED64A1 /* DocumentFileUploadViewController+Strings.swift in Sources */, - E6548E5C27279DFF00F399B2 /* VerificationPageStaticContentConsentPage.swift in Sources */, - E6A50DBA27B77CAD00D7BDED /* NSAttributedString+HTML.swift in Sources */, - E66DA0C228189DC40099213C /* CameraPreviewContainerView.swift in Sources */, - F3A3C7D427A0A195006BB89B /* HeaderView.swift in Sources */, - E61676E928499B9000C9E44A /* SelfieUploader+API.swift in Sources */, - E6A50DB227B466BC00D7BDED /* TruncatedDecimal.swift in Sources */, + 548C24D5A0F63E60BC83676F /* DocumentUploaderMock.swift in Sources */, + F2BBAF668109BC42FF4FCD09 /* IdentityAPIClientTestMock.swift in Sources */, + CB3E51C6E407E6A4A1001AAC /* IdentityAnalyticsClientTestHelpers.swift in Sources */, + 9F3790F6AB77036ADCC4B2C8 /* IdentityMLModelLoaderMock.swift in Sources */, + CFA141490408B4644A4F0375 /* IdentityMockData.swift in Sources */, + 78BC6F625665CE6EAB33EA62 /* ImageScannerMock.swift in Sources */, + BA655B97F1F31F3B8BA14199 /* ImageScanningConcurrencyManagerMock.swift in Sources */, + 5DD28B1BE8DF2CC04E9190E5 /* MLDetectorMetricsTrackerMock.swift in Sources */, + AF48EAD4D52EB59134652A08 /* SnapshotTestMockData.swift in Sources */, + 74701BC18362926FDED42E5A /* VerificationFlowResult+Equatable.swift in Sources */, + A44BC25EF5F443C7D0CBB783 /* VerificationSheetControllerMock.swift in Sources */, + A6E190F4F1E9D599C2422624 /* VerificationSheetFlowControllerMock.swift in Sources */, + 9F07B2D6AEC03BCCBCCF5908 /* AnimatedBorderViewSnapshotTest.swift in Sources */, + A10A4F91CF1ECB610909ECD5 /* BiometricConsentViewControllerSnapshotTest.swift in Sources */, + 54909D14587287B674027374 /* CGImage_StripeIdentitySnapshotTest.swift in Sources */, + B729E396A57DC7E1DC3D1FBA /* DocumentScanningViewSnapshotTest.swift in Sources */, + AB4F7B2D348FAA2DD0BB40BD /* ErrorViewSnapshotTest.swift in Sources */, + AF90AF76409959324FB270EA /* HeaderIconViewSnapshotTest.swift in Sources */, + 047B7B3A70037FA1172A164C /* HeaderViewSnapshotTest.swift in Sources */, + 96C17BE1FF29C4A24FAFFDBB /* IdentityFlowViewSnapshotTest.swift in Sources */, + 7C261F9C94175AD5345D384A /* IdentityHTMLViewSnapshotTest.swift in Sources */, + 25A7B4E2E5CB3FD549F6819B /* InstructionListViewSnapshotTest.swift in Sources */, + BDF0199A4A88D5E66751A033 /* InstructionalDocumentScanningViewSnapshotTest.swift in Sources */, + 683FA0F250620BE62EFA2807 /* ListItemViewSnapshotTest.swift in Sources */, + 2B7C095E1029C163D107CF68 /* ListViewSnapshotTest.swift in Sources */, + FD6FB63B061FEABF17053225 /* NSAttributedString_HTMLSnapshotTest.swift in Sources */, + B292E22D9DD3198D44F249A7 /* SelfieCaptureViewSnapshotTest.swift in Sources */, + B6D4EF6BB1A9178AFA18675B /* SelfieScanningViewSnapshotTest.swift in Sources */, + 3E64C28D0E13D6F9F455C3F2 /* SuccessViewControllerSnapshotTest.swift in Sources */, + DCFFA11A461B012F7515941F /* VerificationFlowWebViewSnapshotTests.swift in Sources */, + 230C42264D444023F416A7A1 /* IdentityAPIClientTest.swift in Sources */, + 590772C305CDA9FE9157F92C /* TruncatedDecimalTest.swift in Sources */, + 34C09421E30F9BA262AB1532 /* CGImage+StripeIdentityUnitTest.swift in Sources */, + 3CB793BE23FC9716A0F35CCB /* IdentityElementsFactoryTest.swift in Sources */, + A41FF7CAF8EBEBCB16115DCB /* DocumentUploaderTest.swift in Sources */, + 34ABF501E050B043CE1E859C /* IdentityImageUploaderTest.swift in Sources */, + A8EDE16782B8ABEB359CADAC /* IdentityVerificationSheetTest.swift in Sources */, + F2F041A9228AFAEFCB8A03B7 /* VerificationSheetControllerTest.swift in Sources */, + 28CAAFE7E31A8D17233615F3 /* VerificationSheetFlowControllerTest.swift in Sources */, + C55B74FEDC0B7033143CA347 /* IdentityFlowNavigationControllerTest.swift in Sources */, + 8E420E7B59168A4B81C19123 /* BiometricConsentViewControllerTest.swift in Sources */, + 54C882D8194AC39EB58BCDE7 /* DocumentCaptureViewControllerTest.swift in Sources */, + 99243751D031F96B17286315 /* DocumentFileUploadViewControllerTest.swift in Sources */, + 2F13AF5BC25FF74743D55503 /* DocumentTypeSelectViewControllerTest.swift in Sources */, + C63EAF360DB9887856543E68 /* ErrorViewControllerTest.swift in Sources */, + 8DACF642D2E0C5FE35637EAE /* VerificationClientSecretTest.swift in Sources */, + A7B8782A3E807D11A6E6A239 /* VerificationSheetAnalyticsTest.swift in Sources */, + 4D4430064CB7F2CE3AD3266A /* VerificationFlowWebViewControllerTest.swift in Sources */, + 5B4F08774CC9CA1D93216D0D /* VerificationFlowWebViewTest.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6E146AC26950E1E007BDCD8 /* Sources */ = { + 3DCE29146A781338C4D3AC2A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E663658B28581F71006A4679 /* IdentityAnalyticsClientTestHelpers.swift in Sources */, - E6A50DB027B35A7500D7BDED /* InstructionalDocumentScanningViewSnapshotTest.swift in Sources */, - E61C32462797AEA2008A30D4 /* DocumentFileUploadViewControllerTest.swift in Sources */, - E6D6576927BB062F00AF4212 /* BiometricConsentViewControllerSnapshotTest.swift in Sources */, - F311D59E27A279B700AD8123 /* SnapshotTestMockData.swift in Sources */, - E657B58827680D2A00134033 /* CGImage_StripeIdentitySnapshotTest.swift in Sources */, - E6A50DB427B4858A00D7BDED /* TruncatedDecimalTest.swift in Sources */, - E657B5862764307600134033 /* CGImage+StripeIdentityUnitTest.swift in Sources */, - F311D59A27A2786100AD8123 /* HeaderViewSnapshotTest.swift in Sources */, - E612B11A2746046000A258C1 /* VerificationFlowResult+Equatable.swift in Sources */, - E6AF1EE9269FDA020091BE99 /* VerificationFlowWebViewSnapshotTests.swift in Sources */, - E67776A2278E13B9003C5DB5 /* ListItemViewSnapshotTest.swift in Sources */, - F3FA474527ADD5DA0045AB4B /* IdentityFlowViewSnapshotTest.swift in Sources */, - F3680E0027A9C6ED00A8796A /* HeaderIconViewSnapshotTest.swift in Sources */, - E6ABED6D276C1BF8007F6D89 /* DocumentUploaderMock.swift in Sources */, - E6548EFD272A074D00F399B2 /* IdentityAPIClientTest.swift in Sources */, - E666A51A2736243D001DE130 /* VerificationSheetFlowControllerMock.swift in Sources */, - E651A4C927890BAB0009506E /* DocumentUploaderTest.swift in Sources */, - F383FB4727B5D52C00E19E52 /* ErrorViewSnapshotTest.swift in Sources */, - E612B1182746028000A258C1 /* IdentityFlowNavigationControllerTest.swift in Sources */, - E6395966285D691E00DA947D /* MLDetectorMetricsTrackerMock.swift in Sources */, - E6548F8A2734AEBA00F399B2 /* IdentityAPIClientTestMock.swift in Sources */, - E67A1E49273DD92D00977F63 /* DocumentCaptureViewControllerTest.swift in Sources */, - E6A50DBE27B77F9D00D7BDED /* NSAttributedString_HTMLSnapshotTest.swift in Sources */, - E6D6577D27BF314200AF4212 /* InstructionListViewSnapshotTest.swift in Sources */, - E66DA0C72818ACCB0099213C /* SelfieScanningViewSnapshotTest.swift in Sources */, - E6A50DAE27B341A000D7BDED /* DocumentScanningViewSnapshotTest.swift in Sources */, - E666A51C27362946001DE130 /* VerificationSheetControllerMock.swift in Sources */, - E6AF1EE3269FD9970091BE99 /* IdentityVerificationSheetTest.swift in Sources */, - E6D6576727BB041600AF4212 /* BiometricConsentViewControllerTest.swift in Sources */, - E659A0AA282C8E3D00DF8C0C /* ImageScanningConcurrencyManagerMock.swift in Sources */, - E6AF1EE2269FD9970091BE99 /* VerificationFlowWebViewControllerTest.swift in Sources */, - E6AF1EE4269FD9970091BE99 /* VerificationFlowWebViewTest.swift in Sources */, - E65129ED27AA922500586A1F /* IdentityMLModelLoaderMock.swift in Sources */, - E6548F7D27339AC000F399B2 /* VerificationSheetFlowControllerTest.swift in Sources */, - E6A50DCA27B8395400D7BDED /* IdentityHTMLViewSnapshotTest.swift in Sources */, - E6D6576B27BBB3C600AF4212 /* SuccessViewControllerSnapshotTest.swift in Sources */, - E6548EF82729BFC500F399B2 /* VerificationSheetControllerTest.swift in Sources */, - E6AADF32286A970600C46665 /* ErrorViewControllerTest.swift in Sources */, - E6AF1EE1269FD9970091BE99 /* VerificationClientSecretTest.swift in Sources */, - E61676D62846F2D000C9E44A /* IdentityImageUploaderTest.swift in Sources */, - E666A51627361C91001DE130 /* DocumentTypeSelectViewControllerTest.swift in Sources */, - E66DA0FB2824BF140099213C /* SelfieCaptureViewSnapshotTest.swift in Sources */, - E606937A270435FF00742859 /* IdentityElementsFactoryTest.swift in Sources */, - E6AF1EE5269FD9970091BE99 /* VerificationSheetAnalyticsTest.swift in Sources */, - E6E4AF4827C1D16C00F55330 /* AnimatedBorderViewSnapshotTest.swift in Sources */, - E6548EF52729BE6B00F399B2 /* IdentityMockData.swift in Sources */, - E662FC8E278E3094005B0DAD /* ListViewSnapshotTest.swift in Sources */, - E67A1E53273DF31100977F63 /* ImageScannerMock.swift in Sources */, + EA2A1C7D4A9FB826A2146808 /* DocumentScanner+API.swift in Sources */, + C378303DE7D3674CE4C771B7 /* DocumentType+StripeIdentity.swift in Sources */, + F1CA28CC435B94C289B08257 /* DocumentUploader+API.swift in Sources */, + 0CC741018E3A07A925A4CCC3 /* FaceScanner+API.swift in Sources */, + F831E6E67E7F9057FED3F4B8 /* IdentityAPIClient.swift in Sources */, + DB6005016F47D09559DA0C98 /* DocumentType.swift in Sources */, + E15D79E05C4FA68CA56B0CC8 /* TruncatedDecimal.swift in Sources */, + 1A85FB72FDFB361FE71C81C8 /* VerificationPage.swift in Sources */, + CB3C71FE1DCD8632B5ADBC5F /* VerificationPageFieldType.swift in Sources */, + D3DA8FAC2DD250C34075FBC0 /* VerificationPageRequirements.swift in Sources */, + FA9F01846614FC4B30FDBF82 /* VerificationPageStaticContentConsentPage.swift in Sources */, + 934D31A211E71520985D1D96 /* VerificationPageStaticContentDocumentCaptureModels.swift in Sources */, + 2C8C7EF7F7E594FD8E4171E7 /* VerificationPageStaticContentDocumentCapturePage.swift in Sources */, + 3C553B8ADA8136498FF8E011 /* VerificationPageStaticContentDocumentSelectPage.swift in Sources */, + E5B984BE9EFC4E87D1866CB3 /* VerificationPageStaticContentSelfieModels.swift in Sources */, + A8D87710369D0DCB43E481FF /* VerificationPageStaticContentSelfiePage.swift in Sources */, + 0825B219E9B618265CDF5E89 /* VerificationPageStaticContentTextPage.swift in Sources */, + 56583B45EA53659E843E35F6 /* VerificationPageData.swift in Sources */, + 3D9D1BA3B4C7E2464D457FF7 /* VerificationPageDataRequirementError.swift in Sources */, + F1DAE15C305F9733A7C40673 /* VerificationPageDataRequirements.swift in Sources */, + 87A4B9B848DF1CFA11F32FC4 /* VerificationPageClearData.swift in Sources */, + 5BC21FBB6B4A1B1C8EC04270 /* VerificationPageCollectedData.swift in Sources */, + 4E44D8C9967E301DB34EB6F0 /* VerificationPageDataDocumentFileData.swift in Sources */, + 47E285A86960CDE275E5EA53 /* VerificationPageDataFace.swift in Sources */, + E64EE8A82FFB624F981D7E17 /* VerificationPageDataUpdate.swift in Sources */, + 92B9210AA596D5A135F24710 /* SelfieUploader+API.swift in Sources */, + 66BD1F1CB366B61D1ECD0E84 /* IdentityAnalyticsClient.swift in Sources */, + 924DE7C0E856DD2C5B80D53A /* Array+StripeIdentity.swift in Sources */, + 1E48ABBE603C4DB065DD2093 /* CGImage+StripeIdentity.swift in Sources */, + FDB82DE4F471545F5D7B4CCA /* MLMultiArray+StripeIdentity.swift in Sources */, + C5E8CA0B4DFEF0F017AEE8D7 /* NSAttributedString+HTML.swift in Sources */, + 1DB3040542D8274848932380 /* TimeInterval+StripeIdentity.swift in Sources */, + 867C0D3782143FC44501485C /* UINavigationController+StripeIdentity.swift in Sources */, + 24E6928BEA4044DB779D4189 /* VNBarcodeSymbology+StripeIdentity.swift in Sources */, + 882C201AF4C8F48816DB740F /* IdentityElementsFactory.swift in Sources */, + 28D0DEBE960D92E18CEB4D71 /* Enums+CustomStringConvertible.swift in Sources */, + 2522A0773650573501106F4D /* Image.swift in Sources */, + 063C2C263111DA52ECC92DC0 /* STPLocalizedString.swift in Sources */, + CF5E139AD71239C64376815D /* String+Localized.swift in Sources */, + A9C41FB2EB8034BCCD6CAC29 /* StripeIdentityBundleLocator.swift in Sources */, + 6A1B2E52B09C2D436CF7794D /* IdentityVerificationSheet.swift in Sources */, + 2E943A5B252D7927CE3C32E3 /* IdentityVerificationSheetError.swift in Sources */, + 4FAB896404856F5AED99B89B /* DocumentScanner.swift in Sources */, + 9D73810AC9A6AF921038DC54 /* DocumentScannerConfiguration.swift in Sources */, + 4F20C4AF111778413B77DA22 /* DocumentScannerOutput.swift in Sources */, + 33F0FF8DB7D784C95647B693 /* FaceCaptureData.swift in Sources */, + 4A824CD6A0A518F616D428CF /* FaceScanner.swift in Sources */, + 541CA755717969560BF2C694 /* FaceScannerConfiguration.swift in Sources */, + 29E974CDD5827CF390349EA4 /* FaceScannerOutput.swift in Sources */, + 6B8DDA62E6ABFBC770A8AC86 /* ImageScanner.swift in Sources */, + 8E5D382BF426061CDD83197B /* ImageScanningConcurrencyManager.swift in Sources */, + 4E6AF5DD963FAB8B6E06F482 /* ImageScanningSession.swift in Sources */, + C4BBB6E780EA8288EB46E795 /* ImageScanningSessionDelegate.swift in Sources */, + 12542E187994CC0683E2E3D8 /* DocumentUploader.swift in Sources */, + B2377EEDCE440269E0766410 /* IdentityImageUploader.swift in Sources */, + 60B3D5B1B19D31D69D5049A0 /* SelfieUploader.swift in Sources */, + 46A6C4DCF553DF24F3674002 /* VerificationSheetController.swift in Sources */, + 981D82CFC8B9EBF104B166F7 /* VerificationSheetFlowController.swift in Sources */, + 752E548B7E39B3CD8FC2F76A /* VerificationSheetFlowControllerError.swift in Sources */, + AD1ADA8B98C1FDB5C8C0A39F /* BarcodeDetector.swift in Sources */, + F146D14E6D35174CB94A8A48 /* FaceDetector.swift in Sources */, + EF277282173FFF6A52FE1EA3 /* FaceDetectorOutput.swift in Sources */, + ADA2674008520B832585A8EE /* IDDetector.swift in Sources */, + D19E35C5D5263F212071AE75 /* IDDetectorConstants.swift in Sources */, + 4E39FB668EC68320579F23BC /* IDDetectorOutput.swift in Sources */, + 349A4B5CC24DF5539B773A84 /* MLDetectorConfiguration.swift in Sources */, + AF16352FECF8EE27ECD6AAC9 /* MLDetectorMetricsTracker.swift in Sources */, + 3F9FB3BC02DDC7BCF4207F73 /* MotionBlurDetector.swift in Sources */, + 79BA026188FE0DB22ECE1BB0 /* VisionBasedDetector.swift in Sources */, + 9665F0EF90739A5D033C03A6 /* DocumentSide.swift in Sources */, + 286BF86B773F41210E015B2B /* IdentityDataCollecting.swift in Sources */, + 0FBE6D53EBE7C2B93DEA34B4 /* IdentityFlowNavigationController.swift in Sources */, + BFA24F4BD97F5BE9F5C0E934 /* IdentityUI.swift in Sources */, + 51DCAEAEEA0B32038A989A51 /* MLModelLoader.swift in Sources */, + C5DB8461793523F9488DBBFA /* MLModelUnexpectedOutputError.swift in Sources */, + B8E47E623C9E4DAF53C3520C /* NonMaxSuppression.swift in Sources */, + DCFBA69CC4437E2E6061F50B /* IdentityMLModelLoader.swift in Sources */, + 905C6BC4E70CAF4AAFEAE246 /* BiometricConsentViewController.swift in Sources */, + 86B2EFF1DEE73738EB454F4D /* DocumentCaptureViewController+Strings.swift in Sources */, + A030F131A965131A67388D97 /* DocumentCaptureViewController.swift in Sources */, + 22C7DF527FAF0642A0850DEA /* DocumentFileUploadViewController+Strings.swift in Sources */, + 72461D38E6D468AAEC5BBFF6 /* DocumentFileUploadViewController.swift in Sources */, + 3B3012E73D8B4820362F25BD /* DocumentTypeSelectViewController.swift in Sources */, + 6174B8E57AEB44661C5B08E3 /* ErrorViewController.swift in Sources */, + C8A9ABCDD7A384756CC382D1 /* IdentityFlowViewController.swift in Sources */, + 2225D341AE96C5168C350C72 /* IndividualViewController.swift in Sources */, + 9A9B9B47F9CDA8AD1788A411 /* LoadingViewController.swift in Sources */, + 9873265F2244B937E83F56BC /* SelfieCaptureViewController+Strings.swift in Sources */, + 6BD9AE7267A9A43C740D7416 /* SelfieCaptureViewController.swift in Sources */, + 91C23784E05401CA9EF37140 /* SuccessViewController.swift in Sources */, + 87927769E26B4189FB24D0C2 /* BottomAlignedLabel.swift in Sources */, + 1ECF04022C1481B12FC86D05 /* CameraPreviewContainerView.swift in Sources */, + 0A0B05F751A02CF3AB9E24DF /* ContentCenteringScrollView.swift in Sources */, + 4C9D354F6C1E9E89B13D0367 /* AnimatedBorderView.swift in Sources */, + 8EB5D825D1ADC9DAB6E7D5A3 /* DocumentCaptureView.swift in Sources */, + BD4686589B16ED96A748CCA8 /* DocumentScanningView.swift in Sources */, + CE7F2D308363EEDD627AEBF7 /* InstructionalDocumentScanningView.swift in Sources */, + 320565753A6D528A24336934 /* ErrorView.swift in Sources */, + A47A4BB7D62116CAA3D29C2A /* HeaderIconView.swift in Sources */, + 0BA47205B2A7EE905006AFDF /* HeaderView.swift in Sources */, + 87994273B34C4783F92EF8FB /* IdentityFlowView.swift in Sources */, + 7F55104D44AE746B5E686780 /* HTMLTextView.swift in Sources */, + 2F330EA97B99545A50328BDD /* HTMLViewWithIconLabels.swift in Sources */, + 68BB1FEB385D943EC3CC926B /* IconLabelHTMLView.swift in Sources */, + 5F569781EFCC445502DA574F /* InstructionListView.swift in Sources */, + 7CA57E67AC14DA90AE87743B /* ListItemView.swift in Sources */, + A8EEE8C2CD83374877393E8C /* ListView.swift in Sources */, + C9E49126B9BEC74E605C6DD0 /* SelfieCaptureView.swift in Sources */, + C1AA4B758A20557CDBE72FD9 /* SelfieScanningView.swift in Sources */, + 37BCABAD8160BF4D14FA6449 /* ShadowConfiguration.swift in Sources */, + 75AC5A117C885FBD0746291E /* ShadowedCorneredImageView.swift in Sources */, + AB6B3BDF7D8F3F84EEA7208A /* StripeCore+Import.swift in Sources */, + CBA4B3CAFDFF232B72393842 /* VerificationClientSecret.swift in Sources */, + 1D4D9CDF6B1D335963849940 /* VerificationSheetAnalytics.swift in Sources */, + 4A6D49DED2555FBDACF13B3F /* VerificationFlowWebView.swift in Sources */, + 5E00E8AC4088548403B3E630 /* VerificationFlowWebViewController.swift in Sources */, + 76890B79CA3C83BBD7362065 /* VerifyWebURLHelper.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - E6E146B326950E1E007BDCD8 /* PBXTargetDependency */ = { + 90F68D87EFF3F3EE0E36B03A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = E6E146A626950E1E007BDCD8 /* StripeIdentity */; - targetProxy = E6E146B226950E1E007BDCD8 /* PBXContainerItemProxy */; + name = StripeIdentity; + target = F251015845B21C036CFBC636 /* StripeIdentity */; + targetProxy = C5559AE430066C0A94C2686A /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - E6465103269E1E0B002EC424 /* Localizable.strings */ = { + 989A2C5379C60B9F0E0E2711 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - E6465104269E1E0B002EC424 /* de */, - E6465105269E1E0B002EC424 /* zh-Hans */, - E6465106269E1E0B002EC424 /* ja */, - E6465107269E1E0B002EC424 /* en */, - E6465108269E1E0B002EC424 /* zh-HK */, - E6465109269E1E0B002EC424 /* mt */, - E646510A269E1E0B002EC424 /* nb */, - E646510B269E1E0B002EC424 /* en-GB */, - E646510C269E1E0B002EC424 /* es */, - E646510D269E1E0B002EC424 /* da */, - E646510E269E1E0B002EC424 /* es-419 */, - E646510F269E1E0B002EC424 /* it */, - E6465110269E1E0B002EC424 /* nn-NO */, - E6465111269E1E0B002EC424 /* fr-CA */, - E6465112269E1E0B002EC424 /* sv */, - E6465113269E1E0B002EC424 /* ko */, - E6465114269E1E0B002EC424 /* zh-Hant */, - E6465115269E1E0B002EC424 /* hu */, - E6465116269E1E0B002EC424 /* tr */, - E6465117269E1E0B002EC424 /* pt-BR */, - E6465118269E1E0B002EC424 /* ru */, - E6465119269E1E0B002EC424 /* fr */, - E646511A269E1E0B002EC424 /* fi */, - E646511B269E1E0B002EC424 /* nl */, - E646511C269E1E0B002EC424 /* pt-PT */, - 36F4BC7C26C1BBE0001518CD /* hr */, - 36F4BC8526C1BCCF001518CD /* fil */, - 36F4BC9E26C1BDEF001518CD /* vi */, - 36F4BCA626C1BE96001518CD /* id */, - 36064BA426D6E70C002A8AAA /* ms-MY */, - 36064BBD26D832F8002A8AAA /* bg-BG */, - 36064BBE26D83313002A8AAA /* ca-ES */, - 36064BBF26D8331F002A8AAA /* cs-CZ */, - 36064BC426D833C3002A8AAA /* et-EE */, - 36064BCC26D8349C002A8AAA /* el-GR */, - 36064BD426D8352F002A8AAA /* lt-LT */, - 36064BDC26D835C6002A8AAA /* lv-LV */, - 36064BE426D8363E002A8AAA /* pl-PL */, - 36064BEC26D836BC002A8AAA /* ro-RO */, - 36064BF426D837A2002A8AAA /* sk-SK */, - 36064BFC26D8383E002A8AAA /* sl-SI */, + AD8443DFD20A6F7E547E4DAE /* bg-BG */, + 005EAC562365676CE56F306D /* ca-ES */, + 0CFB27562E05409A1C0263EA /* cs-CZ */, + F524F862B05C4744F3A5FCD4 /* da */, + 3954F595B70115874BD88CCC /* de */, + D105F7A265B60FE9AD82B0DF /* el-GR */, + 6182719E4413B5136BB763D1 /* en */, + F8521F2AA5740FAB9952B58E /* en-GB */, + F48A3390B6B74481B1F64EC6 /* es */, + 52DD224D2BE08E0553EF8AA6 /* es-419 */, + 0AFAC8C1757DE685E0E9BFB3 /* et-EE */, + 80F9C4B0CFCD5FF45D203B62 /* fi */, + 3118D24F94912E8A9BB86BFE /* fil */, + AE92BAAC65F86A87F25B9C08 /* fr */, + 7EAFBBEEA27B11E702B78497 /* fr-CA */, + F44D3A78A44A0EB11BA51E5F /* hr */, + CF2EEA927FA9ACE159A67063 /* hu */, + 4A59C0CC87CDB7AABFE96686 /* id */, + F46E474400B21A35FA6066F8 /* it */, + EB9B2148051885B8591A13DE /* ja */, + 704D26339D2158FD8FADE1C2 /* ko */, + 22B3E26EBB8F43F7559C635B /* lt-LT */, + FB119F30000F66B9660A44E8 /* lv-LV */, + E6C2F1CDF5594786FB4BAA49 /* ms-MY */, + 6BC7102DF0964D1204E2BFEB /* mt */, + 2FAE3BFE9870AF3F0553AB9C /* nb */, + F8103B1FD36D79D22EACF7EE /* nl */, + 5B975279521B43A8F82EBAB3 /* nn-NO */, + 9A5A1304CA30DC06B715BD92 /* pl-PL */, + F43124EF97ADAB2BD1B7DEE2 /* pt-BR */, + 74D9040BDF0DBA526C156C3D /* pt-PT */, + 2FC476BFBFA09FDC174857A6 /* ro-RO */, + 40DAFA9171B6D631DE9B6830 /* ru */, + F9D552632FFF310FC6A4DB26 /* sk-SK */, + 2344DA31ADA3573F9C2EE7A0 /* sl-SI */, + 0ACA3969442F9B14DF70ABE7 /* sv */, + C4891127AAACF7829BEE80E2 /* tr */, + 0631A038B5360C337B8E596C /* vi */, + 598A711C4A2B8988EFBEEF77 /* zh-Hans */, + E3A5A9765EF649A580A0519F /* zh-Hant */, + B634C1568CBC56B3E33CE3E2 /* zh-HK */, ); name = Localizable.strings; sourceTree = ""; @@ -1538,145 +1538,98 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - E6E146B926950E1E007BDCD8 /* Debug */ = { + 02EBEC1B77551185440D525C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6E146CA26950E64007BDCD8 /* Project-Debug.xcconfig */; + baseConfigurationReference = 434BC5FFBC1163872413A40A /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + INFOPLIST_FILE = StripeIdentityTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeIdentityTests; + PRODUCT_NAME = StripeIdentityTests; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - E6E146BA26950E1E007BDCD8 /* Release */ = { + 10F159BEF3E08EF01CDA43CB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6E146C426950E64007BDCD8 /* Project-Release.xcconfig */; + baseConfigurationReference = E850C3F1FEA42490F1B3761E /* StripeiOS-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + INFOPLIST_FILE = StripeIdentity/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-identity"; + PRODUCT_NAME = StripeIdentity; + SDKROOT = iphoneos; }; name = Release; }; - E6E146BC26950E1E007BDCD8 /* Debug */ = { + 41CCDE6EB399A8EBA8367328 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6E146C326950E64007BDCD8 /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 4F6B26A21285054BEE9CA244 /* Project-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = StripeIdentity/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-identity"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; }; name = Debug; }; - E6E146BD26950E1E007BDCD8 /* Release */ = { + 80564639A42659CBBA6AD565 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6E146CB26950E64007BDCD8 /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = A163E1EC771058E5DF5FFE66 /* Project-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = StripeIdentity/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-identity"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_VERSION = 5.0; }; name = Release; }; - E6E146BF26950E1E007BDCD8 /* Debug */ = { + 95BCFF11E6F19877B02921C2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6E146C226950E64007BDCD8 /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = B17C20418C972E7B06B84370 /* StripeiOS-Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeIdentityTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeIdentityTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripeIdentity/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-identity"; + PRODUCT_NAME = StripeIdentity; + SDKROOT = iphoneos; }; name = Debug; }; - E6E146C026950E1E007BDCD8 /* Release */ = { + ACBD80600170C45C9CC051A4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6E146C526950E64007BDCD8 /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = 8605B809AD7EBA140CC9DBE9 /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeIdentityTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeIdentityTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeIdentityTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeIdentityTests; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - E6E146A126950E1E007BDCD8 /* Build configuration list for PBXProject "StripeIdentity" */ = { + 7C14F7F327D79A07F63042E0 /* Build configuration list for PBXNativeTarget "StripeIdentityTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - E6E146B926950E1E007BDCD8 /* Debug */, - E6E146BA26950E1E007BDCD8 /* Release */, + ACBD80600170C45C9CC051A4 /* Debug */, + 02EBEC1B77551185440D525C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E6E146BB26950E1E007BDCD8 /* Build configuration list for PBXNativeTarget "StripeIdentity" */ = { + 8BD83D322879659AB98AEA29 /* Build configuration list for PBXProject "StripeIdentity" */ = { isa = XCConfigurationList; buildConfigurations = ( - E6E146BC26950E1E007BDCD8 /* Debug */, - E6E146BD26950E1E007BDCD8 /* Release */, + 41CCDE6EB399A8EBA8367328 /* Debug */, + 80564639A42659CBBA6AD565 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E6E146BE26950E1E007BDCD8 /* Build configuration list for PBXNativeTarget "StripeIdentityTests" */ = { + 9E28A14ACC690D35FD59690A /* Build configuration list for PBXNativeTarget "StripeIdentity" */ = { isa = XCConfigurationList; buildConfigurations = ( - E6E146BF26950E1E007BDCD8 /* Debug */, - E6E146C026950E1E007BDCD8 /* Release */, + 95BCFF11E6F19877B02921C2 /* Debug */, + 10F159BEF3E08EF01CDA43CB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1684,7 +1637,7 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - E254413A28FDEEFE00C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { + 1034C700B96E0B79C2107621 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/uber/ios-snapshot-test-case"; requirement = { @@ -1695,12 +1648,11 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - E254413D28FDEF0500C6F5D3 /* iOSSnapshotTestCase */ = { + 960247DC321CBDB422FE713D /* iOSSnapshotTestCase */ = { isa = XCSwiftPackageProductDependency; - package = E254413A28FDEEFE00C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */; productName = iOSSnapshotTestCase; }; /* End XCSwiftPackageProductDependency section */ }; - rootObject = E6E1469E26950E1E007BDCD8 /* Project object */; + rootObject = 0705CAA185B63201FD561508 /* Project object */; } diff --git a/StripeIdentity/StripeIdentity.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripeIdentity/StripeIdentity.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripeIdentity/StripeIdentity.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripeIdentity/StripeIdentity.xcodeproj/xcshareddata/xcschemes/StripeIdentity.xcscheme b/StripeIdentity/StripeIdentity.xcodeproj/xcshareddata/xcschemes/StripeIdentity.xcscheme index 3ba9216a3d3..eb7e1bc2127 100644 --- a/StripeIdentity/StripeIdentity.xcodeproj/xcshareddata/xcschemes/StripeIdentity.xcscheme +++ b/StripeIdentity/StripeIdentity.xcodeproj/xcshareddata/xcschemes/StripeIdentity.xcscheme @@ -1,6 +1,6 @@ @@ -30,31 +30,33 @@ - - - - + + + + + + + + + + diff --git a/StripePaymentSheet.podspec b/StripePaymentSheet.podspec index db814526caf..1b0e27f5299 100644 --- a/StripePaymentSheet.podspec +++ b/StripePaymentSheet.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = '13.0' s.swift_version = '5.0' s.weak_framework = 'SwiftUI' - s.source_files = 'StripePaymentSheet/StripePaymentSheet/**/*.swift' + s.source_files = 'StripePaymentSheet/StripePaymentSheet/Source/**/*.swift' s.ios.resource_bundle = { 'StripePaymentSheet' => 'StripePaymentSheet/StripePaymentSheet/Resources/**/*.{lproj,png,xcassets,json}' } s.dependency 'StripeCore', s.version.to_s s.dependency 'StripePayments', s.version.to_s diff --git a/StripePaymentSheet/Project.swift b/StripePaymentSheet/Project.swift new file mode 100644 index 00000000000..ce7432d8e45 --- /dev/null +++ b/StripePaymentSheet/Project.swift @@ -0,0 +1,16 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripePaymentSheet", + resources: "StripePaymentSheet/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "StripePaymentsUI", path: "//StripePaymentsUI"), + ], + unitTestOptions: .testOptions() +) diff --git a/StripePaymentSheet/StripePaymentSheet.xcodeproj/project.pbxproj b/StripePaymentSheet/StripePaymentSheet.xcodeproj/project.pbxproj index 251b546bcb5..7a44d297290 100644 --- a/StripePaymentSheet/StripePaymentSheet.xcodeproj/project.pbxproj +++ b/StripePaymentSheet/StripePaymentSheet.xcodeproj/project.pbxproj @@ -3,1707 +3,1725 @@ archiveVersion = 1; classes = { }; - objectVersion = 55; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 310F6FBF28D4F55600C9580D /* LinkVerificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FB628D4F55600C9580D /* LinkVerificationViewController.swift */; }; - 310F6FC028D4F55600C9580D /* LinkCookieKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FB728D4F55600C9580D /* LinkCookieKey.swift */; }; - 310F6FC128D4F55600C9580D /* LinkAccountContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FB828D4F55600C9580D /* LinkAccountContext.swift */; }; - 310F6FC228D4F55600C9580D /* LinkVerificationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FB928D4F55600C9580D /* LinkVerificationView.swift */; }; - 310F6FC328D4F55600C9580D /* LinkUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FBA28D4F55600C9580D /* LinkUtils.swift */; }; - 310F6FC428D4F55600C9580D /* LinkVerificationViewController-PresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FBB28D4F55600C9580D /* LinkVerificationViewController-PresentationController.swift */; }; - 310F6FC528D4F55600C9580D /* LinkVerificationView-Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FBC28D4F55600C9580D /* LinkVerificationView-Header.swift */; }; - 310F6FC628D4F55600C9580D /* LinkVerificationView-LogoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FBD28D4F55600C9580D /* LinkVerificationView-LogoutView.swift */; }; - 310F6FC728D4F55600C9580D /* LinkVerificationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FBE28D4F55600C9580D /* LinkVerificationController.swift */; }; - 310F6FC928D4F57B00C9580D /* Locale+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FC828D4F57B00C9580D /* Locale+Link.swift */; }; - 310F6FCF28D4F5B300C9580D /* BottomSheetPresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FCB28D4F5B300C9580D /* BottomSheetPresentable.swift */; }; - 310F6FD028D4F5B300C9580D /* BottomSheetPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FCC28D4F5B300C9580D /* BottomSheetPresentationController.swift */; }; - 310F6FD128D4F5B300C9580D /* BottomSheetTransitioningDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FCD28D4F5B300C9580D /* BottomSheetTransitioningDelegate.swift */; }; - 310F6FD228D4F5B300C9580D /* BottomSheetPresentationAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FCE28D4F5B300C9580D /* BottomSheetPresentationAnimator.swift */; }; - 310F6FD728D4F9E200C9580D /* AddressViewController+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FD528D4F9E200C9580D /* AddressViewController+Configuration.swift */; }; - 310F6FD828D4F9E200C9580D /* AddressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FD628D4F9E200C9580D /* AddressViewController.swift */; }; - 310F6FDB28D4FA3200C9580D /* PaymentSheet-LinkConfirmOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FDA28D4FA3200C9580D /* PaymentSheet-LinkConfirmOption.swift */; }; - 310F6FDD28D4FA4100C9580D /* PayWithLinkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FDC28D4FA4100C9580D /* PayWithLinkController.swift */; }; - 310F6FDF28D4FA5E00C9580D /* UIViewController+BottomSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FDE28D4FA5E00C9580D /* UIViewController+BottomSheet.swift */; }; - 310F6FE228D4FAE700C9580D /* STPAnalyticsClient+Address.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FE028D4FAE700C9580D /* STPAnalyticsClient+Address.swift */; }; - 310F6FE328D4FAE700C9580D /* STPAnalyticsClient+LUXE.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FE128D4FAE700C9580D /* STPAnalyticsClient+LUXE.swift */; }; - 310F6FE728D5346D00C9580D /* STPAPIClient+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FE628D5346D00C9580D /* STPAPIClient+PaymentSheet.swift */; }; - 310F6FE928D5361200C9580D /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310F6FE828D5361200C9580D /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift */; }; - 31138E8428DCDEAC008AF554 /* FormSpecPaymentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31138E8328DCDEAC008AF554 /* FormSpecPaymentHandler.swift */; }; - 31138E8928DD1E63008AF554 /* DictionaryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31138E8828DD1E63008AF554 /* DictionaryTests.swift */; }; - 31138E8C28DE11DA008AF554 /* clearpay_mark_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 31138E8A28DE11DA008AF554 /* clearpay_mark_dark@3x.png */; }; - 31138E8D28DE11DA008AF554 /* clearpay_mark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 31138E8B28DE11DA008AF554 /* clearpay_mark@3x.png */; }; - 31226FA1286E3A290007ED5E /* TextFieldElement+Card.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226F9F286E3A290007ED5E /* TextFieldElement+Card.swift */; }; - 31226FA2286E3A290007ED5E /* TextFieldElement+IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FA0286E3A290007ED5E /* TextFieldElement+IBAN.swift */; }; - 31226FA5286E3A2F0007ED5E /* ConnectionsElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FA3286E3A2F0007ED5E /* ConnectionsElement.swift */; }; - 31226FA6286E3A2F0007ED5E /* LinkEnabledPaymentMethodElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FA4286E3A2F0007ED5E /* LinkEnabledPaymentMethodElement.swift */; }; - 31226FA9286E3A3C0007ED5E /* CardSectionWithScannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FA7286E3A3C0007ED5E /* CardSectionWithScannerView.swift */; }; - 31226FAA286E3A3C0007ED5E /* CardSectionWithScannerElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FA8286E3A3C0007ED5E /* CardSectionWithScannerElement.swift */; }; - 31226FAD286E3A440007ED5E /* PaymentMethodElementWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FAB286E3A440007ED5E /* PaymentMethodElementWrapper.swift */; }; - 31226FAE286E3A440007ED5E /* PaymentMethodElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FAC286E3A440007ED5E /* PaymentMethodElement.swift */; }; - 31226FBF286E3A6A0007ED5E /* STPAnalyticsClient+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FAF286E3A680007ED5E /* STPAnalyticsClient+PaymentSheet.swift */; }; - 31226FC0286E3A6A0007ED5E /* STPApplePayContext+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB0286E3A680007ED5E /* STPApplePayContext+PaymentSheet.swift */; }; - 31226FC1286E3A6A0007ED5E /* PaymentSheetConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB1286E3A680007ED5E /* PaymentSheetConfiguration.swift */; }; - 31226FC2286E3A6A0007ED5E /* Intent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB2286E3A690007ED5E /* Intent.swift */; }; - 31226FC3286E3A6A0007ED5E /* PollingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB3286E3A690007ED5E /* PollingViewController.swift */; }; - 31226FC4286E3A6A0007ED5E /* PaymentSheet+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB4286E3A690007ED5E /* PaymentSheet+API.swift */; }; - 31226FC5286E3A6A0007ED5E /* PaymentSheetAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB5286E3A690007ED5E /* PaymentSheetAppearance.swift */; }; - 31226FC6286E3A6A0007ED5E /* KlarnaHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB6286E3A690007ED5E /* KlarnaHelper.swift */; }; - 31226FC7286E3A6A0007ED5E /* PaymentSheet+PaymentMethodAvailability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB7286E3A690007ED5E /* PaymentSheet+PaymentMethodAvailability.swift */; }; - 31226FC8286E3A6A0007ED5E /* Error+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB8286E3A690007ED5E /* Error+PaymentSheet.swift */; }; - 31226FC9286E3A6A0007ED5E /* PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FB9286E3A690007ED5E /* PaymentSheet.swift */; }; - 31226FCA286E3A6A0007ED5E /* PaymentSheetError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FBA286E3A690007ED5E /* PaymentSheetError.swift */; }; - 31226FCB286E3A6A0007ED5E /* PaymentSheet+SwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FBB286E3A690007ED5E /* PaymentSheet+SwiftUI.swift */; }; - 31226FCC286E3A6A0007ED5E /* PaymentOption+Images.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FBC286E3A6A0007ED5E /* PaymentOption+Images.swift */; }; - 31226FCD286E3A6A0007ED5E /* PaymentMethodType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FBD286E3A6A0007ED5E /* PaymentMethodType.swift */; }; - 31226FD9286E3AC50007ED5E /* PaymentMethodTypeCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FD6286E3AC50007ED5E /* PaymentMethodTypeCollectionView.swift */; }; - 31226FDA286E3AC50007ED5E /* WalletHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FD7286E3AC50007ED5E /* WalletHeaderView.swift */; }; - 31226FDB286E3AC50007ED5E /* AddPaymentMethodViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FD8286E3AC50007ED5E /* AddPaymentMethodViewController.swift */; }; - 31226FE0286E3AE50007ED5E /* PaymentSheetFormFactory+FormSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FDD286E3AE50007ED5E /* PaymentSheetFormFactory+FormSpec.swift */; }; - 31226FE1286E3AE50007ED5E /* PaymentSheetFormFactory+Card.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FDE286E3AE50007ED5E /* PaymentSheetFormFactory+Card.swift */; }; - 31226FE2286E3AE50007ED5E /* PaymentSheetFormFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FDF286E3AE50007ED5E /* PaymentSheetFormFactory.swift */; }; - 31226FE5286E3AEC0007ED5E /* FormSpecProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FE3286E3AEC0007ED5E /* FormSpecProvider.swift */; }; - 31226FE6286E3AEC0007ED5E /* FormSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FE4286E3AEC0007ED5E /* FormSpec.swift */; }; - 31226FE9286E3AFB0007ED5E /* SavedPaymentMethodCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FE7286E3AFB0007ED5E /* SavedPaymentMethodCollectionView.swift */; }; - 31226FEA286E3AFB0007ED5E /* SavedPaymentOptionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FE8286E3AFB0007ED5E /* SavedPaymentOptionsViewController.swift */; }; - 31226FED286E3B040007ED5E /* USBankAccountPaymentMethodElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FEB286E3B040007ED5E /* USBankAccountPaymentMethodElement.swift */; }; - 31226FEE286E3B040007ED5E /* BankAccountInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FEC286E3B040007ED5E /* BankAccountInfoView.swift */; }; - 31226FF5286E3B100007ED5E /* PaymentSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FEF286E3B0F0007ED5E /* PaymentSheetViewController.swift */; }; - 31226FF6286E3B100007ED5E /* BottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FF0286E3B0F0007ED5E /* BottomSheetViewController.swift */; }; - 31226FF8286E3B100007ED5E /* ChoosePaymentOptionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FF2286E3B0F0007ED5E /* ChoosePaymentOptionViewController.swift */; }; - 31226FF9286E3B100007ED5E /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FF3286E3B0F0007ED5E /* LoadingViewController.swift */; }; - 31226FFA286E3B100007ED5E /* BottomSheet3DS2ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FF4286E3B100007ED5E /* BottomSheet3DS2ViewController.swift */; }; - 31226FFF286E3B1F0007ED5E /* AutoCompleteViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FFC286E3B1F0007ED5E /* AutoCompleteViewController.swift */; }; - 31227000286E3B1F0007ED5E /* AddressSearchResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FFD286E3B1F0007ED5E /* AddressSearchResult.swift */; }; - 31227001286E3B1F0007ED5E /* String+AutoComplete.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31226FFE286E3B1F0007ED5E /* String+AutoComplete.swift */; }; - 31227014286E3B2B0007ED5E /* AfterpayPriceBreakdownView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227003286E3B290007ED5E /* AfterpayPriceBreakdownView.swift */; }; - 31227015286E3B2B0007ED5E /* ManualEntryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227004286E3B2A0007ED5E /* ManualEntryButton.swift */; }; - 31227016286E3B2B0007ED5E /* ShadowedRoundedRectangleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227005286E3B2A0007ED5E /* ShadowedRoundedRectangleView.swift */; }; - 31227017286E3B2B0007ED5E /* PayWithLinkButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227006286E3B2A0007ED5E /* PayWithLinkButton.swift */; }; - 31227018286E3B2B0007ED5E /* AffirmCopyLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227007286E3B2A0007ED5E /* AffirmCopyLabel.swift */; }; - 31227019286E3B2B0007ED5E /* ConfirmButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227008286E3B2A0007ED5E /* ConfirmButton.swift */; }; - 3122701A286E3B2B0007ED5E /* UIKit+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227009286E3B2A0007ED5E /* UIKit+PaymentSheet.swift */; }; - 3122701B286E3B2B0007ED5E /* CardScanButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122700A286E3B2A0007ED5E /* CardScanButton.swift */; }; - 3122701C286E3B2B0007ED5E /* AUBECSMandate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122700B286E3B2A0007ED5E /* AUBECSMandate.swift */; }; - 3122701D286E3B2B0007ED5E /* CardScanningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122700C286E3B2A0007ED5E /* CardScanningView.swift */; }; - 3122701E286E3B2B0007ED5E /* CircularButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122700D286E3B2A0007ED5E /* CircularButton.swift */; }; - 3122701F286E3B2B0007ED5E /* SheetNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122700E286E3B2A0007ED5E /* SheetNavigationBar.swift */; }; - 31227020286E3B2B0007ED5E /* TestModeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122700F286E3B2B0007ED5E /* TestModeView.swift */; }; - 31227021286E3B2B0007ED5E /* SepaMandateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227010286E3B2B0007ED5E /* SepaMandateView.swift */; }; - 31227022286E3B2B0007ED5E /* SheetNavigationButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227011286E3B2B0007ED5E /* SheetNavigationButton.swift */; }; - 31227023286E3B2B0007ED5E /* Appearance+FontScaling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227012286E3B2B0007ED5E /* Appearance+FontScaling.swift */; }; - 31227080286E3CAA0007ED5E /* LinkUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122707F286E3CAA0007ED5E /* LinkUI.swift */; }; - 3122708F286E3CF00007ED5E /* LinkInstantDebitMandateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122708B286E3CF00007ED5E /* LinkInstantDebitMandateView.swift */; }; - 31227090286E3CF00007ED5E /* LinkKeyboardAvoidingScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122708C286E3CF00007ED5E /* LinkKeyboardAvoidingScrollView.swift */; }; - 31227091286E3CF00007ED5E /* LinkMoreInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122708D286E3CF00007ED5E /* LinkMoreInfoView.swift */; }; - 31227092286E3CF00007ED5E /* LinkLegalTermsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122708E286E3CF00007ED5E /* LinkLegalTermsView.swift */; }; - 31227094286E3CF90007ED5E /* LinkInlineSignupViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227093286E3CF90007ED5E /* LinkInlineSignupViewModel.swift */; }; - 31227096286E3CFE0007ED5E /* OperationDebouncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227095286E3CFE0007ED5E /* OperationDebouncer.swift */; }; - 31227098286E3D120007ED5E /* LinkAccountService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227097286E3D120007ED5E /* LinkAccountService.swift */; }; - 312270A1286E3D1A0007ED5E /* FormElement+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227099286E3D190007ED5E /* FormElement+Link.swift */; }; - 312270A2286E3D1A0007ED5E /* UIColor+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122709A286E3D190007ED5E /* UIColor+Link.swift */; }; - 312270A3286E3D1A0007ED5E /* ConfirmButton+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122709B286E3D190007ED5E /* ConfirmButton+Link.swift */; }; - 312270A5286E3D1A0007ED5E /* Intent+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122709D286E3D190007ED5E /* Intent+Link.swift */; }; - 312270A6286E3D1A0007ED5E /* PaymentSheet-Configuration+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122709E286E3D190007ED5E /* PaymentSheet-Configuration+Link.swift */; }; - 312270A7286E3D1A0007ED5E /* Button+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122709F286E3D190007ED5E /* Button+Link.swift */; }; - 312270A8286E3D1A0007ED5E /* STPAnalyticsClient+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270A0286E3D1A0007ED5E /* STPAnalyticsClient+Link.swift */; }; - 312270AA286E3D220007ED5E /* LinkEmailElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270A9286E3D220007ED5E /* LinkEmailElement.swift */; }; - 312270AF286E3D2F0007ED5E /* LinkInlineSignupView-CheckboxElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270AC286E3D2E0007ED5E /* LinkInlineSignupView-CheckboxElement.swift */; }; - 312270B0286E3D2F0007ED5E /* LinkInlineSignupElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270AD286E3D2F0007ED5E /* LinkInlineSignupElement.swift */; }; - 312270B1286E3D2F0007ED5E /* LinkInlineSignupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270AE286E3D2F0007ED5E /* LinkInlineSignupView.swift */; }; - 312270B8286E3D640007ED5E /* LinkToast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270B7286E3D640007ED5E /* LinkToast.swift */; }; - 312270BF286E3D6C0007ED5E /* LinkPaymentMethodPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270B9286E3D6C0007ED5E /* LinkPaymentMethodPicker.swift */; }; - 312270C0286E3D6C0007ED5E /* LinkPaymentMethodPicker-Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270BA286E3D6C0007ED5E /* LinkPaymentMethodPicker-Cell.swift */; }; - 312270C1286E3D6C0007ED5E /* LinkPaymentMethodPicker-CellContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270BB286E3D6C0007ED5E /* LinkPaymentMethodPicker-CellContentView.swift */; }; - 312270C2286E3D6C0007ED5E /* LinkPaymentMethodPicker-AddButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270BC286E3D6C0007ED5E /* LinkPaymentMethodPicker-AddButton.swift */; }; - 312270C3286E3D6C0007ED5E /* LinkPaymentMethodPicker-RadioButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270BD286E3D6C0007ED5E /* LinkPaymentMethodPicker-RadioButton.swift */; }; - 312270C4286E3D6C0007ED5E /* LinkPaymentMethodPicker-Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270BE286E3D6C0007ED5E /* LinkPaymentMethodPicker-Header.swift */; }; - 312270C6286E3D720007ED5E /* LinkNoticeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270C5286E3D720007ED5E /* LinkNoticeView.swift */; }; - 312270C8286E3D770007ED5E /* LinkNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270C7286E3D770007ED5E /* LinkNavigationBar.swift */; }; - 312270CA286E3D7C0007ED5E /* LinkBadgeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270C9286E3D7C0007ED5E /* LinkBadgeView.swift */; }; - 312270D5286E3D8A0007ED5E /* PayWithLinkViewController-WalletViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270CB286E3D890007ED5E /* PayWithLinkViewController-WalletViewController.swift */; }; - 312270D6286E3D8A0007ED5E /* PayWithLinkViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270CC286E3D890007ED5E /* PayWithLinkViewController.swift */; }; - 312270D7286E3D8A0007ED5E /* PayWithLinkViewController-NewPaymentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270CD286E3D890007ED5E /* PayWithLinkViewController-NewPaymentViewController.swift */; }; - 312270D8286E3D8A0007ED5E /* PayWithLinkViewController-SignUpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270CE286E3D890007ED5E /* PayWithLinkViewController-SignUpViewController.swift */; }; - 312270D9286E3D8A0007ED5E /* PayWithLinkViewController-BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270CF286E3D890007ED5E /* PayWithLinkViewController-BaseViewController.swift */; }; - 312270DA286E3D8A0007ED5E /* PayWithLinkViewController-WalletViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270D0286E3D890007ED5E /* PayWithLinkViewController-WalletViewModel.swift */; }; - 312270DB286E3D8A0007ED5E /* PayWithLinkViewController-VerifyAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270D1286E3D890007ED5E /* PayWithLinkViewController-VerifyAccountViewController.swift */; }; - 312270DC286E3D8A0007ED5E /* PayWithLinkViewController-SignUpViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270D2286E3D890007ED5E /* PayWithLinkViewController-SignUpViewModel.swift */; }; - 312270DD286E3D8A0007ED5E /* PayWithLinkViewController-UpdatePaymentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270D3286E3D890007ED5E /* PayWithLinkViewController-UpdatePaymentViewController.swift */; }; - 312270DE286E3D8A0007ED5E /* PayWithLinkViewController-LoaderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270D4286E3D8A0007ED5E /* PayWithLinkViewController-LoaderViewController.swift */; }; - 312270F1286E3E640007ED5E /* LinkSecureCookieStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270EE286E3E640007ED5E /* LinkSecureCookieStore.swift */; }; - 312270F2286E3E640007ED5E /* LinkCookieStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270EF286E3E640007ED5E /* LinkCookieStore.swift */; }; - 312270F3286E3E640007ED5E /* LinkInMemoryCookieStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270F0286E3E640007ED5E /* LinkInMemoryCookieStore.swift */; }; - 312270FB286E3E6D0007ED5E /* VerificationSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270F4286E3E6C0007ED5E /* VerificationSession.swift */; }; - 312270FC286E3E6D0007ED5E /* PaymentDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270F5286E3E6C0007ED5E /* PaymentDetails.swift */; }; - 312270FD286E3E6D0007ED5E /* ConsumerSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270F6286E3E6C0007ED5E /* ConsumerSession.swift */; }; - 312270FF286E3E6D0007ED5E /* ConsumerSession-SignupResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270F8286E3E6C0007ED5E /* ConsumerSession-SignupResponse.swift */; }; - 31227100286E3E6D0007ED5E /* STPAPIClient+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270F9286E3E6C0007ED5E /* STPAPIClient+Link.swift */; }; - 31227101286E3E6D0007ED5E /* ConsumerSession+LookupResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312270FA286E3E6D0007ED5E /* ConsumerSession+LookupResponse.swift */; }; - 31227103286E3EA50007ED5E /* CardExpiryDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227102286E3EA50007ED5E /* CardExpiryDate.swift */; }; - 31227137286E44C10007ED5E /* BoolReference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227136286E44C10007ED5E /* BoolReference.swift */; }; - 3122713A286E45150007ED5E /* STPCardScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227139286E45140007ED5E /* STPCardScanner.swift */; }; - 31227158286E56060007ED5E /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31227157286E56060007ED5E /* StripePaymentsUI.framework */; }; - 3122715C286E560A0007ED5E /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122715B286E560A0007ED5E /* StripePayments.framework */; }; - 3122716D286E562D0007ED5E /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122716C286E562D0007ED5E /* Stripe3DS2.framework */; }; - 31227193286E5D4C0007ED5E /* String+StripePaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227192286E5D4C0007ED5E /* String+StripePaymentSheet.swift */; }; - 31227199286E61420007ED5E /* AnalyticsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227198286E61420007ED5E /* AnalyticsHelper.swift */; }; - 312271A1286E62F20007ED5E /* STPPaymentMethod+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271A0286E62F20007ED5E /* STPPaymentMethod+PaymentSheet.swift */; }; - 312271A3286E63140007ED5E /* STPPaymentMethodParams+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271A2286E63140007ED5E /* STPPaymentMethodParams+PaymentSheet.swift */; }; - 312271A82874EAC10007ED5E /* OneTimeCodeTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271A62874EAC10007ED5E /* OneTimeCodeTextField.swift */; }; - 312271A92874EAC10007ED5E /* OneTimeCodeTextField-TextStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271A72874EAC10007ED5E /* OneTimeCodeTextField-TextStorage.swift */; }; - 312271E628760A0F0007ED5E /* STPImageLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271E528760A0F0007ED5E /* STPImageLibrary.swift */; }; - 312271F628760C030007ED5E /* STPStringUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271F528760C030007ED5E /* STPStringUtils.swift */; }; - 3122720528762B050007ED5E /* PaymentSheetLinkAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122720428762B050007ED5E /* PaymentSheetLinkAccount.swift */; }; - 3122720728762CA10007ED5E /* STPCameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122720628762CA10007ED5E /* STPCameraView.swift */; }; - 3122720928762CD30007ED5E /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122720828762CD30007ED5E /* String+Localized.swift */; }; - 3122720B28762CF90007ED5E /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122720A28762CF90007ED5E /* STPLocalizedString.swift */; }; - 3122720D28762D1D0007ED5E /* StripePaymentSheetBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122720C28762D1D0007ED5E /* StripePaymentSheetBundleLocator.swift */; }; - 3122720F287630B80007ED5E /* Images.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122720E287630B80007ED5E /* Images.swift */; }; - 312272152876336E0007ED5E /* NSAttributedString+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312272142876336E0007ED5E /* NSAttributedString+Stripe.swift */; }; - 31227219287637C00007ED5E /* Data+SHA256.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227218287637C00007ED5E /* Data+SHA256.swift */; }; - 3122721B28763A760007ED5E /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122721A28763A760007ED5E /* StripeUICore.framework */; }; - 3122721F28763A7B0007ED5E /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122721E28763A7B0007ED5E /* StripeCore.framework */; }; - 3122722928763B000007ED5E /* DefaultPaymentMethodStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122722828763B000007ED5E /* DefaultPaymentMethodStore.swift */; }; - 3122722B28763B590007ED5E /* UserDefaults+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122722A28763B590007ED5E /* UserDefaults+Stripe.swift */; }; - 3122722D28763BE60007ED5E /* SeparatorLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122722C28763BE60007ED5E /* SeparatorLabel.swift */; }; - 3122723B28763EEE0007ED5E /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122723A28763EEE0007ED5E /* StripeApplePay.framework */; }; - 3122724628763FF90007ED5E /* StripePaymentSheet+Exports.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122724528763FF90007ED5E /* StripePaymentSheet+Exports.swift */; }; - 3139D2A7286E34DF00C9744B /* StripePaymentSheet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3139D29E286E34DF00C9744B /* StripePaymentSheet.framework */; }; - 3139D2AC286E34DF00C9744B /* StripePaymentSheetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3139D2AB286E34DF00C9744B /* StripePaymentSheetTests.swift */; }; - 3139D2AD286E34DF00C9744B /* StripePaymentSheet.h in Headers */ = {isa = PBXBuildFile; fileRef = 3139D2A1286E34DF00C9744B /* StripePaymentSheet.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3159F77D2888C3A4007C8C3A /* afterpay_icon_info@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F71C2888C3A3007C8C3A /* afterpay_icon_info@3x.png */; }; - 3159F77E2888C3A4007C8C3A /* affirm_mark_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F71D2888C3A3007C8C3A /* affirm_mark_dark@3x.png */; }; - 3159F77F2888C3A4007C8C3A /* afterpay_mark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F71E2888C3A3007C8C3A /* afterpay_mark@3x.png */; }; - 3159F7802888C3A4007C8C3A /* icon-pm-afterpay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7202888C3A3007C8C3A /* icon-pm-afterpay@3x.png */; }; - 3159F7812888C3A4007C8C3A /* icon-pm-giropay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7212888C3A3007C8C3A /* icon-pm-giropay@3x.png */; }; - 3159F7822888C3A4007C8C3A /* icon-pm-aubecsdebit@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7222888C3A3007C8C3A /* icon-pm-aubecsdebit@3x.png */; }; - 3159F7832888C3A4007C8C3A /* icon-pm-ideal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7232888C3A3007C8C3A /* icon-pm-ideal@3x.png */; }; - 3159F7842888C3A4007C8C3A /* icon-pm-bancontact@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7242888C3A3007C8C3A /* icon-pm-bancontact@3x.png */; }; - 3159F7852888C3A4007C8C3A /* icon-pm-klarna@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7252888C3A3007C8C3A /* icon-pm-klarna@3x.png */; }; - 3159F7862888C3A4007C8C3A /* icon-pm-eps@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7262888C3A3007C8C3A /* icon-pm-eps@3x.png */; }; - 3159F7872888C3A4007C8C3A /* icon-pm-paypal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7272888C3A3007C8C3A /* icon-pm-paypal@3x.png */; }; - 3159F7882888C3A4007C8C3A /* icon-pm-card@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7282888C3A3007C8C3A /* icon-pm-card@3x.png */; }; - 3159F7892888C3A4007C8C3A /* icon-pm-p24@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7292888C3A3007C8C3A /* icon-pm-p24@3x.png */; }; - 3159F78A2888C3A4007C8C3A /* icon-pm-paypal_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F72A2888C3A3007C8C3A /* icon-pm-paypal_dark@3x.png */; }; - 3159F78B2888C3A4007C8C3A /* icon-pm-sepa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F72B2888C3A3007C8C3A /* icon-pm-sepa@3x.png */; }; - 3159F78C2888C3A4007C8C3A /* icon-pm-affirm@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F72C2888C3A3007C8C3A /* icon-pm-affirm@3x.png */; }; - 3159F78D2888C3A4007C8C3A /* link_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F72E2888C3A3007C8C3A /* link_logo@3x.png */; }; - 3159F78E2888C3A4007C8C3A /* bank_icon_wellsfargo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7302888C3A3007C8C3A /* bank_icon_wellsfargo@3x.png */; }; - 3159F78F2888C3A4007C8C3A /* bank_icon_compass@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7312888C3A3007C8C3A /* bank_icon_compass@3x.png */; }; - 3159F7902888C3A4007C8C3A /* bank_icon_nfcu@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7322888C3A3007C8C3A /* bank_icon_nfcu@3x.png */; }; - 3159F7912888C3A4007C8C3A /* bank_icon_boa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7332888C3A3007C8C3A /* bank_icon_boa@3x.png */; }; - 3159F7922888C3A4007C8C3A /* bank_icon_pnc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7342888C3A3007C8C3A /* bank_icon_pnc@3x.png */; }; - 3159F7932888C3A4007C8C3A /* bank_icon_citibank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7352888C3A3007C8C3A /* bank_icon_citibank@3x.png */; }; - 3159F7942888C3A4007C8C3A /* bank_icon_td@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7362888C3A3007C8C3A /* bank_icon_td@3x.png */; }; - 3159F7952888C3A4007C8C3A /* bank_icon_morganchase@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7372888C3A3007C8C3A /* bank_icon_morganchase@3x.png */; }; - 3159F7962888C3A4007C8C3A /* bank_icon_svb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7382888C3A3007C8C3A /* bank_icon_svb@3x.png */; }; - 3159F7972888C3A4007C8C3A /* bank_icon_default@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7392888C3A3007C8C3A /* bank_icon_default@3x.png */; }; - 3159F7982888C3A4007C8C3A /* bank_icon_usaa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F73A2888C3A3007C8C3A /* bank_icon_usaa@3x.png */; }; - 3159F7992888C3A4007C8C3A /* bank_icon_suntrust@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F73B2888C3A3007C8C3A /* bank_icon_suntrust@3x.png */; }; - 3159F79A2888C3A4007C8C3A /* bank_icon_capitalone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F73C2888C3A3007C8C3A /* bank_icon_capitalone@3x.png */; }; - 3159F79B2888C3A4007C8C3A /* bank_icon_stripe@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F73D2888C3A3007C8C3A /* bank_icon_stripe@3x.png */; }; - 3159F79C2888C3A4007C8C3A /* bank_icon_usbank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F73E2888C3A3007C8C3A /* bank_icon_usbank@3x.png */; }; - 3159F79D2888C3A4007C8C3A /* icon_cancel@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F73F2888C3A3007C8C3A /* icon_cancel@3x.png */; }; - 3159F79E2888C3A4007C8C3A /* icon_menu@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7402888C3A3007C8C3A /* icon_menu@3x.png */; }; - 3159F79F2888C3A4007C8C3A /* icon_menu_horizontal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7412888C3A3007C8C3A /* icon_menu_horizontal@3x.png */; }; - 3159F7A02888C3A4007C8C3A /* icon_add_bordered@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7422888C3A3007C8C3A /* icon_add_bordered@3x.png */; }; - 3159F7A12888C3A4007C8C3A /* icon_link_success@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7432888C3A3007C8C3A /* icon_link_success@3x.png */; }; - 3159F7A22888C3A4007C8C3A /* back_button@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7442888C3A3007C8C3A /* back_button@3x.png */; }; - 3159F7A32888C3A4007C8C3A /* icon_link_error@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7452888C3A3007C8C3A /* icon_link_error@3x.png */; }; - 3159F7A42888C3A4007C8C3A /* icon_x@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7472888C3A3007C8C3A /* icon_x@3x.png */; }; - 3159F7A52888C3A4007C8C3A /* icon_x_standalone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7482888C3A3007C8C3A /* icon_x_standalone@3x.png */; }; - 3159F7A62888C3A4007C8C3A /* icon_lock@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7492888C3A3007C8C3A /* icon_lock@3x.png */; }; - 3159F7A72888C3A4007C8C3A /* icon_chevron_left_standalone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F74A2888C3A3007C8C3A /* icon_chevron_left_standalone@3x.png */; }; - 3159F7A82888C3A4007C8C3A /* icon_plus@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F74B2888C3A3007C8C3A /* icon_plus@3x.png */; }; - 3159F7A92888C3A4007C8C3A /* icon_checkmark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F74C2888C3A3007C8C3A /* icon_checkmark@3x.png */; }; - 3159F7AA2888C3A4007C8C3A /* icon_chevron_left@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F74D2888C3A3007C8C3A /* icon_chevron_left@3x.png */; }; - 3159F7AB2888C3A4007C8C3A /* affirm_mark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F74E2888C3A3007C8C3A /* affirm_mark@3x.png */; }; - 3159F7AC2888C3A4007C8C3A /* afterpay_mark_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F74F2888C3A3007C8C3A /* afterpay_mark_dark@3x.png */; }; - 3159F7AD2888C3A4007C8C3A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7512888C3A3007C8C3A /* Localizable.strings */; }; - 3166C0A428DA514D003CAF10 /* link_carousel_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3166C0A328DA514D003CAF10 /* link_carousel_logo@3x.png */; }; - 3166C0A628DA522C003CAF10 /* icon-pm-link@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3166C0A528DA522C003CAF10 /* icon-pm-link@3x.png */; }; - 31904C6328D9205A00E1F9F5 /* form_specs.json in Resources */ = {isa = PBXBuildFile; fileRef = 31904C6228D9205A00E1F9F5 /* form_specs.json */; }; - 319567F428D3D41800BFF5D1 /* icon-pm-bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 319567F328D3D41800BFF5D1 /* icon-pm-bank@3x.png */; }; - 319567F628D3D53100BFF5D1 /* apple_pay_mark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 319567F528D3D53100BFF5D1 /* apple_pay_mark@3x.png */; }; - 31DCB11528F4D256002EF128 /* LinkFinancialConnectionsAuthManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB11428F4D255002EF128 /* LinkFinancialConnectionsAuthManager.swift */; }; - 31DCB11928F4EC09002EF128 /* STPAnalyticsClient+PaymentSheetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB11828F4EC09002EF128 /* STPAnalyticsClient+PaymentSheetTests.swift */; }; - 31DCB12128F62547002EF128 /* IntentStatusPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB12028F62547002EF128 /* IntentStatusPoller.swift */; }; - 31DCB12328F6256D002EF128 /* Date+Distance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB12228F6256D002EF128 /* Date+Distance.swift */; }; - 31DCB12528F6279F002EF128 /* PaymentSheetFormFactory+UPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB12428F6279F002EF128 /* PaymentSheetFormFactory+UPI.swift */; }; - 31DCB12728F62865002EF128 /* icon-pm-upi@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 31DCB12628F62865002EF128 /* icon-pm-upi@3x.png */; }; - 31DCB12928F62B07002EF128 /* polling_error_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 31DCB12828F62B07002EF128 /* polling_error_icon@3x.png */; }; - 31DCB12B28F75531002EF128 /* PaymentSheetFlowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB12A28F75531002EF128 /* PaymentSheetFlowController.swift */; }; - D06C829B28FEFEC600832267 /* LinkCardEditElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06C829A28FEFEC600832267 /* LinkCardEditElement.swift */; }; - E237938F291B286900C63FDD /* RotatingCardBrandsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E237938E291B286900C63FDD /* RotatingCardBrandsView.swift */; }; + 000ECD9E3761D3BBE1996FCF /* affirm_mark_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 91CF956A7F400500BFE2068F /* affirm_mark_dark@3x.png */; }; + 0372AB6A0796DEAE92602DD1 /* KlarnaHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474CD260E1A4EFE05ABF3320 /* KlarnaHelper.swift */; }; + 047763258B7A71F895B487E7 /* link_carousel_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8B5BFFD21A67FC81A0F3285E /* link_carousel_logo@3x.png */; }; + 04CD656624D34FE589282544 /* LinkVerificationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E3AE3F6AE017A5CF18CD0CC /* LinkVerificationView.swift */; }; + 04FEA90F2D0CB9D1C2029D21 /* CardSectionWithScannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BDC53A88FB17F378C6B413 /* CardSectionWithScannerView.swift */; }; + 057A899F4123F3716F2AC0FA /* USBankAccountPaymentMethodElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3F8B6F8B253A009E6216478 /* USBankAccountPaymentMethodElement.swift */; }; + 05B61641310A9775D40C1775 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51F9A38D82C20E576DEF098 /* String+Localized.swift */; }; + 06976DDC67A61176FC54AA76 /* Data+SHA256.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22D82B65B5500E1E7B230A16 /* Data+SHA256.swift */; }; + 09B1018383E78CCE71E4D3BA /* icon-pm-afterpay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = BC59E533997C0DC616159A4E /* icon-pm-afterpay@3x.png */; }; + 0B142FE21B861925B513143D /* STPApplePayContext+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 446E3BBF316178C04343B193 /* STPApplePayContext+PaymentSheet.swift */; }; + 0B5139D6BFB54FC16EA77C1A /* icon-pm-affirm@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 34E9292192423B1165EB5F12 /* icon-pm-affirm@3x.png */; }; + 0B6583C2C28E3331FF2E7D1A /* icon_add_bordered@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 47CA869592FB939B0EFE6EBA /* icon_add_bordered@3x.png */; }; + 0E72F76E2B2D28ED72F6A60B /* AddressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEF72D6FB252D340AF1854FE /* AddressViewController.swift */; }; + 0F3635B7EDDE12F252784855 /* PayWithLinkViewController-BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FE8A12C459E0702F7525C70 /* PayWithLinkViewController-BaseViewController.swift */; }; + 108846A3D8EFD1D4DCC0DDBC /* NSAttributedString+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80FCEDF102C8E6BCABFDF211 /* NSAttributedString+Stripe.swift */; }; + 10E9416840ADF3669E5008BD /* LinkVerificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10B31F131E9207A3AC563D7E /* LinkVerificationViewController.swift */; }; + 11C23605F97D2DB6F171843E /* LinkUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FBC7DC1A5EFF76C10D29DD6 /* LinkUI.swift */; }; + 12AAE893BD8B34285BFEC8A0 /* back_button@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8DF49ED86C9F4DA7A47DF7E0 /* back_button@3x.png */; }; + 1371AC13962A27D1353FC210 /* PayWithLinkViewController-SignUpViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F36A8BE1933B918D85C4E1BC /* PayWithLinkViewController-SignUpViewModel.swift */; }; + 17A59E2F09ADEA8B158F8C84 /* icon-pm-p24@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 71CA5D9135AE6F064B60E6E9 /* icon-pm-p24@3x.png */; }; + 18A5870973D314A946B92748 /* SheetNavigationButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6193FC5E14E1EC459E31B5F4 /* SheetNavigationButton.swift */; }; + 18F90597D1EBE32B3F2016B5 /* ConfirmButton+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E25A81A4EC849FB58C405E6 /* ConfirmButton+Link.swift */; }; + 190A1A5A871A82E5B6C09F41 /* BottomSheet3DS2ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2573C6603DC2201656961A38 /* BottomSheet3DS2ViewController.swift */; }; + 19A6D9D9951E13377F305263 /* CircularButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A68FBE0A16FE56AAAAF4ABBF /* CircularButton.swift */; }; + 1AE83AE2EBE8E52C0A86C19B /* BottomSheetPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CA605ED1C2F5469889E9AC /* BottomSheetPresentationController.swift */; }; + 1AF3BBA86D643AAF26CD0E2B /* StripePaymentSheet+Exports.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DA1B1B7662E177725062922 /* StripePaymentSheet+Exports.swift */; }; + 1B03C54F5F988C552487C564 /* PaymentSheet+PaymentMethodAvailability.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBB6BEFBCE1116B85B564574 /* PaymentSheet+PaymentMethodAvailability.swift */; }; + 1BA0F1D78847DC6609FACE9F /* LinkEnabledPaymentMethodElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E77A5A5E70770575F1D02837 /* LinkEnabledPaymentMethodElement.swift */; }; + 1BFC617EED154D32BFCADAE7 /* SeparatorLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C784153FF2052C4CF240441C /* SeparatorLabel.swift */; }; + 1ECC1086460E57AE75F18FBF /* OperationDebouncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 274491B25447ABB37EF29D93 /* OperationDebouncer.swift */; }; + 209FF56603EE6FC381BB58F1 /* FormSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25CAEB848B70E2676F9E2D9D /* FormSpec.swift */; }; + 212B9BA1953134716B0395A5 /* PayWithLinkViewController-SignUpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D87F990D8D04A9C30ABC914E /* PayWithLinkViewController-SignUpViewController.swift */; }; + 229FD9FB3DF1488D8A732ABA /* STPAPIClient+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B516F39E0BE4345859EB2B72 /* STPAPIClient+PaymentSheet.swift */; }; + 235687C1FBE7417C48F99EE3 /* LinkLegalTermsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13FB3274557B85BA4C9FA6C0 /* LinkLegalTermsView.swift */; }; + 247A8FEE5184E5976720599E /* PaymentSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CACEA8571301D469FF07741 /* PaymentSheetViewController.swift */; }; + 258A75AF2E5393186C8850CA /* LinkEmailElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = C684CBDA487CC3E78676F52E /* LinkEmailElement.swift */; }; + 259EFD452DA0DF0DF7AA2D50 /* polling_error_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 31945DFF420173E50D89AC7F /* polling_error_icon@3x.png */; }; + 262850706DA3ECCDC0E5E38F /* LinkMoreInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5240ECFD40B8605939C4E09 /* LinkMoreInfoView.swift */; }; + 27311E4FACC482786D6F943F /* LinkNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC6F2DC65C647FBCA3169396 /* LinkNavigationBar.swift */; }; + 28C48495A59E7CE3EC5363F2 /* LinkInMemoryCookieStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CBAA65474681CB8AC84D330 /* LinkInMemoryCookieStore.swift */; }; + 290C3138F969B0A47BF4AD96 /* affirm_mark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD83191AE7D36421AF902424 /* affirm_mark@3x.png */; }; + 293C6A60BE5A5DEE1B09564B /* bank_icon_citibank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 441FDFDDC5E530A4EDACE473 /* bank_icon_citibank@3x.png */; }; + 29C91CE046099B86D8DCF310 /* STPAnalyticsClient+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD0EACE5F259BDE586A4A20C /* STPAnalyticsClient+Link.swift */; }; + 2A45D3B00BEE9A8D5909CCB1 /* SheetNavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BB97FB5D5730FE4CAB9298D /* SheetNavigationBar.swift */; }; + 2AEF4A8B3CEC928D5F13B9AD /* icon_chevron_left@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E8B165E05263B0C0C9883268 /* icon_chevron_left@3x.png */; }; + 2BEA2A103AD3EE94D60A06D4 /* ConsumerSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CE026F53D10DA10D7BC4E7 /* ConsumerSession.swift */; }; + 2BF4F64B2B73A373C643E55F /* UIViewController+BottomSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75EC3D9394B33C6C432410E9 /* UIViewController+BottomSheet.swift */; }; + 2C2299B2587D03CC8B49C44F /* icon-pm-paypal_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 89472D8EFB4775F2BFC83B13 /* icon-pm-paypal_dark@3x.png */; }; + 2CE83364A23B4E3BAFD447CA /* WalletHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32B3AC4CC1C4F2DEEC5F292 /* WalletHeaderView.swift */; }; + 2E4C37C73AD202C8A3DD2E4E /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51FF291A25EA43D4D100983B /* LoadingViewController.swift */; }; + 2E905BE50CD92581DE5DE2C3 /* bank_icon_pnc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30899FA9130D11BD8B5AB04D /* bank_icon_pnc@3x.png */; }; + 2EDF4115FDC40A5B0672CCFD /* Locale+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5DCF73BEC0CC35D4CE30361 /* Locale+Link.swift */; }; + 335A19D93A5979557DB4CA4D /* PaymentMethodElementWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5012364ED0F2EEC6EC2AB52 /* PaymentMethodElementWrapper.swift */; }; + 36E95DEC3638D9B010F6D920 /* LinkPaymentMethodPicker-AddButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1E0D2E092A8C90FDCCFFEFB /* LinkPaymentMethodPicker-AddButton.swift */; }; + 39E8CCA0159C73A241919EA3 /* icon-pm-upi@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = BC7EE65FD667524C249EDA25 /* icon-pm-upi@3x.png */; }; + 3A52CFA2F9D0E1C677F4EEA4 /* PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B680A2FF197F612D065F16C /* PaymentSheet.swift */; }; + 3BAF910D2D3E23FF2A29B013 /* AnalyticsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A052EDC8CC0A4601696E1B /* AnalyticsHelper.swift */; }; + 3CB64564D5B6F092A2A3A5BE /* STPPaymentMethodParams+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 103844C9B831A4F01793C304 /* STPPaymentMethodParams+PaymentSheet.swift */; }; + 3D4497A6A1CB151C4B75A68F /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E41AA4E90E5BB28D588FDE51 /* StripeCore.framework */; }; + 3DE056395324C5B3A5AAABDA /* PayWithLinkButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9356711AB2961A5F729F3EAA /* PayWithLinkButton.swift */; }; + 3DE5C89040DBAA2053820C72 /* LinkPaymentMethodPicker-Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEBAEBAAD3265A08547A2014 /* LinkPaymentMethodPicker-Header.swift */; }; + 3E2279C28944A87EC6472101 /* STPAPIClient+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E614E8481658A027599A92 /* STPAPIClient+Link.swift */; }; + 3E45CFD0DC3A9D0D642BCF20 /* LinkInstantDebitMandateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14860F76C97434BE1F318EE8 /* LinkInstantDebitMandateView.swift */; }; + 401128A8DDC7B6E3CBB4381E /* PaymentSheetFormFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2363DF030555E62FDD3B1D42 /* PaymentSheetFormFactory.swift */; }; + 40806EF506CB719299FC90CC /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96C9F8CED45EA4B66E770E3E /* STPLocalizedString.swift */; }; + 40D8288D74C840EEE3C38A07 /* bank_icon_td@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DFE1AD470EF60E8D06B0F369 /* bank_icon_td@3x.png */; }; + 40E7BE1E516C1A4E1FCEED00 /* OneTimeCodeTextField-TextStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A21FFCAA99E06E8B11067F7D /* OneTimeCodeTextField-TextStorage.swift */; }; + 41FA06485341A105258FBFA4 /* icon_menu_horizontal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9198E163DE5FC832E9691A78 /* icon_menu_horizontal@3x.png */; }; + 429A68EA92C4101C9BC88269 /* TestModeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D658AC15478BF1E0A76B9D /* TestModeView.swift */; }; + 4313D6635F10EC460D2ED21E /* SavedPaymentMethodCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AA26FF00FD57F6AA1A7CB83 /* SavedPaymentMethodCollectionView.swift */; }; + 43645F1F9AFD3E19928A3778 /* Button+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F467268FA9468713920CDAC /* Button+Link.swift */; }; + 436A212E364FD78C3745DDA3 /* CardScanningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D34B92439E9DC6E36D498312 /* CardScanningView.swift */; }; + 440C734498F47A183D4F60B6 /* bank_icon_usaa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6A0A859715EEDB5872722D57 /* bank_icon_usaa@3x.png */; }; + 4499C0AB5D747A54E20938B1 /* icon-pm-paypal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = AD6EA4BF1E6DA11C944F5001 /* icon-pm-paypal@3x.png */; }; + 45F8109B55B9013945ACB2C6 /* PaymentSheetFlowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58A85D630BDEA7408391EB8B /* PaymentSheetFlowController.swift */; }; + 46DB5D39B3B76C08AE2C83C8 /* PaymentMethodElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71C3DCEBA31263AFE89ABD57 /* PaymentMethodElement.swift */; }; + 47B19F96CCEA290541E3B988 /* CardSectionWithScannerElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D03000A6807B09BFD8E6CB1 /* CardSectionWithScannerElement.swift */; }; + 49803444CD948F1ED28FF021 /* PaymentSheetFormFactory+FormSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD7A1EFF100C589FDFF4D516 /* PaymentSheetFormFactory+FormSpec.swift */; }; + 49F62EDF394F18E5BB201D53 /* StripePaymentSheet.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AA6166F234C3A2129CBD573 /* StripePaymentSheet.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4A8C7B2AFB290567C961DAB0 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F22354BD25171B8DC2B922D2 /* StripePaymentsUI.framework */; }; + 4D9D6DD01C7FACE61D459AFB /* BottomSheetTransitioningDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FD715F32B61017198E9F952 /* BottomSheetTransitioningDelegate.swift */; }; + 4DDECA1F7EC6B624C00D549E /* PollingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 101DFBD8D19B7B182CDD8882 /* PollingViewController.swift */; }; + 4E230EC72F5348A2F9BE7B9B /* icon-pm-bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C3762348D95D24A4D85535B8 /* icon-pm-bank@3x.png */; }; + 4E5A3324BBD882A780925E2B /* STPAnalyticsClient+Address.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF8380C1DAA262CD5EFDBB8C /* STPAnalyticsClient+Address.swift */; }; + 4FC40F28C5D47E2F0EE049AA /* ChoosePaymentOptionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF422612E2F03988619C3C1 /* ChoosePaymentOptionViewController.swift */; }; + 51F73B4F4922BC82CC02157E /* icon-pm-klarna@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C108951EE2EF107457C1BE29 /* icon-pm-klarna@3x.png */; }; + 52B734BA0B91706F37025523 /* STPAnalyticsClient+PaymentSheetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D8FE374BAAD0EDA9FEEF550 /* STPAnalyticsClient+PaymentSheetTests.swift */; }; + 56A8DF25545F25791F01A528 /* LinkUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 111D973CC589990886655048 /* LinkUtils.swift */; }; + 56BB7C81AB3A24D3AD88A904 /* LinkInlineSignupView-CheckboxElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70F6CF58AECE26DA8F1FFED6 /* LinkInlineSignupView-CheckboxElement.swift */; }; + 573E3DB554058AC1E34E34B6 /* AddPaymentMethodViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C8E4153CAFF4EC9AC960182 /* AddPaymentMethodViewController.swift */; }; + 58A8B7155288224F840C9555 /* bank_icon_capitalone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8DE20959FF4821AA36208691 /* bank_icon_capitalone@3x.png */; }; + 599337DB99E9E7017EF47BCE /* STPCardScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59BA69FF6D49A3A865469ED0 /* STPCardScanner.swift */; }; + 5C0D1B932954D0EF3F3A679F /* ManualEntryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BDADF560DB0B1ED175EF50 /* ManualEntryButton.swift */; }; + 6090A613C639ADF0FDF06DCD /* afterpay_icon_info@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = ECFA98E6166B4E9EEE21B93E /* afterpay_icon_info@3x.png */; }; + 61C0D3B8C63EB4558AB74A7E /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A1C7CFA5C9C1A8A73CFA1C0 /* StripePayments.framework */; }; + 623C2D9F87929D6DA9C09E23 /* STPCameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D39B31D0B890A4F8E4819B15 /* STPCameraView.swift */; }; + 6371C831843155321294EC42 /* PayWithLinkViewController-WalletViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB00360E534AB7A1A3849B2 /* PayWithLinkViewController-WalletViewModel.swift */; }; + 6445A2D448B1E3A7707635AD /* LinkVerificationView-LogoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2190A1772B564CFA75735F9D /* LinkVerificationView-LogoutView.swift */; }; + 6687B828A272A1BC617F9EE1 /* link_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 698E51BAA5A95734E5B63139 /* link_logo@3x.png */; }; + 68E3CF21A7E1525CA05BA260 /* ConnectionsElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7908AA934EC34644090431D5 /* ConnectionsElement.swift */; }; + 6A529F76ECB33C9154314C1F /* STPAnalyticsClient+LUXE.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83B5AAA4347A6918EC267210 /* STPAnalyticsClient+LUXE.swift */; }; + 6A9D825F07D7C280CBCDD0CC /* apple_pay_mark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = EFB7FEEFECC6D105089331C0 /* apple_pay_mark@3x.png */; }; + 6AE406441F49A1D67AA52581 /* bank_icon_suntrust@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABBEA0C8EFB60E3019F9BF0 /* bank_icon_suntrust@3x.png */; }; + 6C84BC3D0B1AC2AAD98376DE /* PayWithLinkViewController-LoaderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62400F4E9BC39F14CFED72A6 /* PayWithLinkViewController-LoaderViewController.swift */; }; + 6DE656DB4CE489C137B79368 /* LinkPaymentMethodPicker-RadioButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641D011DA8FFA3F6F54A40FD /* LinkPaymentMethodPicker-RadioButton.swift */; }; + 7006B4AFDBCC51349EDAA512 /* LinkPaymentMethodPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7596B026ED0E007CE62976C2 /* LinkPaymentMethodPicker.swift */; }; + 71132CE036C3EE0655ECD2DB /* STPStringUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BEFE8C0CFEAE73F9FD736D3 /* STPStringUtils.swift */; }; + 727874C468C0E1CD3653C91A /* PaymentSheetError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6DDBBAAC2892467CED23402 /* PaymentSheetError.swift */; }; + 73EE441CF71707651109CE19 /* ConsumerSession+LookupResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4208AD2E0A737F5E0F00DE48 /* ConsumerSession+LookupResponse.swift */; }; + 73F3E8DCF2314972A162B2A3 /* StripePaymentSheetBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70ED08B0F303B7C2334602C3 /* StripePaymentSheetBundleLocator.swift */; }; + 7479F814D1BC58A6B19F054C /* LinkInlineSignupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 539BC5317DB9A13B247DC576 /* LinkInlineSignupView.swift */; }; + 76577BB86DCE39865514FC7F /* PayWithLinkViewController-WalletViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CBAA0E9705A80CA0C1BABA /* PayWithLinkViewController-WalletViewController.swift */; }; + 76C1FBDAA304C635519BDB9B /* LinkVerificationViewController-PresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25B70D9CF755913181433472 /* LinkVerificationViewController-PresentationController.swift */; }; + 7783A8A9FA5B5BD5F746FE71 /* icon-pm-ideal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 73BE27A8A34A47157026D214 /* icon-pm-ideal@3x.png */; }; + 791D8D5E9AD66572132CF18A /* icon_plus@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C599C4F3933B4A6F0D99004 /* icon_plus@3x.png */; }; + 7B52F499141CCA2514A361F3 /* LinkKeyboardAvoidingScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37130B660E4A5D6297F83EE8 /* LinkKeyboardAvoidingScrollView.swift */; }; + 7B6F620759307A9E1D223E8C /* Date+Distance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3898FF5D7EBA6D48F7B16647 /* Date+Distance.swift */; }; + 7B76E1348EF5FE3C19619E49 /* LinkPaymentMethodPicker-CellContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DC05704665DAAA925897779 /* LinkPaymentMethodPicker-CellContentView.swift */; }; + 7D840FBB66787B0A8BE16901 /* icon_link_success@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1A40E15840B1B116B2A6C188 /* icon_link_success@3x.png */; }; + 7E73F6BB38F72678C7302C5F /* icon_link_error@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0F4F1936B8B820E7355BC438 /* icon_link_error@3x.png */; }; + 820C3EDE61ADBFE4DA1E9A98 /* PaymentSheet+API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CD1A451B238C1D1ADAA72EC /* PaymentSheet+API.swift */; }; + 82EA15D695BB070F2336CCAB /* BottomSheetPresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8F7582743930881FEB8C206 /* BottomSheetPresentable.swift */; }; + 83031AF789D0C08E7B2BABB1 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8AEEBDAABA19784ABD2024DA /* Localizable.strings */; }; + 88BA38BE8949815F4DB79509 /* PayWithLinkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DCFBC65AF58423E0E8DD04A /* PayWithLinkController.swift */; }; + 89E36A25C82F34757E6BC8EE /* bank_icon_boa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C95338553543E0DF82A5C13 /* bank_icon_boa@3x.png */; }; + 8B1D7A7CE7D50382E9FA77E3 /* Images.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01962303408EBBFD6477D215 /* Images.swift */; }; + 8C91277A8FEFD0B914CC6564 /* PaymentSheet-LinkConfirmOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = B41560E0599A68A84F5C76D2 /* PaymentSheet-LinkConfirmOption.swift */; }; + 8CFF112D4CA7DC217CC36FF7 /* StripePaymentSheet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E42F31D392C0AED757D6239 /* StripePaymentSheet.framework */; }; + 8D4951AE0D793D01528F352D /* PaymentMethodTypeCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B9A346A7A4290BAA7BCA1A2 /* PaymentMethodTypeCollectionView.swift */; }; + 8E1A2DE0EDFB7AEC4DD5DBFE /* afterpay_mark_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 10E555CABB15DFE7F184BBF5 /* afterpay_mark_dark@3x.png */; }; + 925E95403CEBF7D7C73EFCBF /* OneTimeCodeTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0246860EE8993CDD35F82238 /* OneTimeCodeTextField.swift */; }; + 935E8F18F1468A215A06ED29 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 776297331889259F5EB95E9D /* XCTest.framework */; }; + 93FB7933528A45350593D3EC /* UIColor+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE95456617FEEDDAC0CE5231 /* UIColor+Link.swift */; }; + 94F57AABF74B2EC8C5AD4156 /* PayWithLinkViewController-UpdatePaymentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C28111152161069FC0592992 /* PayWithLinkViewController-UpdatePaymentViewController.swift */; }; + 951138B2F9BF5642B6B894C5 /* UIKit+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F88FEF6217FB97628ABB52F /* UIKit+PaymentSheet.swift */; }; + 95F043A3D5D1E5D25C661CFF /* icon-pm-bancontact@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5A755886E32A81531C7361AB /* icon-pm-bancontact@3x.png */; }; + 968B519B507CAFCCE4D64B15 /* icon-pm-giropay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DDF1C134578D584B5E58F84 /* icon-pm-giropay@3x.png */; }; + 96AA26B05FA5CC3A2379A87B /* bank_icon_compass@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 542B8888DB939A07768D7799 /* bank_icon_compass@3x.png */; }; + 96B1DCBDA1923BF5E7F990B8 /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 35BFC60D1945087E74B6BD89 /* StripeUICore.framework */; }; + 96C307CDEE7028B12D9CB69B /* PaymentSheetLinkAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 522DD1811A1B84ABAE35ADB5 /* PaymentSheetLinkAccount.swift */; }; + 9806232CE48077E35B04FF98 /* PaymentSheetFormFactory+UPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86D228B38C83AA4A2F614F92 /* PaymentSheetFormFactory+UPI.swift */; }; + 985DAA770BC0289D24A5999C /* AddressSearchResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBA0007525BF2610569B5B7D /* AddressSearchResult.swift */; }; + 98E35CC9AA3E35A9AFB478E0 /* icon_cancel@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D77D2858D09AD84E79562DDB /* icon_cancel@3x.png */; }; + 98F817AFA58D300DB0C986A6 /* icon-pm-eps@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0694812EA11959595965C44 /* icon-pm-eps@3x.png */; }; + 99304BDB9FB2140F9A775021 /* bank_icon_default@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1567C70A509808FA9141C0D9 /* bank_icon_default@3x.png */; }; + 999D46841AFC73E411A91037 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8B687BB60CEAEF918ADE498 /* StripeApplePay.framework */; }; + 99B171DC60405D4822819E0E /* PaymentMethodType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A0D887C5AC6EFFAFE1AFD77 /* PaymentMethodType.swift */; }; + 9BFC22175CF85F58B8B8792A /* AfterpayPriceBreakdownView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2021DBBBC100334FFD0647F /* AfterpayPriceBreakdownView.swift */; }; + 9BFCFF941D6E819E07B6EFE0 /* icon-pm-card@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A6459BAF6AF6FDEB1D546D74 /* icon-pm-card@3x.png */; }; + 9D8BAB67ACE28115937BEC37 /* LinkVerificationView-Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5F446B40BD39BF3DADA17AC /* LinkVerificationView-Header.swift */; }; + 9DEDA3E0FFF73F9275F5F8F0 /* AutoCompleteViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDDECF0A74497EE887DFCB46 /* AutoCompleteViewController.swift */; }; + 9DFF9283F0B902CC1D895B86 /* PaymentSheet-Configuration+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AFC50A10875C88BF089C0F4 /* PaymentSheet-Configuration+Link.swift */; }; + A004B1B972B70E3EBEB645D2 /* LinkBadgeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50434DAF9CCFBD78DD4C144F /* LinkBadgeView.swift */; }; + A2FD2311E18CE9DE6D03E3D7 /* ConsumerSession-SignupResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3911C5EBA59BB21280736390 /* ConsumerSession-SignupResponse.swift */; }; + A4CD99B2032CBFA7F957B1B8 /* String+AutoComplete.swift in Sources */ = {isa = PBXBuildFile; fileRef = 982014B36F49D902CD04AF5C /* String+AutoComplete.swift */; }; + A4FF52567582E9774AE13348 /* PaymentDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 981F958E99945A0318D47BBF /* PaymentDetails.swift */; }; + A567FB1A034E032B509F5BBC /* bank_icon_usbank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 650D96BC1D236D2E578986A0 /* bank_icon_usbank@3x.png */; }; + A59432E765A72CEE2C36E0EF /* PaymentSheetFormFactory+Card.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CF41D601B198DC37337940C /* PaymentSheetFormFactory+Card.swift */; }; + A60D661E24A3180E87DDEDEF /* icon_lock@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 103E2DFDA1CB724B5B1353D3 /* icon_lock@3x.png */; }; + A734D254287F32B42B643218 /* bank_icon_wellsfargo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A33A3264E220BE3EABA67CB6 /* bank_icon_wellsfargo@3x.png */; }; + AA3A96D74B1659CB5725E95F /* CardExpiryDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5125D0E3E87AA25ACFB04558 /* CardExpiryDate.swift */; }; + AAF2AFF4B9A935B2A3FD52EA /* String+StripePaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 202580B7CC72E2F26F013F34 /* String+StripePaymentSheet.swift */; }; + AB40D7549CDA2E01793CC5D1 /* LinkAccountService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45B6DC9BD9183495E5649369 /* LinkAccountService.swift */; }; + AD5AC5F65D3BEEE97559B81C /* SepaMandateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB2708910427B1BFE7BC5AD1 /* SepaMandateView.swift */; }; + B0F99A260009C18971E3420D /* bank_icon_stripe@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F0EC8B04BFECF4A6395C326F /* bank_icon_stripe@3x.png */; }; + B1B6FB086F9D63A9F1BC076F /* FormSpecPaymentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F1BDCEE21C2C081FB9FD784 /* FormSpecPaymentHandler.swift */; }; + B2979A0740F8730FC14DFEC1 /* BottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73853A55045C53AF2BBB8489 /* BottomSheetViewController.swift */; }; + B306EA3F66D07CCABF17CB9C /* LinkInlineSignupViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7910B57E6FD99F2AFCA4DAC2 /* LinkInlineSignupViewModel.swift */; }; + B55EFA2557B5BE39CC12E357 /* STPPaymentMethod+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 813E88EE408666654EF835E2 /* STPPaymentMethod+PaymentSheet.swift */; }; + B6B3481CBA798CF22EE8411A /* TextFieldElement+IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 570931B897DCCAC0F55FB6E3 /* TextFieldElement+IBAN.swift */; }; + B775CD60BE9C74BC7FE8A679 /* LinkPaymentMethodPicker-Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FD287DEF2806ABB18847004 /* LinkPaymentMethodPicker-Cell.swift */; }; + B8A217F26AAEC592B9B0D2E1 /* CardScanButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24AB1D50F770A8A035EF31DF /* CardScanButton.swift */; }; + B8A7575878C5124CF5482097 /* VerificationSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 441C3414745D483C9A47ED0B /* VerificationSession.swift */; }; + B9FAF9C5103CA449404792A0 /* PayWithLinkViewController-VerifyAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E24023F6043D24F2EFA160BC /* PayWithLinkViewController-VerifyAccountViewController.swift */; }; + BDFA6555F8B4B9EDCF2ED90F /* bank_icon_svb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C41B8E77F033E3BCD4FD315 /* bank_icon_svb@3x.png */; }; + BFBE78441BC287AA3FD0673B /* LinkToast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1146728D461F8D9B55BAD003 /* LinkToast.swift */; }; + C1B6FEAC0077DD980006D354 /* LinkFinancialConnectionsAuthManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71417C5EEAD54471E3E5610E /* LinkFinancialConnectionsAuthManager.swift */; }; + C2C8FD317E45F8AB8FD09E33 /* clearpay_mark_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8472485F70DBD309E81A259C /* clearpay_mark_dark@3x.png */; }; + C346B534D57A952D4415ADFD /* Intent+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C8047FD8994D3FAA3D1A7A /* Intent+Link.swift */; }; + C5A5673E964F8399612184E2 /* LinkVerificationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 641A2A943D4A5A5171B0AA61 /* LinkVerificationController.swift */; }; + C799D493663224A4F81C3B6D /* bank_icon_morganchase@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 293DC8A0B4E6178E9C7C72AA /* bank_icon_morganchase@3x.png */; }; + CA65B10A2EF8287D78939EB1 /* LinkCardEditElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66AA3E2D7A57C561961FB169 /* LinkCardEditElement.swift */; }; + CCA34CD7C6B7595A1D6AFF87 /* LinkSecureCookieStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BD6332FC5A3AE72AA22CC40 /* LinkSecureCookieStore.swift */; }; + CCFC552FEB8CF98F6D6FADC9 /* PayWithLinkViewController-NewPaymentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 623698AAD13C345C69971059 /* PayWithLinkViewController-NewPaymentViewController.swift */; }; + CD19725E26DBDB9960D828CB /* BottomSheetPresentationAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8F09CF961C943E36D76860F /* BottomSheetPresentationAnimator.swift */; }; + CF2AD2C7F761C46AE559E563 /* SavedPaymentOptionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B3ECDF6CF9AABD573F86CA2 /* SavedPaymentOptionsViewController.swift */; }; + D0B9FBCB359A7D774B98D19E /* LinkCookieKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1928BE9DFF116368B1A19DC /* LinkCookieKey.swift */; }; + D20380783D098A7129F52761 /* PayWithLinkViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3423BA2EB3F1D1BF9CDD313 /* PayWithLinkViewController.swift */; }; + D203D701AF400680AF0F82F8 /* AUBECSMandate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6139AA50F07A1E2AC7E9827F /* AUBECSMandate.swift */; }; + D3CC2489468E3288FD34C160 /* IntentStatusPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ABC9ED6F9F77E753272B449 /* IntentStatusPoller.swift */; }; + D4BF6AD858469EE410B4B1F5 /* LinkCookieStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E6B3D009A329B33621C7A00 /* LinkCookieStore.swift */; }; + D592BEF7679F39A4DE26E5AF /* FormSpecProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C94104A367EAF6C8785C17A1 /* FormSpecProvider.swift */; }; + D64AB36228DDC93B4F891A91 /* DefaultPaymentMethodStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2AFCBE41F6692AD311092E /* DefaultPaymentMethodStore.swift */; }; + D66D972D4DB84AD7C21FA6B6 /* icon_x@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 99DE9DF46391067446B8A10F /* icon_x@3x.png */; }; + D6C1CC1AC279B3D8B4F74765 /* bank_icon_nfcu@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C723EADC31D27CFEF09A4C3C /* bank_icon_nfcu@3x.png */; }; + D77B828B63F1757DC1092FF4 /* afterpay_mark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = AEAAB975D084F74BB4665465 /* afterpay_mark@3x.png */; }; + D792BA37B04E5A3AD30E37CF /* AffirmCopyLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62CE362B80042827F47ABC3F /* AffirmCopyLabel.swift */; }; + D90987C72BBD76D20D60CE04 /* DictionaryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBB05D43F6A475F28E0BD38D /* DictionaryTests.swift */; }; + D953C158818C26E89AC345F2 /* icon-pm-sepa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 73AF5D0D3667E447A416A62D /* icon-pm-sepa@3x.png */; }; + DCE5ACDE0F7D90C9B79F8705 /* icon-pm-link@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 78267D7F207BB541B515F492 /* icon-pm-link@3x.png */; }; + DE6A86725BC219EF19EF29AC /* form_specs.json in Resources */ = {isa = PBXBuildFile; fileRef = 67A8D073B075B32BECCD905A /* form_specs.json */; }; + DFA10770E494AFB895BA4EE2 /* TextFieldElement+Card.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47C5DB8C01BA7137369C8B4D /* TextFieldElement+Card.swift */; }; + E236FE31A51D130F93F9299B /* LinkAccountContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = B02DD1BA93CC92A187051B2F /* LinkAccountContext.swift */; }; + E5571A970EB9DFC4B690636F /* STPAnalyticsClient+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 966339C092711FED8EFE98FB /* STPAnalyticsClient+PaymentSheet.swift */; }; + E672F7F306C9D2BC941AE8C9 /* PaymentSheetConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C46CB5AB992F8EEFE4E5460A /* PaymentSheetConfiguration.swift */; }; + EA712D67C03385B9AD80288C /* Appearance+FontScaling.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0150C1C20FD33EA024096A /* Appearance+FontScaling.swift */; }; + EB190E908B567CD90D5B0645 /* STPImageLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 553CFE0FCC9D265742F8AF2D /* STPImageLibrary.swift */; }; + ED75C8F47475E4BE5D496C93 /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C59FD8C17CA1D740BCAFA4D /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift */; }; + EDE71E0BEDD94FB1101F3C10 /* FormElement+Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFDE97D76542848E7821BA43 /* FormElement+Link.swift */; }; + F003E2D0185F1FC4FEC7D126 /* PaymentSheetAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = B61FFE76D0960C7F1E34B405 /* PaymentSheetAppearance.swift */; }; + F0D8CE0D86F703C995608BFC /* RotatingCardBrandsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF8355E00EC53A8B0C864167 /* RotatingCardBrandsView.swift */; }; + F257F913FE1C2750709A64F0 /* LinkNoticeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DED8A6A623A5F47A2DCEAF25 /* LinkNoticeView.swift */; }; + F29DF2AD08718147C299D2C3 /* PaymentOption+Images.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A19DBD87D0EBC7FA3DFB2A7 /* PaymentOption+Images.swift */; }; + F33A27FDFBF7F50F82FF7EF0 /* clearpay_mark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = BE4C1961DECF307493FBB1AF /* clearpay_mark@3x.png */; }; + F3738B13E3A7C82543B75579 /* ShadowedRoundedRectangleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3556971CA13C767092BE7A34 /* ShadowedRoundedRectangleView.swift */; }; + F3A34AD1CC2CBB899738C9D7 /* LinkInlineSignupElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E8DD8761B4C52B143038C4 /* LinkInlineSignupElement.swift */; }; + F4EA474D60D0889E7D48E1CF /* BankAccountInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3595F1786387A6B562FA472F /* BankAccountInfoView.swift */; }; + F5B485288AFE307202CFDD36 /* icon_checkmark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F5BD05D7E154B2C8DF36B00C /* icon_checkmark@3x.png */; }; + F60499496E8377604932F906 /* icon_chevron_left_standalone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = BDA9A38CD522BCE2F49545FF /* icon_chevron_left_standalone@3x.png */; }; + F70BCDEECB5863244085F12F /* BoolReference.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB812081AFBCE283C1EB6130 /* BoolReference.swift */; }; + F79DBDF42E5C0ED6B6DDC246 /* ConfirmButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFD640EBCE4B4224773DDF45 /* ConfirmButton.swift */; }; + F82D079205ADD523FF0FC48B /* icon-pm-aubecsdebit@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C2898F55D92B7E048ABBC9DC /* icon-pm-aubecsdebit@3x.png */; }; + F86342791A503A98C40004F4 /* icon_menu@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F63F6E62695BEAC410F641F0 /* icon_menu@3x.png */; }; + F8CAEC73CE96F289226AE760 /* icon_x_standalone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5D7B682C467DD8466DFAD143 /* icon_x_standalone@3x.png */; }; + F90B7028426261188B66C834 /* Error+PaymentSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EA56C3880C50858583CE468 /* Error+PaymentSheet.swift */; }; + F99BC6D8E71A765338379F6F /* UserDefaults+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32774F3BF3B0E5D2CF776C00 /* UserDefaults+Stripe.swift */; }; + FA565C353EAD9D94B39CFE16 /* AddressViewController+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88F07B4F8F79F5A01F830180 /* AddressViewController+Configuration.swift */; }; + FAB721318163CB8DF4EA2286 /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9300105117D75EDBB229C14F /* Stripe3DS2.framework */; }; + FAEB5ABECF32197709B2B19E /* PaymentSheet+SwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9A9FDAE66ADA08D85D74E19 /* PaymentSheet+SwiftUI.swift */; }; + FB653AA92B68F73344835A50 /* Intent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22552CD237A259249CD0C592 /* Intent.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3139D2A8286E34DF00C9744B /* PBXContainerItemProxy */ = { + FAB8DDD92EEAC2D2D0479997 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 3139D295286E34DF00C9744B /* Project object */; + containerPortal = 803994135025BA7DC77E3F4A /* Project object */; proxyType = 1; - remoteGlobalIDString = 3139D29D286E34DF00C9744B; + remoteGlobalIDString = A74928FD0171C3213676E29C; remoteInfo = StripePaymentSheet; }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 08DF8C76678BD9FF9FFDE47D /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + E0E4C4EE000A66EDEC3C8252 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ - 310F6FB628D4F55600C9580D /* LinkVerificationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkVerificationViewController.swift; sourceTree = ""; }; - 310F6FB728D4F55600C9580D /* LinkCookieKey.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkCookieKey.swift; sourceTree = ""; }; - 310F6FB828D4F55600C9580D /* LinkAccountContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkAccountContext.swift; sourceTree = ""; }; - 310F6FB928D4F55600C9580D /* LinkVerificationView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkVerificationView.swift; sourceTree = ""; }; - 310F6FBA28D4F55600C9580D /* LinkUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkUtils.swift; sourceTree = ""; }; - 310F6FBB28D4F55600C9580D /* LinkVerificationViewController-PresentationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LinkVerificationViewController-PresentationController.swift"; sourceTree = ""; }; - 310F6FBC28D4F55600C9580D /* LinkVerificationView-Header.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LinkVerificationView-Header.swift"; sourceTree = ""; }; - 310F6FBD28D4F55600C9580D /* LinkVerificationView-LogoutView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LinkVerificationView-LogoutView.swift"; sourceTree = ""; }; - 310F6FBE28D4F55600C9580D /* LinkVerificationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkVerificationController.swift; sourceTree = ""; }; - 310F6FC828D4F57B00C9580D /* Locale+Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Locale+Link.swift"; sourceTree = ""; }; - 310F6FCB28D4F5B300C9580D /* BottomSheetPresentable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetPresentable.swift; sourceTree = ""; }; - 310F6FCC28D4F5B300C9580D /* BottomSheetPresentationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetPresentationController.swift; sourceTree = ""; }; - 310F6FCD28D4F5B300C9580D /* BottomSheetTransitioningDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetTransitioningDelegate.swift; sourceTree = ""; }; - 310F6FCE28D4F5B300C9580D /* BottomSheetPresentationAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetPresentationAnimator.swift; sourceTree = ""; }; - 310F6FD528D4F9E200C9580D /* AddressViewController+Configuration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "AddressViewController+Configuration.swift"; sourceTree = ""; }; - 310F6FD628D4F9E200C9580D /* AddressViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddressViewController.swift; sourceTree = ""; }; - 310F6FDA28D4FA3200C9580D /* PaymentSheet-LinkConfirmOption.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentSheet-LinkConfirmOption.swift"; sourceTree = ""; }; - 310F6FDC28D4FA4100C9580D /* PayWithLinkController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PayWithLinkController.swift; sourceTree = ""; }; - 310F6FDE28D4FA5E00C9580D /* UIViewController+BottomSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+BottomSheet.swift"; sourceTree = ""; }; - 310F6FE028D4FAE700C9580D /* STPAnalyticsClient+Address.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Address.swift"; sourceTree = ""; }; - 310F6FE128D4FAE700C9580D /* STPAnalyticsClient+LUXE.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+LUXE.swift"; sourceTree = ""; }; - 310F6FE628D5346D00C9580D /* STPAPIClient+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+PaymentSheet.swift"; sourceTree = ""; }; - 310F6FE828D5361200C9580D /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPPaymentIntentShippingDetailsParams+PaymentSheet.swift"; sourceTree = ""; }; - 31138E8328DCDEAC008AF554 /* FormSpecPaymentHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormSpecPaymentHandler.swift; sourceTree = ""; }; - 31138E8828DD1E63008AF554 /* DictionaryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DictionaryTests.swift; sourceTree = ""; }; - 31138E8A28DE11DA008AF554 /* clearpay_mark_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "clearpay_mark_dark@3x.png"; sourceTree = ""; }; - 31138E8B28DE11DA008AF554 /* clearpay_mark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "clearpay_mark@3x.png"; sourceTree = ""; }; - 31138EB928DE53D8008AF554 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - 31138EBA28DE53D8008AF554 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - 31138EBB28DE53D8008AF554 /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - 31138EBC28DE53D8008AF554 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - 31138EBD28DE53D8008AF554 /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - 31138EBE28DE53D8008AF554 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - 31138EBF28DE53D8008AF554 /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - 31138EC028DE53D8008AF554 /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - 31138EC128DE53D8008AF554 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - 31138EC228DE53D8008AF554 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - 31138ECD28DE54DD008AF554 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 31226F9F286E3A290007ED5E /* TextFieldElement+Card.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+Card.swift"; sourceTree = ""; }; - 31226FA0286E3A290007ED5E /* TextFieldElement+IBAN.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+IBAN.swift"; sourceTree = ""; }; - 31226FA3286E3A2F0007ED5E /* ConnectionsElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConnectionsElement.swift; sourceTree = ""; }; - 31226FA4286E3A2F0007ED5E /* LinkEnabledPaymentMethodElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkEnabledPaymentMethodElement.swift; sourceTree = ""; }; - 31226FA7286E3A3C0007ED5E /* CardSectionWithScannerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardSectionWithScannerView.swift; sourceTree = ""; }; - 31226FA8286E3A3C0007ED5E /* CardSectionWithScannerElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardSectionWithScannerElement.swift; sourceTree = ""; }; - 31226FAB286E3A440007ED5E /* PaymentMethodElementWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentMethodElementWrapper.swift; sourceTree = ""; }; - 31226FAC286E3A440007ED5E /* PaymentMethodElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentMethodElement.swift; sourceTree = ""; }; - 31226FAF286E3A680007ED5E /* STPAnalyticsClient+PaymentSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+PaymentSheet.swift"; sourceTree = ""; }; - 31226FB0286E3A680007ED5E /* STPApplePayContext+PaymentSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPApplePayContext+PaymentSheet.swift"; sourceTree = ""; }; - 31226FB1286E3A680007ED5E /* PaymentSheetConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentSheetConfiguration.swift; sourceTree = ""; }; - 31226FB2286E3A690007ED5E /* Intent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Intent.swift; sourceTree = ""; }; - 31226FB3286E3A690007ED5E /* PollingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PollingViewController.swift; sourceTree = ""; }; - 31226FB4286E3A690007ED5E /* PaymentSheet+API.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+API.swift"; sourceTree = ""; }; - 31226FB5286E3A690007ED5E /* PaymentSheetAppearance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentSheetAppearance.swift; sourceTree = ""; }; - 31226FB6286E3A690007ED5E /* KlarnaHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KlarnaHelper.swift; sourceTree = ""; }; - 31226FB7286E3A690007ED5E /* PaymentSheet+PaymentMethodAvailability.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+PaymentMethodAvailability.swift"; sourceTree = ""; }; - 31226FB8286E3A690007ED5E /* Error+PaymentSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Error+PaymentSheet.swift"; sourceTree = ""; }; - 31226FB9286E3A690007ED5E /* PaymentSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentSheet.swift; sourceTree = ""; }; - 31226FBA286E3A690007ED5E /* PaymentSheetError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentSheetError.swift; sourceTree = ""; }; - 31226FBB286E3A690007ED5E /* PaymentSheet+SwiftUI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+SwiftUI.swift"; sourceTree = ""; }; - 31226FBC286E3A6A0007ED5E /* PaymentOption+Images.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentOption+Images.swift"; sourceTree = ""; }; - 31226FBD286E3A6A0007ED5E /* PaymentMethodType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentMethodType.swift; sourceTree = ""; }; - 31226FD6286E3AC50007ED5E /* PaymentMethodTypeCollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentMethodTypeCollectionView.swift; sourceTree = ""; }; - 31226FD7286E3AC50007ED5E /* WalletHeaderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletHeaderView.swift; sourceTree = ""; }; - 31226FD8286E3AC50007ED5E /* AddPaymentMethodViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddPaymentMethodViewController.swift; sourceTree = ""; }; - 31226FDD286E3AE50007ED5E /* PaymentSheetFormFactory+FormSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentSheetFormFactory+FormSpec.swift"; sourceTree = ""; }; - 31226FDE286E3AE50007ED5E /* PaymentSheetFormFactory+Card.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentSheetFormFactory+Card.swift"; sourceTree = ""; }; - 31226FDF286E3AE50007ED5E /* PaymentSheetFormFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentSheetFormFactory.swift; sourceTree = ""; }; - 31226FE3286E3AEC0007ED5E /* FormSpecProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormSpecProvider.swift; sourceTree = ""; }; - 31226FE4286E3AEC0007ED5E /* FormSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormSpec.swift; sourceTree = ""; }; - 31226FE7286E3AFB0007ED5E /* SavedPaymentMethodCollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SavedPaymentMethodCollectionView.swift; sourceTree = ""; }; - 31226FE8286E3AFB0007ED5E /* SavedPaymentOptionsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SavedPaymentOptionsViewController.swift; sourceTree = ""; }; - 31226FEB286E3B040007ED5E /* USBankAccountPaymentMethodElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = USBankAccountPaymentMethodElement.swift; sourceTree = ""; }; - 31226FEC286E3B040007ED5E /* BankAccountInfoView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BankAccountInfoView.swift; sourceTree = ""; }; - 31226FEF286E3B0F0007ED5E /* PaymentSheetViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentSheetViewController.swift; sourceTree = ""; }; - 31226FF0286E3B0F0007ED5E /* BottomSheetViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheetViewController.swift; sourceTree = ""; }; - 31226FF2286E3B0F0007ED5E /* ChoosePaymentOptionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChoosePaymentOptionViewController.swift; sourceTree = ""; }; - 31226FF3286E3B0F0007ED5E /* LoadingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadingViewController.swift; sourceTree = ""; }; - 31226FF4286E3B100007ED5E /* BottomSheet3DS2ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomSheet3DS2ViewController.swift; sourceTree = ""; }; - 31226FFC286E3B1F0007ED5E /* AutoCompleteViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AutoCompleteViewController.swift; sourceTree = ""; }; - 31226FFD286E3B1F0007ED5E /* AddressSearchResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddressSearchResult.swift; sourceTree = ""; }; - 31226FFE286E3B1F0007ED5E /* String+AutoComplete.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+AutoComplete.swift"; sourceTree = ""; }; - 31227003286E3B290007ED5E /* AfterpayPriceBreakdownView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AfterpayPriceBreakdownView.swift; sourceTree = ""; }; - 31227004286E3B2A0007ED5E /* ManualEntryButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ManualEntryButton.swift; sourceTree = ""; }; - 31227005286E3B2A0007ED5E /* ShadowedRoundedRectangleView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShadowedRoundedRectangleView.swift; sourceTree = ""; }; - 31227006286E3B2A0007ED5E /* PayWithLinkButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PayWithLinkButton.swift; sourceTree = ""; }; - 31227007286E3B2A0007ED5E /* AffirmCopyLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AffirmCopyLabel.swift; sourceTree = ""; }; - 31227008286E3B2A0007ED5E /* ConfirmButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfirmButton.swift; sourceTree = ""; }; - 31227009286E3B2A0007ED5E /* UIKit+PaymentSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIKit+PaymentSheet.swift"; sourceTree = ""; }; - 3122700A286E3B2A0007ED5E /* CardScanButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardScanButton.swift; sourceTree = ""; }; - 3122700B286E3B2A0007ED5E /* AUBECSMandate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AUBECSMandate.swift; sourceTree = ""; }; - 3122700C286E3B2A0007ED5E /* CardScanningView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardScanningView.swift; sourceTree = ""; }; - 3122700D286E3B2A0007ED5E /* CircularButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CircularButton.swift; sourceTree = ""; }; - 3122700E286E3B2A0007ED5E /* SheetNavigationBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SheetNavigationBar.swift; sourceTree = ""; }; - 3122700F286E3B2B0007ED5E /* TestModeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestModeView.swift; sourceTree = ""; }; - 31227010286E3B2B0007ED5E /* SepaMandateView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SepaMandateView.swift; sourceTree = ""; }; - 31227011286E3B2B0007ED5E /* SheetNavigationButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SheetNavigationButton.swift; sourceTree = ""; }; - 31227012286E3B2B0007ED5E /* Appearance+FontScaling.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Appearance+FontScaling.swift"; sourceTree = ""; }; - 3122707F286E3CAA0007ED5E /* LinkUI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkUI.swift; sourceTree = ""; }; - 3122708B286E3CF00007ED5E /* LinkInstantDebitMandateView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkInstantDebitMandateView.swift; sourceTree = ""; }; - 3122708C286E3CF00007ED5E /* LinkKeyboardAvoidingScrollView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkKeyboardAvoidingScrollView.swift; sourceTree = ""; }; - 3122708D286E3CF00007ED5E /* LinkMoreInfoView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkMoreInfoView.swift; sourceTree = ""; }; - 3122708E286E3CF00007ED5E /* LinkLegalTermsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkLegalTermsView.swift; sourceTree = ""; }; - 31227093286E3CF90007ED5E /* LinkInlineSignupViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkInlineSignupViewModel.swift; sourceTree = ""; }; - 31227095286E3CFE0007ED5E /* OperationDebouncer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OperationDebouncer.swift; sourceTree = ""; }; - 31227097286E3D120007ED5E /* LinkAccountService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkAccountService.swift; sourceTree = ""; }; - 31227099286E3D190007ED5E /* FormElement+Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FormElement+Link.swift"; sourceTree = ""; }; - 3122709A286E3D190007ED5E /* UIColor+Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Link.swift"; sourceTree = ""; }; - 3122709B286E3D190007ED5E /* ConfirmButton+Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ConfirmButton+Link.swift"; sourceTree = ""; }; - 3122709D286E3D190007ED5E /* Intent+Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Intent+Link.swift"; sourceTree = ""; }; - 3122709E286E3D190007ED5E /* PaymentSheet-Configuration+Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentSheet-Configuration+Link.swift"; sourceTree = ""; }; - 3122709F286E3D190007ED5E /* Button+Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Button+Link.swift"; sourceTree = ""; }; - 312270A0286E3D1A0007ED5E /* STPAnalyticsClient+Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Link.swift"; sourceTree = ""; }; - 312270A9286E3D220007ED5E /* LinkEmailElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkEmailElement.swift; sourceTree = ""; }; - 312270AC286E3D2E0007ED5E /* LinkInlineSignupView-CheckboxElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LinkInlineSignupView-CheckboxElement.swift"; sourceTree = ""; }; - 312270AD286E3D2F0007ED5E /* LinkInlineSignupElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkInlineSignupElement.swift; sourceTree = ""; }; - 312270AE286E3D2F0007ED5E /* LinkInlineSignupView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkInlineSignupView.swift; sourceTree = ""; }; - 312270B7286E3D640007ED5E /* LinkToast.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkToast.swift; sourceTree = ""; }; - 312270B9286E3D6C0007ED5E /* LinkPaymentMethodPicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkPaymentMethodPicker.swift; sourceTree = ""; }; - 312270BA286E3D6C0007ED5E /* LinkPaymentMethodPicker-Cell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-Cell.swift"; sourceTree = ""; }; - 312270BB286E3D6C0007ED5E /* LinkPaymentMethodPicker-CellContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-CellContentView.swift"; sourceTree = ""; }; - 312270BC286E3D6C0007ED5E /* LinkPaymentMethodPicker-AddButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-AddButton.swift"; sourceTree = ""; }; - 312270BD286E3D6C0007ED5E /* LinkPaymentMethodPicker-RadioButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-RadioButton.swift"; sourceTree = ""; }; - 312270BE286E3D6C0007ED5E /* LinkPaymentMethodPicker-Header.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-Header.swift"; sourceTree = ""; }; - 312270C5286E3D720007ED5E /* LinkNoticeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkNoticeView.swift; sourceTree = ""; }; - 312270C7286E3D770007ED5E /* LinkNavigationBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkNavigationBar.swift; sourceTree = ""; }; - 312270C9286E3D7C0007ED5E /* LinkBadgeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkBadgeView.swift; sourceTree = ""; }; - 312270CB286E3D890007ED5E /* PayWithLinkViewController-WalletViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-WalletViewController.swift"; sourceTree = ""; }; - 312270CC286E3D890007ED5E /* PayWithLinkViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PayWithLinkViewController.swift; sourceTree = ""; }; - 312270CD286E3D890007ED5E /* PayWithLinkViewController-NewPaymentViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-NewPaymentViewController.swift"; sourceTree = ""; }; - 312270CE286E3D890007ED5E /* PayWithLinkViewController-SignUpViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-SignUpViewController.swift"; sourceTree = ""; }; - 312270CF286E3D890007ED5E /* PayWithLinkViewController-BaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-BaseViewController.swift"; sourceTree = ""; }; - 312270D0286E3D890007ED5E /* PayWithLinkViewController-WalletViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-WalletViewModel.swift"; sourceTree = ""; }; - 312270D1286E3D890007ED5E /* PayWithLinkViewController-VerifyAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-VerifyAccountViewController.swift"; sourceTree = ""; }; - 312270D2286E3D890007ED5E /* PayWithLinkViewController-SignUpViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-SignUpViewModel.swift"; sourceTree = ""; }; - 312270D3286E3D890007ED5E /* PayWithLinkViewController-UpdatePaymentViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-UpdatePaymentViewController.swift"; sourceTree = ""; }; - 312270D4286E3D8A0007ED5E /* PayWithLinkViewController-LoaderViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-LoaderViewController.swift"; sourceTree = ""; }; - 312270EE286E3E640007ED5E /* LinkSecureCookieStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkSecureCookieStore.swift; sourceTree = ""; }; - 312270EF286E3E640007ED5E /* LinkCookieStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkCookieStore.swift; sourceTree = ""; }; - 312270F0286E3E640007ED5E /* LinkInMemoryCookieStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkInMemoryCookieStore.swift; sourceTree = ""; }; - 312270F4286E3E6C0007ED5E /* VerificationSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerificationSession.swift; sourceTree = ""; }; - 312270F5286E3E6C0007ED5E /* PaymentDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentDetails.swift; sourceTree = ""; }; - 312270F6286E3E6C0007ED5E /* ConsumerSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConsumerSession.swift; sourceTree = ""; }; - 312270F8286E3E6C0007ED5E /* ConsumerSession-SignupResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ConsumerSession-SignupResponse.swift"; sourceTree = ""; }; - 312270F9286E3E6C0007ED5E /* STPAPIClient+Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+Link.swift"; sourceTree = ""; }; - 312270FA286E3E6D0007ED5E /* ConsumerSession+LookupResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ConsumerSession+LookupResponse.swift"; sourceTree = ""; }; - 31227102286E3EA50007ED5E /* CardExpiryDate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardExpiryDate.swift; sourceTree = ""; }; - 31227136286E44C10007ED5E /* BoolReference.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoolReference.swift; sourceTree = ""; }; - 31227139286E45140007ED5E /* STPCardScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardScanner.swift; sourceTree = ""; }; - 31227157286E56060007ED5E /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122715B286E560A0007ED5E /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122716C286E562D0007ED5E /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31227192286E5D4C0007ED5E /* String+StripePaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+StripePaymentSheet.swift"; sourceTree = ""; }; - 31227198286E61420007ED5E /* AnalyticsHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnalyticsHelper.swift; sourceTree = ""; }; - 312271A0286E62F20007ED5E /* STPPaymentMethod+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentMethod+PaymentSheet.swift"; sourceTree = ""; }; - 312271A2286E63140007ED5E /* STPPaymentMethodParams+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentMethodParams+PaymentSheet.swift"; sourceTree = ""; }; - 312271A62874EAC10007ED5E /* OneTimeCodeTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OneTimeCodeTextField.swift; sourceTree = ""; }; - 312271A72874EAC10007ED5E /* OneTimeCodeTextField-TextStorage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "OneTimeCodeTextField-TextStorage.swift"; sourceTree = ""; }; - 312271E528760A0F0007ED5E /* STPImageLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPImageLibrary.swift; sourceTree = ""; }; - 312271F528760C030007ED5E /* STPStringUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPStringUtils.swift; sourceTree = ""; }; - 3122720428762B050007ED5E /* PaymentSheetLinkAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetLinkAccount.swift; sourceTree = ""; }; - 3122720628762CA10007ED5E /* STPCameraView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCameraView.swift; sourceTree = ""; }; - 3122720828762CD30007ED5E /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; - 3122720A28762CF90007ED5E /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; - 3122720C28762D1D0007ED5E /* StripePaymentSheetBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripePaymentSheetBundleLocator.swift; sourceTree = ""; }; - 3122720E287630B80007ED5E /* Images.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Images.swift; sourceTree = ""; }; - 312272142876336E0007ED5E /* NSAttributedString+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Stripe.swift"; sourceTree = ""; }; - 31227218287637C00007ED5E /* Data+SHA256.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+SHA256.swift"; sourceTree = ""; }; - 3122721A28763A760007ED5E /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122721E28763A7B0007ED5E /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122722828763B000007ED5E /* DefaultPaymentMethodStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultPaymentMethodStore.swift; sourceTree = ""; }; - 3122722A28763B590007ED5E /* UserDefaults+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+Stripe.swift"; sourceTree = ""; }; - 3122722C28763BE60007ED5E /* SeparatorLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SeparatorLabel.swift; sourceTree = ""; }; - 3122723A28763EEE0007ED5E /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122724528763FF90007ED5E /* StripePaymentSheet+Exports.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripePaymentSheet+Exports.swift"; sourceTree = ""; }; - 3139D29E286E34DF00C9744B /* StripePaymentSheet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentSheet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3139D2A1286E34DF00C9744B /* StripePaymentSheet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripePaymentSheet.h; sourceTree = ""; }; - 3139D2A6286E34DF00C9744B /* StripePaymentSheetTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripePaymentSheetTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3139D2AB286E34DF00C9744B /* StripePaymentSheetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripePaymentSheetTests.swift; sourceTree = ""; }; - 3159F71C2888C3A3007C8C3A /* afterpay_icon_info@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "afterpay_icon_info@3x.png"; sourceTree = ""; }; - 3159F71D2888C3A3007C8C3A /* affirm_mark_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "affirm_mark_dark@3x.png"; sourceTree = ""; }; - 3159F71E2888C3A3007C8C3A /* afterpay_mark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "afterpay_mark@3x.png"; sourceTree = ""; }; - 3159F7202888C3A3007C8C3A /* icon-pm-afterpay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-afterpay@3x.png"; sourceTree = ""; }; - 3159F7212888C3A3007C8C3A /* icon-pm-giropay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-giropay@3x.png"; sourceTree = ""; }; - 3159F7222888C3A3007C8C3A /* icon-pm-aubecsdebit@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-aubecsdebit@3x.png"; sourceTree = ""; }; - 3159F7232888C3A3007C8C3A /* icon-pm-ideal@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-ideal@3x.png"; sourceTree = ""; }; - 3159F7242888C3A3007C8C3A /* icon-pm-bancontact@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-bancontact@3x.png"; sourceTree = ""; }; - 3159F7252888C3A3007C8C3A /* icon-pm-klarna@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-klarna@3x.png"; sourceTree = ""; }; - 3159F7262888C3A3007C8C3A /* icon-pm-eps@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-eps@3x.png"; sourceTree = ""; }; - 3159F7272888C3A3007C8C3A /* icon-pm-paypal@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-paypal@3x.png"; sourceTree = ""; }; - 3159F7282888C3A3007C8C3A /* icon-pm-card@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-card@3x.png"; sourceTree = ""; }; - 3159F7292888C3A3007C8C3A /* icon-pm-p24@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-p24@3x.png"; sourceTree = ""; }; - 3159F72A2888C3A3007C8C3A /* icon-pm-paypal_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-paypal_dark@3x.png"; sourceTree = ""; }; - 3159F72B2888C3A3007C8C3A /* icon-pm-sepa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-sepa@3x.png"; sourceTree = ""; }; - 3159F72C2888C3A3007C8C3A /* icon-pm-affirm@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-affirm@3x.png"; sourceTree = ""; }; - 3159F72E2888C3A3007C8C3A /* link_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "link_logo@3x.png"; sourceTree = ""; }; - 3159F7302888C3A3007C8C3A /* bank_icon_wellsfargo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_wellsfargo@3x.png"; sourceTree = ""; }; - 3159F7312888C3A3007C8C3A /* bank_icon_compass@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_compass@3x.png"; sourceTree = ""; }; - 3159F7322888C3A3007C8C3A /* bank_icon_nfcu@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_nfcu@3x.png"; sourceTree = ""; }; - 3159F7332888C3A3007C8C3A /* bank_icon_boa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_boa@3x.png"; sourceTree = ""; }; - 3159F7342888C3A3007C8C3A /* bank_icon_pnc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_pnc@3x.png"; sourceTree = ""; }; - 3159F7352888C3A3007C8C3A /* bank_icon_citibank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_citibank@3x.png"; sourceTree = ""; }; - 3159F7362888C3A3007C8C3A /* bank_icon_td@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_td@3x.png"; sourceTree = ""; }; - 3159F7372888C3A3007C8C3A /* bank_icon_morganchase@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_morganchase@3x.png"; sourceTree = ""; }; - 3159F7382888C3A3007C8C3A /* bank_icon_svb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_svb@3x.png"; sourceTree = ""; }; - 3159F7392888C3A3007C8C3A /* bank_icon_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_default@3x.png"; sourceTree = ""; }; - 3159F73A2888C3A3007C8C3A /* bank_icon_usaa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_usaa@3x.png"; sourceTree = ""; }; - 3159F73B2888C3A3007C8C3A /* bank_icon_suntrust@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_suntrust@3x.png"; sourceTree = ""; }; - 3159F73C2888C3A3007C8C3A /* bank_icon_capitalone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_capitalone@3x.png"; sourceTree = ""; }; - 3159F73D2888C3A3007C8C3A /* bank_icon_stripe@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_stripe@3x.png"; sourceTree = ""; }; - 3159F73E2888C3A3007C8C3A /* bank_icon_usbank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_usbank@3x.png"; sourceTree = ""; }; - 3159F73F2888C3A3007C8C3A /* icon_cancel@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_cancel@3x.png"; sourceTree = ""; }; - 3159F7402888C3A3007C8C3A /* icon_menu@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_menu@3x.png"; sourceTree = ""; }; - 3159F7412888C3A3007C8C3A /* icon_menu_horizontal@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_menu_horizontal@3x.png"; sourceTree = ""; }; - 3159F7422888C3A3007C8C3A /* icon_add_bordered@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_add_bordered@3x.png"; sourceTree = ""; }; - 3159F7432888C3A3007C8C3A /* icon_link_success@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_link_success@3x.png"; sourceTree = ""; }; - 3159F7442888C3A3007C8C3A /* back_button@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_button@3x.png"; sourceTree = ""; }; - 3159F7452888C3A3007C8C3A /* icon_link_error@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_link_error@3x.png"; sourceTree = ""; }; - 3159F7472888C3A3007C8C3A /* icon_x@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_x@3x.png"; sourceTree = ""; }; - 3159F7482888C3A3007C8C3A /* icon_x_standalone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_x_standalone@3x.png"; sourceTree = ""; }; - 3159F7492888C3A3007C8C3A /* icon_lock@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_lock@3x.png"; sourceTree = ""; }; - 3159F74A2888C3A3007C8C3A /* icon_chevron_left_standalone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_chevron_left_standalone@3x.png"; sourceTree = ""; }; - 3159F74B2888C3A3007C8C3A /* icon_plus@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_plus@3x.png"; sourceTree = ""; }; - 3159F74C2888C3A3007C8C3A /* icon_checkmark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_checkmark@3x.png"; sourceTree = ""; }; - 3159F74D2888C3A3007C8C3A /* icon_chevron_left@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_chevron_left@3x.png"; sourceTree = ""; }; - 3159F74E2888C3A3007C8C3A /* affirm_mark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "affirm_mark@3x.png"; sourceTree = ""; }; - 3159F74F2888C3A3007C8C3A /* afterpay_mark_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "afterpay_mark_dark@3x.png"; sourceTree = ""; }; - 3159F7522888C3A3007C8C3A /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7532888C3A3007C8C3A /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7542888C3A3007C8C3A /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7552888C3A3007C8C3A /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7562888C3A3007C8C3A /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7572888C3A3007C8C3A /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7582888C3A3007C8C3A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7592888C3A3007C8C3A /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F75A2888C3A3007C8C3A /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; - 3159F75B2888C3A3007C8C3A /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - 3159F75C2888C3A3007C8C3A /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F75D2888C3A3007C8C3A /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F75E2888C3A3007C8C3A /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - 3159F75F2888C3A3007C8C3A /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7602888C3A3007C8C3A /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7612888C3A3007C8C3A /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7622888C3A3007C8C3A /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7632888C3A3007C8C3A /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7642888C3A3007C8C3A /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7652888C3A3007C8C3A /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7662888C3A3007C8C3A /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7672888C3A3007C8C3A /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7682888C3A3007C8C3A /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7692888C3A3007C8C3A /* tk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tk; path = tk.lproj/Localizable.strings; sourceTree = ""; }; - 3159F76A2888C3A3007C8C3A /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F76B2888C3A3007C8C3A /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - 3159F76C2888C3A3007C8C3A /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - 3159F76D2888C3A3007C8C3A /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F76E2888C3A3007C8C3A /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F76F2888C3A3007C8C3A /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7702888C3A3007C8C3A /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7712888C3A3007C8C3A /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7722888C3A3007C8C3A /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7732888C3A3007C8C3A /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7742888C3A3007C8C3A /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F7752888C3A4007C8C3A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7762888C3A4007C8C3A /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7772888C3A4007C8C3A /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7782888C3A4007C8C3A /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7792888C3A4007C8C3A /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F77A2888C3A4007C8C3A /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F77B2888C3A4007C8C3A /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; - 3166C0A328DA514D003CAF10 /* link_carousel_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "link_carousel_logo@3x.png"; sourceTree = ""; }; - 3166C0A528DA522C003CAF10 /* icon-pm-link@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-link@3x.png"; sourceTree = ""; }; - 31904C6228D9205A00E1F9F5 /* form_specs.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = form_specs.json; sourceTree = ""; }; - 319567F328D3D41800BFF5D1 /* icon-pm-bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-bank@3x.png"; sourceTree = ""; }; - 319567F528D3D53100BFF5D1 /* apple_pay_mark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "apple_pay_mark@3x.png"; sourceTree = ""; }; - 31DCB11428F4D255002EF128 /* LinkFinancialConnectionsAuthManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkFinancialConnectionsAuthManager.swift; sourceTree = ""; }; - 31DCB11828F4EC09002EF128 /* STPAnalyticsClient+PaymentSheetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+PaymentSheetTests.swift"; sourceTree = ""; }; - 31DCB12028F62547002EF128 /* IntentStatusPoller.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IntentStatusPoller.swift; sourceTree = ""; }; - 31DCB12228F6256D002EF128 /* Date+Distance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Date+Distance.swift"; sourceTree = ""; }; - 31DCB12428F6279F002EF128 /* PaymentSheetFormFactory+UPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "PaymentSheetFormFactory+UPI.swift"; sourceTree = ""; }; - 31DCB12628F62865002EF128 /* icon-pm-upi@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-upi@3x.png"; sourceTree = ""; }; - 31DCB12828F62B07002EF128 /* polling_error_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "polling_error_icon@3x.png"; sourceTree = ""; }; - 31DCB12A28F75531002EF128 /* PaymentSheetFlowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaymentSheetFlowController.swift; sourceTree = ""; }; - D06C829A28FEFEC600832267 /* LinkCardEditElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkCardEditElement.swift; sourceTree = ""; }; - E237938E291B286900C63FDD /* RotatingCardBrandsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RotatingCardBrandsView.swift; sourceTree = ""; }; + 01962303408EBBFD6477D215 /* Images.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Images.swift; sourceTree = ""; }; + 0246860EE8993CDD35F82238 /* OneTimeCodeTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OneTimeCodeTextField.swift; sourceTree = ""; }; + 04C8047FD8994D3FAA3D1A7A /* Intent+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Intent+Link.swift"; sourceTree = ""; }; + 05E8F0B8BD5BCF1B32AC9B08 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + 06CA605ED1C2F5469889E9AC /* BottomSheetPresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheetPresentationController.swift; sourceTree = ""; }; + 08B1723A7F578FB52BD6077A /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + 0CACEA8571301D469FF07741 /* PaymentSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetViewController.swift; sourceTree = ""; }; + 0E3AE3F6AE017A5CF18CD0CC /* LinkVerificationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkVerificationView.swift; sourceTree = ""; }; + 0EA56C3880C50858583CE468 /* Error+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Error+PaymentSheet.swift"; sourceTree = ""; }; + 0F4F1936B8B820E7355BC438 /* icon_link_error@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_link_error@3x.png"; sourceTree = ""; }; + 101DFBD8D19B7B182CDD8882 /* PollingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollingViewController.swift; sourceTree = ""; }; + 102C5FA371A7917110E8B27F /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + 103844C9B831A4F01793C304 /* STPPaymentMethodParams+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentMethodParams+PaymentSheet.swift"; sourceTree = ""; }; + 103E2DFDA1CB724B5B1353D3 /* icon_lock@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_lock@3x.png"; sourceTree = ""; }; + 10B31F131E9207A3AC563D7E /* LinkVerificationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkVerificationViewController.swift; sourceTree = ""; }; + 10E555CABB15DFE7F184BBF5 /* afterpay_mark_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "afterpay_mark_dark@3x.png"; sourceTree = ""; }; + 111D973CC589990886655048 /* LinkUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkUtils.swift; sourceTree = ""; }; + 1146728D461F8D9B55BAD003 /* LinkToast.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkToast.swift; sourceTree = ""; }; + 13FB3274557B85BA4C9FA6C0 /* LinkLegalTermsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkLegalTermsView.swift; sourceTree = ""; }; + 14860F76C97434BE1F318EE8 /* LinkInstantDebitMandateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInstantDebitMandateView.swift; sourceTree = ""; }; + 14A052EDC8CC0A4601696E1B /* AnalyticsHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsHelper.swift; sourceTree = ""; }; + 1567C70A509808FA9141C0D9 /* bank_icon_default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_default@3x.png"; sourceTree = ""; }; + 1A40E15840B1B116B2A6C188 /* icon_link_success@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_link_success@3x.png"; sourceTree = ""; }; + 1CB00360E534AB7A1A3849B2 /* PayWithLinkViewController-WalletViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-WalletViewModel.swift"; sourceTree = ""; }; + 1CF41D601B198DC37337940C /* PaymentSheetFormFactory+Card.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheetFormFactory+Card.swift"; sourceTree = ""; }; + 1DDF1C134578D584B5E58F84 /* icon-pm-giropay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-giropay@3x.png"; sourceTree = ""; }; + 1E6B3D009A329B33621C7A00 /* LinkCookieStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkCookieStore.swift; sourceTree = ""; }; + 1FE8A12C459E0702F7525C70 /* PayWithLinkViewController-BaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-BaseViewController.swift"; sourceTree = ""; }; + 202580B7CC72E2F26F013F34 /* String+StripePaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+StripePaymentSheet.swift"; sourceTree = ""; }; + 2147396728E60365E39CBFD0 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + 2190A1772B564CFA75735F9D /* LinkVerificationView-LogoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LinkVerificationView-LogoutView.swift"; sourceTree = ""; }; + 22552CD237A259249CD0C592 /* Intent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Intent.swift; sourceTree = ""; }; + 22D82B65B5500E1E7B230A16 /* Data+SHA256.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Data+SHA256.swift"; sourceTree = ""; }; + 2363DF030555E62FDD3B1D42 /* PaymentSheetFormFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetFormFactory.swift; sourceTree = ""; }; + 24AB1D50F770A8A035EF31DF /* CardScanButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardScanButton.swift; sourceTree = ""; }; + 2573C6603DC2201656961A38 /* BottomSheet3DS2ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheet3DS2ViewController.swift; sourceTree = ""; }; + 25B70D9CF755913181433472 /* LinkVerificationViewController-PresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LinkVerificationViewController-PresentationController.swift"; sourceTree = ""; }; + 25CAEB848B70E2676F9E2D9D /* FormSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormSpec.swift; sourceTree = ""; }; + 274491B25447ABB37EF29D93 /* OperationDebouncer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OperationDebouncer.swift; sourceTree = ""; }; + 293DC8A0B4E6178E9C7C72AA /* bank_icon_morganchase@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_morganchase@3x.png"; sourceTree = ""; }; + 2A19DBD87D0EBC7FA3DFB2A7 /* PaymentOption+Images.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentOption+Images.swift"; sourceTree = ""; }; + 2B3ECDF6CF9AABD573F86CA2 /* SavedPaymentOptionsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SavedPaymentOptionsViewController.swift; sourceTree = ""; }; + 2B5D30A0D993C9543E0993C3 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + 2B84310D9A9A390EDB8FC9BB /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 2C59FD8C17CA1D740BCAFA4D /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentIntentShippingDetailsParams+PaymentSheet.swift"; sourceTree = ""; }; + 2C9ABA7E1C1848A07E5649E8 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 2CBAA65474681CB8AC84D330 /* LinkInMemoryCookieStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInMemoryCookieStore.swift; sourceTree = ""; }; + 2D2EF842B7B716847CFC8CF3 /* tk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tk; path = tk.lproj/Localizable.strings; sourceTree = ""; }; + 2DF75FD35820E7556EC34D15 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + 2E2B99961C09E31383C9FCE9 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + 2E42F31D392C0AED757D6239 /* StripePaymentSheet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentSheet.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 30899FA9130D11BD8B5AB04D /* bank_icon_pnc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_pnc@3x.png"; sourceTree = ""; }; + 3168698F2C61B0F5EC1240FE /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + 31945DFF420173E50D89AC7F /* polling_error_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "polling_error_icon@3x.png"; sourceTree = ""; }; + 32774F3BF3B0E5D2CF776C00 /* UserDefaults+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+Stripe.swift"; sourceTree = ""; }; + 32BDC53A88FB17F378C6B413 /* CardSectionWithScannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardSectionWithScannerView.swift; sourceTree = ""; }; + 34E9292192423B1165EB5F12 /* icon-pm-affirm@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-affirm@3x.png"; sourceTree = ""; }; + 3556971CA13C767092BE7A34 /* ShadowedRoundedRectangleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShadowedRoundedRectangleView.swift; sourceTree = ""; }; + 3595F1786387A6B562FA472F /* BankAccountInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BankAccountInfoView.swift; sourceTree = ""; }; + 35BFC60D1945087E74B6BD89 /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 36AAEA8E481F9A63FA28E982 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 37130B660E4A5D6297F83EE8 /* LinkKeyboardAvoidingScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkKeyboardAvoidingScrollView.swift; sourceTree = ""; }; + 3898FF5D7EBA6D48F7B16647 /* Date+Distance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+Distance.swift"; sourceTree = ""; }; + 3911C5EBA59BB21280736390 /* ConsumerSession-SignupResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ConsumerSession-SignupResponse.swift"; sourceTree = ""; }; + 39CACBC680B9BE62FDADA139 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + 3ABC9ED6F9F77E753272B449 /* IntentStatusPoller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentStatusPoller.swift; sourceTree = ""; }; + 3BD6332FC5A3AE72AA22CC40 /* LinkSecureCookieStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkSecureCookieStore.swift; sourceTree = ""; }; + 3C8E4153CAFF4EC9AC960182 /* AddPaymentMethodViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddPaymentMethodViewController.swift; sourceTree = ""; }; + 3DF5226B8505BAFAE7B4D742 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + 3FBC7DC1A5EFF76C10D29DD6 /* LinkUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkUI.swift; sourceTree = ""; }; + 4208AD2E0A737F5E0F00DE48 /* ConsumerSession+LookupResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ConsumerSession+LookupResponse.swift"; sourceTree = ""; }; + 43CBAA0E9705A80CA0C1BABA /* PayWithLinkViewController-WalletViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-WalletViewController.swift"; sourceTree = ""; }; + 441C3414745D483C9A47ED0B /* VerificationSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationSession.swift; sourceTree = ""; }; + 441FDFDDC5E530A4EDACE473 /* bank_icon_citibank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_citibank@3x.png"; sourceTree = ""; }; + 446E3BBF316178C04343B193 /* STPApplePayContext+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPApplePayContext+PaymentSheet.swift"; sourceTree = ""; }; + 45B6DC9BD9183495E5649369 /* LinkAccountService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkAccountService.swift; sourceTree = ""; }; + 474CD260E1A4EFE05ABF3320 /* KlarnaHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KlarnaHelper.swift; sourceTree = ""; }; + 47C5DB8C01BA7137369C8B4D /* TextFieldElement+Card.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+Card.swift"; sourceTree = ""; }; + 47CA869592FB939B0EFE6EBA /* icon_add_bordered@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_add_bordered@3x.png"; sourceTree = ""; }; + 4BEFE8C0CFEAE73F9FD736D3 /* STPStringUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPStringUtils.swift; sourceTree = ""; }; + 4C6AA41454A6757B3E26AE67 /* StripePaymentSheetTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripePaymentSheetTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 4C95338553543E0DF82A5C13 /* bank_icon_boa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_boa@3x.png"; sourceTree = ""; }; + 4DA1B1B7662E177725062922 /* StripePaymentSheet+Exports.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripePaymentSheet+Exports.swift"; sourceTree = ""; }; + 4E25A81A4EC849FB58C405E6 /* ConfirmButton+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ConfirmButton+Link.swift"; sourceTree = ""; }; + 4F467268FA9468713920CDAC /* Button+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Button+Link.swift"; sourceTree = ""; }; + 4FF422612E2F03988619C3C1 /* ChoosePaymentOptionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChoosePaymentOptionViewController.swift; sourceTree = ""; }; + 50434DAF9CCFBD78DD4C144F /* LinkBadgeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkBadgeView.swift; sourceTree = ""; }; + 5125D0E3E87AA25ACFB04558 /* CardExpiryDate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardExpiryDate.swift; sourceTree = ""; }; + 51FF291A25EA43D4D100983B /* LoadingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingViewController.swift; sourceTree = ""; }; + 522DD1811A1B84ABAE35ADB5 /* PaymentSheetLinkAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetLinkAccount.swift; sourceTree = ""; }; + 539BC5317DB9A13B247DC576 /* LinkInlineSignupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInlineSignupView.swift; sourceTree = ""; }; + 542B8888DB939A07768D7799 /* bank_icon_compass@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_compass@3x.png"; sourceTree = ""; }; + 553CFE0FCC9D265742F8AF2D /* STPImageLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPImageLibrary.swift; sourceTree = ""; }; + 570931B897DCCAC0F55FB6E3 /* TextFieldElement+IBAN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+IBAN.swift"; sourceTree = ""; }; + 58A85D630BDEA7408391EB8B /* PaymentSheetFlowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetFlowController.swift; sourceTree = ""; }; + 59BA69FF6D49A3A865469ED0 /* STPCardScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardScanner.swift; sourceTree = ""; }; + 5A1C7CFA5C9C1A8A73CFA1C0 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5A755886E32A81531C7361AB /* icon-pm-bancontact@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-bancontact@3x.png"; sourceTree = ""; }; + 5AA26FF00FD57F6AA1A7CB83 /* SavedPaymentMethodCollectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SavedPaymentMethodCollectionView.swift; sourceTree = ""; }; + 5B45D77A7870B3CDFC47AA6B /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + 5CD1A451B238C1D1ADAA72EC /* PaymentSheet+API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+API.swift"; sourceTree = ""; }; + 5D7B682C467DD8466DFAD143 /* icon_x_standalone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_x_standalone@3x.png"; sourceTree = ""; }; + 5DC05704665DAAA925897779 /* LinkPaymentMethodPicker-CellContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-CellContentView.swift"; sourceTree = ""; }; + 5DCFBC65AF58423E0E8DD04A /* PayWithLinkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PayWithLinkController.swift; sourceTree = ""; }; + 5EFCD0B8D104E175C9EFF7A0 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + 5F88FEF6217FB97628ABB52F /* UIKit+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIKit+PaymentSheet.swift"; sourceTree = ""; }; + 5FD715F32B61017198E9F952 /* BottomSheetTransitioningDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheetTransitioningDelegate.swift; sourceTree = ""; }; + 6139AA50F07A1E2AC7E9827F /* AUBECSMandate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AUBECSMandate.swift; sourceTree = ""; }; + 6193FC5E14E1EC459E31B5F4 /* SheetNavigationButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SheetNavigationButton.swift; sourceTree = ""; }; + 623698AAD13C345C69971059 /* PayWithLinkViewController-NewPaymentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-NewPaymentViewController.swift"; sourceTree = ""; }; + 62400F4E9BC39F14CFED72A6 /* PayWithLinkViewController-LoaderViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-LoaderViewController.swift"; sourceTree = ""; }; + 62CE362B80042827F47ABC3F /* AffirmCopyLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AffirmCopyLabel.swift; sourceTree = ""; }; + 641A2A943D4A5A5171B0AA61 /* LinkVerificationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkVerificationController.swift; sourceTree = ""; }; + 641D011DA8FFA3F6F54A40FD /* LinkPaymentMethodPicker-RadioButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-RadioButton.swift"; sourceTree = ""; }; + 64D658AC15478BF1E0A76B9D /* TestModeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestModeView.swift; sourceTree = ""; }; + 650D96BC1D236D2E578986A0 /* bank_icon_usbank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_usbank@3x.png"; sourceTree = ""; }; + 668A2F2E20F846FDAFEC1217 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 66AA3E2D7A57C561961FB169 /* LinkCardEditElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkCardEditElement.swift; sourceTree = ""; }; + 67A8D073B075B32BECCD905A /* form_specs.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = form_specs.json; sourceTree = ""; }; + 698E51BAA5A95734E5B63139 /* link_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "link_logo@3x.png"; sourceTree = ""; }; + 6A065CEE8A7BCE60FC9D50BF /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + 6A0A859715EEDB5872722D57 /* bank_icon_usaa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_usaa@3x.png"; sourceTree = ""; }; + 6B680A2FF197F612D065F16C /* PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheet.swift; sourceTree = ""; }; + 6B9A346A7A4290BAA7BCA1A2 /* PaymentMethodTypeCollectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodTypeCollectionView.swift; sourceTree = ""; }; + 6BB97FB5D5730FE4CAB9298D /* SheetNavigationBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SheetNavigationBar.swift; sourceTree = ""; }; + 6C599C4F3933B4A6F0D99004 /* icon_plus@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_plus@3x.png"; sourceTree = ""; }; + 6CDF0F248F60A38FE4977428 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 6FDD9018F7142928F32AECEC /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + 70ED08B0F303B7C2334602C3 /* StripePaymentSheetBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripePaymentSheetBundleLocator.swift; sourceTree = ""; }; + 70F6CF58AECE26DA8F1FFED6 /* LinkInlineSignupView-CheckboxElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LinkInlineSignupView-CheckboxElement.swift"; sourceTree = ""; }; + 71417C5EEAD54471E3E5610E /* LinkFinancialConnectionsAuthManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkFinancialConnectionsAuthManager.swift; sourceTree = ""; }; + 71C3DCEBA31263AFE89ABD57 /* PaymentMethodElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodElement.swift; sourceTree = ""; }; + 71CA5D9135AE6F064B60E6E9 /* icon-pm-p24@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-p24@3x.png"; sourceTree = ""; }; + 73853A55045C53AF2BBB8489 /* BottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheetViewController.swift; sourceTree = ""; }; + 73AF5D0D3667E447A416A62D /* icon-pm-sepa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-sepa@3x.png"; sourceTree = ""; }; + 73BE27A8A34A47157026D214 /* icon-pm-ideal@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-ideal@3x.png"; sourceTree = ""; }; + 7408E9D65164D9EBAB3A5E4C /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 7596B026ED0E007CE62976C2 /* LinkPaymentMethodPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkPaymentMethodPicker.swift; sourceTree = ""; }; + 75EC3D9394B33C6C432410E9 /* UIViewController+BottomSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+BottomSheet.swift"; sourceTree = ""; }; + 776297331889259F5EB95E9D /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 78267D7F207BB541B515F492 /* icon-pm-link@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-link@3x.png"; sourceTree = ""; }; + 78F350B7BBB240AD67860A7E /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + 7908AA934EC34644090431D5 /* ConnectionsElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionsElement.swift; sourceTree = ""; }; + 7910B57E6FD99F2AFCA4DAC2 /* LinkInlineSignupViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInlineSignupViewModel.swift; sourceTree = ""; }; + 7AA6166F234C3A2129CBD573 /* StripePaymentSheet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripePaymentSheet.h; sourceTree = ""; }; + 7D8FE374BAAD0EDA9FEEF550 /* STPAnalyticsClient+PaymentSheetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+PaymentSheetTests.swift"; sourceTree = ""; }; + 7EA73C14058E6E8E1573A8BA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 80FCEDF102C8E6BCABFDF211 /* NSAttributedString+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Stripe.swift"; sourceTree = ""; }; + 813E88EE408666654EF835E2 /* STPPaymentMethod+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentMethod+PaymentSheet.swift"; sourceTree = ""; }; + 83B5AAA4347A6918EC267210 /* STPAnalyticsClient+LUXE.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+LUXE.swift"; sourceTree = ""; }; + 8472485F70DBD309E81A259C /* clearpay_mark_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "clearpay_mark_dark@3x.png"; sourceTree = ""; }; + 86D228B38C83AA4A2F614F92 /* PaymentSheetFormFactory+UPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheetFormFactory+UPI.swift"; sourceTree = ""; }; + 88F07B4F8F79F5A01F830180 /* AddressViewController+Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AddressViewController+Configuration.swift"; sourceTree = ""; }; + 89472D8EFB4775F2BFC83B13 /* icon-pm-paypal_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-paypal_dark@3x.png"; sourceTree = ""; }; + 8B5BFFD21A67FC81A0F3285E /* link_carousel_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "link_carousel_logo@3x.png"; sourceTree = ""; }; + 8C41B8E77F033E3BCD4FD315 /* bank_icon_svb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_svb@3x.png"; sourceTree = ""; }; + 8D03000A6807B09BFD8E6CB1 /* CardSectionWithScannerElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardSectionWithScannerElement.swift; sourceTree = ""; }; + 8DE20959FF4821AA36208691 /* bank_icon_capitalone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_capitalone@3x.png"; sourceTree = ""; }; + 8DF49ED86C9F4DA7A47DF7E0 /* back_button@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_button@3x.png"; sourceTree = ""; }; + 8E73D6AA921C813A243D3CFD /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 8F1BDCEE21C2C081FB9FD784 /* FormSpecPaymentHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormSpecPaymentHandler.swift; sourceTree = ""; }; + 8FD287DEF2806ABB18847004 /* LinkPaymentMethodPicker-Cell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-Cell.swift"; sourceTree = ""; }; + 903DC6133304F3BCEC73F9D6 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + 9198E163DE5FC832E9691A78 /* icon_menu_horizontal@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_menu_horizontal@3x.png"; sourceTree = ""; }; + 91CF956A7F400500BFE2068F /* affirm_mark_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "affirm_mark_dark@3x.png"; sourceTree = ""; }; + 9300105117D75EDBB229C14F /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9356711AB2961A5F729F3EAA /* PayWithLinkButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PayWithLinkButton.swift; sourceTree = ""; }; + 95BDADF560DB0B1ED175EF50 /* ManualEntryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryButton.swift; sourceTree = ""; }; + 966339C092711FED8EFE98FB /* STPAnalyticsClient+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+PaymentSheet.swift"; sourceTree = ""; }; + 96C9F8CED45EA4B66E770E3E /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; + 97830DBB0A7FB37EEBEE5605 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; + 981F958E99945A0318D47BBF /* PaymentDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentDetails.swift; sourceTree = ""; }; + 982014B36F49D902CD04AF5C /* String+AutoComplete.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+AutoComplete.swift"; sourceTree = ""; }; + 99DE9DF46391067446B8A10F /* icon_x@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_x@3x.png"; sourceTree = ""; }; + 9A0BBDBFC37770CF870594B1 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 9A0D887C5AC6EFFAFE1AFD77 /* PaymentMethodType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodType.swift; sourceTree = ""; }; + 9AFC50A10875C88BF089C0F4 /* PaymentSheet-Configuration+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet-Configuration+Link.swift"; sourceTree = ""; }; + 9E3905FE9F40E82EAEF49CD2 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + A09CCD0ED44336B23450A995 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + A1928BE9DFF116368B1A19DC /* LinkCookieKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkCookieKey.swift; sourceTree = ""; }; + A21FFCAA99E06E8B11067F7D /* OneTimeCodeTextField-TextStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OneTimeCodeTextField-TextStorage.swift"; sourceTree = ""; }; + A33A3264E220BE3EABA67CB6 /* bank_icon_wellsfargo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_wellsfargo@3x.png"; sourceTree = ""; }; + A49D0A50ECFA7A4A5FC40878 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + A5012364ED0F2EEC6EC2AB52 /* PaymentMethodElementWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodElementWrapper.swift; sourceTree = ""; }; + A5E8DD8761B4C52B143038C4 /* LinkInlineSignupElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkInlineSignupElement.swift; sourceTree = ""; }; + A6459BAF6AF6FDEB1D546D74 /* icon-pm-card@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-card@3x.png"; sourceTree = ""; }; + A68FBE0A16FE56AAAAF4ABBF /* CircularButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularButton.swift; sourceTree = ""; }; + A8B687BB60CEAEF918ADE498 /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A8F7582743930881FEB8C206 /* BottomSheetPresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheetPresentable.swift; sourceTree = ""; }; + AB2708910427B1BFE7BC5AD1 /* SepaMandateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SepaMandateView.swift; sourceTree = ""; }; + AD6EA4BF1E6DA11C944F5001 /* icon-pm-paypal@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-paypal@3x.png"; sourceTree = ""; }; + AE95456617FEEDDAC0CE5231 /* UIColor+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Link.swift"; sourceTree = ""; }; + AEAAB975D084F74BB4665465 /* afterpay_mark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "afterpay_mark@3x.png"; sourceTree = ""; }; + AF8355E00EC53A8B0C864167 /* RotatingCardBrandsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RotatingCardBrandsView.swift; sourceTree = ""; }; + AF8380C1DAA262CD5EFDBB8C /* STPAnalyticsClient+Address.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Address.swift"; sourceTree = ""; }; + B02DD1BA93CC92A187051B2F /* LinkAccountContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkAccountContext.swift; sourceTree = ""; }; + B0FB690BBD4339E2FE57245E /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + B18A7772BDFA8EF3975454B7 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + B2021DBBBC100334FFD0647F /* AfterpayPriceBreakdownView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AfterpayPriceBreakdownView.swift; sourceTree = ""; }; + B37C0DDF57A72A21F92EC636 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + B41560E0599A68A84F5C76D2 /* PaymentSheet-LinkConfirmOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet-LinkConfirmOption.swift"; sourceTree = ""; }; + B424EFD2EE9047E1C9EB8482 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; + B4CD2ADFCF34E3F4A35255DC /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; + B516F39E0BE4345859EB2B72 /* STPAPIClient+PaymentSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+PaymentSheet.swift"; sourceTree = ""; }; + B51F9A38D82C20E576DEF098 /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; + B54274B9DEB3F1B0906127D1 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + B5F446B40BD39BF3DADA17AC /* LinkVerificationView-Header.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LinkVerificationView-Header.swift"; sourceTree = ""; }; + B61FFE76D0960C7F1E34B405 /* PaymentSheetAppearance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetAppearance.swift; sourceTree = ""; }; + B667E074D30964FABC64B552 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + B9A9FDAE66ADA08D85D74E19 /* PaymentSheet+SwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+SwiftUI.swift"; sourceTree = ""; }; + BA8C71E8C30516BA68F4B43D /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + BB48D1FD7CD00B3DF85C5FC1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + BBB6BEFBCE1116B85B564574 /* PaymentSheet+PaymentMethodAvailability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheet+PaymentMethodAvailability.swift"; sourceTree = ""; }; + BC2AFCBE41F6692AD311092E /* DefaultPaymentMethodStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultPaymentMethodStore.swift; sourceTree = ""; }; + BC59E533997C0DC616159A4E /* icon-pm-afterpay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-afterpay@3x.png"; sourceTree = ""; }; + BC7EE65FD667524C249EDA25 /* icon-pm-upi@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-upi@3x.png"; sourceTree = ""; }; + BDA9A38CD522BCE2F49545FF /* icon_chevron_left_standalone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_chevron_left_standalone@3x.png"; sourceTree = ""; }; + BE4C1961DECF307493FBB1AF /* clearpay_mark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "clearpay_mark@3x.png"; sourceTree = ""; }; + BEF72D6FB252D340AF1854FE /* AddressViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressViewController.swift; sourceTree = ""; }; + BF0319C54AA8B74DEB6881F0 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + C108951EE2EF107457C1BE29 /* icon-pm-klarna@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-klarna@3x.png"; sourceTree = ""; }; + C1E0D2E092A8C90FDCCFFEFB /* LinkPaymentMethodPicker-AddButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-AddButton.swift"; sourceTree = ""; }; + C2224DF2C85F86C680B5078F /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + C28111152161069FC0592992 /* PayWithLinkViewController-UpdatePaymentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-UpdatePaymentViewController.swift"; sourceTree = ""; }; + C2898F55D92B7E048ABBC9DC /* icon-pm-aubecsdebit@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-aubecsdebit@3x.png"; sourceTree = ""; }; + C3762348D95D24A4D85535B8 /* icon-pm-bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-bank@3x.png"; sourceTree = ""; }; + C46CB5AB992F8EEFE4E5460A /* PaymentSheetConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetConfiguration.swift; sourceTree = ""; }; + C5DCF73BEC0CC35D4CE30361 /* Locale+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Locale+Link.swift"; sourceTree = ""; }; + C684CBDA487CC3E78676F52E /* LinkEmailElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkEmailElement.swift; sourceTree = ""; }; + C723EADC31D27CFEF09A4C3C /* bank_icon_nfcu@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_nfcu@3x.png"; sourceTree = ""; }; + C784153FF2052C4CF240441C /* SeparatorLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeparatorLabel.swift; sourceTree = ""; }; + C94104A367EAF6C8785C17A1 /* FormSpecProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormSpecProvider.swift; sourceTree = ""; }; + CBB05D43F6A475F28E0BD38D /* DictionaryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DictionaryTests.swift; sourceTree = ""; }; + CBCFE3D39D670C3C77C59722 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + CD0150C1C20FD33EA024096A /* Appearance+FontScaling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Appearance+FontScaling.swift"; sourceTree = ""; }; + CD83191AE7D36421AF902424 /* affirm_mark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "affirm_mark@3x.png"; sourceTree = ""; }; + D0694812EA11959595965C44 /* icon-pm-eps@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-pm-eps@3x.png"; sourceTree = ""; }; + D0CE026F53D10DA10D7BC4E7 /* ConsumerSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConsumerSession.swift; sourceTree = ""; }; + D34B92439E9DC6E36D498312 /* CardScanningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardScanningView.swift; sourceTree = ""; }; + D39B31D0B890A4F8E4819B15 /* STPCameraView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCameraView.swift; sourceTree = ""; }; + D3F8B6F8B253A009E6216478 /* USBankAccountPaymentMethodElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = USBankAccountPaymentMethodElement.swift; sourceTree = ""; }; + D77D2858D09AD84E79562DDB /* icon_cancel@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_cancel@3x.png"; sourceTree = ""; }; + D87F990D8D04A9C30ABC914E /* PayWithLinkViewController-SignUpViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-SignUpViewController.swift"; sourceTree = ""; }; + DABBEA0C8EFB60E3019F9BF0 /* bank_icon_suntrust@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_suntrust@3x.png"; sourceTree = ""; }; + DB9C233DAAAD8496E7220CEF /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + DEBAEBAAD3265A08547A2014 /* LinkPaymentMethodPicker-Header.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LinkPaymentMethodPicker-Header.swift"; sourceTree = ""; }; + DED8A6A623A5F47A2DCEAF25 /* LinkNoticeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkNoticeView.swift; sourceTree = ""; }; + DFE1AD470EF60E8D06B0F369 /* bank_icon_td@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_td@3x.png"; sourceTree = ""; }; + E24023F6043D24F2EFA160BC /* PayWithLinkViewController-VerifyAccountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-VerifyAccountViewController.swift"; sourceTree = ""; }; + E32B3AC4CC1C4F2DEEC5F292 /* WalletHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletHeaderView.swift; sourceTree = ""; }; + E41AA4E90E5BB28D588FDE51 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E5240ECFD40B8605939C4E09 /* LinkMoreInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkMoreInfoView.swift; sourceTree = ""; }; + E6DDBBAAC2892467CED23402 /* PaymentSheetError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentSheetError.swift; sourceTree = ""; }; + E77A5A5E70770575F1D02837 /* LinkEnabledPaymentMethodElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkEnabledPaymentMethodElement.swift; sourceTree = ""; }; + E80287504EEBBEE85081BFB5 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + E8B165E05263B0C0C9883268 /* icon_chevron_left@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_chevron_left@3x.png"; sourceTree = ""; }; + E8F09CF961C943E36D76860F /* BottomSheetPresentationAnimator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomSheetPresentationAnimator.swift; sourceTree = ""; }; + EB812081AFBCE283C1EB6130 /* BoolReference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BoolReference.swift; sourceTree = ""; }; + EB98DA1D622DC572F0894A28 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + EC6AC82221B18A06DF48E0E0 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + EC6F2DC65C647FBCA3169396 /* LinkNavigationBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkNavigationBar.swift; sourceTree = ""; }; + ECFA98E6166B4E9EEE21B93E /* afterpay_icon_info@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "afterpay_icon_info@3x.png"; sourceTree = ""; }; + EDDECF0A74497EE887DFCB46 /* AutoCompleteViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoCompleteViewController.swift; sourceTree = ""; }; + EFB7FEEFECC6D105089331C0 /* apple_pay_mark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "apple_pay_mark@3x.png"; sourceTree = ""; }; + EFD640EBCE4B4224773DDF45 /* ConfirmButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmButton.swift; sourceTree = ""; }; + EFDE97D76542848E7821BA43 /* FormElement+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FormElement+Link.swift"; sourceTree = ""; }; + F0EC8B04BFECF4A6395C326F /* bank_icon_stripe@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bank_icon_stripe@3x.png"; sourceTree = ""; }; + F1E614E8481658A027599A92 /* STPAPIClient+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+Link.swift"; sourceTree = ""; }; + F22354BD25171B8DC2B922D2 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F3423BA2EB3F1D1BF9CDD313 /* PayWithLinkViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PayWithLinkViewController.swift; sourceTree = ""; }; + F36A8BE1933B918D85C4E1BC /* PayWithLinkViewController-SignUpViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PayWithLinkViewController-SignUpViewModel.swift"; sourceTree = ""; }; + F5BD05D7E154B2C8DF36B00C /* icon_checkmark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_checkmark@3x.png"; sourceTree = ""; }; + F63F6E62695BEAC410F641F0 /* icon_menu@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_menu@3x.png"; sourceTree = ""; }; + F6A5556B8D1AE901CC16133B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + F78135339DB1893C2DC11AD4 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + F8A04595309632C227482CA0 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + FBA0007525BF2610569B5B7D /* AddressSearchResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSearchResult.swift; sourceTree = ""; }; + FC5B271BC262C36246335F8C /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + FD0EACE5F259BDE586A4A20C /* STPAnalyticsClient+Link.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Link.swift"; sourceTree = ""; }; + FD7A1EFF100C589FDFF4D516 /* PaymentSheetFormFactory+FormSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentSheetFormFactory+FormSpec.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 3139D29B286E34DF00C9744B /* Frameworks */ = { + 060D65627F7B2815A4800F3B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3122721B28763A760007ED5E /* StripeUICore.framework in Frameworks */, - 3122721F28763A7B0007ED5E /* StripeCore.framework in Frameworks */, - 3122716D286E562D0007ED5E /* Stripe3DS2.framework in Frameworks */, - 3122715C286E560A0007ED5E /* StripePayments.framework in Frameworks */, - 31227158286E56060007ED5E /* StripePaymentsUI.framework in Frameworks */, - 3122723B28763EEE0007ED5E /* StripeApplePay.framework in Frameworks */, + 935E8F18F1468A215A06ED29 /* XCTest.framework in Frameworks */, + 8CFF112D4CA7DC217CC36FF7 /* StripePaymentSheet.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3139D2A3286E34DF00C9744B /* Frameworks */ = { + 1226B9510A8E9AE27B9D5F28 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3139D2A7286E34DF00C9744B /* StripePaymentSheet.framework in Frameworks */, + FAB721318163CB8DF4EA2286 /* Stripe3DS2.framework in Frameworks */, + 999D46841AFC73E411A91037 /* StripeApplePay.framework in Frameworks */, + 3D4497A6A1CB151C4B75A68F /* StripeCore.framework in Frameworks */, + 61C0D3B8C63EB4558AB74A7E /* StripePayments.framework in Frameworks */, + 4A8C7B2AFB290567C961DAB0 /* StripePaymentsUI.framework in Frameworks */, + 96B1DCBDA1923BF5E7F990B8 /* StripeUICore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 310F6FB428D4F53700C9580D /* Verification */ = { + 02C402D5A354EE0595227557 /* TextField */ = { isa = PBXGroup; children = ( - 310F6FB828D4F55600C9580D /* LinkAccountContext.swift */, - 310F6FB728D4F55600C9580D /* LinkCookieKey.swift */, - 310F6FBA28D4F55600C9580D /* LinkUtils.swift */, - 310F6FBE28D4F55600C9580D /* LinkVerificationController.swift */, - 310F6FBC28D4F55600C9580D /* LinkVerificationView-Header.swift */, - 310F6FBD28D4F55600C9580D /* LinkVerificationView-LogoutView.swift */, - 310F6FB928D4F55600C9580D /* LinkVerificationView.swift */, - 310F6FBB28D4F55600C9580D /* LinkVerificationViewController-PresentationController.swift */, - 310F6FB628D4F55600C9580D /* LinkVerificationViewController.swift */, + 47C5DB8C01BA7137369C8B4D /* TextFieldElement+Card.swift */, + 570931B897DCCAC0F55FB6E3 /* TextFieldElement+IBAN.swift */, ); - path = Verification; + path = TextField; sourceTree = ""; }; - 310F6FCA28D4F5A400C9580D /* BottomSheet */ = { + 040872CC3BC269DE5D1530D0 /* PaymentSheet */ = { isa = PBXGroup; children = ( - 310F6FDE28D4FA5E00C9580D /* UIViewController+BottomSheet.swift */, - 310F6FCB28D4F5B300C9580D /* BottomSheetPresentable.swift */, - 310F6FCE28D4F5B300C9580D /* BottomSheetPresentationAnimator.swift */, - 310F6FCC28D4F5B300C9580D /* BottomSheetPresentationController.swift */, - 310F6FCD28D4F5B300C9580D /* BottomSheetTransitioningDelegate.swift */, + F5BD05D7E154B2C8DF36B00C /* icon_checkmark@3x.png */, + BDA9A38CD522BCE2F49545FF /* icon_chevron_left_standalone@3x.png */, + E8B165E05263B0C0C9883268 /* icon_chevron_left@3x.png */, + 103E2DFDA1CB724B5B1353D3 /* icon_lock@3x.png */, + 6C599C4F3933B4A6F0D99004 /* icon_plus@3x.png */, + 5D7B682C467DD8466DFAD143 /* icon_x_standalone@3x.png */, + 99DE9DF46391067446B8A10F /* icon_x@3x.png */, ); - path = BottomSheet; + path = PaymentSheet; sourceTree = ""; }; - 310F6FD428D4F9D200C9580D /* AddressViewController */ = { + 0DFDF764857516CD54D9A62B /* PaymentSheetFormFactory */ = { isa = PBXGroup; children = ( - 310F6FD628D4F9E200C9580D /* AddressViewController.swift */, - 310F6FD528D4F9E200C9580D /* AddressViewController+Configuration.swift */, + 4B88C1E80A7419ED296F1C68 /* FormSpec */, + 2363DF030555E62FDD3B1D42 /* PaymentSheetFormFactory.swift */, + 1CF41D601B198DC37337940C /* PaymentSheetFormFactory+Card.swift */, + FD7A1EFF100C589FDFF4D516 /* PaymentSheetFormFactory+FormSpec.swift */, + 86D228B38C83AA4A2F614F92 /* PaymentSheetFormFactory+UPI.swift */, ); - path = AddressViewController; + path = PaymentSheetFormFactory; sourceTree = ""; }; - 310F6FD928D4FA2100C9580D /* Link */ = { + 28FCA7BC8C5DE93DE3128CAF /* Images */ = { isa = PBXGroup; children = ( - 310F6FDC28D4FA4100C9580D /* PayWithLinkController.swift */, - 310F6FDA28D4FA3200C9580D /* PaymentSheet-LinkConfirmOption.swift */, + 6AE940C9AF67AB3948C63857 /* Link */, + D83037515B409A27864A86CD /* PaymentMethods */, + 040872CC3BC269DE5D1530D0 /* PaymentSheet */, + 91CF956A7F400500BFE2068F /* affirm_mark_dark@3x.png */, + CD83191AE7D36421AF902424 /* affirm_mark@3x.png */, + ECFA98E6166B4E9EEE21B93E /* afterpay_icon_info@3x.png */, + 10E555CABB15DFE7F184BBF5 /* afterpay_mark_dark@3x.png */, + AEAAB975D084F74BB4665465 /* afterpay_mark@3x.png */, + EFB7FEEFECC6D105089331C0 /* apple_pay_mark@3x.png */, + 8472485F70DBD309E81A259C /* clearpay_mark_dark@3x.png */, + BE4C1961DECF307493FBB1AF /* clearpay_mark@3x.png */, + 31945DFF420173E50D89AC7F /* polling_error_icon@3x.png */, ); - path = Link; + path = Images; sourceTree = ""; }; - 31138EB828DE53D8008AF554 /* BuildConfigurations */ = { + 319DFD940EAA6EA0A0F4E771 /* Services */ = { isa = PBXGroup; children = ( - 31138EB928DE53D8008AF554 /* StripeiOS Tests-Debug.xcconfig */, - 31138EBA28DE53D8008AF554 /* StripeiOS-Debug.xcconfig */, - 31138EBB28DE53D8008AF554 /* Project-Release.xcconfig */, - 31138EBC28DE53D8008AF554 /* StripeiOS Tests-Release.xcconfig */, - 31138EBD28DE53D8008AF554 /* Project-Shared.xcconfig */, - 31138EBE28DE53D8008AF554 /* Version.xcconfig */, - 31138EBF28DE53D8008AF554 /* StripeiOS Tests-Shared.xcconfig */, - 31138EC028DE53D8008AF554 /* StripeiOS-Shared.xcconfig */, - 31138EC128DE53D8008AF554 /* Project-Debug.xcconfig */, - 31138EC228DE53D8008AF554 /* StripeiOS-Release.xcconfig */, + 45B6DC9BD9183495E5649369 /* LinkAccountService.swift */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = Services; sourceTree = ""; }; - 31226F9B286E39F80007ED5E /* Elements */ = { + 35C0AFFBC393AF76586DAE4A /* Localizations */ = { isa = PBXGroup; children = ( - 31226FA3286E3A2F0007ED5E /* ConnectionsElement.swift */, - 31226FA4286E3A2F0007ED5E /* LinkEnabledPaymentMethodElement.swift */, - 31226F9E286E3A1E0007ED5E /* TextField */, - 31226F9D286E3A160007ED5E /* CardSectionWithScanner */, - 31226F9C286E3A0E0007ED5E /* PaymentMethodElement */, + 8AEEBDAABA19784ABD2024DA /* Localizable.strings */, ); - path = Elements; + path = Localizations; sourceTree = ""; }; - 31226F9C286E3A0E0007ED5E /* PaymentMethodElement */ = { + 417CC7FB8A8E73B6E1E16FE8 /* PaymentSheet */ = { isa = PBXGroup; children = ( - 31226FAC286E3A440007ED5E /* PaymentMethodElement.swift */, - 31226FAB286E3A440007ED5E /* PaymentMethodElementWrapper.swift */, + C50EBF7550F6A596EDAF6ABB /* AddressViewController */, + 9A5ACB8060F5CFC60687631B /* BottomSheet */, + 7372BD368071A7A023B4D869 /* Elements */, + DD2A9628CAC1A50896B625C2 /* Link */, + BC154728146CF9649C655452 /* New Payment Method Screen */, + 0DFDF764857516CD54D9A62B /* PaymentSheetFormFactory */, + 7AA2414EC96415C69E051737 /* Saved Payment Method Screen */, + EBE5490460E35B8AB14FD461 /* USBankAccount */, + 6A663AB17CD17C68D7329B6B /* ViewControllers */, + 9F9FEA0AE875EE2B104F0599 /* Views */, + 0EA56C3880C50858583CE468 /* Error+PaymentSheet.swift */, + 22552CD237A259249CD0C592 /* Intent.swift */, + 474CD260E1A4EFE05ABF3320 /* KlarnaHelper.swift */, + 9A0D887C5AC6EFFAFE1AFD77 /* PaymentMethodType.swift */, + 2A19DBD87D0EBC7FA3DFB2A7 /* PaymentOption+Images.swift */, + 6B680A2FF197F612D065F16C /* PaymentSheet.swift */, + 5CD1A451B238C1D1ADAA72EC /* PaymentSheet+API.swift */, + BBB6BEFBCE1116B85B564574 /* PaymentSheet+PaymentMethodAvailability.swift */, + B9A9FDAE66ADA08D85D74E19 /* PaymentSheet+SwiftUI.swift */, + B61FFE76D0960C7F1E34B405 /* PaymentSheetAppearance.swift */, + C46CB5AB992F8EEFE4E5460A /* PaymentSheetConfiguration.swift */, + E6DDBBAAC2892467CED23402 /* PaymentSheetError.swift */, + 58A85D630BDEA7408391EB8B /* PaymentSheetFlowController.swift */, + 966339C092711FED8EFE98FB /* STPAnalyticsClient+PaymentSheet.swift */, + B516F39E0BE4345859EB2B72 /* STPAPIClient+PaymentSheet.swift */, + 446E3BBF316178C04343B193 /* STPApplePayContext+PaymentSheet.swift */, + 2C59FD8C17CA1D740BCAFA4D /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift */, ); - path = PaymentMethodElement; + path = PaymentSheet; sourceTree = ""; }; - 31226F9D286E3A160007ED5E /* CardSectionWithScanner */ = { + 44C351545E420447ACBE56DF /* Inputs */ = { isa = PBXGroup; children = ( - 31226FA8286E3A3C0007ED5E /* CardSectionWithScannerElement.swift */, - 31226FA7286E3A3C0007ED5E /* CardSectionWithScannerView.swift */, + A21FFCAA99E06E8B11067F7D /* OneTimeCodeTextField-TextStorage.swift */, + 0246860EE8993CDD35F82238 /* OneTimeCodeTextField.swift */, ); - path = CardSectionWithScanner; + path = Inputs; sourceTree = ""; }; - 31226F9E286E3A1E0007ED5E /* TextField */ = { + 472ABC949910C340197A4F78 /* Analytics */ = { isa = PBXGroup; children = ( - 31226F9F286E3A290007ED5E /* TextFieldElement+Card.swift */, - 31226FA0286E3A290007ED5E /* TextFieldElement+IBAN.swift */, + 14A052EDC8CC0A4601696E1B /* AnalyticsHelper.swift */, + AF8380C1DAA262CD5EFDBB8C /* STPAnalyticsClient+Address.swift */, + 83B5AAA4347A6918EC267210 /* STPAnalyticsClient+LUXE.swift */, ); - path = TextField; + path = Analytics; sourceTree = ""; }; - 31226FCF286E3A800007ED5E /* New Payment Method Screen */ = { + 4B88C1E80A7419ED296F1C68 /* FormSpec */ = { isa = PBXGroup; children = ( - 31226FD8286E3AC50007ED5E /* AddPaymentMethodViewController.swift */, - 31226FD6286E3AC50007ED5E /* PaymentMethodTypeCollectionView.swift */, - 31226FD7286E3AC50007ED5E /* WalletHeaderView.swift */, + 25CAEB848B70E2676F9E2D9D /* FormSpec.swift */, + 8F1BDCEE21C2C081FB9FD784 /* FormSpecPaymentHandler.swift */, + C94104A367EAF6C8785C17A1 /* FormSpecProvider.swift */, ); - path = "New Payment Method Screen"; + path = FormSpec; sourceTree = ""; }; - 31226FD1286E3A930007ED5E /* PaymentSheetFormFactory */ = { + 5A3D81E5A62FDBB1DDA44C53 /* Products */ = { isa = PBXGroup; children = ( - 31226FDF286E3AE50007ED5E /* PaymentSheetFormFactory.swift */, - 31226FDE286E3AE50007ED5E /* PaymentSheetFormFactory+Card.swift */, - 31226FDD286E3AE50007ED5E /* PaymentSheetFormFactory+FormSpec.swift */, - 31DCB12428F6279F002EF128 /* PaymentSheetFormFactory+UPI.swift */, - 31226FDC286E3ADA0007ED5E /* FormSpec */, + 9300105117D75EDBB229C14F /* Stripe3DS2.framework */, + A8B687BB60CEAEF918ADE498 /* StripeApplePay.framework */, + E41AA4E90E5BB28D588FDE51 /* StripeCore.framework */, + 5A1C7CFA5C9C1A8A73CFA1C0 /* StripePayments.framework */, + 2E42F31D392C0AED757D6239 /* StripePaymentSheet.framework */, + 4C6AA41454A6757B3E26AE67 /* StripePaymentSheetTests.xctest */, + F22354BD25171B8DC2B922D2 /* StripePaymentsUI.framework */, + 35BFC60D1945087E74B6BD89 /* StripeUICore.framework */, ); - path = PaymentSheetFormFactory; + name = Products; sourceTree = ""; }; - 31226FD2286E3A9E0007ED5E /* Saved Payment Method Screen */ = { + 64D3B67420D77DD15209326B /* Notice */ = { isa = PBXGroup; children = ( - 31226FE7286E3AFB0007ED5E /* SavedPaymentMethodCollectionView.swift */, - 31226FE8286E3AFB0007ED5E /* SavedPaymentOptionsViewController.swift */, + DED8A6A623A5F47A2DCEAF25 /* LinkNoticeView.swift */, ); - path = "Saved Payment Method Screen"; + path = Notice; sourceTree = ""; }; - 31226FD3286E3AA80007ED5E /* USBankAccount */ = { + 6702628D1C9A293C2AA5A3EC /* Link */ = { isa = PBXGroup; children = ( - 31226FEB286E3B040007ED5E /* USBankAccountPaymentMethodElement.swift */, - 31226FEC286E3B040007ED5E /* BankAccountInfoView.swift */, + B27E4E798A8E7E37D886FBF2 /* CookieStore */, + 3911C5EBA59BB21280736390 /* ConsumerSession-SignupResponse.swift */, + D0CE026F53D10DA10D7BC4E7 /* ConsumerSession.swift */, + 4208AD2E0A737F5E0F00DE48 /* ConsumerSession+LookupResponse.swift */, + 981F958E99945A0318D47BBF /* PaymentDetails.swift */, + F1E614E8481658A027599A92 /* STPAPIClient+Link.swift */, + 441C3414745D483C9A47ED0B /* VerificationSession.swift */, ); - path = USBankAccount; + path = Link; sourceTree = ""; }; - 31226FD4286E3AB10007ED5E /* ViewControllers */ = { + 6A663AB17CD17C68D7329B6B /* ViewControllers */ = { isa = PBXGroup; children = ( - 31226FFB286E3B120007ED5E /* AutoComplete */, - 31226FF4286E3B100007ED5E /* BottomSheet3DS2ViewController.swift */, - 31226FF0286E3B0F0007ED5E /* BottomSheetViewController.swift */, - 31226FF2286E3B0F0007ED5E /* ChoosePaymentOptionViewController.swift */, - 31226FF3286E3B0F0007ED5E /* LoadingViewController.swift */, - 31226FB3286E3A690007ED5E /* PollingViewController.swift */, - 31226FEF286E3B0F0007ED5E /* PaymentSheetViewController.swift */, + E8B9249F80BDEF392D3D71B1 /* AutoComplete */, + 2573C6603DC2201656961A38 /* BottomSheet3DS2ViewController.swift */, + 73853A55045C53AF2BBB8489 /* BottomSheetViewController.swift */, + 4FF422612E2F03988619C3C1 /* ChoosePaymentOptionViewController.swift */, + 51FF291A25EA43D4D100983B /* LoadingViewController.swift */, + 0CACEA8571301D469FF07741 /* PaymentSheetViewController.swift */, + 101DFBD8D19B7B182CDD8882 /* PollingViewController.swift */, ); path = ViewControllers; sourceTree = ""; }; - 31226FD5286E3ABA0007ED5E /* Views */ = { + 6AE940C9AF67AB3948C63857 /* Link */ = { isa = PBXGroup; children = ( - 31227007286E3B2A0007ED5E /* AffirmCopyLabel.swift */, - 31227003286E3B290007ED5E /* AfterpayPriceBreakdownView.swift */, - 31227012286E3B2B0007ED5E /* Appearance+FontScaling.swift */, - 3122700B286E3B2A0007ED5E /* AUBECSMandate.swift */, - 3122700A286E3B2A0007ED5E /* CardScanButton.swift */, - 3122700C286E3B2A0007ED5E /* CardScanningView.swift */, - 3122700D286E3B2A0007ED5E /* CircularButton.swift */, - 31227008286E3B2A0007ED5E /* ConfirmButton.swift */, - 31227006286E3B2A0007ED5E /* PayWithLinkButton.swift */, - 31227010286E3B2B0007ED5E /* SepaMandateView.swift */, - 31227005286E3B2A0007ED5E /* ShadowedRoundedRectangleView.swift */, - 3122700E286E3B2A0007ED5E /* SheetNavigationBar.swift */, - 31227011286E3B2B0007ED5E /* SheetNavigationButton.swift */, - 3122700F286E3B2B0007ED5E /* TestModeView.swift */, - 31227009286E3B2A0007ED5E /* UIKit+PaymentSheet.swift */, - 31227004286E3B2A0007ED5E /* ManualEntryButton.swift */, - E237938E291B286900C63FDD /* RotatingCardBrandsView.swift */, + CEE330FA2E1E41339C92DCC2 /* InstantDebitIcons */, + 8DF49ED86C9F4DA7A47DF7E0 /* back_button@3x.png */, + 47CA869592FB939B0EFE6EBA /* icon_add_bordered@3x.png */, + D77D2858D09AD84E79562DDB /* icon_cancel@3x.png */, + 0F4F1936B8B820E7355BC438 /* icon_link_error@3x.png */, + 1A40E15840B1B116B2A6C188 /* icon_link_success@3x.png */, + 9198E163DE5FC832E9691A78 /* icon_menu_horizontal@3x.png */, + F63F6E62695BEAC410F641F0 /* icon_menu@3x.png */, + 78267D7F207BB541B515F492 /* icon-pm-link@3x.png */, + 8B5BFFD21A67FC81A0F3285E /* link_carousel_logo@3x.png */, + 698E51BAA5A95734E5B63139 /* link_logo@3x.png */, ); - path = Views; + path = Link; sourceTree = ""; }; - 31226FDC286E3ADA0007ED5E /* FormSpec */ = { + 6C261EBDDFB85061A34DAB6B /* Helpers */ = { isa = PBXGroup; children = ( - 31226FE4286E3AEC0007ED5E /* FormSpec.swift */, - 31226FE3286E3AEC0007ED5E /* FormSpecProvider.swift */, - 31138E8328DCDEAC008AF554 /* FormSpecPaymentHandler.swift */, + EB812081AFBCE283C1EB6130 /* BoolReference.swift */, + BC2AFCBE41F6692AD311092E /* DefaultPaymentMethodStore.swift */, + 01962303408EBBFD6477D215 /* Images.swift */, + 3ABC9ED6F9F77E753272B449 /* IntentStatusPoller.swift */, + 522DD1811A1B84ABAE35ADB5 /* PaymentSheetLinkAccount.swift */, + D39B31D0B890A4F8E4819B15 /* STPCameraView.swift */, + 59BA69FF6D49A3A865469ED0 /* STPCardScanner.swift */, + 553CFE0FCC9D265742F8AF2D /* STPImageLibrary.swift */, + 96C9F8CED45EA4B66E770E3E /* STPLocalizedString.swift */, + 4BEFE8C0CFEAE73F9FD736D3 /* STPStringUtils.swift */, + 4DA1B1B7662E177725062922 /* StripePaymentSheet+Exports.swift */, + 70ED08B0F303B7C2334602C3 /* StripePaymentSheetBundleLocator.swift */, ); - path = FormSpec; + path = Helpers; sourceTree = ""; }; - 31226FFB286E3B120007ED5E /* AutoComplete */ = { + 7372BD368071A7A023B4D869 /* Elements */ = { isa = PBXGroup; children = ( - 31226FFC286E3B1F0007ED5E /* AutoCompleteViewController.swift */, - 31226FFE286E3B1F0007ED5E /* String+AutoComplete.swift */, - 31226FFD286E3B1F0007ED5E /* AddressSearchResult.swift */, + 81DB58871D2DA344926A46B8 /* CardSectionWithScanner */, + B4F147A0A9C8DF64A45107D8 /* PaymentMethodElement */, + 02C402D5A354EE0595227557 /* TextField */, + 7908AA934EC34644090431D5 /* ConnectionsElement.swift */, + E77A5A5E70770575F1D02837 /* LinkEnabledPaymentMethodElement.swift */, ); - path = AutoComplete; + path = Elements; sourceTree = ""; }; - 3122707D286E3C9C0007ED5E /* Internal */ = { + 73E4C5AC3CA0DE994AF58C3F /* Utils */ = { isa = PBXGroup; children = ( - 312271A42874EAAA0007ED5E /* Basic UI */, - 312270EB286E3E4E0007ED5E /* API Bindings */, - 3122707E286E3CA10007ED5E /* Link */, + C5DCF73BEC0CC35D4CE30361 /* Locale+Link.swift */, + 274491B25447ABB37EF29D93 /* OperationDebouncer.swift */, ); - path = Internal; + path = Utils; sourceTree = ""; }; - 3122707E286E3CA10007ED5E /* Link */ = { + 78183D4CC0F504761CDED697 /* JSON */ = { isa = PBXGroup; children = ( - 31DCB11328F4D255002EF128 /* ACH */, - 310F6FB428D4F53700C9580D /* Verification */, - 3122708A286E3CE90007ED5E /* Views */, - 31227089286E3CE40007ED5E /* ViewModels */, - 31227088286E3CDE0007ED5E /* Utils */, - 31227087286E3CDA0007ED5E /* Services */, - 31227086286E3CD40007ED5E /* Extensions */, - 31227085286E3CCE0007ED5E /* Elements */, - 31227084286E3CC70007ED5E /* Components */, - 31227083286E3CC10007ED5E /* Controllers */, - 3122707F286E3CAA0007ED5E /* LinkUI.swift */, + 67A8D073B075B32BECCD905A /* form_specs.json */, ); - path = Link; + path = JSON; sourceTree = ""; }; - 31227083286E3CC10007ED5E /* Controllers */ = { + 7AA2414EC96415C69E051737 /* Saved Payment Method Screen */ = { isa = PBXGroup; children = ( - 312270CC286E3D890007ED5E /* PayWithLinkViewController.swift */, - 312270CF286E3D890007ED5E /* PayWithLinkViewController-BaseViewController.swift */, - 312270D4286E3D8A0007ED5E /* PayWithLinkViewController-LoaderViewController.swift */, - 312270CD286E3D890007ED5E /* PayWithLinkViewController-NewPaymentViewController.swift */, - 312270D3286E3D890007ED5E /* PayWithLinkViewController-UpdatePaymentViewController.swift */, - 312270CE286E3D890007ED5E /* PayWithLinkViewController-SignUpViewController.swift */, - 312270D2286E3D890007ED5E /* PayWithLinkViewController-SignUpViewModel.swift */, - 312270D1286E3D890007ED5E /* PayWithLinkViewController-VerifyAccountViewController.swift */, - 312270CB286E3D890007ED5E /* PayWithLinkViewController-WalletViewController.swift */, - 312270D0286E3D890007ED5E /* PayWithLinkViewController-WalletViewModel.swift */, + 5AA26FF00FD57F6AA1A7CB83 /* SavedPaymentMethodCollectionView.swift */, + 2B3ECDF6CF9AABD573F86CA2 /* SavedPaymentOptionsViewController.swift */, ); - path = Controllers; + path = "Saved Payment Method Screen"; sourceTree = ""; }; - 31227084286E3CC70007ED5E /* Components */ = { + 81DB58871D2DA344926A46B8 /* CardSectionWithScanner */ = { isa = PBXGroup; children = ( - 312270B6286E3D5B0007ED5E /* Toast */, - 312270B5286E3D580007ED5E /* PaymentMethodPicker */, - 312270B4286E3D460007ED5E /* Notice */, - 312270B3286E3D420007ED5E /* NavigationBar */, - 312270B2286E3D3C0007ED5E /* Badge */, + 8D03000A6807B09BFD8E6CB1 /* CardSectionWithScannerElement.swift */, + 32BDC53A88FB17F378C6B413 /* CardSectionWithScannerView.swift */, ); - path = Components; + path = CardSectionWithScanner; sourceTree = ""; }; - 31227085286E3CCE0007ED5E /* Elements */ = { + 81FF5CCA7B13F656B8BD8C87 /* Badge */ = { isa = PBXGroup; children = ( - 312270AB286E3D250007ED5E /* InlineSignup */, - D06C829A28FEFEC600832267 /* LinkCardEditElement.swift */, - 312270A9286E3D220007ED5E /* LinkEmailElement.swift */, + 50434DAF9CCFBD78DD4C144F /* LinkBadgeView.swift */, ); - path = Elements; + path = Badge; sourceTree = ""; }; - 31227086286E3CD40007ED5E /* Extensions */ = { + 843180340B5C7406A1117541 /* Views */ = { isa = PBXGroup; children = ( - 3122709D286E3D190007ED5E /* Intent+Link.swift */, - 3122709F286E3D190007ED5E /* Button+Link.swift */, - 3122709B286E3D190007ED5E /* ConfirmButton+Link.swift */, - 31227099286E3D190007ED5E /* FormElement+Link.swift */, - 3122709E286E3D190007ED5E /* PaymentSheet-Configuration+Link.swift */, - 3122709A286E3D190007ED5E /* UIColor+Link.swift */, - 312270A0286E3D1A0007ED5E /* STPAnalyticsClient+Link.swift */, + 14860F76C97434BE1F318EE8 /* LinkInstantDebitMandateView.swift */, + 37130B660E4A5D6297F83EE8 /* LinkKeyboardAvoidingScrollView.swift */, + 13FB3274557B85BA4C9FA6C0 /* LinkLegalTermsView.swift */, + E5240ECFD40B8605939C4E09 /* LinkMoreInfoView.swift */, + ); + path = Views; + sourceTree = ""; + }; + 86FB97D65ED6CB44B3E8B66C /* Extensions */ = { + isa = PBXGroup; + children = ( + 4F467268FA9468713920CDAC /* Button+Link.swift */, + 4E25A81A4EC849FB58C405E6 /* ConfirmButton+Link.swift */, + EFDE97D76542848E7821BA43 /* FormElement+Link.swift */, + 04C8047FD8994D3FAA3D1A7A /* Intent+Link.swift */, + 9AFC50A10875C88BF089C0F4 /* PaymentSheet-Configuration+Link.swift */, + FD0EACE5F259BDE586A4A20C /* STPAnalyticsClient+Link.swift */, + AE95456617FEEDDAC0CE5231 /* UIColor+Link.swift */, ); path = Extensions; sourceTree = ""; }; - 31227087286E3CDA0007ED5E /* Services */ = { + 8F8E2209EC8973389BBB0797 /* Resources */ = { isa = PBXGroup; children = ( - 31227097286E3D120007ED5E /* LinkAccountService.swift */, + 28FCA7BC8C5DE93DE3128CAF /* Images */, + 78183D4CC0F504761CDED697 /* JSON */, + 35C0AFFBC393AF76586DAE4A /* Localizations */, ); - path = Services; + path = Resources; sourceTree = ""; }; - 31227088286E3CDE0007ED5E /* Utils */ = { + 91A7A7D29E019A3A20741E16 /* Internal */ = { isa = PBXGroup; children = ( - 310F6FC828D4F57B00C9580D /* Locale+Link.swift */, - 31227095286E3CFE0007ED5E /* OperationDebouncer.swift */, + C7E44694D7EC6E2E9DA0EDA4 /* API Bindings */, + C4811F33338F40284096D4E3 /* Basic UI */, + CADE5E69E8EEA0B65C5C0201 /* Link */, ); - path = Utils; + path = Internal; sourceTree = ""; }; - 31227089286E3CE40007ED5E /* ViewModels */ = { + 9A5ACB8060F5CFC60687631B /* BottomSheet */ = { isa = PBXGroup; children = ( - 31227093286E3CF90007ED5E /* LinkInlineSignupViewModel.swift */, + A8F7582743930881FEB8C206 /* BottomSheetPresentable.swift */, + E8F09CF961C943E36D76860F /* BottomSheetPresentationAnimator.swift */, + 06CA605ED1C2F5469889E9AC /* BottomSheetPresentationController.swift */, + 5FD715F32B61017198E9F952 /* BottomSheetTransitioningDelegate.swift */, + 75EC3D9394B33C6C432410E9 /* UIViewController+BottomSheet.swift */, ); - path = ViewModels; + path = BottomSheet; sourceTree = ""; }; - 3122708A286E3CE90007ED5E /* Views */ = { + 9DC724D623B9D7C0853761B5 /* Verification */ = { isa = PBXGroup; children = ( - 3122708C286E3CF00007ED5E /* LinkKeyboardAvoidingScrollView.swift */, - 3122708E286E3CF00007ED5E /* LinkLegalTermsView.swift */, - 3122708D286E3CF00007ED5E /* LinkMoreInfoView.swift */, - 3122708B286E3CF00007ED5E /* LinkInstantDebitMandateView.swift */, + B02DD1BA93CC92A187051B2F /* LinkAccountContext.swift */, + A1928BE9DFF116368B1A19DC /* LinkCookieKey.swift */, + 111D973CC589990886655048 /* LinkUtils.swift */, + 641A2A943D4A5A5171B0AA61 /* LinkVerificationController.swift */, + B5F446B40BD39BF3DADA17AC /* LinkVerificationView-Header.swift */, + 2190A1772B564CFA75735F9D /* LinkVerificationView-LogoutView.swift */, + 0E3AE3F6AE017A5CF18CD0CC /* LinkVerificationView.swift */, + 25B70D9CF755913181433472 /* LinkVerificationViewController-PresentationController.swift */, + 10B31F131E9207A3AC563D7E /* LinkVerificationViewController.swift */, ); - path = Views; + path = Verification; sourceTree = ""; }; - 312270AB286E3D250007ED5E /* InlineSignup */ = { + 9F9FEA0AE875EE2B104F0599 /* Views */ = { isa = PBXGroup; children = ( - 312270AD286E3D2F0007ED5E /* LinkInlineSignupElement.swift */, - 312270AE286E3D2F0007ED5E /* LinkInlineSignupView.swift */, - 312270AC286E3D2E0007ED5E /* LinkInlineSignupView-CheckboxElement.swift */, + 62CE362B80042827F47ABC3F /* AffirmCopyLabel.swift */, + B2021DBBBC100334FFD0647F /* AfterpayPriceBreakdownView.swift */, + CD0150C1C20FD33EA024096A /* Appearance+FontScaling.swift */, + 6139AA50F07A1E2AC7E9827F /* AUBECSMandate.swift */, + 24AB1D50F770A8A035EF31DF /* CardScanButton.swift */, + D34B92439E9DC6E36D498312 /* CardScanningView.swift */, + A68FBE0A16FE56AAAAF4ABBF /* CircularButton.swift */, + EFD640EBCE4B4224773DDF45 /* ConfirmButton.swift */, + 95BDADF560DB0B1ED175EF50 /* ManualEntryButton.swift */, + 9356711AB2961A5F729F3EAA /* PayWithLinkButton.swift */, + AF8355E00EC53A8B0C864167 /* RotatingCardBrandsView.swift */, + AB2708910427B1BFE7BC5AD1 /* SepaMandateView.swift */, + 3556971CA13C767092BE7A34 /* ShadowedRoundedRectangleView.swift */, + 6BB97FB5D5730FE4CAB9298D /* SheetNavigationBar.swift */, + 6193FC5E14E1EC459E31B5F4 /* SheetNavigationButton.swift */, + 64D658AC15478BF1E0A76B9D /* TestModeView.swift */, + 5F88FEF6217FB97628ABB52F /* UIKit+PaymentSheet.swift */, ); - path = InlineSignup; + path = Views; sourceTree = ""; }; - 312270B2286E3D3C0007ED5E /* Badge */ = { + A057CF6E22DDD980E2FF024A /* StripePaymentSheetTests */ = { isa = PBXGroup; children = ( - 312270C9286E3D7C0007ED5E /* LinkBadgeView.swift */, + CBB05D43F6A475F28E0BD38D /* DictionaryTests.swift */, + BB48D1FD7CD00B3DF85C5FC1 /* Info.plist */, + 7D8FE374BAAD0EDA9FEEF550 /* STPAnalyticsClient+PaymentSheetTests.swift */, ); - path = Badge; + path = StripePaymentSheetTests; sourceTree = ""; }; - 312270B3286E3D420007ED5E /* NavigationBar */ = { + A8911824D9D347A10962BA1C /* Frameworks */ = { isa = PBXGroup; children = ( - 312270C7286E3D770007ED5E /* LinkNavigationBar.swift */, + 776297331889259F5EB95E9D /* XCTest.framework */, ); - path = NavigationBar; + name = Frameworks; sourceTree = ""; }; - 312270B4286E3D460007ED5E /* Notice */ = { + AEBF7882CCDBB20F4DF60861 = { isa = PBXGroup; children = ( - 312270C5286E3D720007ED5E /* LinkNoticeView.swift */, + CFE75CA95AAD9B6620724AF8 /* Project */, + A8911824D9D347A10962BA1C /* Frameworks */, + 5A3D81E5A62FDBB1DDA44C53 /* Products */, ); - path = Notice; sourceTree = ""; }; - 312270B5286E3D580007ED5E /* PaymentMethodPicker */ = { + B27E4E798A8E7E37D886FBF2 /* CookieStore */ = { isa = PBXGroup; children = ( - 312270B9286E3D6C0007ED5E /* LinkPaymentMethodPicker.swift */, - 312270BC286E3D6C0007ED5E /* LinkPaymentMethodPicker-AddButton.swift */, - 312270BA286E3D6C0007ED5E /* LinkPaymentMethodPicker-Cell.swift */, - 312270BB286E3D6C0007ED5E /* LinkPaymentMethodPicker-CellContentView.swift */, - 312270BE286E3D6C0007ED5E /* LinkPaymentMethodPicker-Header.swift */, - 312270BD286E3D6C0007ED5E /* LinkPaymentMethodPicker-RadioButton.swift */, + 1E6B3D009A329B33621C7A00 /* LinkCookieStore.swift */, + 2CBAA65474681CB8AC84D330 /* LinkInMemoryCookieStore.swift */, + 3BD6332FC5A3AE72AA22CC40 /* LinkSecureCookieStore.swift */, ); - path = PaymentMethodPicker; + path = CookieStore; sourceTree = ""; }; - 312270B6286E3D5B0007ED5E /* Toast */ = { + B4F147A0A9C8DF64A45107D8 /* PaymentMethodElement */ = { isa = PBXGroup; children = ( - 312270B7286E3D640007ED5E /* LinkToast.swift */, + 71C3DCEBA31263AFE89ABD57 /* PaymentMethodElement.swift */, + A5012364ED0F2EEC6EC2AB52 /* PaymentMethodElementWrapper.swift */, ); - path = Toast; + path = PaymentMethodElement; sourceTree = ""; }; - 312270EB286E3E4E0007ED5E /* API Bindings */ = { + BC154728146CF9649C655452 /* New Payment Method Screen */ = { isa = PBXGroup; children = ( - 31227104286E3EA70007ED5E /* VO */, - 312270EC286E3E520007ED5E /* Link */, + 3C8E4153CAFF4EC9AC960182 /* AddPaymentMethodViewController.swift */, + 6B9A346A7A4290BAA7BCA1A2 /* PaymentMethodTypeCollectionView.swift */, + E32B3AC4CC1C4F2DEEC5F292 /* WalletHeaderView.swift */, ); - path = "API Bindings"; + path = "New Payment Method Screen"; sourceTree = ""; }; - 312270EC286E3E520007ED5E /* Link */ = { + C05D8F23CA45F1C7D8D75674 /* VO */ = { isa = PBXGroup; children = ( - 312270F6286E3E6C0007ED5E /* ConsumerSession.swift */, - 312270FA286E3E6D0007ED5E /* ConsumerSession+LookupResponse.swift */, - 312270F8286E3E6C0007ED5E /* ConsumerSession-SignupResponse.swift */, - 312270F5286E3E6C0007ED5E /* PaymentDetails.swift */, - 312270F9286E3E6C0007ED5E /* STPAPIClient+Link.swift */, - 312270F4286E3E6C0007ED5E /* VerificationSession.swift */, - 312270ED286E3E5B0007ED5E /* CookieStore */, + 5125D0E3E87AA25ACFB04558 /* CardExpiryDate.swift */, ); - path = Link; + path = VO; sourceTree = ""; }; - 312270ED286E3E5B0007ED5E /* CookieStore */ = { + C4811F33338F40284096D4E3 /* Basic UI */ = { isa = PBXGroup; children = ( - 312270EF286E3E640007ED5E /* LinkCookieStore.swift */, - 312270F0286E3E640007ED5E /* LinkInMemoryCookieStore.swift */, - 312270EE286E3E640007ED5E /* LinkSecureCookieStore.swift */, + 44C351545E420447ACBE56DF /* Inputs */, + C784153FF2052C4CF240441C /* SeparatorLabel.swift */, ); - path = CookieStore; + path = "Basic UI"; sourceTree = ""; }; - 31227104286E3EA70007ED5E /* VO */ = { + C50EBF7550F6A596EDAF6ABB /* AddressViewController */ = { isa = PBXGroup; children = ( - 31227102286E3EA50007ED5E /* CardExpiryDate.swift */, + BEF72D6FB252D340AF1854FE /* AddressViewController.swift */, + 88F07B4F8F79F5A01F830180 /* AddressViewController+Configuration.swift */, ); - path = VO; + path = AddressViewController; sourceTree = ""; }; - 31227135286E44BB0007ED5E /* Helpers */ = { + C71284B45BF3D3B487C1B99D /* InlineSignup */ = { isa = PBXGroup; children = ( - 31227139286E45140007ED5E /* STPCardScanner.swift */, - 3122722828763B000007ED5E /* DefaultPaymentMethodStore.swift */, - 3122720628762CA10007ED5E /* STPCameraView.swift */, - 3122724528763FF90007ED5E /* StripePaymentSheet+Exports.swift */, - 3122720428762B050007ED5E /* PaymentSheetLinkAccount.swift */, - 31DCB12028F62547002EF128 /* IntentStatusPoller.swift */, - 3122720E287630B80007ED5E /* Images.swift */, - 312271F528760C030007ED5E /* STPStringUtils.swift */, - 3122720C28762D1D0007ED5E /* StripePaymentSheetBundleLocator.swift */, - 312271E528760A0F0007ED5E /* STPImageLibrary.swift */, - 3122720A28762CF90007ED5E /* STPLocalizedString.swift */, - 31227136286E44C10007ED5E /* BoolReference.swift */, + A5E8DD8761B4C52B143038C4 /* LinkInlineSignupElement.swift */, + 70F6CF58AECE26DA8F1FFED6 /* LinkInlineSignupView-CheckboxElement.swift */, + 539BC5317DB9A13B247DC576 /* LinkInlineSignupView.swift */, ); - path = Helpers; + path = InlineSignup; sourceTree = ""; }; - 31227156286E56060007ED5E /* Frameworks */ = { + C7E44694D7EC6E2E9DA0EDA4 /* API Bindings */ = { isa = PBXGroup; children = ( - 3122723A28763EEE0007ED5E /* StripeApplePay.framework */, - 3122721E28763A7B0007ED5E /* StripeCore.framework */, - 3122721A28763A760007ED5E /* StripeUICore.framework */, - 3122716C286E562D0007ED5E /* Stripe3DS2.framework */, - 3122715B286E560A0007ED5E /* StripePayments.framework */, - 31227157286E56060007ED5E /* StripePaymentsUI.framework */, + 6702628D1C9A293C2AA5A3EC /* Link */, + C05D8F23CA45F1C7D8D75674 /* VO */, ); - name = Frameworks; + path = "API Bindings"; sourceTree = ""; }; - 31227191286E5D410007ED5E /* Categories */ = { + C997158CBC7C36E6192C565A /* NavigationBar */ = { isa = PBXGroup; children = ( - 31227192286E5D4C0007ED5E /* String+StripePaymentSheet.swift */, - 3122720828762CD30007ED5E /* String+Localized.swift */, - 31227218287637C00007ED5E /* Data+SHA256.swift */, - 31DCB12228F6256D002EF128 /* Date+Distance.swift */, - 3122722A28763B590007ED5E /* UserDefaults+Stripe.swift */, - 312272142876336E0007ED5E /* NSAttributedString+Stripe.swift */, - 312271A0286E62F20007ED5E /* STPPaymentMethod+PaymentSheet.swift */, - 312271A2286E63140007ED5E /* STPPaymentMethodParams+PaymentSheet.swift */, + EC6F2DC65C647FBCA3169396 /* LinkNavigationBar.swift */, ); - path = Categories; + path = NavigationBar; sourceTree = ""; }; - 31227197286E612E0007ED5E /* Analytics */ = { + CADE5E69E8EEA0B65C5C0201 /* Link */ = { isa = PBXGroup; children = ( - 310F6FE028D4FAE700C9580D /* STPAnalyticsClient+Address.swift */, - 310F6FE128D4FAE700C9580D /* STPAnalyticsClient+LUXE.swift */, - 31227198286E61420007ED5E /* AnalyticsHelper.swift */, + F8599012936F1A32FC191F06 /* ACH */, + CC7EF6694A3D612964723798 /* Components */, + FD205A472E1B92651A0BB16F /* Controllers */, + E46EF43F3DC5F4348B844EE7 /* Elements */, + 86FB97D65ED6CB44B3E8B66C /* Extensions */, + 319DFD940EAA6EA0A0F4E771 /* Services */, + 73E4C5AC3CA0DE994AF58C3F /* Utils */, + 9DC724D623B9D7C0853761B5 /* Verification */, + CC85BBE4A0D121E0D8C0FC52 /* ViewModels */, + 843180340B5C7406A1117541 /* Views */, + 3FBC7DC1A5EFF76C10D29DD6 /* LinkUI.swift */, ); - path = Analytics; + path = Link; sourceTree = ""; }; - 312271A42874EAAA0007ED5E /* Basic UI */ = { + CC7EF6694A3D612964723798 /* Components */ = { isa = PBXGroup; children = ( - 3122722C28763BE60007ED5E /* SeparatorLabel.swift */, - 312271A52874EAB40007ED5E /* Inputs */, + 81FF5CCA7B13F656B8BD8C87 /* Badge */, + C997158CBC7C36E6192C565A /* NavigationBar */, + 64D3B67420D77DD15209326B /* Notice */, + F45950F022127AE53A9A222E /* PaymentMethodPicker */, + FC4075B074C78D55723D2962 /* Toast */, ); - path = "Basic UI"; + path = Components; sourceTree = ""; }; - 312271A52874EAB40007ED5E /* Inputs */ = { + CC85BBE4A0D121E0D8C0FC52 /* ViewModels */ = { isa = PBXGroup; children = ( - 312271A62874EAC10007ED5E /* OneTimeCodeTextField.swift */, - 312271A72874EAC10007ED5E /* OneTimeCodeTextField-TextStorage.swift */, + 7910B57E6FD99F2AFCA4DAC2 /* LinkInlineSignupViewModel.swift */, ); - path = Inputs; + path = ViewModels; sourceTree = ""; }; - 3139D294286E34DF00C9744B = { + CEE330FA2E1E41339C92DCC2 /* InstantDebitIcons */ = { isa = PBXGroup; children = ( - 31138EB828DE53D8008AF554 /* BuildConfigurations */, - 3139D2A0286E34DF00C9744B /* StripePaymentSheet */, - 3139D2AA286E34DF00C9744B /* StripePaymentSheetTests */, - 3139D29F286E34DF00C9744B /* Products */, - 31227156286E56060007ED5E /* Frameworks */, + 4C95338553543E0DF82A5C13 /* bank_icon_boa@3x.png */, + 8DE20959FF4821AA36208691 /* bank_icon_capitalone@3x.png */, + 441FDFDDC5E530A4EDACE473 /* bank_icon_citibank@3x.png */, + 542B8888DB939A07768D7799 /* bank_icon_compass@3x.png */, + 1567C70A509808FA9141C0D9 /* bank_icon_default@3x.png */, + 293DC8A0B4E6178E9C7C72AA /* bank_icon_morganchase@3x.png */, + C723EADC31D27CFEF09A4C3C /* bank_icon_nfcu@3x.png */, + 30899FA9130D11BD8B5AB04D /* bank_icon_pnc@3x.png */, + F0EC8B04BFECF4A6395C326F /* bank_icon_stripe@3x.png */, + DABBEA0C8EFB60E3019F9BF0 /* bank_icon_suntrust@3x.png */, + 8C41B8E77F033E3BCD4FD315 /* bank_icon_svb@3x.png */, + DFE1AD470EF60E8D06B0F369 /* bank_icon_td@3x.png */, + 6A0A859715EEDB5872722D57 /* bank_icon_usaa@3x.png */, + 650D96BC1D236D2E578986A0 /* bank_icon_usbank@3x.png */, + A33A3264E220BE3EABA67CB6 /* bank_icon_wellsfargo@3x.png */, ); + path = InstantDebitIcons; sourceTree = ""; }; - 3139D29F286E34DF00C9744B /* Products */ = { + CFC90296B8412F6D0E55FD88 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 3139D29E286E34DF00C9744B /* StripePaymentSheet.framework */, - 3139D2A6286E34DF00C9744B /* StripePaymentSheetTests.xctest */, + 8E73D6AA921C813A243D3CFD /* Project-Debug.xcconfig */, + 7408E9D65164D9EBAB3A5E4C /* Project-Release.xcconfig */, + 5B45D77A7870B3CDFC47AA6B /* StripeiOS Tests-Debug.xcconfig */, + EB98DA1D622DC572F0894A28 /* StripeiOS Tests-Release.xcconfig */, + 97830DBB0A7FB37EEBEE5605 /* StripeiOS-Debug.xcconfig */, + B424EFD2EE9047E1C9EB8482 /* StripeiOS-Release.xcconfig */, ); - name = Products; + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; - 3139D2A0286E34DF00C9744B /* StripePaymentSheet */ = { + CFE75CA95AAD9B6620724AF8 /* Project */ = { isa = PBXGroup; children = ( - 31138ECD28DE54DD008AF554 /* Info.plist */, - 3159F7192888C3A3007C8C3A /* Resources */, - 31227197286E612E0007ED5E /* Analytics */, - 31227191286E5D410007ED5E /* Categories */, - 31227135286E44BB0007ED5E /* Helpers */, - 3122707D286E3C9C0007ED5E /* Internal */, - 314D28B3286E390D000076C8 /* PaymentSheet */, - 314D28B0286E36D4000076C8 /* SDKAvailability */, - 3139D2A1286E34DF00C9744B /* StripePaymentSheet.h */, + CFC90296B8412F6D0E55FD88 /* BuildConfigurations */, + F8C690658AEA1F3EFDD45748 /* StripePaymentSheet */, + A057CF6E22DDD980E2FF024A /* StripePaymentSheetTests */, ); - path = StripePaymentSheet; + name = Project; sourceTree = ""; }; - 3139D2AA286E34DF00C9744B /* StripePaymentSheetTests */ = { + D7EDB52CAFCADAE69435C6A9 /* Categories */ = { isa = PBXGroup; children = ( - 3139D2AB286E34DF00C9744B /* StripePaymentSheetTests.swift */, - 31DCB11828F4EC09002EF128 /* STPAnalyticsClient+PaymentSheetTests.swift */, - 31138E8828DD1E63008AF554 /* DictionaryTests.swift */, + 22D82B65B5500E1E7B230A16 /* Data+SHA256.swift */, + 3898FF5D7EBA6D48F7B16647 /* Date+Distance.swift */, + 80FCEDF102C8E6BCABFDF211 /* NSAttributedString+Stripe.swift */, + 813E88EE408666654EF835E2 /* STPPaymentMethod+PaymentSheet.swift */, + 103844C9B831A4F01793C304 /* STPPaymentMethodParams+PaymentSheet.swift */, + B51F9A38D82C20E576DEF098 /* String+Localized.swift */, + 202580B7CC72E2F26F013F34 /* String+StripePaymentSheet.swift */, + 32774F3BF3B0E5D2CF776C00 /* UserDefaults+Stripe.swift */, ); - path = StripePaymentSheetTests; + path = Categories; sourceTree = ""; }; - 314D28B0286E36D4000076C8 /* SDKAvailability */ = { + D83037515B409A27864A86CD /* PaymentMethods */ = { isa = PBXGroup; children = ( + 34E9292192423B1165EB5F12 /* icon-pm-affirm@3x.png */, + BC59E533997C0DC616159A4E /* icon-pm-afterpay@3x.png */, + C2898F55D92B7E048ABBC9DC /* icon-pm-aubecsdebit@3x.png */, + 5A755886E32A81531C7361AB /* icon-pm-bancontact@3x.png */, + C3762348D95D24A4D85535B8 /* icon-pm-bank@3x.png */, + A6459BAF6AF6FDEB1D546D74 /* icon-pm-card@3x.png */, + D0694812EA11959595965C44 /* icon-pm-eps@3x.png */, + 1DDF1C134578D584B5E58F84 /* icon-pm-giropay@3x.png */, + 73BE27A8A34A47157026D214 /* icon-pm-ideal@3x.png */, + C108951EE2EF107457C1BE29 /* icon-pm-klarna@3x.png */, + 71CA5D9135AE6F064B60E6E9 /* icon-pm-p24@3x.png */, + 89472D8EFB4775F2BFC83B13 /* icon-pm-paypal_dark@3x.png */, + AD6EA4BF1E6DA11C944F5001 /* icon-pm-paypal@3x.png */, + 73AF5D0D3667E447A416A62D /* icon-pm-sepa@3x.png */, + BC7EE65FD667524C249EDA25 /* icon-pm-upi@3x.png */, ); - path = SDKAvailability; + path = PaymentMethods; sourceTree = ""; }; - 314D28B3286E390D000076C8 /* PaymentSheet */ = { + DD2A9628CAC1A50896B625C2 /* Link */ = { isa = PBXGroup; children = ( - 310F6FD928D4FA2100C9580D /* Link */, - 310F6FD428D4F9D200C9580D /* AddressViewController */, - 310F6FCA28D4F5A400C9580D /* BottomSheet */, - 31226FD5286E3ABA0007ED5E /* Views */, - 31226FD4286E3AB10007ED5E /* ViewControllers */, - 31226FD3286E3AA80007ED5E /* USBankAccount */, - 31226FD2286E3A9E0007ED5E /* Saved Payment Method Screen */, - 31226FD1286E3A930007ED5E /* PaymentSheetFormFactory */, - 31226FCF286E3A800007ED5E /* New Payment Method Screen */, - 31226FB8286E3A690007ED5E /* Error+PaymentSheet.swift */, - 31226FB2286E3A690007ED5E /* Intent.swift */, - 31226FB6286E3A690007ED5E /* KlarnaHelper.swift */, - 31226FBD286E3A6A0007ED5E /* PaymentMethodType.swift */, - 31226FBC286E3A6A0007ED5E /* PaymentOption+Images.swift */, - 31226FB9286E3A690007ED5E /* PaymentSheet.swift */, - 31DCB12A28F75531002EF128 /* PaymentSheetFlowController.swift */, - 31226FB4286E3A690007ED5E /* PaymentSheet+API.swift */, - 31226FB7286E3A690007ED5E /* PaymentSheet+PaymentMethodAvailability.swift */, - 31226FBB286E3A690007ED5E /* PaymentSheet+SwiftUI.swift */, - 31226FB5286E3A690007ED5E /* PaymentSheetAppearance.swift */, - 31226FB1286E3A680007ED5E /* PaymentSheetConfiguration.swift */, - 31226FBA286E3A690007ED5E /* PaymentSheetError.swift */, - 31226FAF286E3A680007ED5E /* STPAnalyticsClient+PaymentSheet.swift */, - 31226FB0286E3A680007ED5E /* STPApplePayContext+PaymentSheet.swift */, - 310F6FE628D5346D00C9580D /* STPAPIClient+PaymentSheet.swift */, - 310F6FE828D5361200C9580D /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift */, - 31226F9B286E39F80007ED5E /* Elements */, + B41560E0599A68A84F5C76D2 /* PaymentSheet-LinkConfirmOption.swift */, + 5DCFBC65AF58423E0E8DD04A /* PayWithLinkController.swift */, ); - path = PaymentSheet; + path = Link; sourceTree = ""; }; - 3159F7192888C3A3007C8C3A /* Resources */ = { + E3D86510CBD3EEB0652E38C2 /* Source */ = { isa = PBXGroup; children = ( - 31904C6128D9205A00E1F9F5 /* JSON */, - 3159F71B2888C3A3007C8C3A /* Images */, - 3159F7502888C3A3007C8C3A /* Localizations */, + 472ABC949910C340197A4F78 /* Analytics */, + D7EDB52CAFCADAE69435C6A9 /* Categories */, + 6C261EBDDFB85061A34DAB6B /* Helpers */, + 91A7A7D29E019A3A20741E16 /* Internal */, + 417CC7FB8A8E73B6E1E16FE8 /* PaymentSheet */, ); - path = Resources; + path = Source; sourceTree = ""; }; - 3159F71B2888C3A3007C8C3A /* Images */ = { + E46EF43F3DC5F4348B844EE7 /* Elements */ = { isa = PBXGroup; children = ( - 3159F71C2888C3A3007C8C3A /* afterpay_icon_info@3x.png */, - 3159F71D2888C3A3007C8C3A /* affirm_mark_dark@3x.png */, - 319567F528D3D53100BFF5D1 /* apple_pay_mark@3x.png */, - 31138E8A28DE11DA008AF554 /* clearpay_mark_dark@3x.png */, - 31138E8B28DE11DA008AF554 /* clearpay_mark@3x.png */, - 31DCB12828F62B07002EF128 /* polling_error_icon@3x.png */, - 3159F71E2888C3A3007C8C3A /* afterpay_mark@3x.png */, - 3159F71F2888C3A3007C8C3A /* PaymentMethods */, - 3159F72D2888C3A3007C8C3A /* Link */, - 3159F7462888C3A3007C8C3A /* PaymentSheet */, - 3159F74E2888C3A3007C8C3A /* affirm_mark@3x.png */, - 3159F74F2888C3A3007C8C3A /* afterpay_mark_dark@3x.png */, + C71284B45BF3D3B487C1B99D /* InlineSignup */, + 66AA3E2D7A57C561961FB169 /* LinkCardEditElement.swift */, + C684CBDA487CC3E78676F52E /* LinkEmailElement.swift */, ); - path = Images; + path = Elements; sourceTree = ""; }; - 3159F71F2888C3A3007C8C3A /* PaymentMethods */ = { + E8B9249F80BDEF392D3D71B1 /* AutoComplete */ = { isa = PBXGroup; children = ( - 319567F328D3D41800BFF5D1 /* icon-pm-bank@3x.png */, - 3159F7202888C3A3007C8C3A /* icon-pm-afterpay@3x.png */, - 3159F7212888C3A3007C8C3A /* icon-pm-giropay@3x.png */, - 3159F7222888C3A3007C8C3A /* icon-pm-aubecsdebit@3x.png */, - 3159F7232888C3A3007C8C3A /* icon-pm-ideal@3x.png */, - 3159F7242888C3A3007C8C3A /* icon-pm-bancontact@3x.png */, - 3159F7252888C3A3007C8C3A /* icon-pm-klarna@3x.png */, - 3159F7262888C3A3007C8C3A /* icon-pm-eps@3x.png */, - 3159F7272888C3A3007C8C3A /* icon-pm-paypal@3x.png */, - 3159F7282888C3A3007C8C3A /* icon-pm-card@3x.png */, - 3159F7292888C3A3007C8C3A /* icon-pm-p24@3x.png */, - 3159F72A2888C3A3007C8C3A /* icon-pm-paypal_dark@3x.png */, - 3159F72B2888C3A3007C8C3A /* icon-pm-sepa@3x.png */, - 31DCB12628F62865002EF128 /* icon-pm-upi@3x.png */, - 3159F72C2888C3A3007C8C3A /* icon-pm-affirm@3x.png */, + FBA0007525BF2610569B5B7D /* AddressSearchResult.swift */, + EDDECF0A74497EE887DFCB46 /* AutoCompleteViewController.swift */, + 982014B36F49D902CD04AF5C /* String+AutoComplete.swift */, ); - path = PaymentMethods; + path = AutoComplete; sourceTree = ""; }; - 3159F72D2888C3A3007C8C3A /* Link */ = { + EBE5490460E35B8AB14FD461 /* USBankAccount */ = { isa = PBXGroup; children = ( - 3159F72E2888C3A3007C8C3A /* link_logo@3x.png */, - 3159F72F2888C3A3007C8C3A /* InstantDebitIcons */, - 3159F73F2888C3A3007C8C3A /* icon_cancel@3x.png */, - 3166C0A328DA514D003CAF10 /* link_carousel_logo@3x.png */, - 3159F7402888C3A3007C8C3A /* icon_menu@3x.png */, - 3159F7412888C3A3007C8C3A /* icon_menu_horizontal@3x.png */, - 3166C0A528DA522C003CAF10 /* icon-pm-link@3x.png */, - 3159F7422888C3A3007C8C3A /* icon_add_bordered@3x.png */, - 3159F7432888C3A3007C8C3A /* icon_link_success@3x.png */, - 3159F7442888C3A3007C8C3A /* back_button@3x.png */, - 3159F7452888C3A3007C8C3A /* icon_link_error@3x.png */, + 3595F1786387A6B562FA472F /* BankAccountInfoView.swift */, + D3F8B6F8B253A009E6216478 /* USBankAccountPaymentMethodElement.swift */, ); - path = Link; + path = USBankAccount; sourceTree = ""; }; - 3159F72F2888C3A3007C8C3A /* InstantDebitIcons */ = { + F45950F022127AE53A9A222E /* PaymentMethodPicker */ = { isa = PBXGroup; children = ( - 3159F7302888C3A3007C8C3A /* bank_icon_wellsfargo@3x.png */, - 3159F7312888C3A3007C8C3A /* bank_icon_compass@3x.png */, - 3159F7322888C3A3007C8C3A /* bank_icon_nfcu@3x.png */, - 3159F7332888C3A3007C8C3A /* bank_icon_boa@3x.png */, - 3159F7342888C3A3007C8C3A /* bank_icon_pnc@3x.png */, - 3159F7352888C3A3007C8C3A /* bank_icon_citibank@3x.png */, - 3159F7362888C3A3007C8C3A /* bank_icon_td@3x.png */, - 3159F7372888C3A3007C8C3A /* bank_icon_morganchase@3x.png */, - 3159F7382888C3A3007C8C3A /* bank_icon_svb@3x.png */, - 3159F7392888C3A3007C8C3A /* bank_icon_default@3x.png */, - 3159F73A2888C3A3007C8C3A /* bank_icon_usaa@3x.png */, - 3159F73B2888C3A3007C8C3A /* bank_icon_suntrust@3x.png */, - 3159F73C2888C3A3007C8C3A /* bank_icon_capitalone@3x.png */, - 3159F73D2888C3A3007C8C3A /* bank_icon_stripe@3x.png */, - 3159F73E2888C3A3007C8C3A /* bank_icon_usbank@3x.png */, + C1E0D2E092A8C90FDCCFFEFB /* LinkPaymentMethodPicker-AddButton.swift */, + 8FD287DEF2806ABB18847004 /* LinkPaymentMethodPicker-Cell.swift */, + 5DC05704665DAAA925897779 /* LinkPaymentMethodPicker-CellContentView.swift */, + DEBAEBAAD3265A08547A2014 /* LinkPaymentMethodPicker-Header.swift */, + 641D011DA8FFA3F6F54A40FD /* LinkPaymentMethodPicker-RadioButton.swift */, + 7596B026ED0E007CE62976C2 /* LinkPaymentMethodPicker.swift */, ); - path = InstantDebitIcons; + path = PaymentMethodPicker; sourceTree = ""; }; - 3159F7462888C3A3007C8C3A /* PaymentSheet */ = { + F8599012936F1A32FC191F06 /* ACH */ = { isa = PBXGroup; children = ( - 3159F7472888C3A3007C8C3A /* icon_x@3x.png */, - 3159F7482888C3A3007C8C3A /* icon_x_standalone@3x.png */, - 3159F7492888C3A3007C8C3A /* icon_lock@3x.png */, - 3159F74A2888C3A3007C8C3A /* icon_chevron_left_standalone@3x.png */, - 3159F74B2888C3A3007C8C3A /* icon_plus@3x.png */, - 3159F74C2888C3A3007C8C3A /* icon_checkmark@3x.png */, - 3159F74D2888C3A3007C8C3A /* icon_chevron_left@3x.png */, + 71417C5EEAD54471E3E5610E /* LinkFinancialConnectionsAuthManager.swift */, ); - path = PaymentSheet; + path = ACH; sourceTree = ""; }; - 3159F7502888C3A3007C8C3A /* Localizations */ = { + F8C690658AEA1F3EFDD45748 /* StripePaymentSheet */ = { isa = PBXGroup; children = ( - 3159F7512888C3A3007C8C3A /* Localizable.strings */, + 8F8E2209EC8973389BBB0797 /* Resources */, + E3D86510CBD3EEB0652E38C2 /* Source */, + 668A2F2E20F846FDAFEC1217 /* Info.plist */, + 7AA6166F234C3A2129CBD573 /* StripePaymentSheet.h */, ); - path = Localizations; + path = StripePaymentSheet; sourceTree = ""; }; - 31904C6128D9205A00E1F9F5 /* JSON */ = { + FC4075B074C78D55723D2962 /* Toast */ = { isa = PBXGroup; children = ( - 31904C6228D9205A00E1F9F5 /* form_specs.json */, + 1146728D461F8D9B55BAD003 /* LinkToast.swift */, ); - path = JSON; + path = Toast; sourceTree = ""; }; - 31DCB11328F4D255002EF128 /* ACH */ = { + FD205A472E1B92651A0BB16F /* Controllers */ = { isa = PBXGroup; children = ( - 31DCB11428F4D255002EF128 /* LinkFinancialConnectionsAuthManager.swift */, + 1FE8A12C459E0702F7525C70 /* PayWithLinkViewController-BaseViewController.swift */, + 62400F4E9BC39F14CFED72A6 /* PayWithLinkViewController-LoaderViewController.swift */, + 623698AAD13C345C69971059 /* PayWithLinkViewController-NewPaymentViewController.swift */, + D87F990D8D04A9C30ABC914E /* PayWithLinkViewController-SignUpViewController.swift */, + F36A8BE1933B918D85C4E1BC /* PayWithLinkViewController-SignUpViewModel.swift */, + C28111152161069FC0592992 /* PayWithLinkViewController-UpdatePaymentViewController.swift */, + E24023F6043D24F2EFA160BC /* PayWithLinkViewController-VerifyAccountViewController.swift */, + 43CBAA0E9705A80CA0C1BABA /* PayWithLinkViewController-WalletViewController.swift */, + 1CB00360E534AB7A1A3849B2 /* PayWithLinkViewController-WalletViewModel.swift */, + F3423BA2EB3F1D1BF9CDD313 /* PayWithLinkViewController.swift */, ); - path = ACH; + path = Controllers; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 3139D299286E34DF00C9744B /* Headers */ = { + 6DF51C2A40665C5A43837A01 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3139D2AD286E34DF00C9744B /* StripePaymentSheet.h in Headers */, + 49F62EDF394F18E5BB201D53 /* StripePaymentSheet.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3139D29D286E34DF00C9744B /* StripePaymentSheet */ = { + 9A93AB1D98A0A1EC6ADEA65D /* StripePaymentSheetTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 3139D2B0286E34DF00C9744B /* Build configuration list for PBXNativeTarget "StripePaymentSheet" */; + buildConfigurationList = D2A79D4A0468A855229E9F99 /* Build configuration list for PBXNativeTarget "StripePaymentSheetTests" */; buildPhases = ( - 3139D299286E34DF00C9744B /* Headers */, - 3139D29A286E34DF00C9744B /* Sources */, - 3139D29B286E34DF00C9744B /* Frameworks */, - 3139D29C286E34DF00C9744B /* Resources */, + 1DC20C79284B26FAD01E52FE /* Sources */, + 2281EEB15AE47CB1259149E8 /* Resources */, + E0E4C4EE000A66EDEC3C8252 /* Embed Frameworks */, + 060D65627F7B2815A4800F3B /* Frameworks */, ); buildRules = ( ); dependencies = ( + 73532AF26E428E7914BA99B8 /* PBXTargetDependency */, ); - name = StripePaymentSheet; - productName = StripePaymentSheet; - productReference = 3139D29E286E34DF00C9744B /* StripePaymentSheet.framework */; - productType = "com.apple.product-type.framework"; + name = StripePaymentSheetTests; + productName = StripePaymentSheetTests; + productReference = 4C6AA41454A6757B3E26AE67 /* StripePaymentSheetTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; - 3139D2A5286E34DF00C9744B /* StripePaymentSheetTests */ = { + A74928FD0171C3213676E29C /* StripePaymentSheet */ = { isa = PBXNativeTarget; - buildConfigurationList = 3139D2B3286E34DF00C9744B /* Build configuration list for PBXNativeTarget "StripePaymentSheetTests" */; + buildConfigurationList = CF458105EBC2373DE7493F6D /* Build configuration list for PBXNativeTarget "StripePaymentSheet" */; buildPhases = ( - 3139D2A2286E34DF00C9744B /* Sources */, - 3139D2A3286E34DF00C9744B /* Frameworks */, - 3139D2A4286E34DF00C9744B /* Resources */, + 6DF51C2A40665C5A43837A01 /* Headers */, + 255F9BDE7719790267659625 /* Sources */, + EF6E537739300F2AA1D04D39 /* Resources */, + 08DF8C76678BD9FF9FFDE47D /* Embed Frameworks */, + 1226B9510A8E9AE27B9D5F28 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 3139D2A9286E34DF00C9744B /* PBXTargetDependency */, ); - name = StripePaymentSheetTests; - productName = StripePaymentSheetTests; - productReference = 3139D2A6286E34DF00C9744B /* StripePaymentSheetTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; + name = StripePaymentSheet; + productName = StripePaymentSheet; + productReference = 2E42F31D392C0AED757D6239 /* StripePaymentSheet.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 3139D295286E34DF00C9744B /* Project object */ = { + 803994135025BA7DC77E3F4A /* Project object */ = { isa = PBXProject; attributes = { - BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1340; - LastUpgradeCheck = 1400; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 3139D29D286E34DF00C9744B = { - CreatedOnToolsVersion = 13.4; - }; - 3139D2A5286E34DF00C9744B = { - CreatedOnToolsVersion = 13.4; - }; }; }; - buildConfigurationList = 3139D298286E34DF00C9744B /* Build configuration list for PBXProject "StripePaymentSheet" */; + buildConfigurationList = BE19D1487453B6D5A352FCEC /* Build configuration list for PBXProject "StripePaymentSheet" */; compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + "bg-BG", + "ca-ES", + "cs-CZ", + da, de, - "lt-LT", - "zh-Hans", - ja, "el-GR", - "ms-MY", - "zh-HK", - mt, - nb, - "ca-ES", + en, "en-GB", es, - da, "es-419", - it, - "nn-NO", - "fr-CA", - "bg-BG", - sv, - ko, - fil, - "zh-Hant", - tk, - "ro-RO", - hu, - tr, "et-EE", - "pt-BR", - "lv-LV", - vi, - ru, - "cs-CZ", - "sk-SK", - "sl-SI", - fr, fi, + fil, + fr, + "fr-CA", + hr, + hu, id, + it, + ja, + ko, + "lt-LT", + "lv-LV", + "ms-MY", + mt, + nb, nl, + "nn-NO", "pl-PL", + "pt-BR", "pt-PT", - hr, + "ro-RO", + ru, + "sk-SK", + "sl-SI", + sv, + tk, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = 3139D294286E34DF00C9744B; - productRefGroup = 3139D29F286E34DF00C9744B /* Products */; + mainGroup = AEBF7882CCDBB20F4DF60861; + productRefGroup = 5A3D81E5A62FDBB1DDA44C53 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 3139D29D286E34DF00C9744B /* StripePaymentSheet */, - 3139D2A5286E34DF00C9744B /* StripePaymentSheetTests */, + A74928FD0171C3213676E29C /* StripePaymentSheet */, + 9A93AB1D98A0A1EC6ADEA65D /* StripePaymentSheetTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 3139D29C286E34DF00C9744B /* Resources */ = { + 2281EEB15AE47CB1259149E8 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3159F78A2888C3A4007C8C3A /* icon-pm-paypal_dark@3x.png in Resources */, - 3159F7A12888C3A4007C8C3A /* icon_link_success@3x.png in Resources */, - 3159F78F2888C3A4007C8C3A /* bank_icon_compass@3x.png in Resources */, - 3159F79C2888C3A4007C8C3A /* bank_icon_usbank@3x.png in Resources */, - 319567F628D3D53100BFF5D1 /* apple_pay_mark@3x.png in Resources */, - 3159F7952888C3A4007C8C3A /* bank_icon_morganchase@3x.png in Resources */, - 3159F7862888C3A4007C8C3A /* icon-pm-eps@3x.png in Resources */, - 3159F7882888C3A4007C8C3A /* icon-pm-card@3x.png in Resources */, - 31DCB12728F62865002EF128 /* icon-pm-upi@3x.png in Resources */, - 3159F7972888C3A4007C8C3A /* bank_icon_default@3x.png in Resources */, - 3159F7812888C3A4007C8C3A /* icon-pm-giropay@3x.png in Resources */, - 3159F7A82888C3A4007C8C3A /* icon_plus@3x.png in Resources */, - 3159F7922888C3A4007C8C3A /* bank_icon_pnc@3x.png in Resources */, - 3159F79F2888C3A4007C8C3A /* icon_menu_horizontal@3x.png in Resources */, - 3159F7AA2888C3A4007C8C3A /* icon_chevron_left@3x.png in Resources */, - 3159F7802888C3A4007C8C3A /* icon-pm-afterpay@3x.png in Resources */, - 3159F7A32888C3A4007C8C3A /* icon_link_error@3x.png in Resources */, - 319567F428D3D41800BFF5D1 /* icon-pm-bank@3x.png in Resources */, - 3159F7A92888C3A4007C8C3A /* icon_checkmark@3x.png in Resources */, - 3159F78C2888C3A4007C8C3A /* icon-pm-affirm@3x.png in Resources */, - 3159F78D2888C3A4007C8C3A /* link_logo@3x.png in Resources */, - 3159F7822888C3A4007C8C3A /* icon-pm-aubecsdebit@3x.png in Resources */, - 3166C0A428DA514D003CAF10 /* link_carousel_logo@3x.png in Resources */, - 3159F7902888C3A4007C8C3A /* bank_icon_nfcu@3x.png in Resources */, - 3159F7852888C3A4007C8C3A /* icon-pm-klarna@3x.png in Resources */, - 3159F7A42888C3A4007C8C3A /* icon_x@3x.png in Resources */, - 3159F7A52888C3A4007C8C3A /* icon_x_standalone@3x.png in Resources */, - 3159F79B2888C3A4007C8C3A /* bank_icon_stripe@3x.png in Resources */, - 3159F78E2888C3A4007C8C3A /* bank_icon_wellsfargo@3x.png in Resources */, - 3159F7A22888C3A4007C8C3A /* back_button@3x.png in Resources */, - 3159F7A02888C3A4007C8C3A /* icon_add_bordered@3x.png in Resources */, - 3159F7932888C3A4007C8C3A /* bank_icon_citibank@3x.png in Resources */, - 31DCB12928F62B07002EF128 /* polling_error_icon@3x.png in Resources */, - 3159F79E2888C3A4007C8C3A /* icon_menu@3x.png in Resources */, - 3159F7842888C3A4007C8C3A /* icon-pm-bancontact@3x.png in Resources */, - 3159F7912888C3A4007C8C3A /* bank_icon_boa@3x.png in Resources */, - 3159F7832888C3A4007C8C3A /* icon-pm-ideal@3x.png in Resources */, - 3166C0A628DA522C003CAF10 /* icon-pm-link@3x.png in Resources */, - 3159F77E2888C3A4007C8C3A /* affirm_mark_dark@3x.png in Resources */, - 3159F7AD2888C3A4007C8C3A /* Localizable.strings in Resources */, - 3159F7AC2888C3A4007C8C3A /* afterpay_mark_dark@3x.png in Resources */, - 3159F7A62888C3A4007C8C3A /* icon_lock@3x.png in Resources */, - 3159F7962888C3A4007C8C3A /* bank_icon_svb@3x.png in Resources */, - 3159F77F2888C3A4007C8C3A /* afterpay_mark@3x.png in Resources */, - 3159F7942888C3A4007C8C3A /* bank_icon_td@3x.png in Resources */, - 3159F7982888C3A4007C8C3A /* bank_icon_usaa@3x.png in Resources */, - 3159F78B2888C3A4007C8C3A /* icon-pm-sepa@3x.png in Resources */, - 31138E8D28DE11DA008AF554 /* clearpay_mark@3x.png in Resources */, - 31138E8C28DE11DA008AF554 /* clearpay_mark_dark@3x.png in Resources */, - 3159F7892888C3A4007C8C3A /* icon-pm-p24@3x.png in Resources */, - 31904C6328D9205A00E1F9F5 /* form_specs.json in Resources */, - 3159F79A2888C3A4007C8C3A /* bank_icon_capitalone@3x.png in Resources */, - 3159F7992888C3A4007C8C3A /* bank_icon_suntrust@3x.png in Resources */, - 3159F7AB2888C3A4007C8C3A /* affirm_mark@3x.png in Resources */, - 3159F77D2888C3A4007C8C3A /* afterpay_icon_info@3x.png in Resources */, - 3159F79D2888C3A4007C8C3A /* icon_cancel@3x.png in Resources */, - 3159F7A72888C3A4007C8C3A /* icon_chevron_left_standalone@3x.png in Resources */, - 3159F7872888C3A4007C8C3A /* icon-pm-paypal@3x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3139D2A4286E34DF00C9744B /* Resources */ = { + EF6E537739300F2AA1D04D39 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 89E36A25C82F34757E6BC8EE /* bank_icon_boa@3x.png in Resources */, + 58A8B7155288224F840C9555 /* bank_icon_capitalone@3x.png in Resources */, + 293C6A60BE5A5DEE1B09564B /* bank_icon_citibank@3x.png in Resources */, + 96AA26B05FA5CC3A2379A87B /* bank_icon_compass@3x.png in Resources */, + 99304BDB9FB2140F9A775021 /* bank_icon_default@3x.png in Resources */, + C799D493663224A4F81C3B6D /* bank_icon_morganchase@3x.png in Resources */, + D6C1CC1AC279B3D8B4F74765 /* bank_icon_nfcu@3x.png in Resources */, + 2E905BE50CD92581DE5DE2C3 /* bank_icon_pnc@3x.png in Resources */, + B0F99A260009C18971E3420D /* bank_icon_stripe@3x.png in Resources */, + 6AE406441F49A1D67AA52581 /* bank_icon_suntrust@3x.png in Resources */, + BDFA6555F8B4B9EDCF2ED90F /* bank_icon_svb@3x.png in Resources */, + 40D8288D74C840EEE3C38A07 /* bank_icon_td@3x.png in Resources */, + 440C734498F47A183D4F60B6 /* bank_icon_usaa@3x.png in Resources */, + A567FB1A034E032B509F5BBC /* bank_icon_usbank@3x.png in Resources */, + A734D254287F32B42B643218 /* bank_icon_wellsfargo@3x.png in Resources */, + 12AAE893BD8B34285BFEC8A0 /* back_button@3x.png in Resources */, + DCE5ACDE0F7D90C9B79F8705 /* icon-pm-link@3x.png in Resources */, + 0B6583C2C28E3331FF2E7D1A /* icon_add_bordered@3x.png in Resources */, + 98E35CC9AA3E35A9AFB478E0 /* icon_cancel@3x.png in Resources */, + 7E73F6BB38F72678C7302C5F /* icon_link_error@3x.png in Resources */, + 7D840FBB66787B0A8BE16901 /* icon_link_success@3x.png in Resources */, + F86342791A503A98C40004F4 /* icon_menu@3x.png in Resources */, + 41FA06485341A105258FBFA4 /* icon_menu_horizontal@3x.png in Resources */, + 047763258B7A71F895B487E7 /* link_carousel_logo@3x.png in Resources */, + 6687B828A272A1BC617F9EE1 /* link_logo@3x.png in Resources */, + 0B5139D6BFB54FC16EA77C1A /* icon-pm-affirm@3x.png in Resources */, + 09B1018383E78CCE71E4D3BA /* icon-pm-afterpay@3x.png in Resources */, + F82D079205ADD523FF0FC48B /* icon-pm-aubecsdebit@3x.png in Resources */, + 95F043A3D5D1E5D25C661CFF /* icon-pm-bancontact@3x.png in Resources */, + 4E230EC72F5348A2F9BE7B9B /* icon-pm-bank@3x.png in Resources */, + 9BFCFF941D6E819E07B6EFE0 /* icon-pm-card@3x.png in Resources */, + 98F817AFA58D300DB0C986A6 /* icon-pm-eps@3x.png in Resources */, + 968B519B507CAFCCE4D64B15 /* icon-pm-giropay@3x.png in Resources */, + 7783A8A9FA5B5BD5F746FE71 /* icon-pm-ideal@3x.png in Resources */, + 51F73B4F4922BC82CC02157E /* icon-pm-klarna@3x.png in Resources */, + 17A59E2F09ADEA8B158F8C84 /* icon-pm-p24@3x.png in Resources */, + 4499C0AB5D747A54E20938B1 /* icon-pm-paypal@3x.png in Resources */, + 2C2299B2587D03CC8B49C44F /* icon-pm-paypal_dark@3x.png in Resources */, + D953C158818C26E89AC345F2 /* icon-pm-sepa@3x.png in Resources */, + 39E8CCA0159C73A241919EA3 /* icon-pm-upi@3x.png in Resources */, + F5B485288AFE307202CFDD36 /* icon_checkmark@3x.png in Resources */, + 2AEF4A8B3CEC928D5F13B9AD /* icon_chevron_left@3x.png in Resources */, + F60499496E8377604932F906 /* icon_chevron_left_standalone@3x.png in Resources */, + A60D661E24A3180E87DDEDEF /* icon_lock@3x.png in Resources */, + 791D8D5E9AD66572132CF18A /* icon_plus@3x.png in Resources */, + D66D972D4DB84AD7C21FA6B6 /* icon_x@3x.png in Resources */, + F8CAEC73CE96F289226AE760 /* icon_x_standalone@3x.png in Resources */, + 290C3138F969B0A47BF4AD96 /* affirm_mark@3x.png in Resources */, + 000ECD9E3761D3BBE1996FCF /* affirm_mark_dark@3x.png in Resources */, + 6090A613C639ADF0FDF06DCD /* afterpay_icon_info@3x.png in Resources */, + D77B828B63F1757DC1092FF4 /* afterpay_mark@3x.png in Resources */, + 8E1A2DE0EDFB7AEC4DD5DBFE /* afterpay_mark_dark@3x.png in Resources */, + 6A9D825F07D7C280CBCDD0CC /* apple_pay_mark@3x.png in Resources */, + F33A27FDFBF7F50F82FF7EF0 /* clearpay_mark@3x.png in Resources */, + C2C8FD317E45F8AB8FD09E33 /* clearpay_mark_dark@3x.png in Resources */, + 259EFD452DA0DF0DF7AA2D50 /* polling_error_icon@3x.png in Resources */, + DE6A86725BC219EF19EF29AC /* form_specs.json in Resources */, + 83031AF789D0C08E7B2BABB1 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 3139D29A286E34DF00C9744B /* Sources */ = { + 1DC20C79284B26FAD01E52FE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3122720F287630B80007ED5E /* Images.swift in Sources */, - 310F6FC228D4F55600C9580D /* LinkVerificationView.swift in Sources */, - 312270DC286E3D8A0007ED5E /* PayWithLinkViewController-SignUpViewModel.swift in Sources */, - 310F6FC028D4F55600C9580D /* LinkCookieKey.swift in Sources */, - D06C829B28FEFEC600832267 /* LinkCardEditElement.swift in Sources */, - 31227001286E3B1F0007ED5E /* String+AutoComplete.swift in Sources */, - 312270FD286E3E6D0007ED5E /* ConsumerSession.swift in Sources */, - 31226FF5286E3B100007ED5E /* PaymentSheetViewController.swift in Sources */, - 3122722928763B000007ED5E /* DefaultPaymentMethodStore.swift in Sources */, - 31227017286E3B2B0007ED5E /* PayWithLinkButton.swift in Sources */, - 312270A8286E3D1A0007ED5E /* STPAnalyticsClient+Link.swift in Sources */, - 312272152876336E0007ED5E /* NSAttributedString+Stripe.swift in Sources */, - 31DCB12528F6279F002EF128 /* PaymentSheetFormFactory+UPI.swift in Sources */, - 31226FC3286E3A6A0007ED5E /* PollingViewController.swift in Sources */, - 312270DB286E3D8A0007ED5E /* PayWithLinkViewController-VerifyAccountViewController.swift in Sources */, - 312270C4286E3D6C0007ED5E /* LinkPaymentMethodPicker-Header.swift in Sources */, - 31227193286E5D4C0007ED5E /* String+StripePaymentSheet.swift in Sources */, - 31226FBF286E3A6A0007ED5E /* STPAnalyticsClient+PaymentSheet.swift in Sources */, - 3122722B28763B590007ED5E /* UserDefaults+Stripe.swift in Sources */, - 312270A6286E3D1A0007ED5E /* PaymentSheet-Configuration+Link.swift in Sources */, - 312270C2286E3D6C0007ED5E /* LinkPaymentMethodPicker-AddButton.swift in Sources */, - 31226FD9286E3AC50007ED5E /* PaymentMethodTypeCollectionView.swift in Sources */, - 31226FCB286E3A6A0007ED5E /* PaymentSheet+SwiftUI.swift in Sources */, - 312270F3286E3E640007ED5E /* LinkInMemoryCookieStore.swift in Sources */, - 31226FED286E3B040007ED5E /* USBankAccountPaymentMethodElement.swift in Sources */, - 31226FCD286E3A6A0007ED5E /* PaymentMethodType.swift in Sources */, - 310F6FC628D4F55600C9580D /* LinkVerificationView-LogoutView.swift in Sources */, - 31226FF8286E3B100007ED5E /* ChoosePaymentOptionViewController.swift in Sources */, - 31227019286E3B2B0007ED5E /* ConfirmButton.swift in Sources */, - 312270B8286E3D640007ED5E /* LinkToast.swift in Sources */, - 312270DD286E3D8A0007ED5E /* PayWithLinkViewController-UpdatePaymentViewController.swift in Sources */, - 31226FC6286E3A6A0007ED5E /* KlarnaHelper.swift in Sources */, - 312270FC286E3E6D0007ED5E /* PaymentDetails.swift in Sources */, - 31226FC1286E3A6A0007ED5E /* PaymentSheetConfiguration.swift in Sources */, - 310F6FDF28D4FA5E00C9580D /* UIViewController+BottomSheet.swift in Sources */, - 310F6FD128D4F5B300C9580D /* BottomSheetTransitioningDelegate.swift in Sources */, - 310F6FC328D4F55600C9580D /* LinkUtils.swift in Sources */, - 310F6FBF28D4F55600C9580D /* LinkVerificationViewController.swift in Sources */, - 312270B1286E3D2F0007ED5E /* LinkInlineSignupView.swift in Sources */, - 31227101286E3E6D0007ED5E /* ConsumerSession+LookupResponse.swift in Sources */, - 31226FE6286E3AEC0007ED5E /* FormSpec.swift in Sources */, - 3122701F286E3B2B0007ED5E /* SheetNavigationBar.swift in Sources */, - 312270C3286E3D6C0007ED5E /* LinkPaymentMethodPicker-RadioButton.swift in Sources */, - 3122720728762CA10007ED5E /* STPCameraView.swift in Sources */, - 310F6FD228D4F5B300C9580D /* BottomSheetPresentationAnimator.swift in Sources */, - 31227103286E3EA50007ED5E /* CardExpiryDate.swift in Sources */, - 312270D9286E3D8A0007ED5E /* PayWithLinkViewController-BaseViewController.swift in Sources */, - 31226FA5286E3A2F0007ED5E /* ConnectionsElement.swift in Sources */, - 31227091286E3CF00007ED5E /* LinkMoreInfoView.swift in Sources */, - 312270B0286E3D2F0007ED5E /* LinkInlineSignupElement.swift in Sources */, - 31226FE2286E3AE50007ED5E /* PaymentSheetFormFactory.swift in Sources */, - 310F6FDB28D4FA3200C9580D /* PaymentSheet-LinkConfirmOption.swift in Sources */, - 31226FA1286E3A290007ED5E /* TextFieldElement+Card.swift in Sources */, - 31227023286E3B2B0007ED5E /* Appearance+FontScaling.swift in Sources */, - 310F6FD728D4F9E200C9580D /* AddressViewController+Configuration.swift in Sources */, - 310F6FC428D4F55600C9580D /* LinkVerificationViewController-PresentationController.swift in Sources */, - 31226FEE286E3B040007ED5E /* BankAccountInfoView.swift in Sources */, - 310F6FE228D4FAE700C9580D /* STPAnalyticsClient+Address.swift in Sources */, - 3122701C286E3B2B0007ED5E /* AUBECSMandate.swift in Sources */, - 31226FAD286E3A440007ED5E /* PaymentMethodElementWrapper.swift in Sources */, - 310F6FC728D4F55600C9580D /* LinkVerificationController.swift in Sources */, - 31226FE9286E3AFB0007ED5E /* SavedPaymentMethodCollectionView.swift in Sources */, - 31227000286E3B1F0007ED5E /* AddressSearchResult.swift in Sources */, - 31227014286E3B2B0007ED5E /* AfterpayPriceBreakdownView.swift in Sources */, - 31226FC2286E3A6A0007ED5E /* Intent.swift in Sources */, - 3122708F286E3CF00007ED5E /* LinkInstantDebitMandateView.swift in Sources */, - 31226FEA286E3AFB0007ED5E /* SavedPaymentOptionsViewController.swift in Sources */, - 310F6FC528D4F55600C9580D /* LinkVerificationView-Header.swift in Sources */, - 3122701D286E3B2B0007ED5E /* CardScanningView.swift in Sources */, - 31DCB12328F6256D002EF128 /* Date+Distance.swift in Sources */, - 31226FC9286E3A6A0007ED5E /* PaymentSheet.swift in Sources */, - 31226FCA286E3A6A0007ED5E /* PaymentSheetError.swift in Sources */, - 31227096286E3CFE0007ED5E /* OperationDebouncer.swift in Sources */, - 312270D5286E3D8A0007ED5E /* PayWithLinkViewController-WalletViewController.swift in Sources */, - 31227090286E3CF00007ED5E /* LinkKeyboardAvoidingScrollView.swift in Sources */, - 312270A5286E3D1A0007ED5E /* Intent+Link.swift in Sources */, - 312271A1286E62F20007ED5E /* STPPaymentMethod+PaymentSheet.swift in Sources */, - 31138E8428DCDEAC008AF554 /* FormSpecPaymentHandler.swift in Sources */, - 3122724628763FF90007ED5E /* StripePaymentSheet+Exports.swift in Sources */, - 312271A82874EAC10007ED5E /* OneTimeCodeTextField.swift in Sources */, - E237938F291B286900C63FDD /* RotatingCardBrandsView.swift in Sources */, - 31226FFA286E3B100007ED5E /* BottomSheet3DS2ViewController.swift in Sources */, - 312270D6286E3D8A0007ED5E /* PayWithLinkViewController.swift in Sources */, - 31227098286E3D120007ED5E /* LinkAccountService.swift in Sources */, - 310F6FC128D4F55600C9580D /* LinkAccountContext.swift in Sources */, - 312270FF286E3E6D0007ED5E /* ConsumerSession-SignupResponse.swift in Sources */, - 312271A3286E63140007ED5E /* STPPaymentMethodParams+PaymentSheet.swift in Sources */, - 31227022286E3B2B0007ED5E /* SheetNavigationButton.swift in Sources */, - 3122701B286E3B2B0007ED5E /* CardScanButton.swift in Sources */, - 31226FC4286E3A6A0007ED5E /* PaymentSheet+API.swift in Sources */, - 310F6FC928D4F57B00C9580D /* Locale+Link.swift in Sources */, - 312270D7286E3D8A0007ED5E /* PayWithLinkViewController-NewPaymentViewController.swift in Sources */, - 3122720928762CD30007ED5E /* String+Localized.swift in Sources */, - 312270CA286E3D7C0007ED5E /* LinkBadgeView.swift in Sources */, - 312270D8286E3D8A0007ED5E /* PayWithLinkViewController-SignUpViewController.swift in Sources */, - 312270A1286E3D1A0007ED5E /* FormElement+Link.swift in Sources */, - 312270A7286E3D1A0007ED5E /* Button+Link.swift in Sources */, - 310F6FE328D4FAE700C9580D /* STPAnalyticsClient+LUXE.swift in Sources */, - 312270C8286E3D770007ED5E /* LinkNavigationBar.swift in Sources */, - 31226FA6286E3A2F0007ED5E /* LinkEnabledPaymentMethodElement.swift in Sources */, - 31226FA9286E3A3C0007ED5E /* CardSectionWithScannerView.swift in Sources */, - 31226FAE286E3A440007ED5E /* PaymentMethodElement.swift in Sources */, - 3122722D28763BE60007ED5E /* SeparatorLabel.swift in Sources */, - 31226FFF286E3B1F0007ED5E /* AutoCompleteViewController.swift in Sources */, - 31226FF6286E3B100007ED5E /* BottomSheetViewController.swift in Sources */, - 312270AF286E3D2F0007ED5E /* LinkInlineSignupView-CheckboxElement.swift in Sources */, - 312270DA286E3D8A0007ED5E /* PayWithLinkViewController-WalletViewModel.swift in Sources */, - 312270BF286E3D6C0007ED5E /* LinkPaymentMethodPicker.swift in Sources */, - 3122720D28762D1D0007ED5E /* StripePaymentSheetBundleLocator.swift in Sources */, - 31227199286E61420007ED5E /* AnalyticsHelper.swift in Sources */, - 31226FDB286E3AC50007ED5E /* AddPaymentMethodViewController.swift in Sources */, - 31227016286E3B2B0007ED5E /* ShadowedRoundedRectangleView.swift in Sources */, - 312270F1286E3E640007ED5E /* LinkSecureCookieStore.swift in Sources */, - 310F6FE728D5346D00C9580D /* STPAPIClient+PaymentSheet.swift in Sources */, - 3122701A286E3B2B0007ED5E /* UIKit+PaymentSheet.swift in Sources */, - 312270C1286E3D6C0007ED5E /* LinkPaymentMethodPicker-CellContentView.swift in Sources */, - 3122720B28762CF90007ED5E /* STPLocalizedString.swift in Sources */, - 31DCB12B28F75531002EF128 /* PaymentSheetFlowController.swift in Sources */, - 31226FA2286E3A290007ED5E /* TextFieldElement+IBAN.swift in Sources */, - 3122713A286E45150007ED5E /* STPCardScanner.swift in Sources */, - 312271A92874EAC10007ED5E /* OneTimeCodeTextField-TextStorage.swift in Sources */, - 31227015286E3B2B0007ED5E /* ManualEntryButton.swift in Sources */, - 31226FE1286E3AE50007ED5E /* PaymentSheetFormFactory+Card.swift in Sources */, - 31227021286E3B2B0007ED5E /* SepaMandateView.swift in Sources */, - 31226FC0286E3A6A0007ED5E /* STPApplePayContext+PaymentSheet.swift in Sources */, - 31227094286E3CF90007ED5E /* LinkInlineSignupViewModel.swift in Sources */, - 31227080286E3CAA0007ED5E /* LinkUI.swift in Sources */, - 312270A3286E3D1A0007ED5E /* ConfirmButton+Link.swift in Sources */, - 31226FCC286E3A6A0007ED5E /* PaymentOption+Images.swift in Sources */, - 312270FB286E3E6D0007ED5E /* VerificationSession.swift in Sources */, - 31227092286E3CF00007ED5E /* LinkLegalTermsView.swift in Sources */, - 310F6FCF28D4F5B300C9580D /* BottomSheetPresentable.swift in Sources */, - 310F6FE928D5361200C9580D /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift in Sources */, - 31226FC7286E3A6A0007ED5E /* PaymentSheet+PaymentMethodAvailability.swift in Sources */, - 312270AA286E3D220007ED5E /* LinkEmailElement.swift in Sources */, - 31DCB11528F4D256002EF128 /* LinkFinancialConnectionsAuthManager.swift in Sources */, - 31227219287637C00007ED5E /* Data+SHA256.swift in Sources */, - 310F6FD828D4F9E200C9580D /* AddressViewController.swift in Sources */, - 31226FF9286E3B100007ED5E /* LoadingViewController.swift in Sources */, - 31226FE0286E3AE50007ED5E /* PaymentSheetFormFactory+FormSpec.swift in Sources */, - 312271E628760A0F0007ED5E /* STPImageLibrary.swift in Sources */, - 31226FE5286E3AEC0007ED5E /* FormSpecProvider.swift in Sources */, - 31227020286E3B2B0007ED5E /* TestModeView.swift in Sources */, - 310F6FDD28D4FA4100C9580D /* PayWithLinkController.swift in Sources */, - 31DCB12128F62547002EF128 /* IntentStatusPoller.swift in Sources */, - 3122720528762B050007ED5E /* PaymentSheetLinkAccount.swift in Sources */, - 31227137286E44C10007ED5E /* BoolReference.swift in Sources */, - 31226FC5286E3A6A0007ED5E /* PaymentSheetAppearance.swift in Sources */, - 31227018286E3B2B0007ED5E /* AffirmCopyLabel.swift in Sources */, - 312270C0286E3D6C0007ED5E /* LinkPaymentMethodPicker-Cell.swift in Sources */, - 310F6FD028D4F5B300C9580D /* BottomSheetPresentationController.swift in Sources */, - 31227100286E3E6D0007ED5E /* STPAPIClient+Link.swift in Sources */, - 312270DE286E3D8A0007ED5E /* PayWithLinkViewController-LoaderViewController.swift in Sources */, - 312271F628760C030007ED5E /* STPStringUtils.swift in Sources */, - 312270C6286E3D720007ED5E /* LinkNoticeView.swift in Sources */, - 31226FAA286E3A3C0007ED5E /* CardSectionWithScannerElement.swift in Sources */, - 31226FDA286E3AC50007ED5E /* WalletHeaderView.swift in Sources */, - 3122701E286E3B2B0007ED5E /* CircularButton.swift in Sources */, - 31226FC8286E3A6A0007ED5E /* Error+PaymentSheet.swift in Sources */, - 312270A2286E3D1A0007ED5E /* UIColor+Link.swift in Sources */, - 312270F2286E3E640007ED5E /* LinkCookieStore.swift in Sources */, + D90987C72BBD76D20D60CE04 /* DictionaryTests.swift in Sources */, + 52B734BA0B91706F37025523 /* STPAnalyticsClient+PaymentSheetTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3139D2A2286E34DF00C9744B /* Sources */ = { + 255F9BDE7719790267659625 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31DCB11928F4EC09002EF128 /* STPAnalyticsClient+PaymentSheetTests.swift in Sources */, - 3139D2AC286E34DF00C9744B /* StripePaymentSheetTests.swift in Sources */, - 31138E8928DD1E63008AF554 /* DictionaryTests.swift in Sources */, + 3BAF910D2D3E23FF2A29B013 /* AnalyticsHelper.swift in Sources */, + 4E5A3324BBD882A780925E2B /* STPAnalyticsClient+Address.swift in Sources */, + 6A529F76ECB33C9154314C1F /* STPAnalyticsClient+LUXE.swift in Sources */, + 06976DDC67A61176FC54AA76 /* Data+SHA256.swift in Sources */, + 7B6F620759307A9E1D223E8C /* Date+Distance.swift in Sources */, + 108846A3D8EFD1D4DCC0DDBC /* NSAttributedString+Stripe.swift in Sources */, + B55EFA2557B5BE39CC12E357 /* STPPaymentMethod+PaymentSheet.swift in Sources */, + 3CB64564D5B6F092A2A3A5BE /* STPPaymentMethodParams+PaymentSheet.swift in Sources */, + 05B61641310A9775D40C1775 /* String+Localized.swift in Sources */, + AAF2AFF4B9A935B2A3FD52EA /* String+StripePaymentSheet.swift in Sources */, + F99BC6D8E71A765338379F6F /* UserDefaults+Stripe.swift in Sources */, + F70BCDEECB5863244085F12F /* BoolReference.swift in Sources */, + D64AB36228DDC93B4F891A91 /* DefaultPaymentMethodStore.swift in Sources */, + 8B1D7A7CE7D50382E9FA77E3 /* Images.swift in Sources */, + D3CC2489468E3288FD34C160 /* IntentStatusPoller.swift in Sources */, + 96C307CDEE7028B12D9CB69B /* PaymentSheetLinkAccount.swift in Sources */, + 623C2D9F87929D6DA9C09E23 /* STPCameraView.swift in Sources */, + 599337DB99E9E7017EF47BCE /* STPCardScanner.swift in Sources */, + EB190E908B567CD90D5B0645 /* STPImageLibrary.swift in Sources */, + 40806EF506CB719299FC90CC /* STPLocalizedString.swift in Sources */, + 71132CE036C3EE0655ECD2DB /* STPStringUtils.swift in Sources */, + 1AF3BBA86D643AAF26CD0E2B /* StripePaymentSheet+Exports.swift in Sources */, + 73F3E8DCF2314972A162B2A3 /* StripePaymentSheetBundleLocator.swift in Sources */, + 73EE441CF71707651109CE19 /* ConsumerSession+LookupResponse.swift in Sources */, + A2FD2311E18CE9DE6D03E3D7 /* ConsumerSession-SignupResponse.swift in Sources */, + 2BEA2A103AD3EE94D60A06D4 /* ConsumerSession.swift in Sources */, + D4BF6AD858469EE410B4B1F5 /* LinkCookieStore.swift in Sources */, + 28C48495A59E7CE3EC5363F2 /* LinkInMemoryCookieStore.swift in Sources */, + CCA34CD7C6B7595A1D6AFF87 /* LinkSecureCookieStore.swift in Sources */, + A4FF52567582E9774AE13348 /* PaymentDetails.swift in Sources */, + 3E2279C28944A87EC6472101 /* STPAPIClient+Link.swift in Sources */, + B8A7575878C5124CF5482097 /* VerificationSession.swift in Sources */, + AA3A96D74B1659CB5725E95F /* CardExpiryDate.swift in Sources */, + 40E7BE1E516C1A4E1FCEED00 /* OneTimeCodeTextField-TextStorage.swift in Sources */, + 925E95403CEBF7D7C73EFCBF /* OneTimeCodeTextField.swift in Sources */, + 1BFC617EED154D32BFCADAE7 /* SeparatorLabel.swift in Sources */, + C1B6FEAC0077DD980006D354 /* LinkFinancialConnectionsAuthManager.swift in Sources */, + A004B1B972B70E3EBEB645D2 /* LinkBadgeView.swift in Sources */, + 27311E4FACC482786D6F943F /* LinkNavigationBar.swift in Sources */, + F257F913FE1C2750709A64F0 /* LinkNoticeView.swift in Sources */, + 36E95DEC3638D9B010F6D920 /* LinkPaymentMethodPicker-AddButton.swift in Sources */, + B775CD60BE9C74BC7FE8A679 /* LinkPaymentMethodPicker-Cell.swift in Sources */, + 7B76E1348EF5FE3C19619E49 /* LinkPaymentMethodPicker-CellContentView.swift in Sources */, + 3DE5C89040DBAA2053820C72 /* LinkPaymentMethodPicker-Header.swift in Sources */, + 6DE656DB4CE489C137B79368 /* LinkPaymentMethodPicker-RadioButton.swift in Sources */, + 7006B4AFDBCC51349EDAA512 /* LinkPaymentMethodPicker.swift in Sources */, + BFBE78441BC287AA3FD0673B /* LinkToast.swift in Sources */, + 0F3635B7EDDE12F252784855 /* PayWithLinkViewController-BaseViewController.swift in Sources */, + 6C84BC3D0B1AC2AAD98376DE /* PayWithLinkViewController-LoaderViewController.swift in Sources */, + CCFC552FEB8CF98F6D6FADC9 /* PayWithLinkViewController-NewPaymentViewController.swift in Sources */, + 212B9BA1953134716B0395A5 /* PayWithLinkViewController-SignUpViewController.swift in Sources */, + 1371AC13962A27D1353FC210 /* PayWithLinkViewController-SignUpViewModel.swift in Sources */, + 94F57AABF74B2EC8C5AD4156 /* PayWithLinkViewController-UpdatePaymentViewController.swift in Sources */, + B9FAF9C5103CA449404792A0 /* PayWithLinkViewController-VerifyAccountViewController.swift in Sources */, + 76577BB86DCE39865514FC7F /* PayWithLinkViewController-WalletViewController.swift in Sources */, + 6371C831843155321294EC42 /* PayWithLinkViewController-WalletViewModel.swift in Sources */, + D20380783D098A7129F52761 /* PayWithLinkViewController.swift in Sources */, + F3A34AD1CC2CBB899738C9D7 /* LinkInlineSignupElement.swift in Sources */, + 56BB7C81AB3A24D3AD88A904 /* LinkInlineSignupView-CheckboxElement.swift in Sources */, + 7479F814D1BC58A6B19F054C /* LinkInlineSignupView.swift in Sources */, + CA65B10A2EF8287D78939EB1 /* LinkCardEditElement.swift in Sources */, + 258A75AF2E5393186C8850CA /* LinkEmailElement.swift in Sources */, + 43645F1F9AFD3E19928A3778 /* Button+Link.swift in Sources */, + 18F90597D1EBE32B3F2016B5 /* ConfirmButton+Link.swift in Sources */, + EDE71E0BEDD94FB1101F3C10 /* FormElement+Link.swift in Sources */, + C346B534D57A952D4415ADFD /* Intent+Link.swift in Sources */, + 9DFF9283F0B902CC1D895B86 /* PaymentSheet-Configuration+Link.swift in Sources */, + 29C91CE046099B86D8DCF310 /* STPAnalyticsClient+Link.swift in Sources */, + 93FB7933528A45350593D3EC /* UIColor+Link.swift in Sources */, + 11C23605F97D2DB6F171843E /* LinkUI.swift in Sources */, + AB40D7549CDA2E01793CC5D1 /* LinkAccountService.swift in Sources */, + 2EDF4115FDC40A5B0672CCFD /* Locale+Link.swift in Sources */, + 1ECC1086460E57AE75F18FBF /* OperationDebouncer.swift in Sources */, + E236FE31A51D130F93F9299B /* LinkAccountContext.swift in Sources */, + D0B9FBCB359A7D774B98D19E /* LinkCookieKey.swift in Sources */, + 56A8DF25545F25791F01A528 /* LinkUtils.swift in Sources */, + C5A5673E964F8399612184E2 /* LinkVerificationController.swift in Sources */, + 9D8BAB67ACE28115937BEC37 /* LinkVerificationView-Header.swift in Sources */, + 6445A2D448B1E3A7707635AD /* LinkVerificationView-LogoutView.swift in Sources */, + 04CD656624D34FE589282544 /* LinkVerificationView.swift in Sources */, + 76C1FBDAA304C635519BDB9B /* LinkVerificationViewController-PresentationController.swift in Sources */, + 10E9416840ADF3669E5008BD /* LinkVerificationViewController.swift in Sources */, + B306EA3F66D07CCABF17CB9C /* LinkInlineSignupViewModel.swift in Sources */, + 3E45CFD0DC3A9D0D642BCF20 /* LinkInstantDebitMandateView.swift in Sources */, + 7B52F499141CCA2514A361F3 /* LinkKeyboardAvoidingScrollView.swift in Sources */, + 235687C1FBE7417C48F99EE3 /* LinkLegalTermsView.swift in Sources */, + 262850706DA3ECCDC0E5E38F /* LinkMoreInfoView.swift in Sources */, + FA565C353EAD9D94B39CFE16 /* AddressViewController+Configuration.swift in Sources */, + 0E72F76E2B2D28ED72F6A60B /* AddressViewController.swift in Sources */, + 82EA15D695BB070F2336CCAB /* BottomSheetPresentable.swift in Sources */, + CD19725E26DBDB9960D828CB /* BottomSheetPresentationAnimator.swift in Sources */, + 1AE83AE2EBE8E52C0A86C19B /* BottomSheetPresentationController.swift in Sources */, + 4D9D6DD01C7FACE61D459AFB /* BottomSheetTransitioningDelegate.swift in Sources */, + 2BF4F64B2B73A373C643E55F /* UIViewController+BottomSheet.swift in Sources */, + 47B19F96CCEA290541E3B988 /* CardSectionWithScannerElement.swift in Sources */, + 04FEA90F2D0CB9D1C2029D21 /* CardSectionWithScannerView.swift in Sources */, + 68E3CF21A7E1525CA05BA260 /* ConnectionsElement.swift in Sources */, + 1BA0F1D78847DC6609FACE9F /* LinkEnabledPaymentMethodElement.swift in Sources */, + 46DB5D39B3B76C08AE2C83C8 /* PaymentMethodElement.swift in Sources */, + 335A19D93A5979557DB4CA4D /* PaymentMethodElementWrapper.swift in Sources */, + DFA10770E494AFB895BA4EE2 /* TextFieldElement+Card.swift in Sources */, + B6B3481CBA798CF22EE8411A /* TextFieldElement+IBAN.swift in Sources */, + F90B7028426261188B66C834 /* Error+PaymentSheet.swift in Sources */, + FB653AA92B68F73344835A50 /* Intent.swift in Sources */, + 0372AB6A0796DEAE92602DD1 /* KlarnaHelper.swift in Sources */, + 88BA38BE8949815F4DB79509 /* PayWithLinkController.swift in Sources */, + 8C91277A8FEFD0B914CC6564 /* PaymentSheet-LinkConfirmOption.swift in Sources */, + 573E3DB554058AC1E34E34B6 /* AddPaymentMethodViewController.swift in Sources */, + 8D4951AE0D793D01528F352D /* PaymentMethodTypeCollectionView.swift in Sources */, + 2CE83364A23B4E3BAFD447CA /* WalletHeaderView.swift in Sources */, + 99B171DC60405D4822819E0E /* PaymentMethodType.swift in Sources */, + F29DF2AD08718147C299D2C3 /* PaymentOption+Images.swift in Sources */, + 820C3EDE61ADBFE4DA1E9A98 /* PaymentSheet+API.swift in Sources */, + 1B03C54F5F988C552487C564 /* PaymentSheet+PaymentMethodAvailability.swift in Sources */, + FAEB5ABECF32197709B2B19E /* PaymentSheet+SwiftUI.swift in Sources */, + 3A52CFA2F9D0E1C677F4EEA4 /* PaymentSheet.swift in Sources */, + F003E2D0185F1FC4FEC7D126 /* PaymentSheetAppearance.swift in Sources */, + E672F7F306C9D2BC941AE8C9 /* PaymentSheetConfiguration.swift in Sources */, + 727874C468C0E1CD3653C91A /* PaymentSheetError.swift in Sources */, + 45F8109B55B9013945ACB2C6 /* PaymentSheetFlowController.swift in Sources */, + 209FF56603EE6FC381BB58F1 /* FormSpec.swift in Sources */, + B1B6FB086F9D63A9F1BC076F /* FormSpecPaymentHandler.swift in Sources */, + D592BEF7679F39A4DE26E5AF /* FormSpecProvider.swift in Sources */, + A59432E765A72CEE2C36E0EF /* PaymentSheetFormFactory+Card.swift in Sources */, + 49803444CD948F1ED28FF021 /* PaymentSheetFormFactory+FormSpec.swift in Sources */, + 9806232CE48077E35B04FF98 /* PaymentSheetFormFactory+UPI.swift in Sources */, + 401128A8DDC7B6E3CBB4381E /* PaymentSheetFormFactory.swift in Sources */, + 229FD9FB3DF1488D8A732ABA /* STPAPIClient+PaymentSheet.swift in Sources */, + E5571A970EB9DFC4B690636F /* STPAnalyticsClient+PaymentSheet.swift in Sources */, + 0B142FE21B861925B513143D /* STPApplePayContext+PaymentSheet.swift in Sources */, + ED75C8F47475E4BE5D496C93 /* STPPaymentIntentShippingDetailsParams+PaymentSheet.swift in Sources */, + 4313D6635F10EC460D2ED21E /* SavedPaymentMethodCollectionView.swift in Sources */, + CF2AD2C7F761C46AE559E563 /* SavedPaymentOptionsViewController.swift in Sources */, + F4EA474D60D0889E7D48E1CF /* BankAccountInfoView.swift in Sources */, + 057A899F4123F3716F2AC0FA /* USBankAccountPaymentMethodElement.swift in Sources */, + 985DAA770BC0289D24A5999C /* AddressSearchResult.swift in Sources */, + 9DEDA3E0FFF73F9275F5F8F0 /* AutoCompleteViewController.swift in Sources */, + A4CD99B2032CBFA7F957B1B8 /* String+AutoComplete.swift in Sources */, + 190A1A5A871A82E5B6C09F41 /* BottomSheet3DS2ViewController.swift in Sources */, + B2979A0740F8730FC14DFEC1 /* BottomSheetViewController.swift in Sources */, + 4FC40F28C5D47E2F0EE049AA /* ChoosePaymentOptionViewController.swift in Sources */, + 2E4C37C73AD202C8A3DD2E4E /* LoadingViewController.swift in Sources */, + 247A8FEE5184E5976720599E /* PaymentSheetViewController.swift in Sources */, + 4DDECA1F7EC6B624C00D549E /* PollingViewController.swift in Sources */, + D203D701AF400680AF0F82F8 /* AUBECSMandate.swift in Sources */, + D792BA37B04E5A3AD30E37CF /* AffirmCopyLabel.swift in Sources */, + 9BFC22175CF85F58B8B8792A /* AfterpayPriceBreakdownView.swift in Sources */, + EA712D67C03385B9AD80288C /* Appearance+FontScaling.swift in Sources */, + B8A217F26AAEC592B9B0D2E1 /* CardScanButton.swift in Sources */, + 436A212E364FD78C3745DDA3 /* CardScanningView.swift in Sources */, + 19A6D9D9951E13377F305263 /* CircularButton.swift in Sources */, + F79DBDF42E5C0ED6B6DDC246 /* ConfirmButton.swift in Sources */, + 5C0D1B932954D0EF3F3A679F /* ManualEntryButton.swift in Sources */, + 3DE056395324C5B3A5AAABDA /* PayWithLinkButton.swift in Sources */, + F0D8CE0D86F703C995608BFC /* RotatingCardBrandsView.swift in Sources */, + AD5AC5F65D3BEEE97559B81C /* SepaMandateView.swift in Sources */, + F3738B13E3A7C82543B75579 /* ShadowedRoundedRectangleView.swift in Sources */, + 2A45D3B00BEE9A8D5909CCB1 /* SheetNavigationBar.swift in Sources */, + 18A5870973D314A946B92748 /* SheetNavigationButton.swift in Sources */, + 429A68EA92C4101C9BC88269 /* TestModeView.swift in Sources */, + 951138B2F9BF5642B6B894C5 /* UIKit+PaymentSheet.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3139D2A9286E34DF00C9744B /* PBXTargetDependency */ = { + 73532AF26E428E7914BA99B8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3139D29D286E34DF00C9744B /* StripePaymentSheet */; - targetProxy = 3139D2A8286E34DF00C9744B /* PBXContainerItemProxy */; + name = StripePaymentSheet; + target = A74928FD0171C3213676E29C /* StripePaymentSheet */; + targetProxy = FAB8DDD92EEAC2D2D0479997 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 3159F7512888C3A3007C8C3A /* Localizable.strings */ = { + 8AEEBDAABA19784ABD2024DA /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 3159F7522888C3A3007C8C3A /* de */, - 3159F7532888C3A3007C8C3A /* lt-LT */, - 3159F7542888C3A3007C8C3A /* zh-Hans */, - 3159F7552888C3A3007C8C3A /* ja */, - 3159F7562888C3A3007C8C3A /* el-GR */, - 3159F7572888C3A3007C8C3A /* ms-MY */, - 3159F7582888C3A3007C8C3A /* en */, - 3159F7592888C3A3007C8C3A /* zh-HK */, - 3159F75A2888C3A3007C8C3A /* mt */, - 3159F75B2888C3A3007C8C3A /* nb */, - 3159F75C2888C3A3007C8C3A /* ca-ES */, - 3159F75D2888C3A3007C8C3A /* en-GB */, - 3159F75E2888C3A3007C8C3A /* es */, - 3159F75F2888C3A3007C8C3A /* da */, - 3159F7602888C3A3007C8C3A /* es-419 */, - 3159F7612888C3A3007C8C3A /* it */, - 3159F7622888C3A3007C8C3A /* nn-NO */, - 3159F7632888C3A3007C8C3A /* fr-CA */, - 3159F7642888C3A3007C8C3A /* bg-BG */, - 3159F7652888C3A3007C8C3A /* sv */, - 3159F7662888C3A3007C8C3A /* ko */, - 3159F7672888C3A3007C8C3A /* fil */, - 3159F7682888C3A3007C8C3A /* zh-Hant */, - 3159F7692888C3A3007C8C3A /* tk */, - 3159F76A2888C3A3007C8C3A /* ro-RO */, - 3159F76B2888C3A3007C8C3A /* hu */, - 3159F76C2888C3A3007C8C3A /* tr */, - 3159F76D2888C3A3007C8C3A /* et-EE */, - 3159F76E2888C3A3007C8C3A /* pt-BR */, - 3159F76F2888C3A3007C8C3A /* lv-LV */, - 3159F7702888C3A3007C8C3A /* vi */, - 3159F7712888C3A3007C8C3A /* ru */, - 3159F7722888C3A3007C8C3A /* cs-CZ */, - 3159F7732888C3A3007C8C3A /* sk-SK */, - 3159F7742888C3A3007C8C3A /* sl-SI */, - 3159F7752888C3A4007C8C3A /* fr */, - 3159F7762888C3A4007C8C3A /* fi */, - 3159F7772888C3A4007C8C3A /* id */, - 3159F7782888C3A4007C8C3A /* nl */, - 3159F7792888C3A4007C8C3A /* pl-PL */, - 3159F77A2888C3A4007C8C3A /* pt-PT */, - 3159F77B2888C3A4007C8C3A /* hr */, + F78135339DB1893C2DC11AD4 /* bg-BG */, + A49D0A50ECFA7A4A5FC40878 /* ca-ES */, + CBCFE3D39D670C3C77C59722 /* cs-CZ */, + 39CACBC680B9BE62FDADA139 /* da */, + 36AAEA8E481F9A63FA28E982 /* de */, + 6A065CEE8A7BCE60FC9D50BF /* el-GR */, + A09CCD0ED44336B23450A995 /* en */, + FC5B271BC262C36246335F8C /* en-GB */, + F6A5556B8D1AE901CC16133B /* es */, + DB9C233DAAAD8496E7220CEF /* es-419 */, + B54274B9DEB3F1B0906127D1 /* et-EE */, + B667E074D30964FABC64B552 /* fi */, + 6FDD9018F7142928F32AECEC /* fil */, + 7EA73C14058E6E8E1573A8BA /* fr */, + BA8C71E8C30516BA68F4B43D /* fr-CA */, + 78F350B7BBB240AD67860A7E /* hr */, + 2DF75FD35820E7556EC34D15 /* hu */, + E80287504EEBBEE85081BFB5 /* id */, + C2224DF2C85F86C680B5078F /* it */, + B0FB690BBD4339E2FE57245E /* ja */, + 2B5D30A0D993C9543E0993C3 /* ko */, + 05E8F0B8BD5BCF1B32AC9B08 /* lt-LT */, + B18A7772BDFA8EF3975454B7 /* lv-LV */, + 3DF5226B8505BAFAE7B4D742 /* ms-MY */, + 2E2B99961C09E31383C9FCE9 /* mt */, + 2C9ABA7E1C1848A07E5649E8 /* nb */, + 9A0BBDBFC37770CF870594B1 /* nl */, + F8A04595309632C227482CA0 /* nn-NO */, + B4CD2ADFCF34E3F4A35255DC /* pl-PL */, + 2B84310D9A9A390EDB8FC9BB /* pt-BR */, + 08B1723A7F578FB52BD6077A /* pt-PT */, + 9E3905FE9F40E82EAEF49CD2 /* ro-RO */, + BF0319C54AA8B74DEB6881F0 /* ru */, + 2147396728E60365E39CBFD0 /* sk-SK */, + 3168698F2C61B0F5EC1240FE /* sl-SI */, + EC6AC82221B18A06DF48E0E0 /* sv */, + 2D2EF842B7B716847CFC8CF3 /* tk */, + 903DC6133304F3BCEC73F9D6 /* tr */, + B37C0DDF57A72A21F92EC636 /* vi */, + 6CDF0F248F60A38FE4977428 /* zh-Hans */, + 102C5FA371A7917110E8B27F /* zh-Hant */, + 5EFCD0B8D104E175C9EFF7A0 /* zh-HK */, ); name = Localizable.strings; sourceTree = ""; @@ -1711,141 +1729,103 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 3139D2AE286E34DF00C9744B /* Debug */ = { + 26EC8B2585277E24172F98DE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EC128DE53D8008AF554 /* Project-Debug.xcconfig */; + baseConfigurationReference = B424EFD2EE9047E1C9EB8482 /* StripeiOS-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + INFOPLIST_FILE = StripePaymentSheet/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payment-sheet"; + PRODUCT_NAME = StripePaymentSheet; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - 3139D2AF286E34DF00C9744B /* Release */ = { + 84DD5F7EFE0CA8FBB8EB129E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EBB28DE53D8008AF554 /* Project-Release.xcconfig */; + baseConfigurationReference = 7408E9D65164D9EBAB3A5E4C /* Project-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; }; - 3139D2B1286E34DF00C9744B /* Debug */ = { + 8E23EA7FDE4B2801B8D79F76 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EBA28DE53D8008AF554 /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 5B45D77A7870B3CDFC47AA6B /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = StripePaymentSheet/Info.plist; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payment-sheet"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripePaymentSheetTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentSheetTests; + PRODUCT_NAME = StripePaymentSheetTests; + SDKROOT = iphoneos; }; name = Debug; }; - 3139D2B2286E34DF00C9744B /* Release */ = { + 90447F66500F4E9A8801E405 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EC228DE53D8008AF554 /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = 97830DBB0A7FB37EEBEE5605 /* StripeiOS-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = StripePaymentSheet/Info.plist; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payment-sheet"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripePaymentSheet; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; - 3139D2B4286E34DF00C9744B /* Debug */ = { + A41B4BB8CD60DCEFDDA57ED0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EB928DE53D8008AF554 /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = 8E73D6AA921C813A243D3CFD /* Project-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentSheetTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; }; name = Debug; }; - 3139D2B5286E34DF00C9744B /* Release */ = { + D1D05BD07EB6E2FB5EE375EC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EBC28DE53D8008AF554 /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = EB98DA1D622DC572F0894A28 /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + INFOPLIST_FILE = StripePaymentSheetTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentSheetTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripePaymentSheetTests; + SDKROOT = iphoneos; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3139D298286E34DF00C9744B /* Build configuration list for PBXProject "StripePaymentSheet" */ = { + BE19D1487453B6D5A352FCEC /* Build configuration list for PBXProject "StripePaymentSheet" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3139D2AE286E34DF00C9744B /* Debug */, - 3139D2AF286E34DF00C9744B /* Release */, + A41B4BB8CD60DCEFDDA57ED0 /* Debug */, + 84DD5F7EFE0CA8FBB8EB129E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3139D2B0286E34DF00C9744B /* Build configuration list for PBXNativeTarget "StripePaymentSheet" */ = { + CF458105EBC2373DE7493F6D /* Build configuration list for PBXNativeTarget "StripePaymentSheet" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3139D2B1286E34DF00C9744B /* Debug */, - 3139D2B2286E34DF00C9744B /* Release */, + 90447F66500F4E9A8801E405 /* Debug */, + 26EC8B2585277E24172F98DE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3139D2B3286E34DF00C9744B /* Build configuration list for PBXNativeTarget "StripePaymentSheetTests" */ = { + D2A79D4A0468A855229E9F99 /* Build configuration list for PBXNativeTarget "StripePaymentSheetTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3139D2B4286E34DF00C9744B /* Debug */, - 3139D2B5286E34DF00C9744B /* Release */, + 8E23EA7FDE4B2801B8D79F76 /* Debug */, + D1D05BD07EB6E2FB5EE375EC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 3139D295286E34DF00C9744B /* Project object */; + rootObject = 803994135025BA7DC77E3F4A /* Project object */; } diff --git a/StripePaymentSheet/StripePaymentSheet.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripePaymentSheet/StripePaymentSheet.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripePaymentSheet/StripePaymentSheet.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripePaymentSheet/StripePaymentSheet.xcodeproj/xcshareddata/xcschemes/StripePaymentSheet.xcscheme b/StripePaymentSheet/StripePaymentSheet.xcodeproj/xcshareddata/xcschemes/StripePaymentSheet.xcscheme index a1760413cb8..d47fb96a04f 100644 --- a/StripePaymentSheet/StripePaymentSheet.xcodeproj/xcshareddata/xcschemes/StripePaymentSheet.xcscheme +++ b/StripePaymentSheet/StripePaymentSheet.xcodeproj/xcshareddata/xcschemes/StripePaymentSheet.xcscheme @@ -1,6 +1,6 @@ @@ -27,12 +27,21 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -50,6 +59,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + diff --git a/StripePaymentSheet/StripePaymentSheet/Info.plist b/StripePaymentSheet/StripePaymentSheet/Info.plist index 0c67376ebac..cd4a496b9ef 100644 --- a/StripePaymentSheet/StripePaymentSheet/Info.plist +++ b/StripePaymentSheet/StripePaymentSheet/Info.plist @@ -1,5 +1,22 @@ - + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + $(CURRENT_PROJECT_VERSION) + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + diff --git a/StripePaymentSheet/StripePaymentSheet/Analytics/AnalyticsHelper.swift b/StripePaymentSheet/StripePaymentSheet/Source/Analytics/AnalyticsHelper.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Analytics/AnalyticsHelper.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Analytics/AnalyticsHelper.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Analytics/STPAnalyticsClient+Address.swift b/StripePaymentSheet/StripePaymentSheet/Source/Analytics/STPAnalyticsClient+Address.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Analytics/STPAnalyticsClient+Address.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Analytics/STPAnalyticsClient+Address.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Analytics/STPAnalyticsClient+LUXE.swift b/StripePaymentSheet/StripePaymentSheet/Source/Analytics/STPAnalyticsClient+LUXE.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Analytics/STPAnalyticsClient+LUXE.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Analytics/STPAnalyticsClient+LUXE.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Categories/Data+SHA256.swift b/StripePaymentSheet/StripePaymentSheet/Source/Categories/Data+SHA256.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Categories/Data+SHA256.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Categories/Data+SHA256.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Categories/Date+Distance.swift b/StripePaymentSheet/StripePaymentSheet/Source/Categories/Date+Distance.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Categories/Date+Distance.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Categories/Date+Distance.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Categories/NSAttributedString+Stripe.swift b/StripePaymentSheet/StripePaymentSheet/Source/Categories/NSAttributedString+Stripe.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Categories/NSAttributedString+Stripe.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Categories/NSAttributedString+Stripe.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Categories/STPPaymentMethod+PaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/Categories/STPPaymentMethod+PaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Categories/STPPaymentMethod+PaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Categories/STPPaymentMethod+PaymentSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Categories/STPPaymentMethodParams+PaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/Categories/STPPaymentMethodParams+PaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Categories/STPPaymentMethodParams+PaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Categories/STPPaymentMethodParams+PaymentSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Categories/String+Localized.swift b/StripePaymentSheet/StripePaymentSheet/Source/Categories/String+Localized.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Categories/String+Localized.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Categories/String+Localized.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Categories/String+StripePaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/Categories/String+StripePaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Categories/String+StripePaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Categories/String+StripePaymentSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Categories/UserDefaults+Stripe.swift b/StripePaymentSheet/StripePaymentSheet/Source/Categories/UserDefaults+Stripe.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Categories/UserDefaults+Stripe.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Categories/UserDefaults+Stripe.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/BoolReference.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/BoolReference.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/BoolReference.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/BoolReference.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/DefaultPaymentMethodStore.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/DefaultPaymentMethodStore.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/DefaultPaymentMethodStore.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/DefaultPaymentMethodStore.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/Images.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/Images.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/Images.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/Images.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/IntentStatusPoller.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/IntentStatusPoller.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/IntentStatusPoller.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/IntentStatusPoller.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/PaymentSheetLinkAccount.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/PaymentSheetLinkAccount.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/PaymentSheetLinkAccount.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/PaymentSheetLinkAccount.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/STPCameraView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCameraView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/STPCameraView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCameraView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/STPCardScanner.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCardScanner.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/STPCardScanner.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCardScanner.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/STPImageLibrary.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPImageLibrary.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/STPImageLibrary.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPImageLibrary.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/STPLocalizedString.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPLocalizedString.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/STPLocalizedString.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPLocalizedString.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/STPStringUtils.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPStringUtils.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/STPStringUtils.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPStringUtils.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/StripePaymentSheet+Exports.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/StripePaymentSheet+Exports.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/StripePaymentSheet+Exports.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/StripePaymentSheet+Exports.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Helpers/StripePaymentSheetBundleLocator.swift b/StripePaymentSheet/StripePaymentSheet/Source/Helpers/StripePaymentSheetBundleLocator.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Helpers/StripePaymentSheetBundleLocator.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Helpers/StripePaymentSheetBundleLocator.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/ConsumerSession+LookupResponse.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/ConsumerSession+LookupResponse.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/ConsumerSession+LookupResponse.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/ConsumerSession+LookupResponse.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/ConsumerSession-SignupResponse.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/ConsumerSession-SignupResponse.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/ConsumerSession-SignupResponse.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/ConsumerSession-SignupResponse.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/ConsumerSession.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/ConsumerSession.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/ConsumerSession.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/ConsumerSession.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/CookieStore/LinkCookieStore.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/CookieStore/LinkCookieStore.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/CookieStore/LinkCookieStore.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/CookieStore/LinkCookieStore.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/CookieStore/LinkInMemoryCookieStore.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/CookieStore/LinkInMemoryCookieStore.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/CookieStore/LinkInMemoryCookieStore.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/CookieStore/LinkInMemoryCookieStore.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/CookieStore/LinkSecureCookieStore.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/CookieStore/LinkSecureCookieStore.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/CookieStore/LinkSecureCookieStore.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/CookieStore/LinkSecureCookieStore.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/PaymentDetails.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/PaymentDetails.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/PaymentDetails.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/PaymentDetails.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/STPAPIClient+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/STPAPIClient+Link.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/STPAPIClient+Link.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/STPAPIClient+Link.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/VerificationSession.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/VerificationSession.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/Link/VerificationSession.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/VerificationSession.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/VO/CardExpiryDate.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/VO/CardExpiryDate.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/API Bindings/VO/CardExpiryDate.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/VO/CardExpiryDate.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Basic UI/Inputs/OneTimeCodeTextField-TextStorage.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Basic UI/Inputs/OneTimeCodeTextField-TextStorage.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Basic UI/Inputs/OneTimeCodeTextField-TextStorage.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Basic UI/Inputs/OneTimeCodeTextField-TextStorage.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Basic UI/Inputs/OneTimeCodeTextField.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Basic UI/Inputs/OneTimeCodeTextField.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Basic UI/Inputs/OneTimeCodeTextField.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Basic UI/Inputs/OneTimeCodeTextField.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Basic UI/SeparatorLabel.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Basic UI/SeparatorLabel.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Basic UI/SeparatorLabel.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Basic UI/SeparatorLabel.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/ACH/LinkFinancialConnectionsAuthManager.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/ACH/LinkFinancialConnectionsAuthManager.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/ACH/LinkFinancialConnectionsAuthManager.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/ACH/LinkFinancialConnectionsAuthManager.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/Badge/LinkBadgeView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Badge/LinkBadgeView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/Badge/LinkBadgeView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Badge/LinkBadgeView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/NavigationBar/LinkNavigationBar.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/NavigationBar/LinkNavigationBar.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/NavigationBar/LinkNavigationBar.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/NavigationBar/LinkNavigationBar.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/Notice/LinkNoticeView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Notice/LinkNoticeView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/Notice/LinkNoticeView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Notice/LinkNoticeView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-AddButton.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-AddButton.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-AddButton.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-AddButton.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Cell.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Cell.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Cell.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Cell.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-CellContentView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-CellContentView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-CellContentView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-CellContentView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Header.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Header.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Header.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-Header.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-RadioButton.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-RadioButton.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-RadioButton.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker-RadioButton.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/PaymentMethodPicker/LinkPaymentMethodPicker.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/Toast/LinkToast.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Toast/LinkToast.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Components/Toast/LinkToast.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Toast/LinkToast.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-BaseViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-BaseViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-BaseViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-BaseViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-LoaderViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-LoaderViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-LoaderViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-LoaderViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-NewPaymentViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-NewPaymentViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-NewPaymentViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-NewPaymentViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewModel.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewModel.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewModel.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-SignUpViewModel.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-UpdatePaymentViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-UpdatePaymentViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-UpdatePaymentViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-UpdatePaymentViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-VerifyAccountViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-VerifyAccountViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-VerifyAccountViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-VerifyAccountViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-WalletViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-WalletViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-WalletViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-WalletViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-WalletViewModel.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-WalletViewModel.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController-WalletViewModel.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-WalletViewModel.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Controllers/PayWithLinkViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/InlineSignup/LinkInlineSignupElement.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/InlineSignup/LinkInlineSignupElement.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/InlineSignup/LinkInlineSignupElement.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/InlineSignup/LinkInlineSignupElement.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/InlineSignup/LinkInlineSignupView-CheckboxElement.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/InlineSignup/LinkInlineSignupView-CheckboxElement.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/InlineSignup/LinkInlineSignupView-CheckboxElement.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/InlineSignup/LinkInlineSignupView-CheckboxElement.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/InlineSignup/LinkInlineSignupView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/InlineSignup/LinkInlineSignupView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/InlineSignup/LinkInlineSignupView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/InlineSignup/LinkInlineSignupView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/LinkCardEditElement.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/LinkCardEditElement.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/LinkCardEditElement.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/LinkCardEditElement.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/LinkEmailElement.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/LinkEmailElement.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Elements/LinkEmailElement.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/LinkEmailElement.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/Button+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/Button+Link.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/Button+Link.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/Button+Link.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/ConfirmButton+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/ConfirmButton+Link.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/ConfirmButton+Link.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/ConfirmButton+Link.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/FormElement+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/FormElement+Link.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/FormElement+Link.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/FormElement+Link.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/Intent+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/Intent+Link.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/Intent+Link.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/Intent+Link.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/PaymentSheet-Configuration+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/PaymentSheet-Configuration+Link.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/PaymentSheet-Configuration+Link.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/PaymentSheet-Configuration+Link.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/STPAnalyticsClient+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/STPAnalyticsClient+Link.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/STPAnalyticsClient+Link.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/STPAnalyticsClient+Link.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/UIColor+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/UIColor+Link.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Extensions/UIColor+Link.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Extensions/UIColor+Link.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/LinkUI.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/LinkUI.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/LinkUI.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/LinkUI.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Services/LinkAccountService.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Services/LinkAccountService.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Services/LinkAccountService.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Services/LinkAccountService.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Utils/Locale+Link.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Utils/Locale+Link.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Utils/Locale+Link.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Utils/Locale+Link.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Utils/OperationDebouncer.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Utils/OperationDebouncer.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Utils/OperationDebouncer.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Utils/OperationDebouncer.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkAccountContext.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkAccountContext.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkAccountContext.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkAccountContext.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkCookieKey.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkCookieKey.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkCookieKey.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkCookieKey.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkUtils.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkUtils.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkUtils.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkUtils.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationView-Header.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationView-Header.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationView-Header.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationView-Header.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationView-LogoutView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationView-LogoutView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationView-LogoutView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationView-LogoutView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationViewController-PresentationController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationViewController-PresentationController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationViewController-PresentationController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationViewController-PresentationController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Verification/LinkVerificationViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Verification/LinkVerificationViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/ViewModels/LinkInlineSignupViewModel.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/ViewModels/LinkInlineSignupViewModel.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/ViewModels/LinkInlineSignupViewModel.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/ViewModels/LinkInlineSignupViewModel.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Views/LinkInstantDebitMandateView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkInstantDebitMandateView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Views/LinkInstantDebitMandateView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkInstantDebitMandateView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Views/LinkKeyboardAvoidingScrollView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkKeyboardAvoidingScrollView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Views/LinkKeyboardAvoidingScrollView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkKeyboardAvoidingScrollView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Views/LinkLegalTermsView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkLegalTermsView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Views/LinkLegalTermsView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkLegalTermsView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/Internal/Link/Views/LinkMoreInfoView.swift b/StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkMoreInfoView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/Internal/Link/Views/LinkMoreInfoView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Views/LinkMoreInfoView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/AddressViewController/AddressViewController+Configuration.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/AddressViewController/AddressViewController+Configuration.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/AddressViewController/AddressViewController+Configuration.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/AddressViewController/AddressViewController+Configuration.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/AddressViewController/AddressViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/AddressViewController/AddressViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/AddressViewController/AddressViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/AddressViewController/AddressViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/BottomSheetPresentable.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/BottomSheetPresentable.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/BottomSheetPresentable.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/BottomSheetPresentable.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/BottomSheetPresentationAnimator.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/BottomSheetPresentationAnimator.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/BottomSheetPresentationAnimator.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/BottomSheetPresentationAnimator.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/BottomSheetPresentationController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/BottomSheetPresentationController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/BottomSheetPresentationController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/BottomSheetPresentationController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/BottomSheetTransitioningDelegate.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/BottomSheetTransitioningDelegate.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/BottomSheetTransitioningDelegate.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/BottomSheetTransitioningDelegate.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/UIViewController+BottomSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/UIViewController+BottomSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/BottomSheet/UIViewController+BottomSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/BottomSheet/UIViewController+BottomSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerElement.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerElement.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerElement.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerElement.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/CardSectionWithScanner/CardSectionWithScannerView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/ConnectionsElement.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/ConnectionsElement.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/ConnectionsElement.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/ConnectionsElement.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/LinkEnabledPaymentMethodElement.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/LinkEnabledPaymentMethodElement.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/LinkEnabledPaymentMethodElement.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/LinkEnabledPaymentMethodElement.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElement.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElement.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElement.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElement.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElementWrapper.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElementWrapper.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElementWrapper.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/PaymentMethodElement/PaymentMethodElementWrapper.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/TextField/TextFieldElement+Card.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/TextField/TextFieldElement+Card.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/TextField/TextFieldElement+Card.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/TextField/TextFieldElement+Card.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/TextField/TextFieldElement+IBAN.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/TextField/TextFieldElement+IBAN.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Elements/TextField/TextFieldElement+IBAN.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/TextField/TextFieldElement+IBAN.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Error+PaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Error+PaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Error+PaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Error+PaymentSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Intent.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Intent.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Intent.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Intent.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/KlarnaHelper.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/KlarnaHelper.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/KlarnaHelper.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/KlarnaHelper.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Link/PayWithLinkController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/PayWithLinkController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Link/PayWithLinkController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/PayWithLinkController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Link/PaymentSheet-LinkConfirmOption.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/PaymentSheet-LinkConfirmOption.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Link/PaymentSheet-LinkConfirmOption.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/PaymentSheet-LinkConfirmOption.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/New Payment Method Screen/AddPaymentMethodViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/AddPaymentMethodViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/New Payment Method Screen/AddPaymentMethodViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/AddPaymentMethodViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/New Payment Method Screen/PaymentMethodTypeCollectionView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/PaymentMethodTypeCollectionView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/New Payment Method Screen/PaymentMethodTypeCollectionView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/PaymentMethodTypeCollectionView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/New Payment Method Screen/WalletHeaderView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/WalletHeaderView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/New Payment Method Screen/WalletHeaderView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/WalletHeaderView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentMethodType.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodType.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentMethodType.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodType.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentOption+Images.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentOption+Images.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentOption+Images.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentOption+Images.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheet+API.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+API.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheet+API.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+API.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheet+PaymentMethodAvailability.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+PaymentMethodAvailability.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheet+PaymentMethodAvailability.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+PaymentMethodAvailability.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheet+SwiftUI.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+SwiftUI.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheet+SwiftUI.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+SwiftUI.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetAppearance.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetAppearance.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetAppearance.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetAppearance.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetConfiguration.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetConfiguration.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetConfiguration.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetConfiguration.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetError.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetError.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetError.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetError.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFlowController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFlowController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFlowController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFlowController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpec.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpec.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpec.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpec.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecPaymentHandler.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecPaymentHandler.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecPaymentHandler.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecPaymentHandler.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecProvider.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecProvider.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecProvider.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/FormSpec/FormSpecProvider.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+Card.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+Card.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+Card.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+Card.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+FormSpec.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+FormSpec.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+FormSpec.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+FormSpec.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+UPI.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+UPI.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+UPI.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+UPI.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/STPAPIClient+PaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPAPIClient+PaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/STPAPIClient+PaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPAPIClient+PaymentSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/STPAnalyticsClient+PaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPAnalyticsClient+PaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/STPAnalyticsClient+PaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPAnalyticsClient+PaymentSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/STPApplePayContext+PaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPApplePayContext+PaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/STPApplePayContext+PaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPApplePayContext+PaymentSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/STPPaymentIntentShippingDetailsParams+PaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPPaymentIntentShippingDetailsParams+PaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/STPPaymentIntentShippingDetailsParams+PaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPPaymentIntentShippingDetailsParams+PaymentSheet.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Saved Payment Method Screen/SavedPaymentMethodCollectionView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Saved Payment Method Screen/SavedPaymentMethodCollectionView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Saved Payment Method Screen/SavedPaymentMethodCollectionView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Saved Payment Method Screen/SavedPaymentMethodCollectionView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Saved Payment Method Screen/SavedPaymentOptionsViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Saved Payment Method Screen/SavedPaymentOptionsViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Saved Payment Method Screen/SavedPaymentOptionsViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Saved Payment Method Screen/SavedPaymentOptionsViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/USBankAccount/BankAccountInfoView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/USBankAccount/BankAccountInfoView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/USBankAccount/BankAccountInfoView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/USBankAccount/BankAccountInfoView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/USBankAccount/USBankAccountPaymentMethodElement.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/USBankAccount/USBankAccountPaymentMethodElement.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/USBankAccount/USBankAccountPaymentMethodElement.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/USBankAccount/USBankAccountPaymentMethodElement.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/AutoComplete/AddressSearchResult.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/AutoComplete/AddressSearchResult.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/AutoComplete/AddressSearchResult.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/AutoComplete/AddressSearchResult.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/AutoComplete/AutoCompleteViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/AutoComplete/AutoCompleteViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/AutoComplete/AutoCompleteViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/AutoComplete/AutoCompleteViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/AutoComplete/String+AutoComplete.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/AutoComplete/String+AutoComplete.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/AutoComplete/String+AutoComplete.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/AutoComplete/String+AutoComplete.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/BottomSheet3DS2ViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/BottomSheet3DS2ViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/BottomSheet3DS2ViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/BottomSheet3DS2ViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/BottomSheetViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/BottomSheetViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/BottomSheetViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/BottomSheetViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/ChoosePaymentOptionViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/ChoosePaymentOptionViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/ChoosePaymentOptionViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/ChoosePaymentOptionViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/LoadingViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/LoadingViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/LoadingViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/LoadingViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/PaymentSheetViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/PaymentSheetViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/PollingViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PollingViewController.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/ViewControllers/PollingViewController.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PollingViewController.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/AUBECSMandate.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/AUBECSMandate.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/AUBECSMandate.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/AUBECSMandate.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/AffirmCopyLabel.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/AffirmCopyLabel.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/AffirmCopyLabel.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/AffirmCopyLabel.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/AfterpayPriceBreakdownView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/AfterpayPriceBreakdownView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/AfterpayPriceBreakdownView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/AfterpayPriceBreakdownView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/Appearance+FontScaling.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/Appearance+FontScaling.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/Appearance+FontScaling.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/Appearance+FontScaling.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/CardScanButton.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/CardScanButton.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/CardScanButton.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/CardScanButton.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/CardScanningView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/CardScanningView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/CardScanningView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/CardScanningView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/CircularButton.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/CircularButton.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/CircularButton.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/CircularButton.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/ConfirmButton.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/ConfirmButton.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/ManualEntryButton.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ManualEntryButton.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/ManualEntryButton.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ManualEntryButton.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/PayWithLinkButton.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/PayWithLinkButton.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/PayWithLinkButton.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/PayWithLinkButton.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/RotatingCardBrandsView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/RotatingCardBrandsView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/RotatingCardBrandsView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/RotatingCardBrandsView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/SepaMandateView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/SepaMandateView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/SepaMandateView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/SepaMandateView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/ShadowedRoundedRectangleView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ShadowedRoundedRectangleView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/ShadowedRoundedRectangleView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ShadowedRoundedRectangleView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/SheetNavigationBar.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/SheetNavigationBar.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/SheetNavigationBar.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/SheetNavigationBar.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/SheetNavigationButton.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/SheetNavigationButton.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/SheetNavigationButton.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/SheetNavigationButton.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/TestModeView.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/TestModeView.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/TestModeView.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/TestModeView.swift diff --git a/StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/UIKit+PaymentSheet.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/UIKit+PaymentSheet.swift similarity index 100% rename from StripePaymentSheet/StripePaymentSheet/PaymentSheet/Views/UIKit+PaymentSheet.swift rename to StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/UIKit+PaymentSheet.swift diff --git a/StripeApplePay/StripeApplePayTestUtils/Info.plist b/StripePaymentSheet/StripePaymentSheetTests/Info.plist similarity index 85% rename from StripeApplePay/StripeApplePayTestUtils/Info.plist rename to StripePaymentSheet/StripePaymentSheetTests/Info.plist index cd4a496b9ef..64d65ca4957 100644 --- a/StripeApplePay/StripeApplePayTestUtils/Info.plist +++ b/StripePaymentSheet/StripePaymentSheetTests/Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -15,8 +15,8 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - $(CURRENT_PROJECT_VERSION) + 1.0 CFBundleVersion - $(CURRENT_PROJECT_VERSION) + 1 diff --git a/StripePaymentSheet/StripePaymentSheetTests/StripePaymentSheetTests.swift b/StripePaymentSheet/StripePaymentSheetTests/StripePaymentSheetTests.swift deleted file mode 100644 index f3ea3aeb244..00000000000 --- a/StripePaymentSheet/StripePaymentSheetTests/StripePaymentSheetTests.swift +++ /dev/null @@ -1,37 +0,0 @@ -// -// StripePaymentSheetTests.swift -// StripePaymentSheetTests -// -// Created by David Estes on 6/30/22. -// Copyright © 2022 Stripe, Inc. All rights reserved. -// - -import XCTest -@testable import StripePaymentSheet - -class StripePaymentSheetTests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - // Any test you write for XCTest can be annotated as throws and async. - // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. - // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. - } - - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/StripePayments.podspec b/StripePayments.podspec index 5bd85239461..5475d3dd084 100644 --- a/StripePayments.podspec +++ b/StripePayments.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = '13.0' s.swift_version = '5.0' s.weak_framework = 'SwiftUI' - s.source_files = 'StripePayments/StripePayments/**/*.swift' + s.source_files = 'StripePayments/StripePayments/Source/**/*.swift' s.ios.resource_bundle = { 'StripePayments' => 'StripePayments/StripePayments/Resources/**/*.{lproj,png,xcassets,json}' } s.dependency 'StripeCore', s.version.to_s s.subspec 'Stripe3DS2' do |sp| diff --git a/StripePayments/Project.swift b/StripePayments/Project.swift new file mode 100644 index 00000000000..06a843624e7 --- /dev/null +++ b/StripePayments/Project.swift @@ -0,0 +1,13 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripePayments", + resources: "StripePayments/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + .project(target: "StripeUICore", path: "//StripeUICore"), + ], + unitTestOptions: .testOptions() +) diff --git a/StripePayments/StripePayments.xcodeproj/project.pbxproj b/StripePayments/StripePayments.xcodeproj/project.pbxproj index 63dd2f19ea9..738046ecbaf 100644 --- a/StripePayments/StripePayments.xcodeproj/project.pbxproj +++ b/StripePayments/StripePayments.xcodeproj/project.pbxproj @@ -3,898 +3,933 @@ archiveVersion = 1; classes = { }; - objectVersion = 55; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 31138E6928DBBB70008AF554 /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31138E6828DBBB70008AF554 /* Enums+CustomStringConvertible.swift */; }; - 31227111286E414A0007ED5E /* APIRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227109286E414A0007ED5E /* APIRequest.swift */; }; - 31227112286E414A0007ED5E /* STPIntentActionUseStripeSDK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122710A286E414A0007ED5E /* STPIntentActionUseStripeSDK.swift */; }; - 31227113286E414A0007ED5E /* STPFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122710B286E414A0007ED5E /* STPFormEncoder.swift */; }; - 31227114286E414A0007ED5E /* STP3DS2AuthenticateResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122710C286E414A0007ED5E /* STP3DS2AuthenticateResponse.swift */; }; - 31227115286E414A0007ED5E /* STPPaymentMethodListDeserializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122710D286E414A0007ED5E /* STPPaymentMethodListDeserializer.swift */; }; - 31227116286E414A0007ED5E /* STPInternalAPIResponseDecodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122710E286E414A0007ED5E /* STPInternalAPIResponseDecodable.swift */; }; - 31227117286E414A0007ED5E /* STPSourcePoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122710F286E414A0007ED5E /* STPSourcePoller.swift */; }; - 31227118286E414A0007ED5E /* STPEmptyStripeResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227110286E414A0007ED5E /* STPEmptyStripeResponse.swift */; }; - 31227124286E43A00007ED5E /* STPThreeDSButtonCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122711A286E439F0007ED5E /* STPThreeDSButtonCustomization.swift */; }; - 31227125286E43A00007ED5E /* STPThreeDSSelectionCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122711B286E439F0007ED5E /* STPThreeDSSelectionCustomization.swift */; }; - 31227126286E43A00007ED5E /* STPThreeDSNavigationBarCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122711C286E439F0007ED5E /* STPThreeDSNavigationBarCustomization.swift */; }; - 31227127286E43A00007ED5E /* STPThreeDSUICustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122711D286E439F0007ED5E /* STPThreeDSUICustomization.swift */; }; - 31227128286E43A00007ED5E /* STPThreeDSLabelCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122711E286E439F0007ED5E /* STPThreeDSLabelCustomization.swift */; }; - 31227129286E43A00007ED5E /* STPAuthenticationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122711F286E43A00007ED5E /* STPAuthenticationContext.swift */; }; - 3122712A286E43A00007ED5E /* STPPaymentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227120286E43A00007ED5E /* STPPaymentHandler.swift */; }; - 3122712B286E43A00007ED5E /* STPThreeDSTextFieldCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227121286E43A00007ED5E /* STPThreeDSTextFieldCustomization.swift */; }; - 3122712C286E43A00007ED5E /* STPThreeDSCustomizationSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227122286E43A00007ED5E /* STPThreeDSCustomizationSettings.swift */; }; - 3122712D286E43A00007ED5E /* STPThreeDSFooterCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227123286E43A00007ED5E /* STPThreeDSFooterCustomization.swift */; }; - 31227130286E44890007ED5E /* STPCardValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122712F286E44890007ED5E /* STPCardValidator.swift */; }; - 31227132286E448E0007ED5E /* STPBlocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227131286E448E0007ED5E /* STPBlocks.swift */; }; - 31227134286E44AB0007ED5E /* STPPaymentConfirmation+SwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227133286E44AB0007ED5E /* STPPaymentConfirmation+SwiftUI.swift */; }; - 3122713C286E455C0007ED5E /* STPPaymentHandlerActionParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122713B286E455C0007ED5E /* STPPaymentHandlerActionParams.swift */; }; - 3122713F286E54BA0007ED5E /* NSDictionary+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122713E286E54BA0007ED5E /* NSDictionary+Stripe.swift */; }; - 31227148286E555B0007ED5E /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227147286E555B0007ED5E /* STPLocalizedString.swift */; }; - 3122714A286E557F0007ED5E /* StripePaymentsBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227149286E557F0007ED5E /* StripePaymentsBundleLocator.swift */; }; - 31227169286E56260007ED5E /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31227168286E56260007ED5E /* Stripe3DS2.framework */; }; - 31227175286E56D50007ED5E /* STPBINController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227174286E56D50007ED5E /* STPBINController.swift */; }; - 3122718C286E5C360007ED5E /* NSString+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122718B286E5C360007ED5E /* NSString+Stripe.swift */; }; - 3122718E286E5C6C0007ED5E /* NSArray+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122718D286E5C6C0007ED5E /* NSArray+Stripe.swift */; }; - 3122719C286E614C0007ED5E /* STPAnalyticsClient+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122719A286E614C0007ED5E /* STPAnalyticsClient+Payments.swift */; }; - 3122719D286E614C0007ED5E /* Analytic+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122719B286E614C0007ED5E /* Analytic+Payments.swift */; }; - 3122719F286E62C80007ED5E /* NSDecimalNumber+Stripe_Currency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122719E286E62C80007ED5E /* NSDecimalNumber+Stripe_Currency.swift */; }; - 31227203287629B90007ED5E /* StripePayments+Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227202287629B90007ED5E /* StripePayments+Export.swift */; }; - 3122723F28763F3A0007ED5E /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122723E28763F3A0007ED5E /* StripeUICore.framework */; }; - 3122724328763F3E0007ED5E /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122724228763F3E0007ED5E /* StripeCore.framework */; }; - 3122724D2876427A0007ED5E /* STPAPIClient+PaymentsCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122724C2876427A0007ED5E /* STPAPIClient+PaymentsCore.swift */; }; - 3139D263286E34A800C9744B /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3139D25A286E34A700C9744B /* StripePayments.framework */; }; - 3139D268286E34A800C9744B /* StripePaymentsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3139D267286E34A800C9744B /* StripePaymentsTests.swift */; }; - 3139D269286E34A800C9744B /* StripePayments.h in Headers */ = {isa = PBXBuildFile; fileRef = 3139D25D286E34A700C9744B /* StripePayments.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 314D27A2286E35C9000076C8 /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D279E286E35C8000076C8 /* StripeCore+Import.swift */; }; - 314D27A3286E35C9000076C8 /* StripeApplePay+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D279F286E35C9000076C8 /* StripeApplePay+Import.swift */; }; - 314D27A5286E35C9000076C8 /* StripeAPI+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27A1286E35C9000076C8 /* StripeAPI+Deprecated.swift */; }; - 314D27B7286E35F0000076C8 /* STPRadarSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27A7286E35EE000076C8 /* STPRadarSession.swift */; }; - 314D27B8286E35F0000076C8 /* STPiDEALBank.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27A8286E35EE000076C8 /* STPiDEALBank.swift */; }; - 314D27B9286E35F0000076C8 /* STPCardBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27A9286E35EF000076C8 /* STPCardBrand.swift */; }; - 314D27BA286E35F0000076C8 /* STPAPIResponseDecodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27AA286E35EF000076C8 /* STPAPIResponseDecodable.swift */; }; - 314D27BB286E35F0000076C8 /* STPToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27AB286E35EF000076C8 /* STPToken.swift */; }; - 314D27BC286E35F0000076C8 /* STPFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27AC286E35EF000076C8 /* STPFile.swift */; }; - 314D27BD286E35F0000076C8 /* STPConnectAccountAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27AD286E35EF000076C8 /* STPConnectAccountAddress.swift */; }; - 314D27BE286E35F0000076C8 /* STPAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27AE286E35EF000076C8 /* STPAddress.swift */; }; - 314D27BF286E35F0000076C8 /* STPConnectAccountCompanyParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27AF286E35EF000076C8 /* STPConnectAccountCompanyParams.swift */; }; - 314D27C0286E35F0000076C8 /* STPIssuingCardPin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27B0286E35EF000076C8 /* STPIssuingCardPin.swift */; }; - 314D27C1286E35F0000076C8 /* STPContactField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27B1286E35EF000076C8 /* STPContactField.swift */; }; - 314D27C2286E35F0000076C8 /* STPFPXBankBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27B2286E35EF000076C8 /* STPFPXBankBrand.swift */; }; - 314D27C3286E35F0000076C8 /* STPConnectAccountParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27B3286E35F0000076C8 /* STPConnectAccountParams.swift */; }; - 314D27C4286E35F0000076C8 /* STPFormEncodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27B4286E35F0000076C8 /* STPFormEncodable.swift */; }; - 314D27C5286E35F0000076C8 /* STPConnectAccountIndividualParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27B5286E35F0000076C8 /* STPConnectAccountIndividualParams.swift */; }; - 314D27C6286E35F0000076C8 /* STPCustomer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27B6286E35F0000076C8 /* STPCustomer.swift */; }; - 314D2807286E363B000076C8 /* STPPaymentMethodAfterpayClearpay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27CE286E3636000076C8 /* STPPaymentMethodAfterpayClearpay.swift */; }; - 314D2808286E363B000076C8 /* STPPaymentMethodAffirm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27CF286E3636000076C8 /* STPPaymentMethodAffirm.swift */; }; - 314D2809286E363B000076C8 /* STPPaymentMethodBacsDebit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D0286E3636000076C8 /* STPPaymentMethodBacsDebit.swift */; }; - 314D280A286E363B000076C8 /* STPPaymentMethodAUBECSDebit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D1286E3636000076C8 /* STPPaymentMethodAUBECSDebit.swift */; }; - 314D280B286E363B000076C8 /* STPPaymentMethodCardWallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D2286E3636000076C8 /* STPPaymentMethodCardWallet.swift */; }; - 314D280C286E363B000076C8 /* STPPaymentMethodAffirmParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D3286E3636000076C8 /* STPPaymentMethodAffirmParams.swift */; }; - 314D280D286E363B000076C8 /* STPPaymentMethodPrzelewy24.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D4286E3636000076C8 /* STPPaymentMethodPrzelewy24.swift */; }; - 314D280E286E363B000076C8 /* STPPaymentMethodEPS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D5286E3636000076C8 /* STPPaymentMethodEPS.swift */; }; - 314D280F286E363B000076C8 /* STPPaymentMethodPayPal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D6286E3637000076C8 /* STPPaymentMethodPayPal.swift */; }; - 314D2810286E363B000076C8 /* STPPaymentMethodFPXParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D7286E3637000076C8 /* STPPaymentMethodFPXParams.swift */; }; - 314D2811286E363B000076C8 /* STPPaymentMethodBoletoParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D8286E3637000076C8 /* STPPaymentMethodBoletoParams.swift */; }; - 314D2812286E363B000076C8 /* STPPaymentMethodEPSParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27D9286E3637000076C8 /* STPPaymentMethodEPSParams.swift */; }; - 314D2813286E363B000076C8 /* STPPaymentMethodAlipay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27DA286E3637000076C8 /* STPPaymentMethodAlipay.swift */; }; - 314D2814286E363B000076C8 /* STPPaymentMethodOXXOParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27DB286E3637000076C8 /* STPPaymentMethodOXXOParams.swift */; }; - 314D2815286E363B000076C8 /* STPPaymentMethodCardWalletMasterpass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27DC286E3637000076C8 /* STPPaymentMethodCardWalletMasterpass.swift */; }; - 314D2816286E363B000076C8 /* STPPaymentMethodNetBankingParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27DD286E3637000076C8 /* STPPaymentMethodNetBankingParams.swift */; }; - 314D2817286E363B000076C8 /* STPPaymentMethodKlarna.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27DE286E3637000076C8 /* STPPaymentMethodKlarna.swift */; }; - 314D2818286E363B000076C8 /* STPPaymentMethodKlarnaParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27DF286E3637000076C8 /* STPPaymentMethodKlarnaParams.swift */; }; - 314D2819286E363B000076C8 /* STPPaymentMethodOXXO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E0286E3638000076C8 /* STPPaymentMethodOXXO.swift */; }; - 314D281A286E363B000076C8 /* STPPaymentMethodCardParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E1286E3638000076C8 /* STPPaymentMethodCardParams.swift */; }; - 314D281B286E363B000076C8 /* STPPaymentMethodWeChatPayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E2286E3638000076C8 /* STPPaymentMethodWeChatPayParams.swift */; }; - 314D281C286E363B000076C8 /* STPPaymentMethodBacsDebitParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E3286E3638000076C8 /* STPPaymentMethodBacsDebitParams.swift */; }; - 314D281D286E363C000076C8 /* STPPaymentMethodUSBankAccountParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E4286E3638000076C8 /* STPPaymentMethodUSBankAccountParams.swift */; }; - 314D281E286E363C000076C8 /* STPPaymentMethodSofort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E5286E3638000076C8 /* STPPaymentMethodSofort.swift */; }; - 314D281F286E363C000076C8 /* STPPaymentMethodSofortParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E6286E3638000076C8 /* STPPaymentMethodSofortParams.swift */; }; - 314D2820286E363C000076C8 /* STPPaymentMethodBLIKParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E7286E3638000076C8 /* STPPaymentMethodBLIKParams.swift */; }; - 314D2821286E363C000076C8 /* STPPaymentMethodUPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E8286E3638000076C8 /* STPPaymentMethodUPI.swift */; }; - 314D2822286E363C000076C8 /* STPPaymentMethodFPX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27E9286E3638000076C8 /* STPPaymentMethodFPX.swift */; }; - 314D2823286E363C000076C8 /* STPPaymentMethodCardPresent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27EA286E3639000076C8 /* STPPaymentMethodCardPresent.swift */; }; - 314D2824286E363C000076C8 /* STPPaymentMethodLinkParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27EB286E3639000076C8 /* STPPaymentMethodLinkParams.swift */; }; - 314D2825286E363C000076C8 /* STPPaymentMethodGiropay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27EC286E3639000076C8 /* STPPaymentMethodGiropay.swift */; }; - 314D2826286E363C000076C8 /* STPPaymentMethodSEPADebitParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27ED286E3639000076C8 /* STPPaymentMethodSEPADebitParams.swift */; }; - 314D2827286E363C000076C8 /* STPPaymentMethodCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27EE286E3639000076C8 /* STPPaymentMethodCard.swift */; }; - 314D2828286E363C000076C8 /* STPPaymentMethodBLIK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27EF286E3639000076C8 /* STPPaymentMethodBLIK.swift */; }; - 314D2829286E363C000076C8 /* STPPaymentMethodUSBankAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F0286E3639000076C8 /* STPPaymentMethodUSBankAccount.swift */; }; - 314D282A286E363C000076C8 /* STPPaymentMethodNetBanking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F1286E3639000076C8 /* STPPaymentMethodNetBanking.swift */; }; - 314D282B286E363C000076C8 /* STPPaymentMethodGiropayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F2286E3639000076C8 /* STPPaymentMethodGiropayParams.swift */; }; - 314D282C286E363C000076C8 /* STPPaymentMethodLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F3286E3639000076C8 /* STPPaymentMethodLink.swift */; }; - 314D282D286E363C000076C8 /* STPPaymentMethodiDEAL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F4286E363A000076C8 /* STPPaymentMethodiDEAL.swift */; }; - 314D282E286E363C000076C8 /* STPPaymentMethodCardChecks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F5286E363A000076C8 /* STPPaymentMethodCardChecks.swift */; }; - 314D282F286E363C000076C8 /* STPPaymentMethodPayPalParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F6286E363A000076C8 /* STPPaymentMethodPayPalParams.swift */; }; - 314D2830286E363C000076C8 /* STPPaymentMethodBoleto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F7286E363A000076C8 /* STPPaymentMethodBoleto.swift */; }; - 314D2831286E363C000076C8 /* STPPaymentMethodThreeDSecureUsage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F8286E363A000076C8 /* STPPaymentMethodThreeDSecureUsage.swift */; }; - 314D2832286E363C000076C8 /* STPPaymentMethodCardWalletVisaCheckout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27F9286E363A000076C8 /* STPPaymentMethodCardWalletVisaCheckout.swift */; }; - 314D2833286E363C000076C8 /* STPPaymentMethodAfterpayClearpayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27FA286E363A000076C8 /* STPPaymentMethodAfterpayClearpayParams.swift */; }; - 314D2834286E363C000076C8 /* STPPaymentMethodSEPADebit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27FB286E363A000076C8 /* STPPaymentMethodSEPADebit.swift */; }; - 314D2835286E363C000076C8 /* STPPaymentMethodBancontactParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27FC286E363A000076C8 /* STPPaymentMethodBancontactParams.swift */; }; - 314D2836286E363C000076C8 /* STPPaymentMethodPrzelewy24Params.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27FD286E363B000076C8 /* STPPaymentMethodPrzelewy24Params.swift */; }; - 314D2837286E363C000076C8 /* STPPaymentMethodGrabPay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27FE286E363B000076C8 /* STPPaymentMethodGrabPay.swift */; }; - 314D2838286E363C000076C8 /* STPPaymentMethodGrabPayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D27FF286E363B000076C8 /* STPPaymentMethodGrabPayParams.swift */; }; - 314D2839286E363C000076C8 /* STPPaymentMethodiDEALParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2800286E363B000076C8 /* STPPaymentMethodiDEALParams.swift */; }; - 314D283A286E363C000076C8 /* STPPaymentMethodAUBECSDebitParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2801286E363B000076C8 /* STPPaymentMethodAUBECSDebitParams.swift */; }; - 314D283B286E363C000076C8 /* STPPaymentMethodUPIParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2802286E363B000076C8 /* STPPaymentMethodUPIParams.swift */; }; - 314D283C286E363C000076C8 /* STPPaymentMethodAlipayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2803286E363B000076C8 /* STPPaymentMethodAlipayParams.swift */; }; - 314D283D286E363C000076C8 /* STPPaymentMethodBancontact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2804286E363B000076C8 /* STPPaymentMethodBancontact.swift */; }; - 314D283E286E363C000076C8 /* STPPaymentMethodCardNetworks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2805286E363B000076C8 /* STPPaymentMethodCardNetworks.swift */; }; - 314D283F286E363C000076C8 /* STPPaymentMethodWeChatPay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2806286E363B000076C8 /* STPPaymentMethodWeChatPay.swift */; }; - 314D2849286E364B000076C8 /* STPKlarnaLineItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2840286E364A000076C8 /* STPKlarnaLineItem.swift */; }; - 314D284A286E364B000076C8 /* STPCardParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2841286E364A000076C8 /* STPCardParams.swift */; }; - 314D284B286E364B000076C8 /* STPSourceWeChatPayDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2842286E364A000076C8 /* STPSourceWeChatPayDetails.swift */; }; - 314D284C286E364B000076C8 /* STPBankAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2843286E364A000076C8 /* STPBankAccount.swift */; }; - 314D284D286E364B000076C8 /* STPSourceSEPADebitDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2844286E364A000076C8 /* STPSourceSEPADebitDetails.swift */; }; - 314D284E286E364B000076C8 /* STPCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2845286E364A000076C8 /* STPCard.swift */; }; - 314D284F286E364B000076C8 /* STPBankAccountParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2846286E364A000076C8 /* STPBankAccountParams.swift */; }; - 314D2850286E364B000076C8 /* STPSourceKlarnaDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2847286E364B000076C8 /* STPSourceKlarnaDetails.swift */; }; - 314D2851286E364B000076C8 /* STPSourceCardDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2848286E364B000076C8 /* STPSourceCardDetails.swift */; }; - 314D285A286E3657000076C8 /* STPSourceParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2852286E3656000076C8 /* STPSourceParams.swift */; }; - 314D285B286E3657000076C8 /* STPSourceRedirect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2853286E3656000076C8 /* STPSourceRedirect.swift */; }; - 314D285C286E3657000076C8 /* STPSourceVerification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2854286E3656000076C8 /* STPSourceVerification.swift */; }; - 314D285D286E3657000076C8 /* STPSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2855286E3656000076C8 /* STPSource.swift */; }; - 314D285E286E3657000076C8 /* STPSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2856286E3656000076C8 /* STPSourceProtocol.swift */; }; - 314D285F286E3657000076C8 /* STPSourceOwner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2857286E3656000076C8 /* STPSourceOwner.swift */; }; - 314D2860286E3657000076C8 /* STPSourceReceiver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2858286E3657000076C8 /* STPSourceReceiver.swift */; }; - 314D2861286E3657000076C8 /* STPSourceEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2859286E3657000076C8 /* STPSourceEnums.swift */; }; - 314D286E286E3664000076C8 /* STPMandateDataParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2862286E3662000076C8 /* STPMandateDataParams.swift */; }; - 314D286F286E3664000076C8 /* LinkSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2863286E3663000076C8 /* LinkSettings.swift */; }; - 314D2870286E3664000076C8 /* STPPaymentMethodOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2864286E3663000076C8 /* STPPaymentMethodOptions.swift */; }; - 314D2871286E3664000076C8 /* STPIntentActionOXXODisplayDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2865286E3663000076C8 /* STPIntentActionOXXODisplayDetails.swift */; }; - 314D2872286E3664000076C8 /* STPMandateOnlineParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2866286E3663000076C8 /* STPMandateOnlineParams.swift */; }; - 314D2873286E3664000076C8 /* STPIntentActionAlipayHandleRedirect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2867286E3663000076C8 /* STPIntentActionAlipayHandleRedirect.swift */; }; - 314D2874286E3664000076C8 /* STPIntentAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2868286E3663000076C8 /* STPIntentAction.swift */; }; - 314D2875286E3664000076C8 /* STPIntentActionBoletoDisplayDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2869286E3663000076C8 /* STPIntentActionBoletoDisplayDetails.swift */; }; - 314D2876286E3664000076C8 /* STPIntentActionRedirectToURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D286A286E3663000076C8 /* STPIntentActionRedirectToURL.swift */; }; - 314D2877286E3664000076C8 /* STPIntentActionVerifyWithMicrodeposits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D286B286E3663000076C8 /* STPIntentActionVerifyWithMicrodeposits.swift */; }; - 314D2878286E3664000076C8 /* STPIntentActionWeChatPayRedirectToApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D286C286E3664000076C8 /* STPIntentActionWeChatPayRedirectToApp.swift */; }; - 314D2879286E3664000076C8 /* STPMandateCustomerAcceptanceParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D286D286E3664000076C8 /* STPMandateCustomerAcceptanceParams.swift */; }; - 314D287E286E3675000076C8 /* STPSetupIntentEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D287A286E3675000076C8 /* STPSetupIntentEnums.swift */; }; - 314D287F286E3675000076C8 /* STPSetupIntentLastSetupError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D287B286E3675000076C8 /* STPSetupIntentLastSetupError.swift */; }; - 314D2880286E3675000076C8 /* STPSetupIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D287C286E3675000076C8 /* STPSetupIntent.swift */; }; - 314D2881286E3675000076C8 /* STPSetupIntentConfirmParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D287D286E3675000076C8 /* STPSetupIntentConfirmParams.swift */; }; - 314D2887286E3680000076C8 /* STPPaymentMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2882286E367F000076C8 /* STPPaymentMethod.swift */; }; - 314D2888286E3680000076C8 /* STPPaymentMethodParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2883286E3680000076C8 /* STPPaymentMethodParams.swift */; }; - 314D2889286E3680000076C8 /* STPPaymentMethodBillingDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2884286E3680000076C8 /* STPPaymentMethodBillingDetails.swift */; }; - 314D288A286E3680000076C8 /* STPPaymentMethodAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2885286E3680000076C8 /* STPPaymentMethodAddress.swift */; }; - 314D288B286E3680000076C8 /* STPPaymentMethodEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2886286E3680000076C8 /* STPPaymentMethodEnums.swift */; }; - 314D289E286E368C000076C8 /* STPPaymentIntentShippingDetailsAddressParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D288C286E368B000076C8 /* STPPaymentIntentShippingDetailsAddressParams.swift */; }; - 314D289F286E368C000076C8 /* STPConfirmWeChatPayOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D288D286E368B000076C8 /* STPConfirmWeChatPayOptions.swift */; }; - 314D28A0286E368C000076C8 /* STPConfirmUSBankAccountOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D288E286E368B000076C8 /* STPConfirmUSBankAccountOptions.swift */; }; - 314D28A1286E368C000076C8 /* STPConfirmCardOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D288F286E368B000076C8 /* STPConfirmCardOptions.swift */; }; - 314D28A2286E368C000076C8 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2890286E368B000076C8 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift */; }; - 314D28A3286E368C000076C8 /* STPPaymentIntentSourceAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2891286E368B000076C8 /* STPPaymentIntentSourceAction.swift */; }; - 314D28A4286E368C000076C8 /* STPPaymentIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2892286E368B000076C8 /* STPPaymentIntent.swift */; }; - 314D28A5286E368C000076C8 /* STPPaymentIntentActionRedirectToURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2893286E368B000076C8 /* STPPaymentIntentActionRedirectToURL.swift */; }; - 314D28A6286E368C000076C8 /* STPPaymentIntentShippingDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2894286E368B000076C8 /* STPPaymentIntentShippingDetails.swift */; }; - 314D28A7286E368C000076C8 /* STPPaymentIntentEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2895286E368B000076C8 /* STPPaymentIntentEnums.swift */; }; - 314D28A8286E368C000076C8 /* STPConfirmBLIKOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2896286E368C000076C8 /* STPConfirmBLIKOptions.swift */; }; - 314D28A9286E368C000076C8 /* STPPaymentIntentShippingDetailsParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2897286E368C000076C8 /* STPPaymentIntentShippingDetailsParams.swift */; }; - 314D28AA286E368C000076C8 /* STPPaymentIntentAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2898286E368C000076C8 /* STPPaymentIntentAction.swift */; }; - 314D28AB286E368C000076C8 /* STPPaymentIntentParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D2899286E368C000076C8 /* STPPaymentIntentParams.swift */; }; - 314D28AC286E368C000076C8 /* STPConfirmAlipayOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D289A286E368C000076C8 /* STPConfirmAlipayOptions.swift */; }; - 314D28AD286E368C000076C8 /* STPConfirmPaymentMethodOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D289B286E368C000076C8 /* STPConfirmPaymentMethodOptions.swift */; }; - 314D28AE286E368C000076C8 /* STPPaymentIntentShippingDetailsAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D289C286E368C000076C8 /* STPPaymentIntentShippingDetailsAddress.swift */; }; - 314D28AF286E368C000076C8 /* STPPaymentIntentLastPaymentError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314D289D286E368C000076C8 /* STPPaymentIntentLastPaymentError.swift */; }; - 31DCB10828F4CEAC002EF128 /* STPBankAccountCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB10728F4CEAC002EF128 /* STPBankAccountCollector.swift */; }; - 31DCB10B28F4CF04002EF128 /* STPCollectBankAccountParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB10A28F4CF04002EF128 /* STPCollectBankAccountParams.swift */; }; - 31DCB10D28F4CF23002EF128 /* STPAPIClient+LinkAccountSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB10C28F4CF23002EF128 /* STPAPIClient+LinkAccountSession.swift */; }; - 31DCB10F28F4CF57002EF128 /* LinkAccountSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB10E28F4CF57002EF128 /* LinkAccountSession.swift */; }; - 31DCB11128F4CFE9002EF128 /* ConnectionsSDKAvailability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB11028F4CFE9002EF128 /* ConnectionsSDKAvailability.swift */; }; - 31DCB11D28F4EEB6002EF128 /* STPAnalyticsClient+StripePayments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB11C28F4EEB6002EF128 /* STPAnalyticsClient+StripePayments.swift */; }; - 31EBFBE1286E358C00911FA9 /* STPAPIClient+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31EBFBD6286E358B00911FA9 /* STPAPIClient+Payments.swift */; }; - 31EBFBE3286E358C00911FA9 /* STPAPIClient+Radar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31EBFBD8286E358B00911FA9 /* STPAPIClient+Radar.swift */; }; - 31EBFBE4286E358C00911FA9 /* STPAPIClient+ApplePay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31EBFBD9286E358B00911FA9 /* STPAPIClient+ApplePay.swift */; }; - 31EBFBE9286E358C00911FA9 /* STPRedirectContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31EBFBDE286E358C00911FA9 /* STPRedirectContext.swift */; }; - 31F7EBF528F787120007C0BB /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 31F7EBCA28F787120007C0BB /* Localizable.strings */; }; + 00200DEC59380311F223D3DA /* STPConfirmWeChatPayOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 030B54DF945D8ED922A55CDF /* STPConfirmWeChatPayOptions.swift */; }; + 01328A80E436C968E4545922 /* STPPaymentMethodBoletoParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC41428418864827CD1C6832 /* STPPaymentMethodBoletoParams.swift */; }; + 02698991542836F0834FA013 /* StripeCore+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B084347AEF2EDD7D1589E3F /* StripeCore+Import.swift */; }; + 03A8995BD2286725969CDC9E /* STPPaymentMethodiDEAL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93D74B51EA12509851F76A5 /* STPPaymentMethodiDEAL.swift */; }; + 049CB212CD3D7E69F789BE59 /* STPBINController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9014B29558BB1B58C8981FBB /* STPBINController.swift */; }; + 077B8BA1B4D326F1C9796A12 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9EE713DECC09F6AEE37E96F7 /* XCTest.framework */; }; + 0921022765F92309BE302A47 /* STPPaymentMethodPayPalParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0D4C9FA6229E7CF5E6194ED /* STPPaymentMethodPayPalParams.swift */; }; + 0A0F8D842C98441D08F8D14E /* STPPaymentMethodAfterpayClearpay.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E6839FB4FC9CA2A9EAAC4F /* STPPaymentMethodAfterpayClearpay.swift */; }; + 0D03C74718AC07502E0C47E4 /* STPPaymentIntentParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E9110C4EB3A3D185DC8D00 /* STPPaymentIntentParams.swift */; }; + 0D354D6321274CA6F330321C /* StripePayments.h in Headers */ = {isa = PBXBuildFile; fileRef = EAA7516BE26EEF7FA3720E2C /* StripePayments.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0D656430E69EEB35C2B4C9CA /* STPSourceOwner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ED0DDE359BC093F1766FDD5 /* STPSourceOwner.swift */; }; + 0E5EF1AFCCA0D7B932D173F8 /* STPConfirmBLIKOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CE7DBFDCD8676DB9F60C96F /* STPConfirmBLIKOptions.swift */; }; + 0F425B8D48AF9AFAD1F2215C /* STPPaymentMethodCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 204FF6CABEA202A2789D031F /* STPPaymentMethodCard.swift */; }; + 10706D322E0BB69A4D279202 /* STPPaymentMethodSofort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11A528DF98B54E7ACFFED8EE /* STPPaymentMethodSofort.swift */; }; + 10D66ECAA6DAD43F672D27F7 /* STPPaymentMethodKlarna.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43286FD965D64ADB5D787561 /* STPPaymentMethodKlarna.swift */; }; + 13DA3803BEF593A2126A0A99 /* STPContactField.swift in Sources */ = {isa = PBXBuildFile; fileRef = E017212F9F71022883F9D5E8 /* STPContactField.swift */; }; + 141AA8A68D0A8C385704CD7A /* STPFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 940BC4B4F3696616E6765861 /* STPFile.swift */; }; + 14F7613FC00DEB719DCB0B90 /* LinkAccountSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51899EDD11947FDAD2C82D97 /* LinkAccountSession.swift */; }; + 15867BBB56A73E740FE5CC4E /* STPCustomer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90B3D8567EEB33BC253105F4 /* STPCustomer.swift */; }; + 17083CBB3962C5ADB155EEF4 /* STPPaymentMethodBancontact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38C7F01487694566A35BB319 /* STPPaymentMethodBancontact.swift */; }; + 1A15D7B4A9F15422B62B2774 /* STPConfirmCardOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B56A5D5A1ECF4C62BC2AE64 /* STPConfirmCardOptions.swift */; }; + 1AAFC737B6AA7CD6D1A83374 /* STPToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A3ADD020EED12373174477B /* STPToken.swift */; }; + 1E26C29F65205466B9437811 /* STPPaymentMethodParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3367B526CA353E89C5589BB /* STPPaymentMethodParams.swift */; }; + 24885AECE659B3067B8CF5E3 /* STPAuthenticationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D7E95C2E3AFDC73944ACE1 /* STPAuthenticationContext.swift */; }; + 248F8672FFDDB8BC0E439E21 /* STPSourceVerification.swift in Sources */ = {isa = PBXBuildFile; fileRef = F582CA101C67145B68AEF8F2 /* STPSourceVerification.swift */; }; + 25DCA686AC5B9E9E961F7498 /* STPKlarnaLineItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58D9CA66AADE5C04D6E9E4E6 /* STPKlarnaLineItem.swift */; }; + 25F6D9E66DFACFB6F92FB8A5 /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 14358A02B8BB13A20E0047DB /* StripePayments.framework */; }; + 2A2E28C3C248CBE96D52A192 /* STPPaymentMethodAlipayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41418F4AD32E5182FFFA7445 /* STPPaymentMethodAlipayParams.swift */; }; + 2B4DBC9AA9284BE1805C2A05 /* STPMandateCustomerAcceptanceParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30F69252A9AF5E376F43EA20 /* STPMandateCustomerAcceptanceParams.swift */; }; + 2BF8EE1CBF8C363A42B6EDA6 /* STPPaymentMethodCardWalletVisaCheckout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 373B2754D51299A60DE459C7 /* STPPaymentMethodCardWalletVisaCheckout.swift */; }; + 2BFBE84BD5718D4D8D4718D8 /* STPPaymentMethodBacsDebitParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = E06C3BF5EB7272C646558A6A /* STPPaymentMethodBacsDebitParams.swift */; }; + 2E5D133D1E203027C08DEDF0 /* STPPaymentMethodAUBECSDebit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BB1D8D7ABB0AC1B87FC0057 /* STPPaymentMethodAUBECSDebit.swift */; }; + 2EF5C661CF25482E6CC14FE9 /* STPInternalAPIResponseDecodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01FC96365AFC2C12A12CF9B1 /* STPInternalAPIResponseDecodable.swift */; }; + 318FA6D5C77D81BB953FE3E2 /* STPIntentActionAlipayHandleRedirect.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEECA909F82BFB3F8960F1EA /* STPIntentActionAlipayHandleRedirect.swift */; }; + 342EB5BE156C8431AEB1FD3F /* STPPaymentMethodPrzelewy24Params.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9F62603F7B02487027BFB14 /* STPPaymentMethodPrzelewy24Params.swift */; }; + 34B8762E977C25C6F715C7C6 /* STPPaymentMethodBancontactParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D99D2C6C436F6FAFB3960EE /* STPPaymentMethodBancontactParams.swift */; }; + 384210E1929D28576F1EF661 /* STPIntentActionUseStripeSDK.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFFFFC2E4C5D51B2BCA2A0EA /* STPIntentActionUseStripeSDK.swift */; }; + 39E266BDF1C204EC2128A2DD /* STP3DS2AuthenticateResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BB277BE8AD5E974F3A76815 /* STP3DS2AuthenticateResponse.swift */; }; + 3AA85604F2D3F04F584C616E /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 480E9503640B668172950214 /* Enums+CustomStringConvertible.swift */; }; + 3B90B29A1B6BCE36C93E5C94 /* STPSourceSEPADebitDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = A808C34CAC5E742359A02301 /* STPSourceSEPADebitDetails.swift */; }; + 3C9D065CBF635F3F5B9FBEA7 /* STPIntentAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = C07667F9D802EB8DD391A3C5 /* STPIntentAction.swift */; }; + 42C624FBE88EAB43B14F82A9 /* StripeApplePay+Import.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4802B9CDC9D9F4D479EA050B /* StripeApplePay+Import.swift */; }; + 444AE95CBDC08E7B1C89B0AB /* LinkSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 788D986E935F05CF28CD16D2 /* LinkSettings.swift */; }; + 457AB5EDA3C13FF9FE9FBD9A /* STPBlocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01AD8DAB423F22BE6FC2FFCB /* STPBlocks.swift */; }; + 466FD050408B0678FE5B60FC /* STPPaymentIntentEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BD1E8C2A561AF7E6CDFCD97 /* STPPaymentIntentEnums.swift */; }; + 47677A8DE9E3D36E3392F7DE /* STPPaymentMethodAlipay.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF5E4108B8BF1C30BECC326 /* STPPaymentMethodAlipay.swift */; }; + 4A93430C40F5C73BC76447B2 /* StripePaymentsBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 468FAF1D4D81DB5F5854287B /* StripePaymentsBundleLocator.swift */; }; + 4C7486A126100F8F067F248A /* STPPaymentMethodGiropay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 444BEF2E8A83B5B489062595 /* STPPaymentMethodGiropay.swift */; }; + 4C9A78FBE900C635CC3AA400 /* STPThreeDSUICustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07382674619AEF657397B21 /* STPThreeDSUICustomization.swift */; }; + 51A5F7214C5244B62A06DCEA /* STPIntentActionOXXODisplayDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F12A8453F5B31BC76C79FDD /* STPIntentActionOXXODisplayDetails.swift */; }; + 520D1190E8D03B3CCFF7A286 /* STPPaymentConfirmation+SwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2382674B84CA7425010A90D9 /* STPPaymentConfirmation+SwiftUI.swift */; }; + 525C95CFEE49951045AEB14C /* STPSourceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63BFDF30EAA4381999FE1149 /* STPSourceProtocol.swift */; }; + 54861C2AB76A157837C4A9D5 /* STPBankAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3EDB3190B6BAE43C10933E /* STPBankAccount.swift */; }; + 54D34D415DF33EA011588584 /* STPMandateDataParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80550E3A7AD143B0F1881861 /* STPMandateDataParams.swift */; }; + 5571DEA0B75A19184E69813F /* STPPaymentIntentShippingDetailsParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = F17DA86F78359636574C4B6C /* STPPaymentIntentShippingDetailsParams.swift */; }; + 55C995685E2A148844A4FDB6 /* STPPaymentMethodSEPADebit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73EBE0964419EFA62BDBC467 /* STPPaymentMethodSEPADebit.swift */; }; + 58A5121E267FADC02B2B2DC7 /* STPAPIResponseDecodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C946896654EBFD32FC027F5 /* STPAPIResponseDecodable.swift */; }; + 59F5403292D00A4B9C335485 /* STPIssuingCardPin.swift in Sources */ = {isa = PBXBuildFile; fileRef = C704E5A29A16D70811B3A32D /* STPIssuingCardPin.swift */; }; + 5AD1149C1E6E5639514417B8 /* STPPaymentMethodKlarnaParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9F83C7EDA9903D041E4C001 /* STPPaymentMethodKlarnaParams.swift */; }; + 5D0D293AA8E98B21A4E519B2 /* STPIntentActionBoletoDisplayDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = D927FD12223821805ED77D59 /* STPIntentActionBoletoDisplayDetails.swift */; }; + 610DB7FAF395AEBE6CBEFAC8 /* STPPaymentMethodAffirmParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE3CBC01F0A15D28914DB070 /* STPPaymentMethodAffirmParams.swift */; }; + 63200203FD7EFE05901CB191 /* STPPaymentMethodLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = E99B164CDD13E8F5C9CAD349 /* STPPaymentMethodLink.swift */; }; + 64407AEF1246EE91037E4073 /* STPSetupIntentEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = E579E736ECC6A0064D3984D1 /* STPSetupIntentEnums.swift */; }; + 645789BA64D7822137F2B7BD /* STPSourceWeChatPayDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD7066361C878D63B86F22D8 /* STPSourceWeChatPayDetails.swift */; }; + 6541526D2141523AF9567D55 /* NSArray+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEC372556A4A99F457BDE54E /* NSArray+Stripe.swift */; }; + 66D2408081606C1E379ADB4C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8CF87D59CF2A90D49C892805 /* Localizable.strings */; }; + 68F9810F66FB2D6B278429D7 /* STPAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740C01696C56E269129C86CF /* STPAddress.swift */; }; + 6AF719654B7BC4062C1AF65C /* STPPaymentMethodAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3403BA8AC9DAEAAEF288879 /* STPPaymentMethodAddress.swift */; }; + 6BE5D7C3F86951E73DAAEB6B /* STPThreeDSCustomizationSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = B458CF0D5A7EE56A02D750F2 /* STPThreeDSCustomizationSettings.swift */; }; + 6F09091B2E770D0072201C45 /* StripePayments+Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C6DBBF4EED92890747C305 /* StripePayments+Export.swift */; }; + 6F3835CEBF9618207F8332AA /* STPPaymentMethodBacsDebit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C040209FB6165F70AA7E97 /* STPPaymentMethodBacsDebit.swift */; }; + 712A4DA7F771CF0A7EC9A966 /* STPPaymentHandlerActionParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82A8215A6A33B131F5F37D27 /* STPPaymentHandlerActionParams.swift */; }; + 7173E36D0A3EB23E68469BD1 /* STPPaymentMethodUSBankAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03D01E809A78E4DC7FB87A2D /* STPPaymentMethodUSBankAccount.swift */; }; + 71A589E7CCAEA272B9CC37AB /* STPThreeDSLabelCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CC7BD1E3971B7E4EAE98F40 /* STPThreeDSLabelCustomization.swift */; }; + 7309D5A475371AF0BF93E608 /* STPPaymentMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC802E2459BD87F3BA519146 /* STPPaymentMethod.swift */; }; + 754AA58F8D3AE8431E01D47E /* STPPaymentMethodBoleto.swift in Sources */ = {isa = PBXBuildFile; fileRef = B96D695818084C70BB532B5E /* STPPaymentMethodBoleto.swift */; }; + 75C5CAAE1A4FE2A3D8646A9C /* STPPaymentMethodOXXOParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4F59A24701CB3FE96477631 /* STPPaymentMethodOXXOParams.swift */; }; + 77990E2F33FBDB74AEC3D410 /* STPPaymentIntentSourceAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE2F503300363DCBB8096E59 /* STPPaymentIntentSourceAction.swift */; }; + 78DD210269D85D83D6D4A87C /* StripeAPI+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79474677BB54C562AB4053A3 /* StripeAPI+Deprecated.swift */; }; + 791F1627B003C9E9EC3DD7E0 /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93327A70BDB39DA521BAE777 /* Stripe3DS2.framework */; }; + 7C851B7E1C3B36D18BB15706 /* STPConfirmAlipayOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC977A7A5BF69E9D783CFB01 /* STPConfirmAlipayOptions.swift */; }; + 7D1A50DC86AA9993EB1640E9 /* STPPaymentMethodAfterpayClearpayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD1783A022B54EC14C164F7B /* STPPaymentMethodAfterpayClearpayParams.swift */; }; + 7FFBE4CBDC4D3476819CBF4A /* STPPaymentMethodBLIK.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0F35F376C5BE0824BFCF86F /* STPPaymentMethodBLIK.swift */; }; + 8021C790E703EE5BF74DD2C5 /* STPAnalyticsClient+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626D1B1C91151401B1FE77EA /* STPAnalyticsClient+Payments.swift */; }; + 81273890FC0D587732E7B16E /* STPCollectBankAccountParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FED7EC426D937D69C4B2D3B /* STPCollectBankAccountParams.swift */; }; + 81AB693615F0AFD4EBBA38EB /* STPMandateOnlineParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = F87DC370A768081815E2FDE9 /* STPMandateOnlineParams.swift */; }; + 844A4741AF0DE635B9BED420 /* STPSourceRedirect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 852D3359192DF1D7B0D8F5AE /* STPSourceRedirect.swift */; }; + 84DF21A5711A6CB12B2EDBCA /* NSDictionary+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED423404C71D423A306DBB87 /* NSDictionary+Stripe.swift */; }; + 8966D2B22382BFF374525C89 /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C414324AE12AF801E67C946A /* StripeUICore.framework */; }; + 8C32D6C0D9CA9423FB305383 /* STPPaymentMethodCardPresent.swift in Sources */ = {isa = PBXBuildFile; fileRef = E07996C977656429F3CCDC9A /* STPPaymentMethodCardPresent.swift */; }; + 8D145DAF5357E51FBEC67C04 /* STPCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93E11A00882478686027A2A0 /* STPCard.swift */; }; + 8DC22AD0DCB12D4320685EEB /* STPPaymentMethodCardNetworks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F88748219C996299A86CD06 /* STPPaymentMethodCardNetworks.swift */; }; + 8EB5A0156D519AF6E3723084 /* STPIntentActionVerifyWithMicrodeposits.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2E38EE74A6FD0E0EB87A3FF /* STPIntentActionVerifyWithMicrodeposits.swift */; }; + 904CA4632D5F3FEA188290AC /* STPPaymentMethodOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 609ECF94337298A5298081D0 /* STPPaymentMethodOptions.swift */; }; + 93149624FE8596E1A3EFB2CF /* STPPaymentMethodCardChecks.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7099F6C39ACC26748E0E591 /* STPPaymentMethodCardChecks.swift */; }; + 9323AA1A0A765F749E54C506 /* STPSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2073289AE42D30419D62D32E /* STPSource.swift */; }; + 968ACAE7BCF64BE4FCFD1816 /* STPPaymentMethodGiropayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BD48DA905074C771CD15082 /* STPPaymentMethodGiropayParams.swift */; }; + 96A7B692B904A071B9A7360F /* APIRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F389AD4EFAB548EB2EF9815 /* APIRequest.swift */; }; + 9893D9DC84A0AB2AA2230555 /* NSDecimalNumber+Stripe_Currency.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6EA09CF77BB869BB6007328 /* NSDecimalNumber+Stripe_Currency.swift */; }; + 98D4EC200247138A4AC89DB5 /* STPPaymentIntentShippingDetailsAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CB97088726E660840DA856F /* STPPaymentIntentShippingDetailsAddress.swift */; }; + 9B0CB20827FD677EB3A21105 /* STPPaymentMethodCardParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E65A77F0C67935245705641 /* STPPaymentMethodCardParams.swift */; }; + 9BB8120998A4FCBF683BD001 /* STPPaymentMethodPayPal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 412E99389545879B417389C4 /* STPPaymentMethodPayPal.swift */; }; + 9CBE7C1776C15DA13861ED70 /* STPPaymentMethodNetBanking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48A73DA27ABEC6115513F315 /* STPPaymentMethodNetBanking.swift */; }; + 9F670429C96CADA2BC705EDC /* STPBankAccountCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 182D34C4338F9A7C214BEB6B /* STPBankAccountCollector.swift */; }; + A0857C1CADDFF07B2A72431B /* STPAPIClient+LinkAccountSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504E775D9573225145FD38CD /* STPAPIClient+LinkAccountSession.swift */; }; + A2E2D049AA993AF599BA8809 /* STPPaymentMethodFPX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 161E1414061B7E2B7C36AE9C /* STPPaymentMethodFPX.swift */; }; + A3237EE0F57C848B708AE505 /* STPThreeDSTextFieldCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3EB844AA65B6F391E76B2B4 /* STPThreeDSTextFieldCustomization.swift */; }; + A3D7AB30E65C972E13F93439 /* STPPaymentMethodCardWalletMasterpass.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB9F7234C5EBCBE6848E0216 /* STPPaymentMethodCardWalletMasterpass.swift */; }; + A597225EF1B685E0C6D60EE5 /* STPPaymentMethodGrabPay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53061ED71F9E2162BEE5DF21 /* STPPaymentMethodGrabPay.swift */; }; + A90639B7690FA9A8C5267561 /* STPPaymentMethodAffirm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68B0890585C6D8D33AB0D888 /* STPPaymentMethodAffirm.swift */; }; + A9231C8069634103E2FC26C8 /* STPPaymentMethodFPXParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67B4857EBF4A49993CC040DB /* STPPaymentMethodFPXParams.swift */; }; + ABDEED56ECE545675F5C3534 /* STPSetupIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC36BA79484AC42BB5BC1707 /* STPSetupIntent.swift */; }; + AC555A609E63E94BCAA468C5 /* STPThreeDSNavigationBarCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E944B8DCD7712C42DD065B4 /* STPThreeDSNavigationBarCustomization.swift */; }; + AC99BA6881B43ACD3267AFB8 /* STPAPIClient+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A56DB8D9DBDED3F7670438E /* STPAPIClient+Payments.swift */; }; + AE44E6302631DCCCB50AF7F8 /* STPRedirectContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 982A049F2314C96F8CCD803E /* STPRedirectContext.swift */; }; + AFDC58A9765E19DC00DB7DA1 /* STPPaymentMethodSofortParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = D093EFAC2C8F0B310EBD10C4 /* STPPaymentMethodSofortParams.swift */; }; + B0FB058E602F6F63F2E00030 /* STPFormEncodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0247B0B5618BE3316BCF061E /* STPFormEncodable.swift */; }; + B23F7FCC133E9C87C2A7DB26 /* STPAPIClient+Radar.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4B5A6D8BDF71478FEE72916 /* STPAPIClient+Radar.swift */; }; + B24F9DB6EC9AFE830AAA8433 /* STPSourceParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671A215709E2F67C3BB77DC0 /* STPSourceParams.swift */; }; + B472CF82B4F1CE69F308DC68 /* Analytic+Payments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C0D28FA0893E3DF7D3F0A44 /* Analytic+Payments.swift */; }; + B59B706A4935CAAC42113526 /* STPPaymentIntentLastPaymentError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5212EA8107E8CEC838262D99 /* STPPaymentIntentLastPaymentError.swift */; }; + B6E825D62FBA049BF4FAF5E3 /* STPConnectAccountAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3628526271ABA16C3994EE /* STPConnectAccountAddress.swift */; }; + B756C47DB92853FE963FEA2D /* STPAPIClient+ApplePay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1022A3EF6E7E45DCC798CE69 /* STPAPIClient+ApplePay.swift */; }; + B7C7040F66A5BBA92AA3E311 /* STPCardValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC3901183AED6DD81C61BA10 /* STPCardValidator.swift */; }; + B8C35DE8D237AA591ED70C9A /* STPPaymentMethodWeChatPayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = C740B96CCCC754A1CB19D44C /* STPPaymentMethodWeChatPayParams.swift */; }; + B8DE9EA6B244FAA0E5964282 /* STPPaymentMethodGrabPayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 936809D71641931604F5FEAE /* STPPaymentMethodGrabPayParams.swift */; }; + BA5F60D575E6973BAA44EB4D /* STPPaymentMethodThreeDSecureUsage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAF9D5F617E73723DDB03F6F /* STPPaymentMethodThreeDSecureUsage.swift */; }; + BBC2EEFCD179683318E96CF0 /* NSString+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8A038F1551529DED40E01B5 /* NSString+Stripe.swift */; }; + BDE125EECCFD1E99CA93B887 /* ConnectionsSDKAvailability.swift in Sources */ = {isa = PBXBuildFile; fileRef = C608FCBD2D31DAC997AD6933 /* ConnectionsSDKAvailability.swift */; }; + C0B54A6D4B079A65F7DA6772 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F568A9F42118EF13A5537D3 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift */; }; + C1CC9D5BB7236FE08EAB168C /* STPiDEALBank.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01EC9E9A14F44151D977435E /* STPiDEALBank.swift */; }; + C20F8A272C0D8869FDF376BB /* STPPaymentMethodUPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DBD496FE1C28C32185C60BF /* STPPaymentMethodUPI.swift */; }; + C27F356B376711748348CF7A /* STPPaymentMethodEPS.swift in Sources */ = {isa = PBXBuildFile; fileRef = DABCA7D3C2103189243C48DB /* STPPaymentMethodEPS.swift */; }; + C80A979CB3B453DF248C6339 /* STPPaymentIntentActionRedirectToURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9850E5BC24407862EAEEE2BA /* STPPaymentIntentActionRedirectToURL.swift */; }; + CA18F1CF38F4D2B25C8D93C1 /* STPSourceEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3299145C8B3D2382AE58911 /* STPSourceEnums.swift */; }; + CB99BCA5D74904829DDF5A25 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 719D0377278FA11F93E19637 /* StripeCore.framework */; }; + CBFB5A1330C916D5DC95F6FF /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086AC53333729531A067E435 /* STPLocalizedString.swift */; }; + CE5CCAF7BE93DF58A0922B90 /* STPPaymentMethodUSBankAccountParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 208127DD5118F21D896C0711 /* STPPaymentMethodUSBankAccountParams.swift */; }; + CED39C5743F5ED10A8012D65 /* STPPaymentIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CB73EF9F5BD015434BAB5E8 /* STPPaymentIntent.swift */; }; + CF8A1ADADD2186407EBBBDCC /* STPSourceKlarnaDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD2E3BD11D7685BDD8CF015B /* STPSourceKlarnaDetails.swift */; }; + CFF09B0AF845EABFBDF4DB73 /* STPPaymentMethodCardWallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEFD8715EEA4EECD411465FB /* STPPaymentMethodCardWallet.swift */; }; + D0F6FFED5BE9947097990BE6 /* STPPaymentMethodNetBankingParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80DC82D6BCE42502F71F8796 /* STPPaymentMethodNetBankingParams.swift */; }; + D38818756D495C674E53AE6D /* STPThreeDSSelectionCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D09DACDA19A39FEA08B75CA /* STPThreeDSSelectionCustomization.swift */; }; + D56C720AFB3ABAEED747181F /* STPPaymentMethodBLIKParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48EE0DEDAB9A8BFF0523FF9F /* STPPaymentMethodBLIKParams.swift */; }; + D63B4186EB3461366C8CF533 /* STPPaymentMethodBillingDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD67688E9F954452E0FCF962 /* STPPaymentMethodBillingDetails.swift */; }; + D758E7EE398D4E72DE9F0F57 /* STPPaymentMethodEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BF260394EEC61199F0EABF8 /* STPPaymentMethodEnums.swift */; }; + D7A66D12E933BD2ABBB59148 /* STPPaymentIntentShippingDetailsAddressParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E3C264676712B260FCF600 /* STPPaymentIntentShippingDetailsAddressParams.swift */; }; + D87B57BB41D406D98CC38E96 /* STPPaymentMethodiDEALParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0574FD7A9235404B44683208 /* STPPaymentMethodiDEALParams.swift */; }; + DB9AEA286985F3C64B0F4035 /* STPConnectAccountParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F8823805ED53F0DBA9FDFDF /* STPConnectAccountParams.swift */; }; + DD67E6BCE76BE4073A26326D /* STPPaymentMethodListDeserializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2A8093227C83054A7EA3E1D /* STPPaymentMethodListDeserializer.swift */; }; + DEFE4E522D5E082084A33A14 /* STPConnectAccountIndividualParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6D767E04616B7035A8769C1 /* STPConnectAccountIndividualParams.swift */; }; + DFC9C2AB405B2060BD1F2226 /* STPPaymentMethodWeChatPay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C27780E7E42FDBE450941C0 /* STPPaymentMethodWeChatPay.swift */; }; + E15AF2A98601482762212A18 /* STPThreeDSFooterCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA320893378702C28DC8FD0 /* STPThreeDSFooterCustomization.swift */; }; + E1FB907D22CB302F5BD46A55 /* STPCardBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61ED590DF413DA9B8A415C9C /* STPCardBrand.swift */; }; + E2F60512657160C05151F465 /* STPIntentActionWeChatPayRedirectToApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DB55987CA9D4C02C5E78B83 /* STPIntentActionWeChatPayRedirectToApp.swift */; }; + E40C1D575A65F6F671574CD2 /* STPBankAccountParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2922BFE76F6D620BEC45AFC4 /* STPBankAccountParams.swift */; }; + E41DEAD4308F273B8B192FAB /* STPAnalyticsClient+StripePayments.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4E97EEB6FFF42428F389A23 /* STPAnalyticsClient+StripePayments.swift */; }; + E4CF13E10D8F317B704AFFAE /* STPPaymentIntentShippingDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = B71B50D1ABEA53CE45BAFA74 /* STPPaymentIntentShippingDetails.swift */; }; + E64BE0DAFA6617118654F975 /* STPPaymentMethodEPSParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEF1AAF60A7A0A75D009229C /* STPPaymentMethodEPSParams.swift */; }; + E6E3FE8EB1BC7337BEDF5C2E /* STPPaymentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4793029D06EBFBCB62CF48DC /* STPPaymentHandler.swift */; }; + E707DF79DC65CE06729503E4 /* STPConfirmUSBankAccountOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34CB5AD8FDE347B19ED2D9CD /* STPConfirmUSBankAccountOptions.swift */; }; + E856CEE7FFF917C1A7FFA07E /* STPConfirmPaymentMethodOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535A112409DAB226749A688C /* STPConfirmPaymentMethodOptions.swift */; }; + E9D0230BC95ECBC088FF8E10 /* STPSourcePoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E0E4AB5741502E4CD5436D /* STPSourcePoller.swift */; }; + E9DE9FDAF4C3B73E387EFCF7 /* STPPaymentMethodLinkParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E397BCD2C450E4770A278DA /* STPPaymentMethodLinkParams.swift */; }; + EA3D613104589DA964C35073 /* STPFPXBankBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 678608CCEF22AE4B86C3E6EA /* STPFPXBankBrand.swift */; }; + EC587986A9D69C5A5B180879 /* STPPaymentMethodAUBECSDebitParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78593A2B7B8705A9E88BD915 /* STPPaymentMethodAUBECSDebitParams.swift */; }; + ECD17E9B0D13A2200A238E1F /* STPSourceCardDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = F609CFD0BA68E23080585BFF /* STPSourceCardDetails.swift */; }; + ED3CEB51A664527751FAB6E6 /* STPConnectAccountCompanyParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 773D9B3D756818954F7222B7 /* STPConnectAccountCompanyParams.swift */; }; + EDF68FBCFC0783C09D39E728 /* STPPaymentMethodSEPADebitParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = B091F2D139863DA3967E6596 /* STPPaymentMethodSEPADebitParams.swift */; }; + F0328A6B9383F69950A584DE /* STPSourceReceiver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E0F70CA8C47243147F83D8B /* STPSourceReceiver.swift */; }; + F09E36DA5BE2C175F5ED45B4 /* STPIntentActionRedirectToURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46700112813B624B5A5513B2 /* STPIntentActionRedirectToURL.swift */; }; + F26537B65F934C33B122697D /* STPThreeDSButtonCustomization.swift in Sources */ = {isa = PBXBuildFile; fileRef = A34532BE5AE969B943477E83 /* STPThreeDSButtonCustomization.swift */; }; + F34C04E0C2A142C8CC05D902 /* STPPaymentMethodUPIParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0105DFAE5504CD3A1AAE89B5 /* STPPaymentMethodUPIParams.swift */; }; + F5A6F7E73ECEC80D3351002A /* STPCardParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFA6071616ABA9D79DB6AE6A /* STPCardParams.swift */; }; + F5C6780CF3A62BF6818D695D /* STPFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F7F214A072869D24123AAD3 /* STPFormEncoder.swift */; }; + F7FCB1AB78C57461C2B07A0C /* STPPaymentMethodOXXO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DCAF9C6479868993596880A /* STPPaymentMethodOXXO.swift */; }; + F86AF35CBA2995BFC5544D32 /* STPRadarSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674DAF7E5982F1BCEA40B010 /* STPRadarSession.swift */; }; + FB33420154165650EAD32165 /* STPAPIClient+PaymentsCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53E191CAFF05C311F8660273 /* STPAPIClient+PaymentsCore.swift */; }; + FBD81EE346071449583C8768 /* STPSetupIntentLastSetupError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30084144A82FEC59D4791CCE /* STPSetupIntentLastSetupError.swift */; }; + FCDC32F6448B09F464A7F09E /* STPPaymentIntentAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D6907CEA19CDF0A587BFDB8 /* STPPaymentIntentAction.swift */; }; + FD47138E45510EE53A4AD33A /* STPEmptyStripeResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3A468E66C9F9ED8A850555 /* STPEmptyStripeResponse.swift */; }; + FDB1D6CBBF6A9BD4D53F3A82 /* STPSetupIntentConfirmParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31CBA061716922E978337D26 /* STPSetupIntentConfirmParams.swift */; }; + FF4920D38DBE96BC82EC8CCF /* STPPaymentMethodPrzelewy24.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87D831C6DA4AB5D9B467B0D4 /* STPPaymentMethodPrzelewy24.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3139D264286E34A800C9744B /* PBXContainerItemProxy */ = { + F8AE043E3348C400CA53C6A7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 3139D251286E34A700C9744B /* Project object */; + containerPortal = 210BD3F4F563E5F03D66CD21 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3139D259286E34A700C9744B; + remoteGlobalIDString = 0A35A66495209E60ADD254A3; remoteInfo = StripePayments; }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 88C61E84DC4D6F273183F403 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + C629408049D468B0BD2CC7B8 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ - 31138E6828DBBB70008AF554 /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; - 31138E8F28DE53CC008AF554 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - 31138E9028DE53CC008AF554 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - 31138E9128DE53CC008AF554 /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - 31138E9228DE53CC008AF554 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - 31138E9328DE53CC008AF554 /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - 31138E9428DE53CC008AF554 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - 31138E9528DE53CC008AF554 /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - 31138E9628DE53CC008AF554 /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - 31138E9728DE53CC008AF554 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - 31138E9828DE53CC008AF554 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - 31227109286E414A0007ED5E /* APIRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIRequest.swift; sourceTree = ""; }; - 3122710A286E414A0007ED5E /* STPIntentActionUseStripeSDK.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPIntentActionUseStripeSDK.swift; sourceTree = ""; }; - 3122710B286E414A0007ED5E /* STPFormEncoder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFormEncoder.swift; sourceTree = ""; }; - 3122710C286E414A0007ED5E /* STP3DS2AuthenticateResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STP3DS2AuthenticateResponse.swift; sourceTree = ""; }; - 3122710D286E414A0007ED5E /* STPPaymentMethodListDeserializer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodListDeserializer.swift; sourceTree = ""; }; - 3122710E286E414A0007ED5E /* STPInternalAPIResponseDecodable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPInternalAPIResponseDecodable.swift; sourceTree = ""; }; - 3122710F286E414A0007ED5E /* STPSourcePoller.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourcePoller.swift; sourceTree = ""; }; - 31227110286E414A0007ED5E /* STPEmptyStripeResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPEmptyStripeResponse.swift; sourceTree = ""; }; - 3122711A286E439F0007ED5E /* STPThreeDSButtonCustomization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSButtonCustomization.swift; sourceTree = ""; }; - 3122711B286E439F0007ED5E /* STPThreeDSSelectionCustomization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSSelectionCustomization.swift; sourceTree = ""; }; - 3122711C286E439F0007ED5E /* STPThreeDSNavigationBarCustomization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSNavigationBarCustomization.swift; sourceTree = ""; }; - 3122711D286E439F0007ED5E /* STPThreeDSUICustomization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSUICustomization.swift; sourceTree = ""; }; - 3122711E286E439F0007ED5E /* STPThreeDSLabelCustomization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSLabelCustomization.swift; sourceTree = ""; }; - 3122711F286E43A00007ED5E /* STPAuthenticationContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAuthenticationContext.swift; sourceTree = ""; }; - 31227120286E43A00007ED5E /* STPPaymentHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentHandler.swift; sourceTree = ""; }; - 31227121286E43A00007ED5E /* STPThreeDSTextFieldCustomization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSTextFieldCustomization.swift; sourceTree = ""; }; - 31227122286E43A00007ED5E /* STPThreeDSCustomizationSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSCustomizationSettings.swift; sourceTree = ""; }; - 31227123286E43A00007ED5E /* STPThreeDSFooterCustomization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPThreeDSFooterCustomization.swift; sourceTree = ""; }; - 3122712F286E44890007ED5E /* STPCardValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardValidator.swift; sourceTree = ""; }; - 31227131286E448E0007ED5E /* STPBlocks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBlocks.swift; sourceTree = ""; }; - 31227133286E44AB0007ED5E /* STPPaymentConfirmation+SwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentConfirmation+SwiftUI.swift"; sourceTree = ""; }; - 3122713B286E455C0007ED5E /* STPPaymentHandlerActionParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentHandlerActionParams.swift; sourceTree = ""; }; - 3122713E286E54BA0007ED5E /* NSDictionary+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSDictionary+Stripe.swift"; sourceTree = ""; }; - 31227147286E555B0007ED5E /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; - 31227149286E557F0007ED5E /* StripePaymentsBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripePaymentsBundleLocator.swift; sourceTree = ""; }; - 31227168286E56260007ED5E /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31227174286E56D50007ED5E /* STPBINController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBINController.swift; sourceTree = ""; }; - 3122718B286E5C360007ED5E /* NSString+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSString+Stripe.swift"; sourceTree = ""; }; - 3122718D286E5C6C0007ED5E /* NSArray+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSArray+Stripe.swift"; sourceTree = ""; }; - 3122719A286E614C0007ED5E /* STPAnalyticsClient+Payments.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Payments.swift"; sourceTree = ""; }; - 3122719B286E614C0007ED5E /* Analytic+Payments.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Analytic+Payments.swift"; sourceTree = ""; }; - 3122719E286E62C80007ED5E /* NSDecimalNumber+Stripe_Currency.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSDecimalNumber+Stripe_Currency.swift"; sourceTree = ""; }; - 31227202287629B90007ED5E /* StripePayments+Export.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripePayments+Export.swift"; sourceTree = ""; }; - 3122723728763EE40007ED5E /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122723E28763F3A0007ED5E /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122724228763F3E0007ED5E /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122724C2876427A0007ED5E /* STPAPIClient+PaymentsCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+PaymentsCore.swift"; sourceTree = ""; }; - 3139D25A286E34A700C9744B /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3139D25D286E34A700C9744B /* StripePayments.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripePayments.h; sourceTree = ""; }; - 3139D262286E34A800C9744B /* StripePaymentsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripePaymentsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3139D267286E34A800C9744B /* StripePaymentsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripePaymentsTests.swift; sourceTree = ""; }; - 314D279E286E35C8000076C8 /* StripeCore+Import.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; - 314D279F286E35C9000076C8 /* StripeApplePay+Import.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "StripeApplePay+Import.swift"; sourceTree = ""; }; - 314D27A1286E35C9000076C8 /* StripeAPI+Deprecated.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "StripeAPI+Deprecated.swift"; sourceTree = ""; }; - 314D27A7286E35EE000076C8 /* STPRadarSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPRadarSession.swift; sourceTree = ""; }; - 314D27A8286E35EE000076C8 /* STPiDEALBank.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPiDEALBank.swift; sourceTree = ""; }; - 314D27A9286E35EF000076C8 /* STPCardBrand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardBrand.swift; sourceTree = ""; }; - 314D27AA286E35EF000076C8 /* STPAPIResponseDecodable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAPIResponseDecodable.swift; sourceTree = ""; }; - 314D27AB286E35EF000076C8 /* STPToken.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPToken.swift; sourceTree = ""; }; - 314D27AC286E35EF000076C8 /* STPFile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFile.swift; sourceTree = ""; }; - 314D27AD286E35EF000076C8 /* STPConnectAccountAddress.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConnectAccountAddress.swift; sourceTree = ""; }; - 314D27AE286E35EF000076C8 /* STPAddress.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAddress.swift; sourceTree = ""; }; - 314D27AF286E35EF000076C8 /* STPConnectAccountCompanyParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConnectAccountCompanyParams.swift; sourceTree = ""; }; - 314D27B0286E35EF000076C8 /* STPIssuingCardPin.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPIssuingCardPin.swift; sourceTree = ""; }; - 314D27B1286E35EF000076C8 /* STPContactField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPContactField.swift; sourceTree = ""; }; - 314D27B2286E35EF000076C8 /* STPFPXBankBrand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFPXBankBrand.swift; sourceTree = ""; }; - 314D27B3286E35F0000076C8 /* STPConnectAccountParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConnectAccountParams.swift; sourceTree = ""; }; - 314D27B4286E35F0000076C8 /* STPFormEncodable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFormEncodable.swift; sourceTree = ""; }; - 314D27B5286E35F0000076C8 /* STPConnectAccountIndividualParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConnectAccountIndividualParams.swift; sourceTree = ""; }; - 314D27B6286E35F0000076C8 /* STPCustomer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCustomer.swift; sourceTree = ""; }; - 314D27CE286E3636000076C8 /* STPPaymentMethodAfterpayClearpay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAfterpayClearpay.swift; sourceTree = ""; }; - 314D27CF286E3636000076C8 /* STPPaymentMethodAffirm.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAffirm.swift; sourceTree = ""; }; - 314D27D0286E3636000076C8 /* STPPaymentMethodBacsDebit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBacsDebit.swift; sourceTree = ""; }; - 314D27D1286E3636000076C8 /* STPPaymentMethodAUBECSDebit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAUBECSDebit.swift; sourceTree = ""; }; - 314D27D2286E3636000076C8 /* STPPaymentMethodCardWallet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardWallet.swift; sourceTree = ""; }; - 314D27D3286E3636000076C8 /* STPPaymentMethodAffirmParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAffirmParams.swift; sourceTree = ""; }; - 314D27D4286E3636000076C8 /* STPPaymentMethodPrzelewy24.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPrzelewy24.swift; sourceTree = ""; }; - 314D27D5286E3636000076C8 /* STPPaymentMethodEPS.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodEPS.swift; sourceTree = ""; }; - 314D27D6286E3637000076C8 /* STPPaymentMethodPayPal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPayPal.swift; sourceTree = ""; }; - 314D27D7286E3637000076C8 /* STPPaymentMethodFPXParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodFPXParams.swift; sourceTree = ""; }; - 314D27D8286E3637000076C8 /* STPPaymentMethodBoletoParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBoletoParams.swift; sourceTree = ""; }; - 314D27D9286E3637000076C8 /* STPPaymentMethodEPSParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodEPSParams.swift; sourceTree = ""; }; - 314D27DA286E3637000076C8 /* STPPaymentMethodAlipay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAlipay.swift; sourceTree = ""; }; - 314D27DB286E3637000076C8 /* STPPaymentMethodOXXOParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodOXXOParams.swift; sourceTree = ""; }; - 314D27DC286E3637000076C8 /* STPPaymentMethodCardWalletMasterpass.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardWalletMasterpass.swift; sourceTree = ""; }; - 314D27DD286E3637000076C8 /* STPPaymentMethodNetBankingParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodNetBankingParams.swift; sourceTree = ""; }; - 314D27DE286E3637000076C8 /* STPPaymentMethodKlarna.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodKlarna.swift; sourceTree = ""; }; - 314D27DF286E3637000076C8 /* STPPaymentMethodKlarnaParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodKlarnaParams.swift; sourceTree = ""; }; - 314D27E0286E3638000076C8 /* STPPaymentMethodOXXO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodOXXO.swift; sourceTree = ""; }; - 314D27E1286E3638000076C8 /* STPPaymentMethodCardParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardParams.swift; sourceTree = ""; }; - 314D27E2286E3638000076C8 /* STPPaymentMethodWeChatPayParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodWeChatPayParams.swift; sourceTree = ""; }; - 314D27E3286E3638000076C8 /* STPPaymentMethodBacsDebitParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBacsDebitParams.swift; sourceTree = ""; }; - 314D27E4286E3638000076C8 /* STPPaymentMethodUSBankAccountParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccountParams.swift; sourceTree = ""; }; - 314D27E5286E3638000076C8 /* STPPaymentMethodSofort.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSofort.swift; sourceTree = ""; }; - 314D27E6286E3638000076C8 /* STPPaymentMethodSofortParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSofortParams.swift; sourceTree = ""; }; - 314D27E7286E3638000076C8 /* STPPaymentMethodBLIKParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBLIKParams.swift; sourceTree = ""; }; - 314D27E8286E3638000076C8 /* STPPaymentMethodUPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUPI.swift; sourceTree = ""; }; - 314D27E9286E3638000076C8 /* STPPaymentMethodFPX.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodFPX.swift; sourceTree = ""; }; - 314D27EA286E3639000076C8 /* STPPaymentMethodCardPresent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardPresent.swift; sourceTree = ""; }; - 314D27EB286E3639000076C8 /* STPPaymentMethodLinkParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodLinkParams.swift; sourceTree = ""; }; - 314D27EC286E3639000076C8 /* STPPaymentMethodGiropay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGiropay.swift; sourceTree = ""; }; - 314D27ED286E3639000076C8 /* STPPaymentMethodSEPADebitParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSEPADebitParams.swift; sourceTree = ""; }; - 314D27EE286E3639000076C8 /* STPPaymentMethodCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCard.swift; sourceTree = ""; }; - 314D27EF286E3639000076C8 /* STPPaymentMethodBLIK.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBLIK.swift; sourceTree = ""; }; - 314D27F0286E3639000076C8 /* STPPaymentMethodUSBankAccount.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccount.swift; sourceTree = ""; }; - 314D27F1286E3639000076C8 /* STPPaymentMethodNetBanking.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodNetBanking.swift; sourceTree = ""; }; - 314D27F2286E3639000076C8 /* STPPaymentMethodGiropayParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGiropayParams.swift; sourceTree = ""; }; - 314D27F3286E3639000076C8 /* STPPaymentMethodLink.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodLink.swift; sourceTree = ""; }; - 314D27F4286E363A000076C8 /* STPPaymentMethodiDEAL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodiDEAL.swift; sourceTree = ""; }; - 314D27F5286E363A000076C8 /* STPPaymentMethodCardChecks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardChecks.swift; sourceTree = ""; }; - 314D27F6286E363A000076C8 /* STPPaymentMethodPayPalParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPayPalParams.swift; sourceTree = ""; }; - 314D27F7286E363A000076C8 /* STPPaymentMethodBoleto.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBoleto.swift; sourceTree = ""; }; - 314D27F8286E363A000076C8 /* STPPaymentMethodThreeDSecureUsage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodThreeDSecureUsage.swift; sourceTree = ""; }; - 314D27F9286E363A000076C8 /* STPPaymentMethodCardWalletVisaCheckout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardWalletVisaCheckout.swift; sourceTree = ""; }; - 314D27FA286E363A000076C8 /* STPPaymentMethodAfterpayClearpayParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAfterpayClearpayParams.swift; sourceTree = ""; }; - 314D27FB286E363A000076C8 /* STPPaymentMethodSEPADebit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSEPADebit.swift; sourceTree = ""; }; - 314D27FC286E363A000076C8 /* STPPaymentMethodBancontactParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBancontactParams.swift; sourceTree = ""; }; - 314D27FD286E363B000076C8 /* STPPaymentMethodPrzelewy24Params.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPrzelewy24Params.swift; sourceTree = ""; }; - 314D27FE286E363B000076C8 /* STPPaymentMethodGrabPay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGrabPay.swift; sourceTree = ""; }; - 314D27FF286E363B000076C8 /* STPPaymentMethodGrabPayParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGrabPayParams.swift; sourceTree = ""; }; - 314D2800286E363B000076C8 /* STPPaymentMethodiDEALParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodiDEALParams.swift; sourceTree = ""; }; - 314D2801286E363B000076C8 /* STPPaymentMethodAUBECSDebitParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAUBECSDebitParams.swift; sourceTree = ""; }; - 314D2802286E363B000076C8 /* STPPaymentMethodUPIParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUPIParams.swift; sourceTree = ""; }; - 314D2803286E363B000076C8 /* STPPaymentMethodAlipayParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAlipayParams.swift; sourceTree = ""; }; - 314D2804286E363B000076C8 /* STPPaymentMethodBancontact.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBancontact.swift; sourceTree = ""; }; - 314D2805286E363B000076C8 /* STPPaymentMethodCardNetworks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardNetworks.swift; sourceTree = ""; }; - 314D2806286E363B000076C8 /* STPPaymentMethodWeChatPay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodWeChatPay.swift; sourceTree = ""; }; - 314D2840286E364A000076C8 /* STPKlarnaLineItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPKlarnaLineItem.swift; sourceTree = ""; }; - 314D2841286E364A000076C8 /* STPCardParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardParams.swift; sourceTree = ""; }; - 314D2842286E364A000076C8 /* STPSourceWeChatPayDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceWeChatPayDetails.swift; sourceTree = ""; }; - 314D2843286E364A000076C8 /* STPBankAccount.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBankAccount.swift; sourceTree = ""; }; - 314D2844286E364A000076C8 /* STPSourceSEPADebitDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceSEPADebitDetails.swift; sourceTree = ""; }; - 314D2845286E364A000076C8 /* STPCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCard.swift; sourceTree = ""; }; - 314D2846286E364A000076C8 /* STPBankAccountParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBankAccountParams.swift; sourceTree = ""; }; - 314D2847286E364B000076C8 /* STPSourceKlarnaDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceKlarnaDetails.swift; sourceTree = ""; }; - 314D2848286E364B000076C8 /* STPSourceCardDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceCardDetails.swift; sourceTree = ""; }; - 314D2852286E3656000076C8 /* STPSourceParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceParams.swift; sourceTree = ""; }; - 314D2853286E3656000076C8 /* STPSourceRedirect.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceRedirect.swift; sourceTree = ""; }; - 314D2854286E3656000076C8 /* STPSourceVerification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceVerification.swift; sourceTree = ""; }; - 314D2855286E3656000076C8 /* STPSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSource.swift; sourceTree = ""; }; - 314D2856286E3656000076C8 /* STPSourceProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceProtocol.swift; sourceTree = ""; }; - 314D2857286E3656000076C8 /* STPSourceOwner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceOwner.swift; sourceTree = ""; }; - 314D2858286E3657000076C8 /* STPSourceReceiver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceReceiver.swift; sourceTree = ""; }; - 314D2859286E3657000076C8 /* STPSourceEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSourceEnums.swift; sourceTree = ""; }; - 314D2862286E3662000076C8 /* STPMandateDataParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPMandateDataParams.swift; sourceTree = ""; }; - 314D2863286E3663000076C8 /* LinkSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkSettings.swift; sourceTree = ""; }; - 314D2864286E3663000076C8 /* STPPaymentMethodOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodOptions.swift; sourceTree = ""; }; - 314D2865286E3663000076C8 /* STPIntentActionOXXODisplayDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPIntentActionOXXODisplayDetails.swift; sourceTree = ""; }; - 314D2866286E3663000076C8 /* STPMandateOnlineParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPMandateOnlineParams.swift; sourceTree = ""; }; - 314D2867286E3663000076C8 /* STPIntentActionAlipayHandleRedirect.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPIntentActionAlipayHandleRedirect.swift; sourceTree = ""; }; - 314D2868286E3663000076C8 /* STPIntentAction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPIntentAction.swift; sourceTree = ""; }; - 314D2869286E3663000076C8 /* STPIntentActionBoletoDisplayDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPIntentActionBoletoDisplayDetails.swift; sourceTree = ""; }; - 314D286A286E3663000076C8 /* STPIntentActionRedirectToURL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPIntentActionRedirectToURL.swift; sourceTree = ""; }; - 314D286B286E3663000076C8 /* STPIntentActionVerifyWithMicrodeposits.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPIntentActionVerifyWithMicrodeposits.swift; sourceTree = ""; }; - 314D286C286E3664000076C8 /* STPIntentActionWeChatPayRedirectToApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPIntentActionWeChatPayRedirectToApp.swift; sourceTree = ""; }; - 314D286D286E3664000076C8 /* STPMandateCustomerAcceptanceParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPMandateCustomerAcceptanceParams.swift; sourceTree = ""; }; - 314D287A286E3675000076C8 /* STPSetupIntentEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSetupIntentEnums.swift; sourceTree = ""; }; - 314D287B286E3675000076C8 /* STPSetupIntentLastSetupError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSetupIntentLastSetupError.swift; sourceTree = ""; }; - 314D287C286E3675000076C8 /* STPSetupIntent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSetupIntent.swift; sourceTree = ""; }; - 314D287D286E3675000076C8 /* STPSetupIntentConfirmParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPSetupIntentConfirmParams.swift; sourceTree = ""; }; - 314D2882286E367F000076C8 /* STPPaymentMethod.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethod.swift; sourceTree = ""; }; - 314D2883286E3680000076C8 /* STPPaymentMethodParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodParams.swift; sourceTree = ""; }; - 314D2884286E3680000076C8 /* STPPaymentMethodBillingDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBillingDetails.swift; sourceTree = ""; }; - 314D2885286E3680000076C8 /* STPPaymentMethodAddress.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAddress.swift; sourceTree = ""; }; - 314D2886286E3680000076C8 /* STPPaymentMethodEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodEnums.swift; sourceTree = ""; }; - 314D288C286E368B000076C8 /* STPPaymentIntentShippingDetailsAddressParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentShippingDetailsAddressParams.swift; sourceTree = ""; }; - 314D288D286E368B000076C8 /* STPConfirmWeChatPayOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConfirmWeChatPayOptions.swift; sourceTree = ""; }; - 314D288E286E368B000076C8 /* STPConfirmUSBankAccountOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConfirmUSBankAccountOptions.swift; sourceTree = ""; }; - 314D288F286E368B000076C8 /* STPConfirmCardOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConfirmCardOptions.swift; sourceTree = ""; }; - 314D2890286E368B000076C8 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentSourceActionAuthorizeWithURL.swift; sourceTree = ""; }; - 314D2891286E368B000076C8 /* STPPaymentIntentSourceAction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentSourceAction.swift; sourceTree = ""; }; - 314D2892286E368B000076C8 /* STPPaymentIntent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntent.swift; sourceTree = ""; }; - 314D2893286E368B000076C8 /* STPPaymentIntentActionRedirectToURL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentActionRedirectToURL.swift; sourceTree = ""; }; - 314D2894286E368B000076C8 /* STPPaymentIntentShippingDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentShippingDetails.swift; sourceTree = ""; }; - 314D2895286E368B000076C8 /* STPPaymentIntentEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentEnums.swift; sourceTree = ""; }; - 314D2896286E368C000076C8 /* STPConfirmBLIKOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConfirmBLIKOptions.swift; sourceTree = ""; }; - 314D2897286E368C000076C8 /* STPPaymentIntentShippingDetailsParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentShippingDetailsParams.swift; sourceTree = ""; }; - 314D2898286E368C000076C8 /* STPPaymentIntentAction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentAction.swift; sourceTree = ""; }; - 314D2899286E368C000076C8 /* STPPaymentIntentParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentParams.swift; sourceTree = ""; }; - 314D289A286E368C000076C8 /* STPConfirmAlipayOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConfirmAlipayOptions.swift; sourceTree = ""; }; - 314D289B286E368C000076C8 /* STPConfirmPaymentMethodOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPConfirmPaymentMethodOptions.swift; sourceTree = ""; }; - 314D289C286E368C000076C8 /* STPPaymentIntentShippingDetailsAddress.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentShippingDetailsAddress.swift; sourceTree = ""; }; - 314D289D286E368C000076C8 /* STPPaymentIntentLastPaymentError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentLastPaymentError.swift; sourceTree = ""; }; - 31DCB10728F4CEAC002EF128 /* STPBankAccountCollector.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBankAccountCollector.swift; sourceTree = ""; }; - 31DCB10A28F4CF04002EF128 /* STPCollectBankAccountParams.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCollectBankAccountParams.swift; sourceTree = ""; }; - 31DCB10C28F4CF23002EF128 /* STPAPIClient+LinkAccountSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+LinkAccountSession.swift"; sourceTree = ""; }; - 31DCB10E28F4CF57002EF128 /* LinkAccountSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkAccountSession.swift; sourceTree = ""; }; - 31DCB11028F4CFE9002EF128 /* ConnectionsSDKAvailability.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConnectionsSDKAvailability.swift; sourceTree = ""; }; - 31DCB11C28F4EEB6002EF128 /* STPAnalyticsClient+StripePayments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+StripePayments.swift"; sourceTree = ""; }; - 31EBFBD6286E358B00911FA9 /* STPAPIClient+Payments.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+Payments.swift"; sourceTree = ""; }; - 31EBFBD8286E358B00911FA9 /* STPAPIClient+Radar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+Radar.swift"; sourceTree = ""; }; - 31EBFBD9286E358B00911FA9 /* STPAPIClient+ApplePay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+ApplePay.swift"; sourceTree = ""; }; - 31EBFBDE286E358C00911FA9 /* STPRedirectContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPRedirectContext.swift; sourceTree = ""; }; - 31F7EBCB28F787120007C0BB /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBCC28F787120007C0BB /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBCD28F787120007C0BB /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBCE28F787120007C0BB /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBCF28F787120007C0BB /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBD028F787120007C0BB /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBD128F787120007C0BB /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBD228F787120007C0BB /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBD328F787120007C0BB /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBD428F787120007C0BB /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBD528F787120007C0BB /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBD628F787120007C0BB /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBD728F787120007C0BB /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBD828F787120007C0BB /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBD928F787120007C0BB /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBDA28F787120007C0BB /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBDB28F787120007C0BB /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBDC28F787120007C0BB /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBDD28F787120007C0BB /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBDE28F787120007C0BB /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBDF28F787120007C0BB /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBE028F787120007C0BB /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBE128F787120007C0BB /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBE228F787120007C0BB /* tk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tk; path = tk.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBE328F787120007C0BB /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBE428F787120007C0BB /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBE528F787120007C0BB /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBE628F787120007C0BB /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBE728F787120007C0BB /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBE828F787120007C0BB /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBE928F787120007C0BB /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBEA28F787120007C0BB /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBEB28F787120007C0BB /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBEC28F787120007C0BB /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBED28F787120007C0BB /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBEE28F787120007C0BB /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBEF28F787120007C0BB /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBF028F787120007C0BB /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBF128F787120007C0BB /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 31F7EBF228F787120007C0BB /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBF328F787120007C0BB /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - 31F7EBF428F787120007C0BB /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + 0105DFAE5504CD3A1AAE89B5 /* STPPaymentMethodUPIParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUPIParams.swift; sourceTree = ""; }; + 01AD8DAB423F22BE6FC2FFCB /* STPBlocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBlocks.swift; sourceTree = ""; }; + 01EC9E9A14F44151D977435E /* STPiDEALBank.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPiDEALBank.swift; sourceTree = ""; }; + 01FC96365AFC2C12A12CF9B1 /* STPInternalAPIResponseDecodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPInternalAPIResponseDecodable.swift; sourceTree = ""; }; + 0247B0B5618BE3316BCF061E /* STPFormEncodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFormEncodable.swift; sourceTree = ""; }; + 030B54DF945D8ED922A55CDF /* STPConfirmWeChatPayOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConfirmWeChatPayOptions.swift; sourceTree = ""; }; + 039EC8D931D5B5231025A1D0 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 03D01E809A78E4DC7FB87A2D /* STPPaymentMethodUSBankAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccount.swift; sourceTree = ""; }; + 0574FD7A9235404B44683208 /* STPPaymentMethodiDEALParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodiDEALParams.swift; sourceTree = ""; }; + 086AC53333729531A067E435 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; + 0F8823805ED53F0DBA9FDFDF /* STPConnectAccountParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConnectAccountParams.swift; sourceTree = ""; }; + 1022A3EF6E7E45DCC798CE69 /* STPAPIClient+ApplePay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+ApplePay.swift"; sourceTree = ""; }; + 11A528DF98B54E7ACFFED8EE /* STPPaymentMethodSofort.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSofort.swift; sourceTree = ""; }; + 14358A02B8BB13A20E0047DB /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 146903A461196F8C4B791B24 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + 161E1414061B7E2B7C36AE9C /* STPPaymentMethodFPX.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodFPX.swift; sourceTree = ""; }; + 182D34C4338F9A7C214BEB6B /* STPBankAccountCollector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBankAccountCollector.swift; sourceTree = ""; }; + 1BB277BE8AD5E974F3A76815 /* STP3DS2AuthenticateResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STP3DS2AuthenticateResponse.swift; sourceTree = ""; }; + 1CFF8363A0AB7F04766B3114 /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + 1D6907CEA19CDF0A587BFDB8 /* STPPaymentIntentAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentAction.swift; sourceTree = ""; }; + 1F389AD4EFAB548EB2EF9815 /* APIRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIRequest.swift; sourceTree = ""; }; + 1F568A9F42118EF13A5537D3 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentSourceActionAuthorizeWithURL.swift; sourceTree = ""; }; + 204FF6CABEA202A2789D031F /* STPPaymentMethodCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCard.swift; sourceTree = ""; }; + 2073289AE42D30419D62D32E /* STPSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSource.swift; sourceTree = ""; }; + 208127DD5118F21D896C0711 /* STPPaymentMethodUSBankAccountParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUSBankAccountParams.swift; sourceTree = ""; }; + 2382674B84CA7425010A90D9 /* STPPaymentConfirmation+SwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentConfirmation+SwiftUI.swift"; sourceTree = ""; }; + 246048AA06A91263FF8D4603 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; + 285E76CBE4327A796BAF4477 /* StripePaymentsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripePaymentsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 2922BFE76F6D620BEC45AFC4 /* STPBankAccountParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBankAccountParams.swift; sourceTree = ""; }; + 2BD1E8C2A561AF7E6CDFCD97 /* STPPaymentIntentEnums.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentEnums.swift; sourceTree = ""; }; + 2C0D28FA0893E3DF7D3F0A44 /* Analytic+Payments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Analytic+Payments.swift"; sourceTree = ""; }; + 2F88748219C996299A86CD06 /* STPPaymentMethodCardNetworks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardNetworks.swift; sourceTree = ""; }; + 30084144A82FEC59D4791CCE /* STPSetupIntentLastSetupError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSetupIntentLastSetupError.swift; sourceTree = ""; }; + 30F69252A9AF5E376F43EA20 /* STPMandateCustomerAcceptanceParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMandateCustomerAcceptanceParams.swift; sourceTree = ""; }; + 31CBA061716922E978337D26 /* STPSetupIntentConfirmParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSetupIntentConfirmParams.swift; sourceTree = ""; }; + 31E9110C4EB3A3D185DC8D00 /* STPPaymentIntentParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentParams.swift; sourceTree = ""; }; + 34CB5AD8FDE347B19ED2D9CD /* STPConfirmUSBankAccountOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConfirmUSBankAccountOptions.swift; sourceTree = ""; }; + 359FF7718254FCD446312BFA /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + 373B2754D51299A60DE459C7 /* STPPaymentMethodCardWalletVisaCheckout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardWalletVisaCheckout.swift; sourceTree = ""; }; + 38C7F01487694566A35BB319 /* STPPaymentMethodBancontact.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBancontact.swift; sourceTree = ""; }; + 3E0F70CA8C47243147F83D8B /* STPSourceReceiver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceReceiver.swift; sourceTree = ""; }; + 3E397BCD2C450E4770A278DA /* STPPaymentMethodLinkParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodLinkParams.swift; sourceTree = ""; }; + 3ED0DDE359BC093F1766FDD5 /* STPSourceOwner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceOwner.swift; sourceTree = ""; }; + 412E99389545879B417389C4 /* STPPaymentMethodPayPal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPayPal.swift; sourceTree = ""; }; + 41418F4AD32E5182FFFA7445 /* STPPaymentMethodAlipayParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAlipayParams.swift; sourceTree = ""; }; + 43286FD965D64ADB5D787561 /* STPPaymentMethodKlarna.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodKlarna.swift; sourceTree = ""; }; + 444BEF2E8A83B5B489062595 /* STPPaymentMethodGiropay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGiropay.swift; sourceTree = ""; }; + 46074E7130DD491C6FEF8689 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 46700112813B624B5A5513B2 /* STPIntentActionRedirectToURL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionRedirectToURL.swift; sourceTree = ""; }; + 468FAF1D4D81DB5F5854287B /* StripePaymentsBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripePaymentsBundleLocator.swift; sourceTree = ""; }; + 4793029D06EBFBCB62CF48DC /* STPPaymentHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentHandler.swift; sourceTree = ""; }; + 4802B9CDC9D9F4D479EA050B /* StripeApplePay+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeApplePay+Import.swift"; sourceTree = ""; }; + 480E9503640B668172950214 /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; + 48A73DA27ABEC6115513F315 /* STPPaymentMethodNetBanking.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodNetBanking.swift; sourceTree = ""; }; + 48EE0DEDAB9A8BFF0523FF9F /* STPPaymentMethodBLIKParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBLIKParams.swift; sourceTree = ""; }; + 4C3628526271ABA16C3994EE /* STPConnectAccountAddress.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConnectAccountAddress.swift; sourceTree = ""; }; + 4D99D2C6C436F6FAFB3960EE /* STPPaymentMethodBancontactParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBancontactParams.swift; sourceTree = ""; }; + 4FED7EC426D937D69C4B2D3B /* STPCollectBankAccountParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCollectBankAccountParams.swift; sourceTree = ""; }; + 504E775D9573225145FD38CD /* STPAPIClient+LinkAccountSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+LinkAccountSession.swift"; sourceTree = ""; }; + 51899EDD11947FDAD2C82D97 /* LinkAccountSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkAccountSession.swift; sourceTree = ""; }; + 5212EA8107E8CEC838262D99 /* STPPaymentIntentLastPaymentError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentLastPaymentError.swift; sourceTree = ""; }; + 52EE2EEB630C1C78EF446602 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 53061ED71F9E2162BEE5DF21 /* STPPaymentMethodGrabPay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGrabPay.swift; sourceTree = ""; }; + 535A112409DAB226749A688C /* STPConfirmPaymentMethodOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConfirmPaymentMethodOptions.swift; sourceTree = ""; }; + 53E191CAFF05C311F8660273 /* STPAPIClient+PaymentsCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+PaymentsCore.swift"; sourceTree = ""; }; + 57E0E4AB5741502E4CD5436D /* STPSourcePoller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourcePoller.swift; sourceTree = ""; }; + 58D9CA66AADE5C04D6E9E4E6 /* STPKlarnaLineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPKlarnaLineItem.swift; sourceTree = ""; }; + 5A3ADD020EED12373174477B /* STPToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPToken.swift; sourceTree = ""; }; + 5A727AE60443CDFA86DF99EC /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + 5C27780E7E42FDBE450941C0 /* STPPaymentMethodWeChatPay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodWeChatPay.swift; sourceTree = ""; }; + 5CB73EF9F5BD015434BAB5E8 /* STPPaymentIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntent.swift; sourceTree = ""; }; + 5CB97088726E660840DA856F /* STPPaymentIntentShippingDetailsAddress.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentShippingDetailsAddress.swift; sourceTree = ""; }; + 5F7F214A072869D24123AAD3 /* STPFormEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFormEncoder.swift; sourceTree = ""; }; + 609ECF94337298A5298081D0 /* STPPaymentMethodOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodOptions.swift; sourceTree = ""; }; + 61ED590DF413DA9B8A415C9C /* STPCardBrand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardBrand.swift; sourceTree = ""; }; + 626D1B1C91151401B1FE77EA /* STPAnalyticsClient+Payments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+Payments.swift"; sourceTree = ""; }; + 63BFDF30EAA4381999FE1149 /* STPSourceProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceProtocol.swift; sourceTree = ""; }; + 63E3C264676712B260FCF600 /* STPPaymentIntentShippingDetailsAddressParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentShippingDetailsAddressParams.swift; sourceTree = ""; }; + 64C6DBBF4EED92890747C305 /* StripePayments+Export.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripePayments+Export.swift"; sourceTree = ""; }; + 671A215709E2F67C3BB77DC0 /* STPSourceParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceParams.swift; sourceTree = ""; }; + 674DAF7E5982F1BCEA40B010 /* STPRadarSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPRadarSession.swift; sourceTree = ""; }; + 678608CCEF22AE4B86C3E6EA /* STPFPXBankBrand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFPXBankBrand.swift; sourceTree = ""; }; + 67B4857EBF4A49993CC040DB /* STPPaymentMethodFPXParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodFPXParams.swift; sourceTree = ""; }; + 6886DC50224DD807976C0D19 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + 68B0890585C6D8D33AB0D888 /* STPPaymentMethodAffirm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAffirm.swift; sourceTree = ""; }; + 69C77D6D92668C1E541E3C0F /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + 6A7CE39E853BD92ABE59F8EA /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; + 6BF260394EEC61199F0EABF8 /* STPPaymentMethodEnums.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodEnums.swift; sourceTree = ""; }; + 6CC7BD1E3971B7E4EAE98F40 /* STPThreeDSLabelCustomization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSLabelCustomization.swift; sourceTree = ""; }; + 6DB55987CA9D4C02C5E78B83 /* STPIntentActionWeChatPayRedirectToApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionWeChatPayRedirectToApp.swift; sourceTree = ""; }; + 6DBD496FE1C28C32185C60BF /* STPPaymentMethodUPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodUPI.swift; sourceTree = ""; }; + 6E944B8DCD7712C42DD065B4 /* STPThreeDSNavigationBarCustomization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSNavigationBarCustomization.swift; sourceTree = ""; }; + 719D0377278FA11F93E19637 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 71CE9C847825E9E3779F48B7 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + 724CA8AE6C08330FF66E7515 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + 73EBE0964419EFA62BDBC467 /* STPPaymentMethodSEPADebit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSEPADebit.swift; sourceTree = ""; }; + 740C01696C56E269129C86CF /* STPAddress.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAddress.swift; sourceTree = ""; }; + 7426747490116908B56A30CF /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + 7570EA850A0ED363CF16F92F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 773D9B3D756818954F7222B7 /* STPConnectAccountCompanyParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConnectAccountCompanyParams.swift; sourceTree = ""; }; + 78593A2B7B8705A9E88BD915 /* STPPaymentMethodAUBECSDebitParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAUBECSDebitParams.swift; sourceTree = ""; }; + 788D986E935F05CF28CD16D2 /* LinkSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkSettings.swift; sourceTree = ""; }; + 7916F919EE5C31935F0CE53D /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + 79474677BB54C562AB4053A3 /* StripeAPI+Deprecated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeAPI+Deprecated.swift"; sourceTree = ""; }; + 7B56A5D5A1ECF4C62BC2AE64 /* STPConfirmCardOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConfirmCardOptions.swift; sourceTree = ""; }; + 7C946896654EBFD32FC027F5 /* STPAPIResponseDecodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAPIResponseDecodable.swift; sourceTree = ""; }; + 7CE7DBFDCD8676DB9F60C96F /* STPConfirmBLIKOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConfirmBLIKOptions.swift; sourceTree = ""; }; + 7E65A77F0C67935245705641 /* STPPaymentMethodCardParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardParams.swift; sourceTree = ""; }; + 7F12A8453F5B31BC76C79FDD /* STPIntentActionOXXODisplayDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionOXXODisplayDetails.swift; sourceTree = ""; }; + 80550E3A7AD143B0F1881861 /* STPMandateDataParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMandateDataParams.swift; sourceTree = ""; }; + 80934E9CBB6134D033361E26 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + 80DC82D6BCE42502F71F8796 /* STPPaymentMethodNetBankingParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodNetBankingParams.swift; sourceTree = ""; }; + 82A8215A6A33B131F5F37D27 /* STPPaymentHandlerActionParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentHandlerActionParams.swift; sourceTree = ""; }; + 83C040209FB6165F70AA7E97 /* STPPaymentMethodBacsDebit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBacsDebit.swift; sourceTree = ""; }; + 852D3359192DF1D7B0D8F5AE /* STPSourceRedirect.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceRedirect.swift; sourceTree = ""; }; + 867A8E3250A29985CAB7B292 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 87D831C6DA4AB5D9B467B0D4 /* STPPaymentMethodPrzelewy24.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPrzelewy24.swift; sourceTree = ""; }; + 8A488E1ADA0DEFD9BB2222F5 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 8BB1D8D7ABB0AC1B87FC0057 /* STPPaymentMethodAUBECSDebit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAUBECSDebit.swift; sourceTree = ""; }; + 8D49D430F729791CAD926414 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + 8DCAF9C6479868993596880A /* STPPaymentMethodOXXO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodOXXO.swift; sourceTree = ""; }; + 9014B29558BB1B58C8981FBB /* STPBINController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBINController.swift; sourceTree = ""; }; + 90B3D8567EEB33BC253105F4 /* STPCustomer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCustomer.swift; sourceTree = ""; }; + 90FCA038D0D7A1F3A2392626 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + 92F27143E2EACD3D4C898DF7 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + 93327A70BDB39DA521BAE777 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 936809D71641931604F5FEAE /* STPPaymentMethodGrabPayParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGrabPayParams.swift; sourceTree = ""; }; + 93E11A00882478686027A2A0 /* STPCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCard.swift; sourceTree = ""; }; + 940BC4B4F3696616E6765861 /* STPFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFile.swift; sourceTree = ""; }; + 982A049F2314C96F8CCD803E /* STPRedirectContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPRedirectContext.swift; sourceTree = ""; }; + 9850E5BC24407862EAEEE2BA /* STPPaymentIntentActionRedirectToURL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentActionRedirectToURL.swift; sourceTree = ""; }; + 9A56DB8D9DBDED3F7670438E /* STPAPIClient+Payments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+Payments.swift"; sourceTree = ""; }; + 9B084347AEF2EDD7D1589E3F /* StripeCore+Import.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripeCore+Import.swift"; sourceTree = ""; }; + 9BD48DA905074C771CD15082 /* STPPaymentMethodGiropayParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodGiropayParams.swift; sourceTree = ""; }; + 9C1765710FB6104D69982D20 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + 9D09DACDA19A39FEA08B75CA /* STPThreeDSSelectionCustomization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSSelectionCustomization.swift; sourceTree = ""; }; + 9EE713DECC09F6AEE37E96F7 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + A277EC102AAFEF5029D82569 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + A3367B526CA353E89C5589BB /* STPPaymentMethodParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodParams.swift; sourceTree = ""; }; + A34532BE5AE969B943477E83 /* STPThreeDSButtonCustomization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSButtonCustomization.swift; sourceTree = ""; }; + A3BA665404FD4B327A775906 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; + A808C34CAC5E742359A02301 /* STPSourceSEPADebitDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceSEPADebitDetails.swift; sourceTree = ""; }; + A8B78EDF21E929236F89ADCB /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + A93D74B51EA12509851F76A5 /* STPPaymentMethodiDEAL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodiDEAL.swift; sourceTree = ""; }; + AAF9D5F617E73723DDB03F6F /* STPPaymentMethodThreeDSecureUsage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodThreeDSecureUsage.swift; sourceTree = ""; }; + ABBEF7D66C69E2A3DEBE6177 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + ABF0CEF85DE6B556E4187F50 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + AC3901183AED6DD81C61BA10 /* STPCardValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardValidator.swift; sourceTree = ""; }; + AC41428418864827CD1C6832 /* STPPaymentMethodBoletoParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBoletoParams.swift; sourceTree = ""; }; + AE030180048E3DF393BF3BFF /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + AE3CBC01F0A15D28914DB070 /* STPPaymentMethodAffirmParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAffirmParams.swift; sourceTree = ""; }; + B091F2D139863DA3967E6596 /* STPPaymentMethodSEPADebitParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSEPADebitParams.swift; sourceTree = ""; }; + B0A6A16B40B7C6E6692CC346 /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + B2A8093227C83054A7EA3E1D /* STPPaymentMethodListDeserializer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodListDeserializer.swift; sourceTree = ""; }; + B2E38EE74A6FD0E0EB87A3FF /* STPIntentActionVerifyWithMicrodeposits.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionVerifyWithMicrodeposits.swift; sourceTree = ""; }; + B3EB844AA65B6F391E76B2B4 /* STPThreeDSTextFieldCustomization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSTextFieldCustomization.swift; sourceTree = ""; }; + B458CF0D5A7EE56A02D750F2 /* STPThreeDSCustomizationSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSCustomizationSettings.swift; sourceTree = ""; }; + B49A0767F78E4D4371484EC1 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + B649A131C87FCE592A5C8485 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + B6D767E04616B7035A8769C1 /* STPConnectAccountIndividualParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConnectAccountIndividualParams.swift; sourceTree = ""; }; + B71B50D1ABEA53CE45BAFA74 /* STPPaymentIntentShippingDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentShippingDetails.swift; sourceTree = ""; }; + B96D695818084C70BB532B5E /* STPPaymentMethodBoleto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBoleto.swift; sourceTree = ""; }; + B9F83C7EDA9903D041E4C001 /* STPPaymentMethodKlarnaParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodKlarnaParams.swift; sourceTree = ""; }; + BB5DD31D113122D1A22C8D7B /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + BBF5E4108B8BF1C30BECC326 /* STPPaymentMethodAlipay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAlipay.swift; sourceTree = ""; }; + BC7FFDAB7B63D040B3B35B48 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + BC977A7A5BF69E9D783CFB01 /* STPConfirmAlipayOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPConfirmAlipayOptions.swift; sourceTree = ""; }; + BD1E84A6F94260DD706F95C7 /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + BD67688E9F954452E0FCF962 /* STPPaymentMethodBillingDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBillingDetails.swift; sourceTree = ""; }; + BEC372556A4A99F457BDE54E /* NSArray+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSArray+Stripe.swift"; sourceTree = ""; }; + BF3A468E66C9F9ED8A850555 /* STPEmptyStripeResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPEmptyStripeResponse.swift; sourceTree = ""; }; + BF3EDB3190B6BAE43C10933E /* STPBankAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBankAccount.swift; sourceTree = ""; }; + BFA320893378702C28DC8FD0 /* STPThreeDSFooterCustomization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSFooterCustomization.swift; sourceTree = ""; }; + C07667F9D802EB8DD391A3C5 /* STPIntentAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentAction.swift; sourceTree = ""; }; + C0E6839FB4FC9CA2A9EAAC4F /* STPPaymentMethodAfterpayClearpay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAfterpayClearpay.swift; sourceTree = ""; }; + C2247375DFA4A40C6C7C3BC0 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + C3693DA7672949B5DCFC5A97 /* tk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tk; path = tk.lproj/Localizable.strings; sourceTree = ""; }; + C414324AE12AF801E67C946A /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C608FCBD2D31DAC997AD6933 /* ConnectionsSDKAvailability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionsSDKAvailability.swift; sourceTree = ""; }; + C704E5A29A16D70811B3A32D /* STPIssuingCardPin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIssuingCardPin.swift; sourceTree = ""; }; + C7099F6C39ACC26748E0E591 /* STPPaymentMethodCardChecks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardChecks.swift; sourceTree = ""; }; + C740B96CCCC754A1CB19D44C /* STPPaymentMethodWeChatPayParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodWeChatPayParams.swift; sourceTree = ""; }; + CA58DFEBD2F9ADE14301B770 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + CEFD8715EEA4EECD411465FB /* STPPaymentMethodCardWallet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardWallet.swift; sourceTree = ""; }; + D07382674619AEF657397B21 /* STPThreeDSUICustomization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPThreeDSUICustomization.swift; sourceTree = ""; }; + D093EFAC2C8F0B310EBD10C4 /* STPPaymentMethodSofortParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodSofortParams.swift; sourceTree = ""; }; + D0F35F376C5BE0824BFCF86F /* STPPaymentMethodBLIK.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBLIK.swift; sourceTree = ""; }; + D154C6A732B3C7092566220A /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + D241D01F717B2991D4946283 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + D3403BA8AC9DAEAAEF288879 /* STPPaymentMethodAddress.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAddress.swift; sourceTree = ""; }; + D6655131EE24F94190D1C116 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + D6EA09CF77BB869BB6007328 /* NSDecimalNumber+Stripe_Currency.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSDecimalNumber+Stripe_Currency.swift"; sourceTree = ""; }; + D927FD12223821805ED77D59 /* STPIntentActionBoletoDisplayDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionBoletoDisplayDetails.swift; sourceTree = ""; }; + D9C59B2D92DDEC0B9A0E9379 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + DABCA7D3C2103189243C48DB /* STPPaymentMethodEPS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodEPS.swift; sourceTree = ""; }; + DC36BA79484AC42BB5BC1707 /* STPSetupIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSetupIntent.swift; sourceTree = ""; }; + DD2E3BD11D7685BDD8CF015B /* STPSourceKlarnaDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceKlarnaDetails.swift; sourceTree = ""; }; + DEECA909F82BFB3F8960F1EA /* STPIntentActionAlipayHandleRedirect.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionAlipayHandleRedirect.swift; sourceTree = ""; }; + DFA6071616ABA9D79DB6AE6A /* STPCardParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardParams.swift; sourceTree = ""; }; + DFFFFC2E4C5D51B2BCA2A0EA /* STPIntentActionUseStripeSDK.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPIntentActionUseStripeSDK.swift; sourceTree = ""; }; + E017212F9F71022883F9D5E8 /* STPContactField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPContactField.swift; sourceTree = ""; }; + E06C3BF5EB7272C646558A6A /* STPPaymentMethodBacsDebitParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodBacsDebitParams.swift; sourceTree = ""; }; + E07996C977656429F3CCDC9A /* STPPaymentMethodCardPresent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardPresent.swift; sourceTree = ""; }; + E3D47CB14B2D0D881CDFE9AC /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + E4B5A6D8BDF71478FEE72916 /* STPAPIClient+Radar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAPIClient+Radar.swift"; sourceTree = ""; }; + E4F59A24701CB3FE96477631 /* STPPaymentMethodOXXOParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodOXXOParams.swift; sourceTree = ""; }; + E579E736ECC6A0064D3984D1 /* STPSetupIntentEnums.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSetupIntentEnums.swift; sourceTree = ""; }; + E697F4BF96E20E6EB766A762 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + E8D7E95C2E3AFDC73944ACE1 /* STPAuthenticationContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAuthenticationContext.swift; sourceTree = ""; }; + E99B164CDD13E8F5C9CAD349 /* STPPaymentMethodLink.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodLink.swift; sourceTree = ""; }; + E9F62603F7B02487027BFB14 /* STPPaymentMethodPrzelewy24Params.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPrzelewy24Params.swift; sourceTree = ""; }; + EAA7516BE26EEF7FA3720E2C /* StripePayments.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripePayments.h; sourceTree = ""; }; + EB9F7234C5EBCBE6848E0216 /* STPPaymentMethodCardWalletMasterpass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodCardWalletMasterpass.swift; sourceTree = ""; }; + ED423404C71D423A306DBB87 /* NSDictionary+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSDictionary+Stripe.swift"; sourceTree = ""; }; + EE2F503300363DCBB8096E59 /* STPPaymentIntentSourceAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentSourceAction.swift; sourceTree = ""; }; + EEF1AAF60A7A0A75D009229C /* STPPaymentMethodEPSParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodEPSParams.swift; sourceTree = ""; }; + F05014AF14B84F5FD403CBE3 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + F0D4C9FA6229E7CF5E6194ED /* STPPaymentMethodPayPalParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodPayPalParams.swift; sourceTree = ""; }; + F17DA86F78359636574C4B6C /* STPPaymentIntentShippingDetailsParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentIntentShippingDetailsParams.swift; sourceTree = ""; }; + F1F72E1D891FE901F9AA1B4E /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + F274A171E71E22BCDD040515 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + F3299145C8B3D2382AE58911 /* STPSourceEnums.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceEnums.swift; sourceTree = ""; }; + F4E97EEB6FFF42428F389A23 /* STPAnalyticsClient+StripePayments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+StripePayments.swift"; sourceTree = ""; }; + F582CA101C67145B68AEF8F2 /* STPSourceVerification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceVerification.swift; sourceTree = ""; }; + F609CFD0BA68E23080585BFF /* STPSourceCardDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceCardDetails.swift; sourceTree = ""; }; + F87DC370A768081815E2FDE9 /* STPMandateOnlineParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMandateOnlineParams.swift; sourceTree = ""; }; + F8A038F1551529DED40E01B5 /* NSString+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSString+Stripe.swift"; sourceTree = ""; }; + FA2A43E10D6EF3CCCC7A379F /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + FB0AAC0CBC6E95BA011CC02A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + FC802E2459BD87F3BA519146 /* STPPaymentMethod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethod.swift; sourceTree = ""; }; + FCB8DBEEC0F571E7BEB78D6C /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + FD1783A022B54EC14C164F7B /* STPPaymentMethodAfterpayClearpayParams.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentMethodAfterpayClearpayParams.swift; sourceTree = ""; }; + FD7066361C878D63B86F22D8 /* STPSourceWeChatPayDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPSourceWeChatPayDetails.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 3139D257286E34A700C9744B /* Frameworks */ = { + 07D3C53710CC5D504447CB17 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3122724328763F3E0007ED5E /* StripeCore.framework in Frameworks */, - 31227169286E56260007ED5E /* Stripe3DS2.framework in Frameworks */, - 3122723F28763F3A0007ED5E /* StripeUICore.framework in Frameworks */, + 077B8BA1B4D326F1C9796A12 /* XCTest.framework in Frameworks */, + 25F6D9E66DFACFB6F92FB8A5 /* StripePayments.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3139D25F286E34A800C9744B /* Frameworks */ = { + F4E7F9C969CC883368E5E6D2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3139D263286E34A800C9744B /* StripePayments.framework in Frameworks */, + 791F1627B003C9E9EC3DD7E0 /* Stripe3DS2.framework in Frameworks */, + CB99BCA5D74904829DDF5A25 /* StripeCore.framework in Frameworks */, + 8966D2B22382BFF374525C89 /* StripeUICore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 31138E6728DBBB5C008AF554 /* Categories */ = { + 0CEB8873B8B35684EDE960EE /* Resources */ = { isa = PBXGroup; children = ( - 31138E6828DBBB70008AF554 /* Enums+CustomStringConvertible.swift */, + F63A7C52A77C9B7EAEF8A8B3 /* Localizations */, ); - path = Categories; + path = Resources; sourceTree = ""; }; - 31138E8E28DE53CC008AF554 /* BuildConfigurations */ = { + 2646693731499ED1464C5C65 /* Models */ = { isa = PBXGroup; children = ( - 31138E8F28DE53CC008AF554 /* StripeiOS Tests-Debug.xcconfig */, - 31138E9028DE53CC008AF554 /* StripeiOS-Debug.xcconfig */, - 31138E9128DE53CC008AF554 /* Project-Release.xcconfig */, - 31138E9228DE53CC008AF554 /* StripeiOS Tests-Release.xcconfig */, - 31138E9328DE53CC008AF554 /* Project-Shared.xcconfig */, - 31138E9428DE53CC008AF554 /* Version.xcconfig */, - 31138E9528DE53CC008AF554 /* StripeiOS Tests-Shared.xcconfig */, - 31138E9628DE53CC008AF554 /* StripeiOS-Shared.xcconfig */, - 31138E9728DE53CC008AF554 /* Project-Debug.xcconfig */, - 31138E9828DE53CC008AF554 /* StripeiOS-Release.xcconfig */, + BB7183059F69B63F3EBB3317 /* ACH */, + 5A7DF7FB6AE4492BFABBFC28 /* PaymentIntents */, + C88720CECA03C96A02FAE3B0 /* PaymentMethods */, + 5E1A4D43803B3B6B27BC909C /* SetupIntents */, + 504E0A8BF21E74D852CE507F /* Shared */, + 48FD216441C2AF088B0BC66D /* Sources */, + 740C01696C56E269129C86CF /* STPAddress.swift */, + 7C946896654EBFD32FC027F5 /* STPAPIResponseDecodable.swift */, + 61ED590DF413DA9B8A415C9C /* STPCardBrand.swift */, + 4C3628526271ABA16C3994EE /* STPConnectAccountAddress.swift */, + 773D9B3D756818954F7222B7 /* STPConnectAccountCompanyParams.swift */, + B6D767E04616B7035A8769C1 /* STPConnectAccountIndividualParams.swift */, + 0F8823805ED53F0DBA9FDFDF /* STPConnectAccountParams.swift */, + E017212F9F71022883F9D5E8 /* STPContactField.swift */, + 90B3D8567EEB33BC253105F4 /* STPCustomer.swift */, + 940BC4B4F3696616E6765861 /* STPFile.swift */, + 0247B0B5618BE3316BCF061E /* STPFormEncodable.swift */, + 678608CCEF22AE4B86C3E6EA /* STPFPXBankBrand.swift */, + 01EC9E9A14F44151D977435E /* STPiDEALBank.swift */, + C704E5A29A16D70811B3A32D /* STPIssuingCardPin.swift */, + 674DAF7E5982F1BCEA40B010 /* STPRadarSession.swift */, + 5A3ADD020EED12373174477B /* STPToken.swift */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = Models; sourceTree = ""; }; - 31227107286E41320007ED5E /* Internal */ = { + 3005E0BF2F91B3A67DB6AECB /* StripePayments */ = { isa = PBXGroup; children = ( - 31227194286E60F60007ED5E /* Analytics */, - 3122718A286E5C290007ED5E /* Helpers */, - 3122713D286E54AF0007ED5E /* Categories */, - 3122713B286E455C0007ED5E /* STPPaymentHandlerActionParams.swift */, - 31227108286E41360007ED5E /* API Bindings */, + 0CEB8873B8B35684EDE960EE /* Resources */, + 5945A05F8C61551C1D4A013C /* Source */, + 52EE2EEB630C1C78EF446602 /* Info.plist */, + EAA7516BE26EEF7FA3720E2C /* StripePayments.h */, ); - path = Internal; + path = StripePayments; sourceTree = ""; }; - 31227108286E41360007ED5E /* API Bindings */ = { + 3D76A22F29DA377FEAC740D7 /* Analytics */ = { isa = PBXGroup; children = ( - 31227109286E414A0007ED5E /* APIRequest.swift */, - 3122710C286E414A0007ED5E /* STP3DS2AuthenticateResponse.swift */, - 31227110286E414A0007ED5E /* STPEmptyStripeResponse.swift */, - 3122710B286E414A0007ED5E /* STPFormEncoder.swift */, - 3122710A286E414A0007ED5E /* STPIntentActionUseStripeSDK.swift */, - 3122710E286E414A0007ED5E /* STPInternalAPIResponseDecodable.swift */, - 3122710D286E414A0007ED5E /* STPPaymentMethodListDeserializer.swift */, - 3122710F286E414A0007ED5E /* STPSourcePoller.swift */, + 2C0D28FA0893E3DF7D3F0A44 /* Analytic+Payments.swift */, + 626D1B1C91151401B1FE77EA /* STPAnalyticsClient+Payments.swift */, ); - path = "API Bindings"; + path = Analytics; sourceTree = ""; }; - 31227119286E43870007ED5E /* PaymentHandler */ = { + 4407DD85229E48EE47D5F582 /* Helpers */ = { isa = PBXGroup; children = ( - 3122711F286E43A00007ED5E /* STPAuthenticationContext.swift */, - 31227120286E43A00007ED5E /* STPPaymentHandler.swift */, - 3122711A286E439F0007ED5E /* STPThreeDSButtonCustomization.swift */, - 31227122286E43A00007ED5E /* STPThreeDSCustomizationSettings.swift */, - 31227123286E43A00007ED5E /* STPThreeDSFooterCustomization.swift */, - 3122711E286E439F0007ED5E /* STPThreeDSLabelCustomization.swift */, - 3122711C286E439F0007ED5E /* STPThreeDSNavigationBarCustomization.swift */, - 3122711B286E439F0007ED5E /* STPThreeDSSelectionCustomization.swift */, - 31227121286E43A00007ED5E /* STPThreeDSTextFieldCustomization.swift */, - 3122711D286E439F0007ED5E /* STPThreeDSUICustomization.swift */, + C608FCBD2D31DAC997AD6933 /* ConnectionsSDKAvailability.swift */, ); - path = PaymentHandler; + path = Helpers; sourceTree = ""; }; - 3122712E286E43E90007ED5E /* Helpers */ = { + 4835A73894061488903E06BA /* Categories */ = { isa = PBXGroup; children = ( - 31227131286E448E0007ED5E /* STPBlocks.swift */, - 31227174286E56D50007ED5E /* STPBINController.swift */, - 31227202287629B90007ED5E /* StripePayments+Export.swift */, - 31DCB10728F4CEAC002EF128 /* STPBankAccountCollector.swift */, - 31227147286E555B0007ED5E /* STPLocalizedString.swift */, - 31227149286E557F0007ED5E /* StripePaymentsBundleLocator.swift */, - 31227133286E44AB0007ED5E /* STPPaymentConfirmation+SwiftUI.swift */, - 3122712F286E44890007ED5E /* STPCardValidator.swift */, + BEC372556A4A99F457BDE54E /* NSArray+Stripe.swift */, + D6EA09CF77BB869BB6007328 /* NSDecimalNumber+Stripe_Currency.swift */, + ED423404C71D423A306DBB87 /* NSDictionary+Stripe.swift */, + F8A038F1551529DED40E01B5 /* NSString+Stripe.swift */, + 53E191CAFF05C311F8660273 /* STPAPIClient+PaymentsCore.swift */, ); - path = Helpers; + path = Categories; sourceTree = ""; }; - 3122713D286E54AF0007ED5E /* Categories */ = { + 48FD216441C2AF088B0BC66D /* Sources */ = { isa = PBXGroup; children = ( - 3122724C2876427A0007ED5E /* STPAPIClient+PaymentsCore.swift */, - 3122719E286E62C80007ED5E /* NSDecimalNumber+Stripe_Currency.swift */, - 3122718D286E5C6C0007ED5E /* NSArray+Stripe.swift */, - 3122718B286E5C360007ED5E /* NSString+Stripe.swift */, - 3122713E286E54BA0007ED5E /* NSDictionary+Stripe.swift */, + FEA45221BBB022756BA567DA /* Types */, + 2073289AE42D30419D62D32E /* STPSource.swift */, + F3299145C8B3D2382AE58911 /* STPSourceEnums.swift */, + 3ED0DDE359BC093F1766FDD5 /* STPSourceOwner.swift */, + 671A215709E2F67C3BB77DC0 /* STPSourceParams.swift */, + 63BFDF30EAA4381999FE1149 /* STPSourceProtocol.swift */, + 3E0F70CA8C47243147F83D8B /* STPSourceReceiver.swift */, + 852D3359192DF1D7B0D8F5AE /* STPSourceRedirect.swift */, + F582CA101C67145B68AEF8F2 /* STPSourceVerification.swift */, ); - path = Categories; + path = Sources; sourceTree = ""; }; - 31227167286E56260007ED5E /* Frameworks */ = { + 504E0A8BF21E74D852CE507F /* Shared */ = { isa = PBXGroup; children = ( - 3122724228763F3E0007ED5E /* StripeCore.framework */, - 3122723E28763F3A0007ED5E /* StripeUICore.framework */, - 3122723728763EE40007ED5E /* StripeApplePay.framework */, - 31227168286E56260007ED5E /* Stripe3DS2.framework */, + 788D986E935F05CF28CD16D2 /* LinkSettings.swift */, + C07667F9D802EB8DD391A3C5 /* STPIntentAction.swift */, + DEECA909F82BFB3F8960F1EA /* STPIntentActionAlipayHandleRedirect.swift */, + D927FD12223821805ED77D59 /* STPIntentActionBoletoDisplayDetails.swift */, + 7F12A8453F5B31BC76C79FDD /* STPIntentActionOXXODisplayDetails.swift */, + 46700112813B624B5A5513B2 /* STPIntentActionRedirectToURL.swift */, + B2E38EE74A6FD0E0EB87A3FF /* STPIntentActionVerifyWithMicrodeposits.swift */, + 6DB55987CA9D4C02C5E78B83 /* STPIntentActionWeChatPayRedirectToApp.swift */, + 30F69252A9AF5E376F43EA20 /* STPMandateCustomerAcceptanceParams.swift */, + 80550E3A7AD143B0F1881861 /* STPMandateDataParams.swift */, + F87DC370A768081815E2FDE9 /* STPMandateOnlineParams.swift */, + 609ECF94337298A5298081D0 /* STPPaymentMethodOptions.swift */, ); - name = Frameworks; + path = Shared; sourceTree = ""; }; - 3122718A286E5C290007ED5E /* Helpers */ = { + 5945A05F8C61551C1D4A013C /* Source */ = { isa = PBXGroup; children = ( - 31DCB11028F4CFE9002EF128 /* ConnectionsSDKAvailability.swift */, + DD78CC2F04F493810045211F /* API Bindings */, + 68BC1175D7D6D0AC3B871934 /* Categories */, + D2402C80F5D774F12342CC59 /* Helpers */, + C7DC8B9CB4E4EC80F7235F2A /* Internal */, + AF12BD8F89F1B9E5CBE96B0F /* PaymentHandler */, ); - path = Helpers; + path = Source; sourceTree = ""; }; - 31227194286E60F60007ED5E /* Analytics */ = { + 5A7DF7FB6AE4492BFABBFC28 /* PaymentIntents */ = { isa = PBXGroup; children = ( - 3122719B286E614C0007ED5E /* Analytic+Payments.swift */, - 3122719A286E614C0007ED5E /* STPAnalyticsClient+Payments.swift */, + BC977A7A5BF69E9D783CFB01 /* STPConfirmAlipayOptions.swift */, + 7CE7DBFDCD8676DB9F60C96F /* STPConfirmBLIKOptions.swift */, + 7B56A5D5A1ECF4C62BC2AE64 /* STPConfirmCardOptions.swift */, + 535A112409DAB226749A688C /* STPConfirmPaymentMethodOptions.swift */, + 34CB5AD8FDE347B19ED2D9CD /* STPConfirmUSBankAccountOptions.swift */, + 030B54DF945D8ED922A55CDF /* STPConfirmWeChatPayOptions.swift */, + 5CB73EF9F5BD015434BAB5E8 /* STPPaymentIntent.swift */, + 1D6907CEA19CDF0A587BFDB8 /* STPPaymentIntentAction.swift */, + 9850E5BC24407862EAEEE2BA /* STPPaymentIntentActionRedirectToURL.swift */, + 2BD1E8C2A561AF7E6CDFCD97 /* STPPaymentIntentEnums.swift */, + 5212EA8107E8CEC838262D99 /* STPPaymentIntentLastPaymentError.swift */, + 31E9110C4EB3A3D185DC8D00 /* STPPaymentIntentParams.swift */, + B71B50D1ABEA53CE45BAFA74 /* STPPaymentIntentShippingDetails.swift */, + 5CB97088726E660840DA856F /* STPPaymentIntentShippingDetailsAddress.swift */, + 63E3C264676712B260FCF600 /* STPPaymentIntentShippingDetailsAddressParams.swift */, + F17DA86F78359636574C4B6C /* STPPaymentIntentShippingDetailsParams.swift */, + EE2F503300363DCBB8096E59 /* STPPaymentIntentSourceAction.swift */, + 1F568A9F42118EF13A5537D3 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift */, ); - path = Analytics; + path = PaymentIntents; sourceTree = ""; }; - 3139D250286E34A700C9744B = { + 5E1A4D43803B3B6B27BC909C /* SetupIntents */ = { isa = PBXGroup; children = ( - 31138E8E28DE53CC008AF554 /* BuildConfigurations */, - 3139D25C286E34A700C9744B /* StripePayments */, - 3139D266286E34A800C9744B /* StripePaymentsTests */, - 3139D25B286E34A700C9744B /* Products */, - 31227167286E56260007ED5E /* Frameworks */, + DC36BA79484AC42BB5BC1707 /* STPSetupIntent.swift */, + 31CBA061716922E978337D26 /* STPSetupIntentConfirmParams.swift */, + E579E736ECC6A0064D3984D1 /* STPSetupIntentEnums.swift */, + 30084144A82FEC59D4791CCE /* STPSetupIntentLastSetupError.swift */, ); + path = SetupIntents; sourceTree = ""; }; - 3139D25B286E34A700C9744B /* Products */ = { + 68BC1175D7D6D0AC3B871934 /* Categories */ = { isa = PBXGroup; children = ( - 3139D25A286E34A700C9744B /* StripePayments.framework */, - 3139D262286E34A800C9744B /* StripePaymentsTests.xctest */, + 480E9503640B668172950214 /* Enums+CustomStringConvertible.swift */, ); - name = Products; + path = Categories; sourceTree = ""; }; - 3139D25C286E34A700C9744B /* StripePayments */ = { + 9A6E05AA460A559025FD0CE8 /* Frameworks */ = { isa = PBXGroup; children = ( - 31F7EBC828F787120007C0BB /* Resources */, - 31138E6728DBBB5C008AF554 /* Categories */, - 3122712E286E43E90007ED5E /* Helpers */, - 31227119286E43870007ED5E /* PaymentHandler */, - 31227107286E41320007ED5E /* Internal */, - 31EBFBD3286E357E00911FA9 /* API Bindings */, - 3139D25D286E34A700C9744B /* StripePayments.h */, + 9EE713DECC09F6AEE37E96F7 /* XCTest.framework */, ); - path = StripePayments; + name = Frameworks; sourceTree = ""; }; - 3139D266286E34A800C9744B /* StripePaymentsTests */ = { + 9B75653A857383561112C72D /* StripePaymentsTests */ = { isa = PBXGroup; children = ( - 3139D267286E34A800C9744B /* StripePaymentsTests.swift */, - 31DCB11C28F4EEB6002EF128 /* STPAnalyticsClient+StripePayments.swift */, + E697F4BF96E20E6EB766A762 /* Info.plist */, + F4E97EEB6FFF42428F389A23 /* STPAnalyticsClient+StripePayments.swift */, ); path = StripePaymentsTests; sourceTree = ""; }; - 314D27A6286E35E5000076C8 /* Models */ = { + ACE94104BD164C4A6D5087B0 = { isa = PBXGroup; children = ( - 314D27CB286E3611000076C8 /* Sources */, - 314D27CA286E360C000076C8 /* Shared */, - 314D27C9286E3608000076C8 /* SetupIntents */, - 314D27C8286E35FE000076C8 /* PaymentMethods */, - 314D27C7286E35F9000076C8 /* PaymentIntents */, - 31DCB10928F4CF04002EF128 /* ACH */, - 314D27AE286E35EF000076C8 /* STPAddress.swift */, - 314D27AA286E35EF000076C8 /* STPAPIResponseDecodable.swift */, - 314D27A9286E35EF000076C8 /* STPCardBrand.swift */, - 314D27AD286E35EF000076C8 /* STPConnectAccountAddress.swift */, - 314D27AF286E35EF000076C8 /* STPConnectAccountCompanyParams.swift */, - 314D27B5286E35F0000076C8 /* STPConnectAccountIndividualParams.swift */, - 314D27B3286E35F0000076C8 /* STPConnectAccountParams.swift */, - 314D27B1286E35EF000076C8 /* STPContactField.swift */, - 314D27B6286E35F0000076C8 /* STPCustomer.swift */, - 314D27AC286E35EF000076C8 /* STPFile.swift */, - 314D27B4286E35F0000076C8 /* STPFormEncodable.swift */, - 314D27B2286E35EF000076C8 /* STPFPXBankBrand.swift */, - 314D27A8286E35EE000076C8 /* STPiDEALBank.swift */, - 314D27B0286E35EF000076C8 /* STPIssuingCardPin.swift */, - 314D27A7286E35EE000076C8 /* STPRadarSession.swift */, - 314D27AB286E35EF000076C8 /* STPToken.swift */, + D6E8C2145E8597764E1905CF /* Project */, + 9A6E05AA460A559025FD0CE8 /* Frameworks */, + EF8057CDBF0F6D1E9BE23C96 /* Products */, ); - path = Models; sourceTree = ""; }; - 314D27C7286E35F9000076C8 /* PaymentIntents */ = { + AF12BD8F89F1B9E5CBE96B0F /* PaymentHandler */ = { isa = PBXGroup; children = ( - 314D289A286E368C000076C8 /* STPConfirmAlipayOptions.swift */, - 314D2896286E368C000076C8 /* STPConfirmBLIKOptions.swift */, - 314D288F286E368B000076C8 /* STPConfirmCardOptions.swift */, - 314D289B286E368C000076C8 /* STPConfirmPaymentMethodOptions.swift */, - 314D288E286E368B000076C8 /* STPConfirmUSBankAccountOptions.swift */, - 314D288D286E368B000076C8 /* STPConfirmWeChatPayOptions.swift */, - 314D2892286E368B000076C8 /* STPPaymentIntent.swift */, - 314D2898286E368C000076C8 /* STPPaymentIntentAction.swift */, - 314D2893286E368B000076C8 /* STPPaymentIntentActionRedirectToURL.swift */, - 314D2895286E368B000076C8 /* STPPaymentIntentEnums.swift */, - 314D289D286E368C000076C8 /* STPPaymentIntentLastPaymentError.swift */, - 314D2899286E368C000076C8 /* STPPaymentIntentParams.swift */, - 314D2894286E368B000076C8 /* STPPaymentIntentShippingDetails.swift */, - 314D289C286E368C000076C8 /* STPPaymentIntentShippingDetailsAddress.swift */, - 314D288C286E368B000076C8 /* STPPaymentIntentShippingDetailsAddressParams.swift */, - 314D2897286E368C000076C8 /* STPPaymentIntentShippingDetailsParams.swift */, - 314D2891286E368B000076C8 /* STPPaymentIntentSourceAction.swift */, - 314D2890286E368B000076C8 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift */, + E8D7E95C2E3AFDC73944ACE1 /* STPAuthenticationContext.swift */, + 4793029D06EBFBCB62CF48DC /* STPPaymentHandler.swift */, + A34532BE5AE969B943477E83 /* STPThreeDSButtonCustomization.swift */, + B458CF0D5A7EE56A02D750F2 /* STPThreeDSCustomizationSettings.swift */, + BFA320893378702C28DC8FD0 /* STPThreeDSFooterCustomization.swift */, + 6CC7BD1E3971B7E4EAE98F40 /* STPThreeDSLabelCustomization.swift */, + 6E944B8DCD7712C42DD065B4 /* STPThreeDSNavigationBarCustomization.swift */, + 9D09DACDA19A39FEA08B75CA /* STPThreeDSSelectionCustomization.swift */, + B3EB844AA65B6F391E76B2B4 /* STPThreeDSTextFieldCustomization.swift */, + D07382674619AEF657397B21 /* STPThreeDSUICustomization.swift */, ); - path = PaymentIntents; + path = PaymentHandler; sourceTree = ""; }; - 314D27C8286E35FE000076C8 /* PaymentMethods */ = { + BB7183059F69B63F3EBB3317 /* ACH */ = { isa = PBXGroup; children = ( - 314D2882286E367F000076C8 /* STPPaymentMethod.swift */, - 314D2885286E3680000076C8 /* STPPaymentMethodAddress.swift */, - 314D2884286E3680000076C8 /* STPPaymentMethodBillingDetails.swift */, - 314D2886286E3680000076C8 /* STPPaymentMethodEnums.swift */, - 314D2883286E3680000076C8 /* STPPaymentMethodParams.swift */, - 314D27CD286E3625000076C8 /* Types */, + 51899EDD11947FDAD2C82D97 /* LinkAccountSession.swift */, + 4FED7EC426D937D69C4B2D3B /* STPCollectBankAccountParams.swift */, ); - path = PaymentMethods; + path = ACH; sourceTree = ""; }; - 314D27C9286E3608000076C8 /* SetupIntents */ = { + C7DC8B9CB4E4EC80F7235F2A /* Internal */ = { isa = PBXGroup; children = ( - 314D287C286E3675000076C8 /* STPSetupIntent.swift */, - 314D287D286E3675000076C8 /* STPSetupIntentConfirmParams.swift */, - 314D287A286E3675000076C8 /* STPSetupIntentEnums.swift */, - 314D287B286E3675000076C8 /* STPSetupIntentLastSetupError.swift */, + 3D76A22F29DA377FEAC740D7 /* Analytics */, + D4A1835C6C7E71002C0B703E /* API Bindings */, + 4835A73894061488903E06BA /* Categories */, + 4407DD85229E48EE47D5F582 /* Helpers */, + 82A8215A6A33B131F5F37D27 /* STPPaymentHandlerActionParams.swift */, ); - path = SetupIntents; + path = Internal; sourceTree = ""; }; - 314D27CA286E360C000076C8 /* Shared */ = { + C88720CECA03C96A02FAE3B0 /* PaymentMethods */ = { isa = PBXGroup; children = ( - 314D2868286E3663000076C8 /* STPIntentAction.swift */, - 314D2867286E3663000076C8 /* STPIntentActionAlipayHandleRedirect.swift */, - 314D2869286E3663000076C8 /* STPIntentActionBoletoDisplayDetails.swift */, - 314D2865286E3663000076C8 /* STPIntentActionOXXODisplayDetails.swift */, - 314D286A286E3663000076C8 /* STPIntentActionRedirectToURL.swift */, - 314D286B286E3663000076C8 /* STPIntentActionVerifyWithMicrodeposits.swift */, - 314D286C286E3664000076C8 /* STPIntentActionWeChatPayRedirectToApp.swift */, - 314D2863286E3663000076C8 /* LinkSettings.swift */, - 314D286D286E3664000076C8 /* STPMandateCustomerAcceptanceParams.swift */, - 314D2862286E3662000076C8 /* STPMandateDataParams.swift */, - 314D2866286E3663000076C8 /* STPMandateOnlineParams.swift */, - 314D2864286E3663000076C8 /* STPPaymentMethodOptions.swift */, + F5DD0264A45F81BD35ABB78D /* Types */, + FC802E2459BD87F3BA519146 /* STPPaymentMethod.swift */, + D3403BA8AC9DAEAAEF288879 /* STPPaymentMethodAddress.swift */, + BD67688E9F954452E0FCF962 /* STPPaymentMethodBillingDetails.swift */, + 6BF260394EEC61199F0EABF8 /* STPPaymentMethodEnums.swift */, + A3367B526CA353E89C5589BB /* STPPaymentMethodParams.swift */, ); - path = Shared; + path = PaymentMethods; sourceTree = ""; }; - 314D27CB286E3611000076C8 /* Sources */ = { + D2402C80F5D774F12342CC59 /* Helpers */ = { isa = PBXGroup; children = ( - 314D2855286E3656000076C8 /* STPSource.swift */, - 314D2859286E3657000076C8 /* STPSourceEnums.swift */, - 314D2857286E3656000076C8 /* STPSourceOwner.swift */, - 314D2852286E3656000076C8 /* STPSourceParams.swift */, - 314D2856286E3656000076C8 /* STPSourceProtocol.swift */, - 314D2858286E3657000076C8 /* STPSourceReceiver.swift */, - 314D2853286E3656000076C8 /* STPSourceRedirect.swift */, - 314D2854286E3656000076C8 /* STPSourceVerification.swift */, - 314D27CC286E3621000076C8 /* Types */, + 182D34C4338F9A7C214BEB6B /* STPBankAccountCollector.swift */, + 9014B29558BB1B58C8981FBB /* STPBINController.swift */, + 01AD8DAB423F22BE6FC2FFCB /* STPBlocks.swift */, + AC3901183AED6DD81C61BA10 /* STPCardValidator.swift */, + 086AC53333729531A067E435 /* STPLocalizedString.swift */, + 2382674B84CA7425010A90D9 /* STPPaymentConfirmation+SwiftUI.swift */, + 64C6DBBF4EED92890747C305 /* StripePayments+Export.swift */, + 468FAF1D4D81DB5F5854287B /* StripePaymentsBundleLocator.swift */, ); - path = Sources; + path = Helpers; sourceTree = ""; }; - 314D27CC286E3621000076C8 /* Types */ = { + D4A1835C6C7E71002C0B703E /* API Bindings */ = { isa = PBXGroup; children = ( - 314D2843286E364A000076C8 /* STPBankAccount.swift */, - 314D2846286E364A000076C8 /* STPBankAccountParams.swift */, - 314D2845286E364A000076C8 /* STPCard.swift */, - 314D2841286E364A000076C8 /* STPCardParams.swift */, - 314D2840286E364A000076C8 /* STPKlarnaLineItem.swift */, - 314D2848286E364B000076C8 /* STPSourceCardDetails.swift */, - 314D2847286E364B000076C8 /* STPSourceKlarnaDetails.swift */, - 314D2844286E364A000076C8 /* STPSourceSEPADebitDetails.swift */, - 314D2842286E364A000076C8 /* STPSourceWeChatPayDetails.swift */, + 1F389AD4EFAB548EB2EF9815 /* APIRequest.swift */, + 1BB277BE8AD5E974F3A76815 /* STP3DS2AuthenticateResponse.swift */, + BF3A468E66C9F9ED8A850555 /* STPEmptyStripeResponse.swift */, + 5F7F214A072869D24123AAD3 /* STPFormEncoder.swift */, + DFFFFC2E4C5D51B2BCA2A0EA /* STPIntentActionUseStripeSDK.swift */, + 01FC96365AFC2C12A12CF9B1 /* STPInternalAPIResponseDecodable.swift */, + B2A8093227C83054A7EA3E1D /* STPPaymentMethodListDeserializer.swift */, + 57E0E4AB5741502E4CD5436D /* STPSourcePoller.swift */, ); - path = Types; + path = "API Bindings"; sourceTree = ""; }; - 314D27CD286E3625000076C8 /* Types */ = { + D6E8C2145E8597764E1905CF /* Project */ = { isa = PBXGroup; children = ( - 314D27CF286E3636000076C8 /* STPPaymentMethodAffirm.swift */, - 314D27D3286E3636000076C8 /* STPPaymentMethodAffirmParams.swift */, - 314D27CE286E3636000076C8 /* STPPaymentMethodAfterpayClearpay.swift */, - 314D27FA286E363A000076C8 /* STPPaymentMethodAfterpayClearpayParams.swift */, - 314D27DA286E3637000076C8 /* STPPaymentMethodAlipay.swift */, - 314D2803286E363B000076C8 /* STPPaymentMethodAlipayParams.swift */, - 314D27D1286E3636000076C8 /* STPPaymentMethodAUBECSDebit.swift */, - 314D2801286E363B000076C8 /* STPPaymentMethodAUBECSDebitParams.swift */, - 314D27D0286E3636000076C8 /* STPPaymentMethodBacsDebit.swift */, - 314D27E3286E3638000076C8 /* STPPaymentMethodBacsDebitParams.swift */, - 314D2804286E363B000076C8 /* STPPaymentMethodBancontact.swift */, - 314D27FC286E363A000076C8 /* STPPaymentMethodBancontactParams.swift */, - 314D27EF286E3639000076C8 /* STPPaymentMethodBLIK.swift */, - 314D27E7286E3638000076C8 /* STPPaymentMethodBLIKParams.swift */, - 314D27F7286E363A000076C8 /* STPPaymentMethodBoleto.swift */, - 314D27D8286E3637000076C8 /* STPPaymentMethodBoletoParams.swift */, - 314D27EE286E3639000076C8 /* STPPaymentMethodCard.swift */, - 314D27F5286E363A000076C8 /* STPPaymentMethodCardChecks.swift */, - 314D2805286E363B000076C8 /* STPPaymentMethodCardNetworks.swift */, - 314D27E1286E3638000076C8 /* STPPaymentMethodCardParams.swift */, - 314D27EA286E3639000076C8 /* STPPaymentMethodCardPresent.swift */, - 314D27D2286E3636000076C8 /* STPPaymentMethodCardWallet.swift */, - 314D27DC286E3637000076C8 /* STPPaymentMethodCardWalletMasterpass.swift */, - 314D27F9286E363A000076C8 /* STPPaymentMethodCardWalletVisaCheckout.swift */, - 314D27D5286E3636000076C8 /* STPPaymentMethodEPS.swift */, - 314D27D9286E3637000076C8 /* STPPaymentMethodEPSParams.swift */, - 314D27E9286E3638000076C8 /* STPPaymentMethodFPX.swift */, - 314D27D7286E3637000076C8 /* STPPaymentMethodFPXParams.swift */, - 314D27EC286E3639000076C8 /* STPPaymentMethodGiropay.swift */, - 314D27F2286E3639000076C8 /* STPPaymentMethodGiropayParams.swift */, - 314D27FE286E363B000076C8 /* STPPaymentMethodGrabPay.swift */, - 314D27FF286E363B000076C8 /* STPPaymentMethodGrabPayParams.swift */, - 314D27F4286E363A000076C8 /* STPPaymentMethodiDEAL.swift */, - 314D2800286E363B000076C8 /* STPPaymentMethodiDEALParams.swift */, - 314D27DE286E3637000076C8 /* STPPaymentMethodKlarna.swift */, - 314D27DF286E3637000076C8 /* STPPaymentMethodKlarnaParams.swift */, - 314D27F3286E3639000076C8 /* STPPaymentMethodLink.swift */, - 314D27EB286E3639000076C8 /* STPPaymentMethodLinkParams.swift */, - 314D27F1286E3639000076C8 /* STPPaymentMethodNetBanking.swift */, - 314D27DD286E3637000076C8 /* STPPaymentMethodNetBankingParams.swift */, - 314D27E0286E3638000076C8 /* STPPaymentMethodOXXO.swift */, - 314D27DB286E3637000076C8 /* STPPaymentMethodOXXOParams.swift */, - 314D27D6286E3637000076C8 /* STPPaymentMethodPayPal.swift */, - 314D27F6286E363A000076C8 /* STPPaymentMethodPayPalParams.swift */, - 314D27D4286E3636000076C8 /* STPPaymentMethodPrzelewy24.swift */, - 314D27FD286E363B000076C8 /* STPPaymentMethodPrzelewy24Params.swift */, - 314D27FB286E363A000076C8 /* STPPaymentMethodSEPADebit.swift */, - 314D27ED286E3639000076C8 /* STPPaymentMethodSEPADebitParams.swift */, - 314D27E5286E3638000076C8 /* STPPaymentMethodSofort.swift */, - 314D27E6286E3638000076C8 /* STPPaymentMethodSofortParams.swift */, - 314D27F8286E363A000076C8 /* STPPaymentMethodThreeDSecureUsage.swift */, - 314D27E8286E3638000076C8 /* STPPaymentMethodUPI.swift */, - 314D2802286E363B000076C8 /* STPPaymentMethodUPIParams.swift */, - 314D27F0286E3639000076C8 /* STPPaymentMethodUSBankAccount.swift */, - 314D27E4286E3638000076C8 /* STPPaymentMethodUSBankAccountParams.swift */, - 314D2806286E363B000076C8 /* STPPaymentMethodWeChatPay.swift */, - 314D27E2286E3638000076C8 /* STPPaymentMethodWeChatPayParams.swift */, + DAFF97F173BFBD48A55102DB /* BuildConfigurations */, + 3005E0BF2F91B3A67DB6AECB /* StripePayments */, + 9B75653A857383561112C72D /* StripePaymentsTests */, ); - path = Types; + name = Project; sourceTree = ""; }; - 31DCB10928F4CF04002EF128 /* ACH */ = { + DAFF97F173BFBD48A55102DB /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 31DCB10E28F4CF57002EF128 /* LinkAccountSession.swift */, - 31DCB10A28F4CF04002EF128 /* STPCollectBankAccountParams.swift */, + FA2A43E10D6EF3CCCC7A379F /* Project-Debug.xcconfig */, + D9C59B2D92DDEC0B9A0E9379 /* Project-Release.xcconfig */, + D241D01F717B2991D4946283 /* StripeiOS Tests-Debug.xcconfig */, + 9C1765710FB6104D69982D20 /* StripeiOS Tests-Release.xcconfig */, + 6A7CE39E853BD92ABE59F8EA /* StripeiOS-Debug.xcconfig */, + A3BA665404FD4B327A775906 /* StripeiOS-Release.xcconfig */, ); - path = ACH; + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; - 31EBFBD3286E357E00911FA9 /* API Bindings */ = { + DD78CC2F04F493810045211F /* API Bindings */ = { isa = PBXGroup; children = ( - 314D27A6286E35E5000076C8 /* Models */, - 31EBFBEA286E359800911FA9 /* Legacy Compatability */, - 31EBFBD6286E358B00911FA9 /* STPAPIClient+Payments.swift */, - 31DCB10C28F4CF23002EF128 /* STPAPIClient+LinkAccountSession.swift */, - 31EBFBD8286E358B00911FA9 /* STPAPIClient+Radar.swift */, - 31EBFBD9286E358B00911FA9 /* STPAPIClient+ApplePay.swift */, - 31EBFBDE286E358C00911FA9 /* STPRedirectContext.swift */, + E19D90F6CEA4D6A4AE0ED51E /* Legacy Compatability */, + 2646693731499ED1464C5C65 /* Models */, + 1022A3EF6E7E45DCC798CE69 /* STPAPIClient+ApplePay.swift */, + 504E775D9573225145FD38CD /* STPAPIClient+LinkAccountSession.swift */, + 9A56DB8D9DBDED3F7670438E /* STPAPIClient+Payments.swift */, + E4B5A6D8BDF71478FEE72916 /* STPAPIClient+Radar.swift */, + 982A049F2314C96F8CCD803E /* STPRedirectContext.swift */, ); path = "API Bindings"; sourceTree = ""; }; - 31EBFBEA286E359800911FA9 /* Legacy Compatability */ = { + E19D90F6CEA4D6A4AE0ED51E /* Legacy Compatability */ = { isa = PBXGroup; children = ( - 314D279F286E35C9000076C8 /* StripeApplePay+Import.swift */, - 314D279E286E35C8000076C8 /* StripeCore+Import.swift */, - 314D27A1286E35C9000076C8 /* StripeAPI+Deprecated.swift */, + 79474677BB54C562AB4053A3 /* StripeAPI+Deprecated.swift */, + 4802B9CDC9D9F4D479EA050B /* StripeApplePay+Import.swift */, + 9B084347AEF2EDD7D1589E3F /* StripeCore+Import.swift */, ); path = "Legacy Compatability"; sourceTree = ""; }; - 31F7EBC828F787120007C0BB /* Resources */ = { + EF8057CDBF0F6D1E9BE23C96 /* Products */ = { isa = PBXGroup; children = ( - 31F7EBC928F787120007C0BB /* Localizations */, + 93327A70BDB39DA521BAE777 /* Stripe3DS2.framework */, + 719D0377278FA11F93E19637 /* StripeCore.framework */, + 14358A02B8BB13A20E0047DB /* StripePayments.framework */, + 285E76CBE4327A796BAF4477 /* StripePaymentsTests.xctest */, + C414324AE12AF801E67C946A /* StripeUICore.framework */, ); - path = Resources; + name = Products; sourceTree = ""; }; - 31F7EBC928F787120007C0BB /* Localizations */ = { + F5DD0264A45F81BD35ABB78D /* Types */ = { isa = PBXGroup; children = ( - 31F7EBCA28F787120007C0BB /* Localizable.strings */, + 68B0890585C6D8D33AB0D888 /* STPPaymentMethodAffirm.swift */, + AE3CBC01F0A15D28914DB070 /* STPPaymentMethodAffirmParams.swift */, + C0E6839FB4FC9CA2A9EAAC4F /* STPPaymentMethodAfterpayClearpay.swift */, + FD1783A022B54EC14C164F7B /* STPPaymentMethodAfterpayClearpayParams.swift */, + BBF5E4108B8BF1C30BECC326 /* STPPaymentMethodAlipay.swift */, + 41418F4AD32E5182FFFA7445 /* STPPaymentMethodAlipayParams.swift */, + 8BB1D8D7ABB0AC1B87FC0057 /* STPPaymentMethodAUBECSDebit.swift */, + 78593A2B7B8705A9E88BD915 /* STPPaymentMethodAUBECSDebitParams.swift */, + 83C040209FB6165F70AA7E97 /* STPPaymentMethodBacsDebit.swift */, + E06C3BF5EB7272C646558A6A /* STPPaymentMethodBacsDebitParams.swift */, + 38C7F01487694566A35BB319 /* STPPaymentMethodBancontact.swift */, + 4D99D2C6C436F6FAFB3960EE /* STPPaymentMethodBancontactParams.swift */, + D0F35F376C5BE0824BFCF86F /* STPPaymentMethodBLIK.swift */, + 48EE0DEDAB9A8BFF0523FF9F /* STPPaymentMethodBLIKParams.swift */, + B96D695818084C70BB532B5E /* STPPaymentMethodBoleto.swift */, + AC41428418864827CD1C6832 /* STPPaymentMethodBoletoParams.swift */, + 204FF6CABEA202A2789D031F /* STPPaymentMethodCard.swift */, + C7099F6C39ACC26748E0E591 /* STPPaymentMethodCardChecks.swift */, + 2F88748219C996299A86CD06 /* STPPaymentMethodCardNetworks.swift */, + 7E65A77F0C67935245705641 /* STPPaymentMethodCardParams.swift */, + E07996C977656429F3CCDC9A /* STPPaymentMethodCardPresent.swift */, + CEFD8715EEA4EECD411465FB /* STPPaymentMethodCardWallet.swift */, + EB9F7234C5EBCBE6848E0216 /* STPPaymentMethodCardWalletMasterpass.swift */, + 373B2754D51299A60DE459C7 /* STPPaymentMethodCardWalletVisaCheckout.swift */, + DABCA7D3C2103189243C48DB /* STPPaymentMethodEPS.swift */, + EEF1AAF60A7A0A75D009229C /* STPPaymentMethodEPSParams.swift */, + 161E1414061B7E2B7C36AE9C /* STPPaymentMethodFPX.swift */, + 67B4857EBF4A49993CC040DB /* STPPaymentMethodFPXParams.swift */, + 444BEF2E8A83B5B489062595 /* STPPaymentMethodGiropay.swift */, + 9BD48DA905074C771CD15082 /* STPPaymentMethodGiropayParams.swift */, + 53061ED71F9E2162BEE5DF21 /* STPPaymentMethodGrabPay.swift */, + 936809D71641931604F5FEAE /* STPPaymentMethodGrabPayParams.swift */, + A93D74B51EA12509851F76A5 /* STPPaymentMethodiDEAL.swift */, + 0574FD7A9235404B44683208 /* STPPaymentMethodiDEALParams.swift */, + 43286FD965D64ADB5D787561 /* STPPaymentMethodKlarna.swift */, + B9F83C7EDA9903D041E4C001 /* STPPaymentMethodKlarnaParams.swift */, + E99B164CDD13E8F5C9CAD349 /* STPPaymentMethodLink.swift */, + 3E397BCD2C450E4770A278DA /* STPPaymentMethodLinkParams.swift */, + 48A73DA27ABEC6115513F315 /* STPPaymentMethodNetBanking.swift */, + 80DC82D6BCE42502F71F8796 /* STPPaymentMethodNetBankingParams.swift */, + 8DCAF9C6479868993596880A /* STPPaymentMethodOXXO.swift */, + E4F59A24701CB3FE96477631 /* STPPaymentMethodOXXOParams.swift */, + 412E99389545879B417389C4 /* STPPaymentMethodPayPal.swift */, + F0D4C9FA6229E7CF5E6194ED /* STPPaymentMethodPayPalParams.swift */, + 87D831C6DA4AB5D9B467B0D4 /* STPPaymentMethodPrzelewy24.swift */, + E9F62603F7B02487027BFB14 /* STPPaymentMethodPrzelewy24Params.swift */, + 73EBE0964419EFA62BDBC467 /* STPPaymentMethodSEPADebit.swift */, + B091F2D139863DA3967E6596 /* STPPaymentMethodSEPADebitParams.swift */, + 11A528DF98B54E7ACFFED8EE /* STPPaymentMethodSofort.swift */, + D093EFAC2C8F0B310EBD10C4 /* STPPaymentMethodSofortParams.swift */, + AAF9D5F617E73723DDB03F6F /* STPPaymentMethodThreeDSecureUsage.swift */, + 6DBD496FE1C28C32185C60BF /* STPPaymentMethodUPI.swift */, + 0105DFAE5504CD3A1AAE89B5 /* STPPaymentMethodUPIParams.swift */, + 03D01E809A78E4DC7FB87A2D /* STPPaymentMethodUSBankAccount.swift */, + 208127DD5118F21D896C0711 /* STPPaymentMethodUSBankAccountParams.swift */, + 5C27780E7E42FDBE450941C0 /* STPPaymentMethodWeChatPay.swift */, + C740B96CCCC754A1CB19D44C /* STPPaymentMethodWeChatPayParams.swift */, + ); + path = Types; + sourceTree = ""; + }; + F63A7C52A77C9B7EAEF8A8B3 /* Localizations */ = { + isa = PBXGroup; + children = ( + 8CF87D59CF2A90D49C892805 /* Localizable.strings */, ); path = Localizations; sourceTree = ""; }; + FEA45221BBB022756BA567DA /* Types */ = { + isa = PBXGroup; + children = ( + BF3EDB3190B6BAE43C10933E /* STPBankAccount.swift */, + 2922BFE76F6D620BEC45AFC4 /* STPBankAccountParams.swift */, + 93E11A00882478686027A2A0 /* STPCard.swift */, + DFA6071616ABA9D79DB6AE6A /* STPCardParams.swift */, + 58D9CA66AADE5C04D6E9E4E6 /* STPKlarnaLineItem.swift */, + F609CFD0BA68E23080585BFF /* STPSourceCardDetails.swift */, + DD2E3BD11D7685BDD8CF015B /* STPSourceKlarnaDetails.swift */, + A808C34CAC5E742359A02301 /* STPSourceSEPADebitDetails.swift */, + FD7066361C878D63B86F22D8 /* STPSourceWeChatPayDetails.swift */, + ); + path = Types; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 3139D255286E34A700C9744B /* Headers */ = { + A9BE7AAAF6A18145FD518923 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3139D269286E34A800C9744B /* StripePayments.h in Headers */, + 0D354D6321274CA6F330321C /* StripePayments.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3139D259286E34A700C9744B /* StripePayments */ = { + 0A35A66495209E60ADD254A3 /* StripePayments */ = { isa = PBXNativeTarget; - buildConfigurationList = 3139D26C286E34A800C9744B /* Build configuration list for PBXNativeTarget "StripePayments" */; + buildConfigurationList = 9BEB2FF03675DA8D056EB8A1 /* Build configuration list for PBXNativeTarget "StripePayments" */; buildPhases = ( - 3139D255286E34A700C9744B /* Headers */, - 3139D256286E34A700C9744B /* Sources */, - 3139D257286E34A700C9744B /* Frameworks */, - 3139D258286E34A700C9744B /* Resources */, + A9BE7AAAF6A18145FD518923 /* Headers */, + D86F579296000356F354CD0B /* Sources */, + 1B816EC8E49E98942F48C2E9 /* Resources */, + C629408049D468B0BD2CC7B8 /* Embed Frameworks */, + F4E7F9C969CC883368E5E6D2 /* Frameworks */, ); buildRules = ( ); @@ -902,116 +937,107 @@ ); name = StripePayments; productName = StripePayments; - productReference = 3139D25A286E34A700C9744B /* StripePayments.framework */; + productReference = 14358A02B8BB13A20E0047DB /* StripePayments.framework */; productType = "com.apple.product-type.framework"; }; - 3139D261286E34A800C9744B /* StripePaymentsTests */ = { + 82D53FD79169DC5CBF54660A /* StripePaymentsTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 3139D26F286E34A800C9744B /* Build configuration list for PBXNativeTarget "StripePaymentsTests" */; + buildConfigurationList = EBB4142CD9F0BF767D3D6FA7 /* Build configuration list for PBXNativeTarget "StripePaymentsTests" */; buildPhases = ( - 3139D25E286E34A800C9744B /* Sources */, - 3139D25F286E34A800C9744B /* Frameworks */, - 3139D260286E34A800C9744B /* Resources */, + 254A0A3F2FAD2B14973500BC /* Sources */, + B2D2BF5B62D5161700476612 /* Resources */, + 88C61E84DC4D6F273183F403 /* Embed Frameworks */, + 07D3C53710CC5D504447CB17 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 3139D265286E34A800C9744B /* PBXTargetDependency */, + 7E1F84B47558462138D30A05 /* PBXTargetDependency */, ); name = StripePaymentsTests; productName = StripePaymentsTests; - productReference = 3139D262286E34A800C9744B /* StripePaymentsTests.xctest */; + productReference = 285E76CBE4327A796BAF4477 /* StripePaymentsTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 3139D251286E34A700C9744B /* Project object */ = { + 210BD3F4F563E5F03D66CD21 /* Project object */ = { isa = PBXProject; attributes = { - BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1340; - LastUpgradeCheck = 1400; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 3139D259286E34A700C9744B = { - CreatedOnToolsVersion = 13.4; - }; - 3139D261286E34A800C9744B = { - CreatedOnToolsVersion = 13.4; - }; }; }; - buildConfigurationList = 3139D254286E34A700C9744B /* Build configuration list for PBXProject "StripePayments" */; + buildConfigurationList = 5A01FF60E8D43A3D0A551FF5 /* Build configuration list for PBXProject "StripePayments" */; compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + "bg-BG", + "ca-ES", + "cs-CZ", + da, de, - "lt-LT", - "zh-Hans", - ja, "el-GR", - "ms-MY", - "zh-HK", - mt, - nb, - "ca-ES", + en, "en-GB", es, - da, "es-419", - it, - "nn-NO", - "fr-CA", - "bg-BG", - sv, - ko, - fil, - "zh-Hant", - tk, - "ro-RO", - hu, - tr, "et-EE", - "pt-BR", - "lv-LV", - vi, - ru, - "cs-CZ", - "sk-SK", - "sl-SI", - fr, fi, + fil, + fr, + "fr-CA", + hr, + hu, id, + it, + ja, + ko, + "lt-LT", + "lv-LV", + "ms-MY", + mt, + nb, nl, + "nn-NO", "pl-PL", + "pt-BR", "pt-PT", - hr, + "ro-RO", + ru, + "sk-SK", + "sl-SI", + sv, + tk, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = 3139D250286E34A700C9744B; - productRefGroup = 3139D25B286E34A700C9744B /* Products */; + mainGroup = ACE94104BD164C4A6D5087B0; + productRefGroup = EF8057CDBF0F6D1E9BE23C96 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 3139D259286E34A700C9744B /* StripePayments */, - 3139D261286E34A800C9744B /* StripePaymentsTests */, + 0A35A66495209E60ADD254A3 /* StripePayments */, + 82D53FD79169DC5CBF54660A /* StripePaymentsTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 3139D258286E34A700C9744B /* Resources */ = { + 1B816EC8E49E98942F48C2E9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31F7EBF528F787120007C0BB /* Localizable.strings in Resources */, + 66D2408081606C1E379ADB4C /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3139D260286E34A800C9744B /* Resources */ = { + B2D2BF5B62D5161700476612 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -1021,253 +1047,253 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 3139D256286E34A700C9744B /* Sources */ = { + 254A0A3F2FAD2B14973500BC /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 314D281E286E363C000076C8 /* STPPaymentMethodSofort.swift in Sources */, - 314D2826286E363C000076C8 /* STPPaymentMethodSEPADebitParams.swift in Sources */, - 31227130286E44890007ED5E /* STPCardValidator.swift in Sources */, - 314D28AF286E368C000076C8 /* STPPaymentIntentLastPaymentError.swift in Sources */, - 314D28A5286E368C000076C8 /* STPPaymentIntentActionRedirectToURL.swift in Sources */, - 31DCB11128F4CFE9002EF128 /* ConnectionsSDKAvailability.swift in Sources */, - 314D282E286E363C000076C8 /* STPPaymentMethodCardChecks.swift in Sources */, - 314D281A286E363B000076C8 /* STPPaymentMethodCardParams.swift in Sources */, - 3122724D2876427A0007ED5E /* STPAPIClient+PaymentsCore.swift in Sources */, - 314D2818286E363B000076C8 /* STPPaymentMethodKlarnaParams.swift in Sources */, - 314D2879286E3664000076C8 /* STPMandateCustomerAcceptanceParams.swift in Sources */, - 31EBFBE1286E358C00911FA9 /* STPAPIClient+Payments.swift in Sources */, - 314D2825286E363C000076C8 /* STPPaymentMethodGiropay.swift in Sources */, - 314D27BA286E35F0000076C8 /* STPAPIResponseDecodable.swift in Sources */, - 314D2814286E363B000076C8 /* STPPaymentMethodOXXOParams.swift in Sources */, - 3122719F286E62C80007ED5E /* NSDecimalNumber+Stripe_Currency.swift in Sources */, - 314D283F286E363C000076C8 /* STPPaymentMethodWeChatPay.swift in Sources */, - 31227118286E414A0007ED5E /* STPEmptyStripeResponse.swift in Sources */, - 3122713F286E54BA0007ED5E /* NSDictionary+Stripe.swift in Sources */, - 314D282A286E363C000076C8 /* STPPaymentMethodNetBanking.swift in Sources */, - 314D2878286E3664000076C8 /* STPIntentActionWeChatPayRedirectToApp.swift in Sources */, - 3122712C286E43A00007ED5E /* STPThreeDSCustomizationSettings.swift in Sources */, - 314D28AB286E368C000076C8 /* STPPaymentIntentParams.swift in Sources */, - 314D2870286E3664000076C8 /* STPPaymentMethodOptions.swift in Sources */, - 314D2875286E3664000076C8 /* STPIntentActionBoletoDisplayDetails.swift in Sources */, - 314D2830286E363C000076C8 /* STPPaymentMethodBoleto.swift in Sources */, - 314D2832286E363C000076C8 /* STPPaymentMethodCardWalletVisaCheckout.swift in Sources */, - 31227175286E56D50007ED5E /* STPBINController.swift in Sources */, - 314D2872286E3664000076C8 /* STPMandateOnlineParams.swift in Sources */, - 314D2835286E363C000076C8 /* STPPaymentMethodBancontactParams.swift in Sources */, - 314D2874286E3664000076C8 /* STPIntentAction.swift in Sources */, - 3122719D286E614C0007ED5E /* Analytic+Payments.swift in Sources */, - 314D2809286E363B000076C8 /* STPPaymentMethodBacsDebit.swift in Sources */, - 314D2838286E363C000076C8 /* STPPaymentMethodGrabPayParams.swift in Sources */, - 314D2808286E363B000076C8 /* STPPaymentMethodAffirm.swift in Sources */, - 314D288A286E3680000076C8 /* STPPaymentMethodAddress.swift in Sources */, - 314D284B286E364B000076C8 /* STPSourceWeChatPayDetails.swift in Sources */, - 314D2829286E363C000076C8 /* STPPaymentMethodUSBankAccount.swift in Sources */, - 314D288B286E3680000076C8 /* STPPaymentMethodEnums.swift in Sources */, - 314D27A5286E35C9000076C8 /* StripeAPI+Deprecated.swift in Sources */, - 314D2824286E363C000076C8 /* STPPaymentMethodLinkParams.swift in Sources */, - 314D2828286E363C000076C8 /* STPPaymentMethodBLIK.swift in Sources */, - 314D28AC286E368C000076C8 /* STPConfirmAlipayOptions.swift in Sources */, - 314D284F286E364B000076C8 /* STPBankAccountParams.swift in Sources */, - 314D287E286E3675000076C8 /* STPSetupIntentEnums.swift in Sources */, - 314D2889286E3680000076C8 /* STPPaymentMethodBillingDetails.swift in Sources */, - 314D2831286E363C000076C8 /* STPPaymentMethodThreeDSecureUsage.swift in Sources */, - 314D27B9286E35F0000076C8 /* STPCardBrand.swift in Sources */, - 314D287F286E3675000076C8 /* STPSetupIntentLastSetupError.swift in Sources */, - 314D28A6286E368C000076C8 /* STPPaymentIntentShippingDetails.swift in Sources */, - 314D2836286E363C000076C8 /* STPPaymentMethodPrzelewy24Params.swift in Sources */, - 314D28A3286E368C000076C8 /* STPPaymentIntentSourceAction.swift in Sources */, - 314D2812286E363B000076C8 /* STPPaymentMethodEPSParams.swift in Sources */, - 31227114286E414A0007ED5E /* STP3DS2AuthenticateResponse.swift in Sources */, - 314D2880286E3675000076C8 /* STPSetupIntent.swift in Sources */, - 314D27A3286E35C9000076C8 /* StripeApplePay+Import.swift in Sources */, - 31227125286E43A00007ED5E /* STPThreeDSSelectionCustomization.swift in Sources */, - 31227115286E414A0007ED5E /* STPPaymentMethodListDeserializer.swift in Sources */, - 314D282C286E363C000076C8 /* STPPaymentMethodLink.swift in Sources */, - 314D282B286E363C000076C8 /* STPPaymentMethodGiropayParams.swift in Sources */, - 314D282F286E363C000076C8 /* STPPaymentMethodPayPalParams.swift in Sources */, - 314D28A7286E368C000076C8 /* STPPaymentIntentEnums.swift in Sources */, - 314D283C286E363C000076C8 /* STPPaymentMethodAlipayParams.swift in Sources */, - 314D27BF286E35F0000076C8 /* STPConnectAccountCompanyParams.swift in Sources */, - 314D28A0286E368C000076C8 /* STPConfirmUSBankAccountOptions.swift in Sources */, - 314D280C286E363B000076C8 /* STPPaymentMethodAffirmParams.swift in Sources */, - 314D285A286E3657000076C8 /* STPSourceParams.swift in Sources */, - 314D2813286E363B000076C8 /* STPPaymentMethodAlipay.swift in Sources */, - 314D2807286E363B000076C8 /* STPPaymentMethodAfterpayClearpay.swift in Sources */, - 314D2817286E363B000076C8 /* STPPaymentMethodKlarna.swift in Sources */, - 31DCB10828F4CEAC002EF128 /* STPBankAccountCollector.swift in Sources */, - 314D289E286E368C000076C8 /* STPPaymentIntentShippingDetailsAddressParams.swift in Sources */, - 3122719C286E614C0007ED5E /* STPAnalyticsClient+Payments.swift in Sources */, - 314D280A286E363B000076C8 /* STPPaymentMethodAUBECSDebit.swift in Sources */, - 3122713C286E455C0007ED5E /* STPPaymentHandlerActionParams.swift in Sources */, - 31DCB10F28F4CF57002EF128 /* LinkAccountSession.swift in Sources */, - 314D283A286E363C000076C8 /* STPPaymentMethodAUBECSDebitParams.swift in Sources */, - 314D285E286E3657000076C8 /* STPSourceProtocol.swift in Sources */, - 314D284E286E364B000076C8 /* STPCard.swift in Sources */, - 314D280D286E363B000076C8 /* STPPaymentMethodPrzelewy24.swift in Sources */, - 314D2816286E363B000076C8 /* STPPaymentMethodNetBankingParams.swift in Sources */, - 314D284D286E364B000076C8 /* STPSourceSEPADebitDetails.swift in Sources */, - 314D27B7286E35F0000076C8 /* STPRadarSession.swift in Sources */, - 31227129286E43A00007ED5E /* STPAuthenticationContext.swift in Sources */, - 314D2810286E363B000076C8 /* STPPaymentMethodFPXParams.swift in Sources */, - 31227116286E414A0007ED5E /* STPInternalAPIResponseDecodable.swift in Sources */, - 314D27C2286E35F0000076C8 /* STPFPXBankBrand.swift in Sources */, - 31227203287629B90007ED5E /* StripePayments+Export.swift in Sources */, - 314D2834286E363C000076C8 /* STPPaymentMethodSEPADebit.swift in Sources */, - 314D28A9286E368C000076C8 /* STPPaymentIntentShippingDetailsParams.swift in Sources */, - 314D2877286E3664000076C8 /* STPIntentActionVerifyWithMicrodeposits.swift in Sources */, - 314D27C0286E35F0000076C8 /* STPIssuingCardPin.swift in Sources */, - 314D28A1286E368C000076C8 /* STPConfirmCardOptions.swift in Sources */, - 314D28AE286E368C000076C8 /* STPPaymentIntentShippingDetailsAddress.swift in Sources */, - 314D28A4286E368C000076C8 /* STPPaymentIntent.swift in Sources */, - 314D2861286E3657000076C8 /* STPSourceEnums.swift in Sources */, - 314D280B286E363B000076C8 /* STPPaymentMethodCardWallet.swift in Sources */, - 314D2820286E363C000076C8 /* STPPaymentMethodBLIKParams.swift in Sources */, - 314D289F286E368C000076C8 /* STPConfirmWeChatPayOptions.swift in Sources */, - 3122712B286E43A00007ED5E /* STPThreeDSTextFieldCustomization.swift in Sources */, - 314D27C3286E35F0000076C8 /* STPConnectAccountParams.swift in Sources */, - 314D27BC286E35F0000076C8 /* STPFile.swift in Sources */, - 314D281C286E363B000076C8 /* STPPaymentMethodBacsDebitParams.swift in Sources */, - 314D27BE286E35F0000076C8 /* STPAddress.swift in Sources */, - 314D27BD286E35F0000076C8 /* STPConnectAccountAddress.swift in Sources */, - 314D2851286E364B000076C8 /* STPSourceCardDetails.swift in Sources */, - 314D280F286E363B000076C8 /* STPPaymentMethodPayPal.swift in Sources */, - 314D2823286E363C000076C8 /* STPPaymentMethodCardPresent.swift in Sources */, - 314D27BB286E35F0000076C8 /* STPToken.swift in Sources */, - 314D285D286E3657000076C8 /* STPSource.swift in Sources */, - 31EBFBE3286E358C00911FA9 /* STPAPIClient+Radar.swift in Sources */, - 314D27C4286E35F0000076C8 /* STPFormEncodable.swift in Sources */, - 31EBFBE9286E358C00911FA9 /* STPRedirectContext.swift in Sources */, - 31227117286E414A0007ED5E /* STPSourcePoller.swift in Sources */, - 31EBFBE4286E358C00911FA9 /* STPAPIClient+ApplePay.swift in Sources */, - 3122712A286E43A00007ED5E /* STPPaymentHandler.swift in Sources */, - 314D2888286E3680000076C8 /* STPPaymentMethodParams.swift in Sources */, - 314D2827286E363C000076C8 /* STPPaymentMethodCard.swift in Sources */, - 31227148286E555B0007ED5E /* STPLocalizedString.swift in Sources */, - 314D2849286E364B000076C8 /* STPKlarnaLineItem.swift in Sources */, - 314D27A2286E35C9000076C8 /* StripeCore+Import.swift in Sources */, - 31227127286E43A00007ED5E /* STPThreeDSUICustomization.swift in Sources */, - 314D283B286E363C000076C8 /* STPPaymentMethodUPIParams.swift in Sources */, - 314D27C6286E35F0000076C8 /* STPCustomer.swift in Sources */, - 314D281D286E363C000076C8 /* STPPaymentMethodUSBankAccountParams.swift in Sources */, - 314D28A2286E368C000076C8 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift in Sources */, - 314D2850286E364B000076C8 /* STPSourceKlarnaDetails.swift in Sources */, - 31227112286E414A0007ED5E /* STPIntentActionUseStripeSDK.swift in Sources */, - 314D286F286E3664000076C8 /* LinkSettings.swift in Sources */, - 314D28A8286E368C000076C8 /* STPConfirmBLIKOptions.swift in Sources */, - 314D285C286E3657000076C8 /* STPSourceVerification.swift in Sources */, - 314D2811286E363B000076C8 /* STPPaymentMethodBoletoParams.swift in Sources */, - 314D2873286E3664000076C8 /* STPIntentActionAlipayHandleRedirect.swift in Sources */, - 31227126286E43A00007ED5E /* STPThreeDSNavigationBarCustomization.swift in Sources */, - 314D2837286E363C000076C8 /* STPPaymentMethodGrabPay.swift in Sources */, - 314D2815286E363B000076C8 /* STPPaymentMethodCardWalletMasterpass.swift in Sources */, - 314D2822286E363C000076C8 /* STPPaymentMethodFPX.swift in Sources */, - 314D27C5286E35F0000076C8 /* STPConnectAccountIndividualParams.swift in Sources */, - 3122714A286E557F0007ED5E /* StripePaymentsBundleLocator.swift in Sources */, - 31227132286E448E0007ED5E /* STPBlocks.swift in Sources */, - 314D280E286E363B000076C8 /* STPPaymentMethodEPS.swift in Sources */, - 314D27C1286E35F0000076C8 /* STPContactField.swift in Sources */, - 314D2821286E363C000076C8 /* STPPaymentMethodUPI.swift in Sources */, - 314D2871286E3664000076C8 /* STPIntentActionOXXODisplayDetails.swift in Sources */, - 314D284A286E364B000076C8 /* STPCardParams.swift in Sources */, - 31DCB10D28F4CF23002EF128 /* STPAPIClient+LinkAccountSession.swift in Sources */, - 314D283E286E363C000076C8 /* STPPaymentMethodCardNetworks.swift in Sources */, - 314D282D286E363C000076C8 /* STPPaymentMethodiDEAL.swift in Sources */, - 314D2887286E3680000076C8 /* STPPaymentMethod.swift in Sources */, - 314D286E286E3664000076C8 /* STPMandateDataParams.swift in Sources */, - 314D28AD286E368C000076C8 /* STPConfirmPaymentMethodOptions.swift in Sources */, - 314D2833286E363C000076C8 /* STPPaymentMethodAfterpayClearpayParams.swift in Sources */, - 314D28AA286E368C000076C8 /* STPPaymentIntentAction.swift in Sources */, - 3122712D286E43A00007ED5E /* STPThreeDSFooterCustomization.swift in Sources */, - 314D283D286E363C000076C8 /* STPPaymentMethodBancontact.swift in Sources */, - 3122718E286E5C6C0007ED5E /* NSArray+Stripe.swift in Sources */, - 314D284C286E364B000076C8 /* STPBankAccount.swift in Sources */, - 31DCB10B28F4CF04002EF128 /* STPCollectBankAccountParams.swift in Sources */, - 314D2839286E363C000076C8 /* STPPaymentMethodiDEALParams.swift in Sources */, - 314D285B286E3657000076C8 /* STPSourceRedirect.swift in Sources */, - 31227128286E43A00007ED5E /* STPThreeDSLabelCustomization.swift in Sources */, - 314D2881286E3675000076C8 /* STPSetupIntentConfirmParams.swift in Sources */, - 314D2819286E363B000076C8 /* STPPaymentMethodOXXO.swift in Sources */, - 314D281B286E363B000076C8 /* STPPaymentMethodWeChatPayParams.swift in Sources */, - 3122718C286E5C360007ED5E /* NSString+Stripe.swift in Sources */, - 314D2876286E3664000076C8 /* STPIntentActionRedirectToURL.swift in Sources */, - 31227124286E43A00007ED5E /* STPThreeDSButtonCustomization.swift in Sources */, - 314D281F286E363C000076C8 /* STPPaymentMethodSofortParams.swift in Sources */, - 314D285F286E3657000076C8 /* STPSourceOwner.swift in Sources */, - 31227134286E44AB0007ED5E /* STPPaymentConfirmation+SwiftUI.swift in Sources */, - 31227113286E414A0007ED5E /* STPFormEncoder.swift in Sources */, - 31138E6928DBBB70008AF554 /* Enums+CustomStringConvertible.swift in Sources */, - 314D2860286E3657000076C8 /* STPSourceReceiver.swift in Sources */, - 31227111286E414A0007ED5E /* APIRequest.swift in Sources */, - 314D27B8286E35F0000076C8 /* STPiDEALBank.swift in Sources */, + E41DEAD4308F273B8B192FAB /* STPAnalyticsClient+StripePayments.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3139D25E286E34A800C9744B /* Sources */ = { + D86F579296000356F354CD0B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3139D268286E34A800C9744B /* StripePaymentsTests.swift in Sources */, - 31DCB11D28F4EEB6002EF128 /* STPAnalyticsClient+StripePayments.swift in Sources */, + 78DD210269D85D83D6D4A87C /* StripeAPI+Deprecated.swift in Sources */, + 42C624FBE88EAB43B14F82A9 /* StripeApplePay+Import.swift in Sources */, + 02698991542836F0834FA013 /* StripeCore+Import.swift in Sources */, + 14F7613FC00DEB719DCB0B90 /* LinkAccountSession.swift in Sources */, + 81273890FC0D587732E7B16E /* STPCollectBankAccountParams.swift in Sources */, + 7C851B7E1C3B36D18BB15706 /* STPConfirmAlipayOptions.swift in Sources */, + 0E5EF1AFCCA0D7B932D173F8 /* STPConfirmBLIKOptions.swift in Sources */, + 1A15D7B4A9F15422B62B2774 /* STPConfirmCardOptions.swift in Sources */, + E856CEE7FFF917C1A7FFA07E /* STPConfirmPaymentMethodOptions.swift in Sources */, + E707DF79DC65CE06729503E4 /* STPConfirmUSBankAccountOptions.swift in Sources */, + 00200DEC59380311F223D3DA /* STPConfirmWeChatPayOptions.swift in Sources */, + CED39C5743F5ED10A8012D65 /* STPPaymentIntent.swift in Sources */, + FCDC32F6448B09F464A7F09E /* STPPaymentIntentAction.swift in Sources */, + C80A979CB3B453DF248C6339 /* STPPaymentIntentActionRedirectToURL.swift in Sources */, + 466FD050408B0678FE5B60FC /* STPPaymentIntentEnums.swift in Sources */, + B59B706A4935CAAC42113526 /* STPPaymentIntentLastPaymentError.swift in Sources */, + 0D03C74718AC07502E0C47E4 /* STPPaymentIntentParams.swift in Sources */, + E4CF13E10D8F317B704AFFAE /* STPPaymentIntentShippingDetails.swift in Sources */, + 98D4EC200247138A4AC89DB5 /* STPPaymentIntentShippingDetailsAddress.swift in Sources */, + D7A66D12E933BD2ABBB59148 /* STPPaymentIntentShippingDetailsAddressParams.swift in Sources */, + 5571DEA0B75A19184E69813F /* STPPaymentIntentShippingDetailsParams.swift in Sources */, + 77990E2F33FBDB74AEC3D410 /* STPPaymentIntentSourceAction.swift in Sources */, + C0B54A6D4B079A65F7DA6772 /* STPPaymentIntentSourceActionAuthorizeWithURL.swift in Sources */, + 7309D5A475371AF0BF93E608 /* STPPaymentMethod.swift in Sources */, + 6AF719654B7BC4062C1AF65C /* STPPaymentMethodAddress.swift in Sources */, + D63B4186EB3461366C8CF533 /* STPPaymentMethodBillingDetails.swift in Sources */, + D758E7EE398D4E72DE9F0F57 /* STPPaymentMethodEnums.swift in Sources */, + 1E26C29F65205466B9437811 /* STPPaymentMethodParams.swift in Sources */, + 2E5D133D1E203027C08DEDF0 /* STPPaymentMethodAUBECSDebit.swift in Sources */, + EC587986A9D69C5A5B180879 /* STPPaymentMethodAUBECSDebitParams.swift in Sources */, + A90639B7690FA9A8C5267561 /* STPPaymentMethodAffirm.swift in Sources */, + 610DB7FAF395AEBE6CBEFAC8 /* STPPaymentMethodAffirmParams.swift in Sources */, + 0A0F8D842C98441D08F8D14E /* STPPaymentMethodAfterpayClearpay.swift in Sources */, + 7D1A50DC86AA9993EB1640E9 /* STPPaymentMethodAfterpayClearpayParams.swift in Sources */, + 47677A8DE9E3D36E3392F7DE /* STPPaymentMethodAlipay.swift in Sources */, + 2A2E28C3C248CBE96D52A192 /* STPPaymentMethodAlipayParams.swift in Sources */, + 7FFBE4CBDC4D3476819CBF4A /* STPPaymentMethodBLIK.swift in Sources */, + D56C720AFB3ABAEED747181F /* STPPaymentMethodBLIKParams.swift in Sources */, + 6F3835CEBF9618207F8332AA /* STPPaymentMethodBacsDebit.swift in Sources */, + 2BFBE84BD5718D4D8D4718D8 /* STPPaymentMethodBacsDebitParams.swift in Sources */, + 17083CBB3962C5ADB155EEF4 /* STPPaymentMethodBancontact.swift in Sources */, + 34B8762E977C25C6F715C7C6 /* STPPaymentMethodBancontactParams.swift in Sources */, + 754AA58F8D3AE8431E01D47E /* STPPaymentMethodBoleto.swift in Sources */, + 01328A80E436C968E4545922 /* STPPaymentMethodBoletoParams.swift in Sources */, + 0F425B8D48AF9AFAD1F2215C /* STPPaymentMethodCard.swift in Sources */, + 93149624FE8596E1A3EFB2CF /* STPPaymentMethodCardChecks.swift in Sources */, + 8DC22AD0DCB12D4320685EEB /* STPPaymentMethodCardNetworks.swift in Sources */, + 9B0CB20827FD677EB3A21105 /* STPPaymentMethodCardParams.swift in Sources */, + 8C32D6C0D9CA9423FB305383 /* STPPaymentMethodCardPresent.swift in Sources */, + CFF09B0AF845EABFBDF4DB73 /* STPPaymentMethodCardWallet.swift in Sources */, + A3D7AB30E65C972E13F93439 /* STPPaymentMethodCardWalletMasterpass.swift in Sources */, + 2BF8EE1CBF8C363A42B6EDA6 /* STPPaymentMethodCardWalletVisaCheckout.swift in Sources */, + C27F356B376711748348CF7A /* STPPaymentMethodEPS.swift in Sources */, + E64BE0DAFA6617118654F975 /* STPPaymentMethodEPSParams.swift in Sources */, + A2E2D049AA993AF599BA8809 /* STPPaymentMethodFPX.swift in Sources */, + A9231C8069634103E2FC26C8 /* STPPaymentMethodFPXParams.swift in Sources */, + 4C7486A126100F8F067F248A /* STPPaymentMethodGiropay.swift in Sources */, + 968ACAE7BCF64BE4FCFD1816 /* STPPaymentMethodGiropayParams.swift in Sources */, + A597225EF1B685E0C6D60EE5 /* STPPaymentMethodGrabPay.swift in Sources */, + B8DE9EA6B244FAA0E5964282 /* STPPaymentMethodGrabPayParams.swift in Sources */, + 10D66ECAA6DAD43F672D27F7 /* STPPaymentMethodKlarna.swift in Sources */, + 5AD1149C1E6E5639514417B8 /* STPPaymentMethodKlarnaParams.swift in Sources */, + 63200203FD7EFE05901CB191 /* STPPaymentMethodLink.swift in Sources */, + E9DE9FDAF4C3B73E387EFCF7 /* STPPaymentMethodLinkParams.swift in Sources */, + 9CBE7C1776C15DA13861ED70 /* STPPaymentMethodNetBanking.swift in Sources */, + D0F6FFED5BE9947097990BE6 /* STPPaymentMethodNetBankingParams.swift in Sources */, + F7FCB1AB78C57461C2B07A0C /* STPPaymentMethodOXXO.swift in Sources */, + 75C5CAAE1A4FE2A3D8646A9C /* STPPaymentMethodOXXOParams.swift in Sources */, + 9BB8120998A4FCBF683BD001 /* STPPaymentMethodPayPal.swift in Sources */, + 0921022765F92309BE302A47 /* STPPaymentMethodPayPalParams.swift in Sources */, + FF4920D38DBE96BC82EC8CCF /* STPPaymentMethodPrzelewy24.swift in Sources */, + 342EB5BE156C8431AEB1FD3F /* STPPaymentMethodPrzelewy24Params.swift in Sources */, + 55C995685E2A148844A4FDB6 /* STPPaymentMethodSEPADebit.swift in Sources */, + EDF68FBCFC0783C09D39E728 /* STPPaymentMethodSEPADebitParams.swift in Sources */, + 10706D322E0BB69A4D279202 /* STPPaymentMethodSofort.swift in Sources */, + AFDC58A9765E19DC00DB7DA1 /* STPPaymentMethodSofortParams.swift in Sources */, + BA5F60D575E6973BAA44EB4D /* STPPaymentMethodThreeDSecureUsage.swift in Sources */, + C20F8A272C0D8869FDF376BB /* STPPaymentMethodUPI.swift in Sources */, + F34C04E0C2A142C8CC05D902 /* STPPaymentMethodUPIParams.swift in Sources */, + 7173E36D0A3EB23E68469BD1 /* STPPaymentMethodUSBankAccount.swift in Sources */, + CE5CCAF7BE93DF58A0922B90 /* STPPaymentMethodUSBankAccountParams.swift in Sources */, + DFC9C2AB405B2060BD1F2226 /* STPPaymentMethodWeChatPay.swift in Sources */, + B8C35DE8D237AA591ED70C9A /* STPPaymentMethodWeChatPayParams.swift in Sources */, + 03A8995BD2286725969CDC9E /* STPPaymentMethodiDEAL.swift in Sources */, + D87B57BB41D406D98CC38E96 /* STPPaymentMethodiDEALParams.swift in Sources */, + 58A5121E267FADC02B2B2DC7 /* STPAPIResponseDecodable.swift in Sources */, + 68F9810F66FB2D6B278429D7 /* STPAddress.swift in Sources */, + E1FB907D22CB302F5BD46A55 /* STPCardBrand.swift in Sources */, + B6E825D62FBA049BF4FAF5E3 /* STPConnectAccountAddress.swift in Sources */, + ED3CEB51A664527751FAB6E6 /* STPConnectAccountCompanyParams.swift in Sources */, + DEFE4E522D5E082084A33A14 /* STPConnectAccountIndividualParams.swift in Sources */, + DB9AEA286985F3C64B0F4035 /* STPConnectAccountParams.swift in Sources */, + 13DA3803BEF593A2126A0A99 /* STPContactField.swift in Sources */, + 15867BBB56A73E740FE5CC4E /* STPCustomer.swift in Sources */, + EA3D613104589DA964C35073 /* STPFPXBankBrand.swift in Sources */, + 141AA8A68D0A8C385704CD7A /* STPFile.swift in Sources */, + B0FB058E602F6F63F2E00030 /* STPFormEncodable.swift in Sources */, + 59F5403292D00A4B9C335485 /* STPIssuingCardPin.swift in Sources */, + F86AF35CBA2995BFC5544D32 /* STPRadarSession.swift in Sources */, + 1AAFC737B6AA7CD6D1A83374 /* STPToken.swift in Sources */, + C1CC9D5BB7236FE08EAB168C /* STPiDEALBank.swift in Sources */, + ABDEED56ECE545675F5C3534 /* STPSetupIntent.swift in Sources */, + FDB1D6CBBF6A9BD4D53F3A82 /* STPSetupIntentConfirmParams.swift in Sources */, + 64407AEF1246EE91037E4073 /* STPSetupIntentEnums.swift in Sources */, + FBD81EE346071449583C8768 /* STPSetupIntentLastSetupError.swift in Sources */, + 444AE95CBDC08E7B1C89B0AB /* LinkSettings.swift in Sources */, + 3C9D065CBF635F3F5B9FBEA7 /* STPIntentAction.swift in Sources */, + 318FA6D5C77D81BB953FE3E2 /* STPIntentActionAlipayHandleRedirect.swift in Sources */, + 5D0D293AA8E98B21A4E519B2 /* STPIntentActionBoletoDisplayDetails.swift in Sources */, + 51A5F7214C5244B62A06DCEA /* STPIntentActionOXXODisplayDetails.swift in Sources */, + F09E36DA5BE2C175F5ED45B4 /* STPIntentActionRedirectToURL.swift in Sources */, + 8EB5A0156D519AF6E3723084 /* STPIntentActionVerifyWithMicrodeposits.swift in Sources */, + E2F60512657160C05151F465 /* STPIntentActionWeChatPayRedirectToApp.swift in Sources */, + 2B4DBC9AA9284BE1805C2A05 /* STPMandateCustomerAcceptanceParams.swift in Sources */, + 54D34D415DF33EA011588584 /* STPMandateDataParams.swift in Sources */, + 81AB693615F0AFD4EBBA38EB /* STPMandateOnlineParams.swift in Sources */, + 904CA4632D5F3FEA188290AC /* STPPaymentMethodOptions.swift in Sources */, + 9323AA1A0A765F749E54C506 /* STPSource.swift in Sources */, + CA18F1CF38F4D2B25C8D93C1 /* STPSourceEnums.swift in Sources */, + 0D656430E69EEB35C2B4C9CA /* STPSourceOwner.swift in Sources */, + B24F9DB6EC9AFE830AAA8433 /* STPSourceParams.swift in Sources */, + 525C95CFEE49951045AEB14C /* STPSourceProtocol.swift in Sources */, + F0328A6B9383F69950A584DE /* STPSourceReceiver.swift in Sources */, + 844A4741AF0DE635B9BED420 /* STPSourceRedirect.swift in Sources */, + 248F8672FFDDB8BC0E439E21 /* STPSourceVerification.swift in Sources */, + 54861C2AB76A157837C4A9D5 /* STPBankAccount.swift in Sources */, + E40C1D575A65F6F671574CD2 /* STPBankAccountParams.swift in Sources */, + 8D145DAF5357E51FBEC67C04 /* STPCard.swift in Sources */, + F5A6F7E73ECEC80D3351002A /* STPCardParams.swift in Sources */, + 25DCA686AC5B9E9E961F7498 /* STPKlarnaLineItem.swift in Sources */, + ECD17E9B0D13A2200A238E1F /* STPSourceCardDetails.swift in Sources */, + CF8A1ADADD2186407EBBBDCC /* STPSourceKlarnaDetails.swift in Sources */, + 3B90B29A1B6BCE36C93E5C94 /* STPSourceSEPADebitDetails.swift in Sources */, + 645789BA64D7822137F2B7BD /* STPSourceWeChatPayDetails.swift in Sources */, + B756C47DB92853FE963FEA2D /* STPAPIClient+ApplePay.swift in Sources */, + A0857C1CADDFF07B2A72431B /* STPAPIClient+LinkAccountSession.swift in Sources */, + AC99BA6881B43ACD3267AFB8 /* STPAPIClient+Payments.swift in Sources */, + B23F7FCC133E9C87C2A7DB26 /* STPAPIClient+Radar.swift in Sources */, + AE44E6302631DCCCB50AF7F8 /* STPRedirectContext.swift in Sources */, + 3AA85604F2D3F04F584C616E /* Enums+CustomStringConvertible.swift in Sources */, + 049CB212CD3D7E69F789BE59 /* STPBINController.swift in Sources */, + 9F670429C96CADA2BC705EDC /* STPBankAccountCollector.swift in Sources */, + 457AB5EDA3C13FF9FE9FBD9A /* STPBlocks.swift in Sources */, + B7C7040F66A5BBA92AA3E311 /* STPCardValidator.swift in Sources */, + CBFB5A1330C916D5DC95F6FF /* STPLocalizedString.swift in Sources */, + 520D1190E8D03B3CCFF7A286 /* STPPaymentConfirmation+SwiftUI.swift in Sources */, + 6F09091B2E770D0072201C45 /* StripePayments+Export.swift in Sources */, + 4A93430C40F5C73BC76447B2 /* StripePaymentsBundleLocator.swift in Sources */, + 96A7B692B904A071B9A7360F /* APIRequest.swift in Sources */, + 39E266BDF1C204EC2128A2DD /* STP3DS2AuthenticateResponse.swift in Sources */, + FD47138E45510EE53A4AD33A /* STPEmptyStripeResponse.swift in Sources */, + F5C6780CF3A62BF6818D695D /* STPFormEncoder.swift in Sources */, + 384210E1929D28576F1EF661 /* STPIntentActionUseStripeSDK.swift in Sources */, + 2EF5C661CF25482E6CC14FE9 /* STPInternalAPIResponseDecodable.swift in Sources */, + DD67E6BCE76BE4073A26326D /* STPPaymentMethodListDeserializer.swift in Sources */, + E9D0230BC95ECBC088FF8E10 /* STPSourcePoller.swift in Sources */, + B472CF82B4F1CE69F308DC68 /* Analytic+Payments.swift in Sources */, + 8021C790E703EE5BF74DD2C5 /* STPAnalyticsClient+Payments.swift in Sources */, + 6541526D2141523AF9567D55 /* NSArray+Stripe.swift in Sources */, + 9893D9DC84A0AB2AA2230555 /* NSDecimalNumber+Stripe_Currency.swift in Sources */, + 84DF21A5711A6CB12B2EDBCA /* NSDictionary+Stripe.swift in Sources */, + BBC2EEFCD179683318E96CF0 /* NSString+Stripe.swift in Sources */, + FB33420154165650EAD32165 /* STPAPIClient+PaymentsCore.swift in Sources */, + BDE125EECCFD1E99CA93B887 /* ConnectionsSDKAvailability.swift in Sources */, + 712A4DA7F771CF0A7EC9A966 /* STPPaymentHandlerActionParams.swift in Sources */, + 24885AECE659B3067B8CF5E3 /* STPAuthenticationContext.swift in Sources */, + E6E3FE8EB1BC7337BEDF5C2E /* STPPaymentHandler.swift in Sources */, + F26537B65F934C33B122697D /* STPThreeDSButtonCustomization.swift in Sources */, + 6BE5D7C3F86951E73DAAEB6B /* STPThreeDSCustomizationSettings.swift in Sources */, + E15AF2A98601482762212A18 /* STPThreeDSFooterCustomization.swift in Sources */, + 71A589E7CCAEA272B9CC37AB /* STPThreeDSLabelCustomization.swift in Sources */, + AC555A609E63E94BCAA468C5 /* STPThreeDSNavigationBarCustomization.swift in Sources */, + D38818756D495C674E53AE6D /* STPThreeDSSelectionCustomization.swift in Sources */, + A3237EE0F57C848B708AE505 /* STPThreeDSTextFieldCustomization.swift in Sources */, + 4C9A78FBE900C635CC3AA400 /* STPThreeDSUICustomization.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3139D265286E34A800C9744B /* PBXTargetDependency */ = { + 7E1F84B47558462138D30A05 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3139D259286E34A700C9744B /* StripePayments */; - targetProxy = 3139D264286E34A800C9744B /* PBXContainerItemProxy */; + name = StripePayments; + target = 0A35A66495209E60ADD254A3 /* StripePayments */; + targetProxy = F8AE043E3348C400CA53C6A7 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 31F7EBCA28F787120007C0BB /* Localizable.strings */ = { + 8CF87D59CF2A90D49C892805 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 31F7EBCB28F787120007C0BB /* de */, - 31F7EBCC28F787120007C0BB /* lt-LT */, - 31F7EBCD28F787120007C0BB /* zh-Hans */, - 31F7EBCE28F787120007C0BB /* ja */, - 31F7EBCF28F787120007C0BB /* el-GR */, - 31F7EBD028F787120007C0BB /* ms-MY */, - 31F7EBD128F787120007C0BB /* en */, - 31F7EBD228F787120007C0BB /* zh-HK */, - 31F7EBD328F787120007C0BB /* mt */, - 31F7EBD428F787120007C0BB /* nb */, - 31F7EBD528F787120007C0BB /* ca-ES */, - 31F7EBD628F787120007C0BB /* en-GB */, - 31F7EBD728F787120007C0BB /* es */, - 31F7EBD828F787120007C0BB /* da */, - 31F7EBD928F787120007C0BB /* es-419 */, - 31F7EBDA28F787120007C0BB /* it */, - 31F7EBDB28F787120007C0BB /* nn-NO */, - 31F7EBDC28F787120007C0BB /* fr-CA */, - 31F7EBDD28F787120007C0BB /* bg-BG */, - 31F7EBDE28F787120007C0BB /* sv */, - 31F7EBDF28F787120007C0BB /* ko */, - 31F7EBE028F787120007C0BB /* fil */, - 31F7EBE128F787120007C0BB /* zh-Hant */, - 31F7EBE228F787120007C0BB /* tk */, - 31F7EBE328F787120007C0BB /* ro-RO */, - 31F7EBE428F787120007C0BB /* hu */, - 31F7EBE528F787120007C0BB /* tr */, - 31F7EBE628F787120007C0BB /* et-EE */, - 31F7EBE728F787120007C0BB /* pt-BR */, - 31F7EBE828F787120007C0BB /* lv-LV */, - 31F7EBE928F787120007C0BB /* vi */, - 31F7EBEA28F787120007C0BB /* ru */, - 31F7EBEB28F787120007C0BB /* cs-CZ */, - 31F7EBEC28F787120007C0BB /* sk-SK */, - 31F7EBED28F787120007C0BB /* sl-SI */, - 31F7EBEE28F787120007C0BB /* fr */, - 31F7EBEF28F787120007C0BB /* fi */, - 31F7EBF028F787120007C0BB /* id */, - 31F7EBF128F787120007C0BB /* nl */, - 31F7EBF228F787120007C0BB /* pl-PL */, - 31F7EBF328F787120007C0BB /* pt-PT */, - 31F7EBF428F787120007C0BB /* hr */, + F05014AF14B84F5FD403CBE3 /* bg-BG */, + 724CA8AE6C08330FF66E7515 /* ca-ES */, + F274A171E71E22BCDD040515 /* cs-CZ */, + 5A727AE60443CDFA86DF99EC /* da */, + 8A488E1ADA0DEFD9BB2222F5 /* de */, + 7426747490116908B56A30CF /* el-GR */, + B49A0767F78E4D4371484EC1 /* en */, + 146903A461196F8C4B791B24 /* en-GB */, + 7570EA850A0ED363CF16F92F /* es */, + 71CE9C847825E9E3779F48B7 /* es-419 */, + E3D47CB14B2D0D881CDFE9AC /* et-EE */, + D6655131EE24F94190D1C116 /* fi */, + C2247375DFA4A40C6C7C3BC0 /* fil */, + FB0AAC0CBC6E95BA011CC02A /* fr */, + 92F27143E2EACD3D4C898DF7 /* fr-CA */, + B649A131C87FCE592A5C8485 /* hr */, + 69C77D6D92668C1E541E3C0F /* hu */, + A8B78EDF21E929236F89ADCB /* id */, + 039EC8D931D5B5231025A1D0 /* it */, + 80934E9CBB6134D033361E26 /* ja */, + D154C6A732B3C7092566220A /* ko */, + BD1E84A6F94260DD706F95C7 /* lt-LT */, + BB5DD31D113122D1A22C8D7B /* lv-LV */, + 1CFF8363A0AB7F04766B3114 /* ms-MY */, + AE030180048E3DF393BF3BFF /* mt */, + FCB8DBEEC0F571E7BEB78D6C /* nb */, + A277EC102AAFEF5029D82569 /* nl */, + 90FCA038D0D7A1F3A2392626 /* nn-NO */, + 246048AA06A91263FF8D4603 /* pl-PL */, + 46074E7130DD491C6FEF8689 /* pt-BR */, + F1F72E1D891FE901F9AA1B4E /* pt-PT */, + ABF0CEF85DE6B556E4187F50 /* ro-RO */, + 867A8E3250A29985CAB7B292 /* ru */, + 6886DC50224DD807976C0D19 /* sk-SK */, + B0A6A16B40B7C6E6692CC346 /* sl-SI */, + 359FF7718254FCD446312BFA /* sv */, + C3693DA7672949B5DCFC5A97 /* tk */, + 8D49D430F729791CAD926414 /* tr */, + 7916F919EE5C31935F0CE53D /* vi */, + BC7FFDAB7B63D040B3B35B48 /* zh-Hans */, + ABBEF7D66C69E2A3DEBE6177 /* zh-Hant */, + CA58DFEBD2F9ADE14301B770 /* zh-HK */, ); name = Localizable.strings; sourceTree = ""; @@ -1275,139 +1301,103 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 3139D26A286E34A800C9744B /* Debug */ = { + 58B5A32CB16A13D33C26CEC1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138E9728DE53CC008AF554 /* Project-Debug.xcconfig */; + baseConfigurationReference = D9C59B2D92DDEC0B9A0E9379 /* Project-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; - name = Debug; + name = Release; }; - 3139D26B286E34A800C9744B /* Release */ = { + 7A6E94CEDF5DDE0BE629653C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138E9128DE53CC008AF554 /* Project-Release.xcconfig */; + baseConfigurationReference = 9C1765710FB6104D69982D20 /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + INFOPLIST_FILE = StripePaymentsTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentsTests; + PRODUCT_NAME = StripePaymentsTests; + SDKROOT = iphoneos; }; name = Release; }; - 3139D26D286E34A800C9744B /* Debug */ = { + 7C70C3B42C6A36650D853DD6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138E9028DE53CC008AF554 /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = D241D01F717B2991D4946283 /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payments"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripePaymentsTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentsTests; + PRODUCT_NAME = StripePaymentsTests; + SDKROOT = iphoneos; }; name = Debug; }; - 3139D26E286E34A800C9744B /* Release */ = { + 8D5F289F95515771ED1CA415 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138E9828DE53CC008AF554 /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = A3BA665404FD4B327A775906 /* StripeiOS-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; + INFOPLIST_FILE = StripePayments/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payments"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripePayments; + SDKROOT = iphoneos; }; name = Release; }; - 3139D270286E34A800C9744B /* Debug */ = { + D0E08A0C46E2E53899C9B456 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138E8F28DE53CC008AF554 /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = FA2A43E10D6EF3CCCC7A379F /* Project-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentsTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; }; name = Debug; }; - 3139D271286E34A800C9744B /* Release */ = { + E5D3D1D9CD42478420328B85 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138E9228DE53CC008AF554 /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = 6A7CE39E853BD92ABE59F8EA /* StripeiOS-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentsTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripePayments/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payments"; + PRODUCT_NAME = StripePayments; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3139D254286E34A700C9744B /* Build configuration list for PBXProject "StripePayments" */ = { + 5A01FF60E8D43A3D0A551FF5 /* Build configuration list for PBXProject "StripePayments" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3139D26A286E34A800C9744B /* Debug */, - 3139D26B286E34A800C9744B /* Release */, + D0E08A0C46E2E53899C9B456 /* Debug */, + 58B5A32CB16A13D33C26CEC1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3139D26C286E34A800C9744B /* Build configuration list for PBXNativeTarget "StripePayments" */ = { + 9BEB2FF03675DA8D056EB8A1 /* Build configuration list for PBXNativeTarget "StripePayments" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3139D26D286E34A800C9744B /* Debug */, - 3139D26E286E34A800C9744B /* Release */, + E5D3D1D9CD42478420328B85 /* Debug */, + 8D5F289F95515771ED1CA415 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3139D26F286E34A800C9744B /* Build configuration list for PBXNativeTarget "StripePaymentsTests" */ = { + EBB4142CD9F0BF767D3D6FA7 /* Build configuration list for PBXNativeTarget "StripePaymentsTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3139D270286E34A800C9744B /* Debug */, - 3139D271286E34A800C9744B /* Release */, + 7C70C3B42C6A36650D853DD6 /* Debug */, + 7A6E94CEDF5DDE0BE629653C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 3139D251286E34A700C9744B /* Project object */; + rootObject = 210BD3F4F563E5F03D66CD21 /* Project object */; } diff --git a/StripePayments/StripePayments.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripePayments/StripePayments.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripePayments/StripePayments.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripePayments/StripePayments.xcodeproj/xcshareddata/xcschemes/StripePayments.xcscheme b/StripePayments/StripePayments.xcodeproj/xcshareddata/xcschemes/StripePayments.xcscheme index cc74786746e..43e0e35d485 100644 --- a/StripePayments/StripePayments.xcodeproj/xcshareddata/xcschemes/StripePayments.xcscheme +++ b/StripePayments/StripePayments.xcodeproj/xcshareddata/xcschemes/StripePayments.xcscheme @@ -1,6 +1,6 @@ @@ -27,12 +27,21 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -50,6 +59,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + diff --git a/StripePayments/StripePayments/API Bindings/Legacy Compatability/StripeAPI+Deprecated.swift b/StripePayments/StripePayments/Source/API Bindings/Legacy Compatability/StripeAPI+Deprecated.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Legacy Compatability/StripeAPI+Deprecated.swift rename to StripePayments/StripePayments/Source/API Bindings/Legacy Compatability/StripeAPI+Deprecated.swift diff --git a/StripePayments/StripePayments/API Bindings/Legacy Compatability/StripeApplePay+Import.swift b/StripePayments/StripePayments/Source/API Bindings/Legacy Compatability/StripeApplePay+Import.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Legacy Compatability/StripeApplePay+Import.swift rename to StripePayments/StripePayments/Source/API Bindings/Legacy Compatability/StripeApplePay+Import.swift diff --git a/StripePayments/StripePayments/API Bindings/Legacy Compatability/StripeCore+Import.swift b/StripePayments/StripePayments/Source/API Bindings/Legacy Compatability/StripeCore+Import.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Legacy Compatability/StripeCore+Import.swift rename to StripePayments/StripePayments/Source/API Bindings/Legacy Compatability/StripeCore+Import.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/ACH/LinkAccountSession.swift b/StripePayments/StripePayments/Source/API Bindings/Models/ACH/LinkAccountSession.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/ACH/LinkAccountSession.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/ACH/LinkAccountSession.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/ACH/STPCollectBankAccountParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/ACH/STPCollectBankAccountParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/ACH/STPCollectBankAccountParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/ACH/STPCollectBankAccountParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmAlipayOptions.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmAlipayOptions.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmAlipayOptions.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmAlipayOptions.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmBLIKOptions.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmBLIKOptions.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmBLIKOptions.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmBLIKOptions.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmCardOptions.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmCardOptions.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmCardOptions.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmCardOptions.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmPaymentMethodOptions.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmPaymentMethodOptions.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmPaymentMethodOptions.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmPaymentMethodOptions.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmUSBankAccountOptions.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmUSBankAccountOptions.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmUSBankAccountOptions.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmUSBankAccountOptions.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmWeChatPayOptions.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmWeChatPayOptions.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPConfirmWeChatPayOptions.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmWeChatPayOptions.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntent.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntent.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntent.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntent.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentAction.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentAction.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentAction.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentAction.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentActionRedirectToURL.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentActionRedirectToURL.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentActionRedirectToURL.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentActionRedirectToURL.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentEnums.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentEnums.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentEnums.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentEnums.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentLastPaymentError.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentLastPaymentError.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentLastPaymentError.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentLastPaymentError.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetails.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetails.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetails.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetails.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddress.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddress.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddress.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddress.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddressParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddressParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddressParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddressParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceAction.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceAction.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceAction.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceAction.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceActionAuthorizeWithURL.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceActionAuthorizeWithURL.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceActionAuthorizeWithURL.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentSourceActionAuthorizeWithURL.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethod.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethod.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethod.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethod.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethodAddress.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodAddress.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethodAddress.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodAddress.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethodBillingDetails.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodBillingDetails.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethodBillingDetails.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodBillingDetails.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebit.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebit.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebit.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebit.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebitParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebitParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebitParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAUBECSDebitParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirm.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirm.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirm.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirm.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirmParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirmParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirmParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirmParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpay.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpay.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpay.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpay.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpayParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpayParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpayParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpayParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipay.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipay.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipay.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipay.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipayParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipayParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipayParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipayParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIK.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIK.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIK.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIK.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIKParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIKParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIKParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBLIKParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebit.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebit.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebit.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebit.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebitParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebitParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebitParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebitParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontact.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontact.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontact.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontact.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontactParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontactParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontactParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontactParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoleto.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoleto.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoleto.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoleto.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoletoParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoletoParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoletoParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBoletoParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCard.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCard.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCard.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCard.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardChecks.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardChecks.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardChecks.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardChecks.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardNetworks.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardNetworks.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardNetworks.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardNetworks.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardPresent.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardPresent.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardPresent.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardPresent.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWallet.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWallet.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWallet.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWallet.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletMasterpass.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletMasterpass.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletMasterpass.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletMasterpass.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletVisaCheckout.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletVisaCheckout.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletVisaCheckout.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletVisaCheckout.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPS.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPS.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPS.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPS.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPSParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPSParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPSParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodEPSParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPX.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPX.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPX.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPX.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPXParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPXParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPXParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodFPXParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropay.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropay.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropay.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropay.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropayParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropayParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropayParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGiropayParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPay.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPay.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPay.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPay.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPayParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPayParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPayParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGrabPayParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarna.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarna.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarna.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarna.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarnaParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarnaParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarnaParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKlarnaParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLink.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLink.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLink.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLink.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLinkParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLinkParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLinkParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodLinkParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBanking.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBanking.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBanking.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBanking.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBankingParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBankingParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBankingParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBankingParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXO.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXO.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXO.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXO.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXOParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXOParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXOParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXOParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPal.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPal.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPal.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPal.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPalParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPalParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPalParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPalParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24Params.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24Params.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24Params.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPrzelewy24Params.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebit.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebit.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebit.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebit.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebitParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebitParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebitParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSEPADebitParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofort.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofort.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofort.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofort.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofortParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofortParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofortParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodSofortParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodThreeDSecureUsage.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodThreeDSecureUsage.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodThreeDSecureUsage.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodThreeDSecureUsage.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPI.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPI.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPI.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPI.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPIParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPIParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPIParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUPIParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccount.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccount.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccount.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccount.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccountParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccountParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccountParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodUSBankAccountParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPay.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPay.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPay.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPay.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPayParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPayParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPayParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodWeChatPayParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEAL.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEAL.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEAL.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEAL.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEALParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEALParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEALParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodiDEALParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPAPIResponseDecodable.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPAPIResponseDecodable.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPAPIResponseDecodable.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPAPIResponseDecodable.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPAddress.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPAddress.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPAddress.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPAddress.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPCardBrand.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPCardBrand.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPCardBrand.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPCardBrand.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPConnectAccountAddress.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountAddress.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPConnectAccountAddress.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountAddress.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPConnectAccountCompanyParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountCompanyParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPConnectAccountCompanyParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountCompanyParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPConnectAccountIndividualParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountIndividualParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPConnectAccountIndividualParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountIndividualParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPConnectAccountParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPConnectAccountParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPContactField.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPContactField.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPContactField.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPContactField.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPCustomer.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPCustomer.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPCustomer.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPCustomer.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPFPXBankBrand.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPFPXBankBrand.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPFPXBankBrand.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPFPXBankBrand.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPFile.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPFile.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPFile.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPFile.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPFormEncodable.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPFormEncodable.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPFormEncodable.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPFormEncodable.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPIssuingCardPin.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPIssuingCardPin.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPIssuingCardPin.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPIssuingCardPin.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPRadarSession.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPRadarSession.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPRadarSession.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPRadarSession.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPToken.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPToken.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPToken.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPToken.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/STPiDEALBank.swift b/StripePayments/StripePayments/Source/API Bindings/Models/STPiDEALBank.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/STPiDEALBank.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/STPiDEALBank.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/SetupIntents/STPSetupIntent.swift b/StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntent.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/SetupIntents/STPSetupIntent.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntent.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/SetupIntents/STPSetupIntentConfirmParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntentConfirmParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/SetupIntents/STPSetupIntentConfirmParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntentConfirmParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/SetupIntents/STPSetupIntentEnums.swift b/StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntentEnums.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/SetupIntents/STPSetupIntentEnums.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntentEnums.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/SetupIntents/STPSetupIntentLastSetupError.swift b/StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntentLastSetupError.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/SetupIntents/STPSetupIntentLastSetupError.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntentLastSetupError.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/LinkSettings.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/LinkSettings.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/LinkSettings.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/LinkSettings.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentAction.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentAction.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionAlipayHandleRedirect.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionAlipayHandleRedirect.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionAlipayHandleRedirect.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionAlipayHandleRedirect.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionBoletoDisplayDetails.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionBoletoDisplayDetails.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionBoletoDisplayDetails.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionBoletoDisplayDetails.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionOXXODisplayDetails.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionOXXODisplayDetails.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionOXXODisplayDetails.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionOXXODisplayDetails.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionRedirectToURL.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionRedirectToURL.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionRedirectToURL.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionRedirectToURL.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionVerifyWithMicrodeposits.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionVerifyWithMicrodeposits.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionVerifyWithMicrodeposits.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionVerifyWithMicrodeposits.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionWeChatPayRedirectToApp.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionWeChatPayRedirectToApp.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPIntentActionWeChatPayRedirectToApp.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionWeChatPayRedirectToApp.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPMandateCustomerAcceptanceParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPMandateCustomerAcceptanceParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPMandateCustomerAcceptanceParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPMandateCustomerAcceptanceParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPMandateDataParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPMandateDataParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPMandateDataParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPMandateDataParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPMandateOnlineParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPMandateOnlineParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPMandateOnlineParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPMandateOnlineParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Shared/STPPaymentMethodOptions.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPPaymentMethodOptions.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Shared/STPPaymentMethodOptions.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPPaymentMethodOptions.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/STPSource.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSource.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/STPSource.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSource.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceEnums.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceEnums.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceEnums.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceEnums.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceOwner.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceOwner.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceOwner.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceOwner.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceProtocol.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceProtocol.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceProtocol.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceProtocol.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceReceiver.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceReceiver.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceReceiver.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceReceiver.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceRedirect.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceRedirect.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceRedirect.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceRedirect.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceVerification.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceVerification.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/STPSourceVerification.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSourceVerification.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPBankAccount.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPBankAccount.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPBankAccount.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPBankAccount.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPBankAccountParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPBankAccountParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPBankAccountParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPBankAccountParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPCard.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPCard.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPCard.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPCard.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPCardParams.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPCardParams.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPCardParams.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPCardParams.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPKlarnaLineItem.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPKlarnaLineItem.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPKlarnaLineItem.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPKlarnaLineItem.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPSourceCardDetails.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPSourceCardDetails.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPSourceCardDetails.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPSourceCardDetails.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPSourceKlarnaDetails.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPSourceKlarnaDetails.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPSourceKlarnaDetails.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPSourceKlarnaDetails.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPSourceSEPADebitDetails.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPSourceSEPADebitDetails.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPSourceSEPADebitDetails.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPSourceSEPADebitDetails.swift diff --git a/StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPSourceWeChatPayDetails.swift b/StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPSourceWeChatPayDetails.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/Models/Sources/Types/STPSourceWeChatPayDetails.swift rename to StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPSourceWeChatPayDetails.swift diff --git a/StripePayments/StripePayments/API Bindings/STPAPIClient+ApplePay.swift b/StripePayments/StripePayments/Source/API Bindings/STPAPIClient+ApplePay.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/STPAPIClient+ApplePay.swift rename to StripePayments/StripePayments/Source/API Bindings/STPAPIClient+ApplePay.swift diff --git a/StripePayments/StripePayments/API Bindings/STPAPIClient+LinkAccountSession.swift b/StripePayments/StripePayments/Source/API Bindings/STPAPIClient+LinkAccountSession.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/STPAPIClient+LinkAccountSession.swift rename to StripePayments/StripePayments/Source/API Bindings/STPAPIClient+LinkAccountSession.swift diff --git a/StripePayments/StripePayments/API Bindings/STPAPIClient+Payments.swift b/StripePayments/StripePayments/Source/API Bindings/STPAPIClient+Payments.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/STPAPIClient+Payments.swift rename to StripePayments/StripePayments/Source/API Bindings/STPAPIClient+Payments.swift diff --git a/StripePayments/StripePayments/API Bindings/STPAPIClient+Radar.swift b/StripePayments/StripePayments/Source/API Bindings/STPAPIClient+Radar.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/STPAPIClient+Radar.swift rename to StripePayments/StripePayments/Source/API Bindings/STPAPIClient+Radar.swift diff --git a/StripePayments/StripePayments/API Bindings/STPRedirectContext.swift b/StripePayments/StripePayments/Source/API Bindings/STPRedirectContext.swift similarity index 100% rename from StripePayments/StripePayments/API Bindings/STPRedirectContext.swift rename to StripePayments/StripePayments/Source/API Bindings/STPRedirectContext.swift diff --git a/StripePayments/StripePayments/Categories/Enums+CustomStringConvertible.swift b/StripePayments/StripePayments/Source/Categories/Enums+CustomStringConvertible.swift similarity index 100% rename from StripePayments/StripePayments/Categories/Enums+CustomStringConvertible.swift rename to StripePayments/StripePayments/Source/Categories/Enums+CustomStringConvertible.swift diff --git a/StripePayments/StripePayments/Helpers/STPBINController.swift b/StripePayments/StripePayments/Source/Helpers/STPBINController.swift similarity index 100% rename from StripePayments/StripePayments/Helpers/STPBINController.swift rename to StripePayments/StripePayments/Source/Helpers/STPBINController.swift diff --git a/StripePayments/StripePayments/Helpers/STPBankAccountCollector.swift b/StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift similarity index 100% rename from StripePayments/StripePayments/Helpers/STPBankAccountCollector.swift rename to StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift diff --git a/StripePayments/StripePayments/Helpers/STPBlocks.swift b/StripePayments/StripePayments/Source/Helpers/STPBlocks.swift similarity index 100% rename from StripePayments/StripePayments/Helpers/STPBlocks.swift rename to StripePayments/StripePayments/Source/Helpers/STPBlocks.swift diff --git a/StripePayments/StripePayments/Helpers/STPCardValidator.swift b/StripePayments/StripePayments/Source/Helpers/STPCardValidator.swift similarity index 100% rename from StripePayments/StripePayments/Helpers/STPCardValidator.swift rename to StripePayments/StripePayments/Source/Helpers/STPCardValidator.swift diff --git a/StripePayments/StripePayments/Helpers/STPLocalizedString.swift b/StripePayments/StripePayments/Source/Helpers/STPLocalizedString.swift similarity index 100% rename from StripePayments/StripePayments/Helpers/STPLocalizedString.swift rename to StripePayments/StripePayments/Source/Helpers/STPLocalizedString.swift diff --git a/StripePayments/StripePayments/Helpers/STPPaymentConfirmation+SwiftUI.swift b/StripePayments/StripePayments/Source/Helpers/STPPaymentConfirmation+SwiftUI.swift similarity index 100% rename from StripePayments/StripePayments/Helpers/STPPaymentConfirmation+SwiftUI.swift rename to StripePayments/StripePayments/Source/Helpers/STPPaymentConfirmation+SwiftUI.swift diff --git a/StripePayments/StripePayments/Helpers/StripePayments+Export.swift b/StripePayments/StripePayments/Source/Helpers/StripePayments+Export.swift similarity index 100% rename from StripePayments/StripePayments/Helpers/StripePayments+Export.swift rename to StripePayments/StripePayments/Source/Helpers/StripePayments+Export.swift diff --git a/StripePayments/StripePayments/Helpers/StripePaymentsBundleLocator.swift b/StripePayments/StripePayments/Source/Helpers/StripePaymentsBundleLocator.swift similarity index 100% rename from StripePayments/StripePayments/Helpers/StripePaymentsBundleLocator.swift rename to StripePayments/StripePayments/Source/Helpers/StripePaymentsBundleLocator.swift diff --git a/StripePayments/StripePayments/Internal/API Bindings/APIRequest.swift b/StripePayments/StripePayments/Source/Internal/API Bindings/APIRequest.swift similarity index 100% rename from StripePayments/StripePayments/Internal/API Bindings/APIRequest.swift rename to StripePayments/StripePayments/Source/Internal/API Bindings/APIRequest.swift diff --git a/StripePayments/StripePayments/Internal/API Bindings/STP3DS2AuthenticateResponse.swift b/StripePayments/StripePayments/Source/Internal/API Bindings/STP3DS2AuthenticateResponse.swift similarity index 100% rename from StripePayments/StripePayments/Internal/API Bindings/STP3DS2AuthenticateResponse.swift rename to StripePayments/StripePayments/Source/Internal/API Bindings/STP3DS2AuthenticateResponse.swift diff --git a/StripePayments/StripePayments/Internal/API Bindings/STPEmptyStripeResponse.swift b/StripePayments/StripePayments/Source/Internal/API Bindings/STPEmptyStripeResponse.swift similarity index 100% rename from StripePayments/StripePayments/Internal/API Bindings/STPEmptyStripeResponse.swift rename to StripePayments/StripePayments/Source/Internal/API Bindings/STPEmptyStripeResponse.swift diff --git a/StripePayments/StripePayments/Internal/API Bindings/STPFormEncoder.swift b/StripePayments/StripePayments/Source/Internal/API Bindings/STPFormEncoder.swift similarity index 100% rename from StripePayments/StripePayments/Internal/API Bindings/STPFormEncoder.swift rename to StripePayments/StripePayments/Source/Internal/API Bindings/STPFormEncoder.swift diff --git a/StripePayments/StripePayments/Internal/API Bindings/STPIntentActionUseStripeSDK.swift b/StripePayments/StripePayments/Source/Internal/API Bindings/STPIntentActionUseStripeSDK.swift similarity index 100% rename from StripePayments/StripePayments/Internal/API Bindings/STPIntentActionUseStripeSDK.swift rename to StripePayments/StripePayments/Source/Internal/API Bindings/STPIntentActionUseStripeSDK.swift diff --git a/StripePayments/StripePayments/Internal/API Bindings/STPInternalAPIResponseDecodable.swift b/StripePayments/StripePayments/Source/Internal/API Bindings/STPInternalAPIResponseDecodable.swift similarity index 100% rename from StripePayments/StripePayments/Internal/API Bindings/STPInternalAPIResponseDecodable.swift rename to StripePayments/StripePayments/Source/Internal/API Bindings/STPInternalAPIResponseDecodable.swift diff --git a/StripePayments/StripePayments/Internal/API Bindings/STPPaymentMethodListDeserializer.swift b/StripePayments/StripePayments/Source/Internal/API Bindings/STPPaymentMethodListDeserializer.swift similarity index 100% rename from StripePayments/StripePayments/Internal/API Bindings/STPPaymentMethodListDeserializer.swift rename to StripePayments/StripePayments/Source/Internal/API Bindings/STPPaymentMethodListDeserializer.swift diff --git a/StripePayments/StripePayments/Internal/API Bindings/STPSourcePoller.swift b/StripePayments/StripePayments/Source/Internal/API Bindings/STPSourcePoller.swift similarity index 100% rename from StripePayments/StripePayments/Internal/API Bindings/STPSourcePoller.swift rename to StripePayments/StripePayments/Source/Internal/API Bindings/STPSourcePoller.swift diff --git a/StripePayments/StripePayments/Internal/Analytics/Analytic+Payments.swift b/StripePayments/StripePayments/Source/Internal/Analytics/Analytic+Payments.swift similarity index 100% rename from StripePayments/StripePayments/Internal/Analytics/Analytic+Payments.swift rename to StripePayments/StripePayments/Source/Internal/Analytics/Analytic+Payments.swift diff --git a/StripePayments/StripePayments/Internal/Analytics/STPAnalyticsClient+Payments.swift b/StripePayments/StripePayments/Source/Internal/Analytics/STPAnalyticsClient+Payments.swift similarity index 100% rename from StripePayments/StripePayments/Internal/Analytics/STPAnalyticsClient+Payments.swift rename to StripePayments/StripePayments/Source/Internal/Analytics/STPAnalyticsClient+Payments.swift diff --git a/StripePayments/StripePayments/Internal/Categories/NSArray+Stripe.swift b/StripePayments/StripePayments/Source/Internal/Categories/NSArray+Stripe.swift similarity index 100% rename from StripePayments/StripePayments/Internal/Categories/NSArray+Stripe.swift rename to StripePayments/StripePayments/Source/Internal/Categories/NSArray+Stripe.swift diff --git a/StripePayments/StripePayments/Internal/Categories/NSDecimalNumber+Stripe_Currency.swift b/StripePayments/StripePayments/Source/Internal/Categories/NSDecimalNumber+Stripe_Currency.swift similarity index 100% rename from StripePayments/StripePayments/Internal/Categories/NSDecimalNumber+Stripe_Currency.swift rename to StripePayments/StripePayments/Source/Internal/Categories/NSDecimalNumber+Stripe_Currency.swift diff --git a/StripePayments/StripePayments/Internal/Categories/NSDictionary+Stripe.swift b/StripePayments/StripePayments/Source/Internal/Categories/NSDictionary+Stripe.swift similarity index 100% rename from StripePayments/StripePayments/Internal/Categories/NSDictionary+Stripe.swift rename to StripePayments/StripePayments/Source/Internal/Categories/NSDictionary+Stripe.swift diff --git a/StripePayments/StripePayments/Internal/Categories/NSString+Stripe.swift b/StripePayments/StripePayments/Source/Internal/Categories/NSString+Stripe.swift similarity index 100% rename from StripePayments/StripePayments/Internal/Categories/NSString+Stripe.swift rename to StripePayments/StripePayments/Source/Internal/Categories/NSString+Stripe.swift diff --git a/StripePayments/StripePayments/Internal/Categories/STPAPIClient+PaymentsCore.swift b/StripePayments/StripePayments/Source/Internal/Categories/STPAPIClient+PaymentsCore.swift similarity index 100% rename from StripePayments/StripePayments/Internal/Categories/STPAPIClient+PaymentsCore.swift rename to StripePayments/StripePayments/Source/Internal/Categories/STPAPIClient+PaymentsCore.swift diff --git a/StripePayments/StripePayments/Internal/Helpers/ConnectionsSDKAvailability.swift b/StripePayments/StripePayments/Source/Internal/Helpers/ConnectionsSDKAvailability.swift similarity index 100% rename from StripePayments/StripePayments/Internal/Helpers/ConnectionsSDKAvailability.swift rename to StripePayments/StripePayments/Source/Internal/Helpers/ConnectionsSDKAvailability.swift diff --git a/StripePayments/StripePayments/Internal/STPPaymentHandlerActionParams.swift b/StripePayments/StripePayments/Source/Internal/STPPaymentHandlerActionParams.swift similarity index 100% rename from StripePayments/StripePayments/Internal/STPPaymentHandlerActionParams.swift rename to StripePayments/StripePayments/Source/Internal/STPPaymentHandlerActionParams.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPAuthenticationContext.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPAuthenticationContext.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPAuthenticationContext.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPAuthenticationContext.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPPaymentHandler.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPPaymentHandler.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPThreeDSButtonCustomization.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSButtonCustomization.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPThreeDSButtonCustomization.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSButtonCustomization.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPThreeDSCustomizationSettings.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSCustomizationSettings.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPThreeDSCustomizationSettings.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSCustomizationSettings.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPThreeDSFooterCustomization.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSFooterCustomization.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPThreeDSFooterCustomization.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSFooterCustomization.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPThreeDSLabelCustomization.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSLabelCustomization.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPThreeDSLabelCustomization.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSLabelCustomization.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPThreeDSNavigationBarCustomization.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSNavigationBarCustomization.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPThreeDSNavigationBarCustomization.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSNavigationBarCustomization.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPThreeDSSelectionCustomization.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSSelectionCustomization.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPThreeDSSelectionCustomization.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSSelectionCustomization.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPThreeDSTextFieldCustomization.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSTextFieldCustomization.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPThreeDSTextFieldCustomization.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSTextFieldCustomization.swift diff --git a/StripePayments/StripePayments/PaymentHandler/STPThreeDSUICustomization.swift b/StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSUICustomization.swift similarity index 100% rename from StripePayments/StripePayments/PaymentHandler/STPThreeDSUICustomization.swift rename to StripePayments/StripePayments/Source/PaymentHandler/STPThreeDSUICustomization.swift diff --git a/Tests/iOS Tests/Info.plist b/StripePayments/StripePaymentsTests/Info.plist similarity index 80% rename from Tests/iOS Tests/Info.plist rename to StripePayments/StripePaymentsTests/Info.plist index 70f89a51ec4..64d65ca4957 100644 --- a/Tests/iOS Tests/Info.plist +++ b/StripePayments/StripePaymentsTests/Info.plist @@ -3,21 +3,19 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.stripe.Stripe-iOS-Tests + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName $(PRODUCT_NAME) CFBundlePackageType - BNDL + $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion 1 diff --git a/StripePayments/StripePaymentsTests/StripePaymentsTests.swift b/StripePayments/StripePaymentsTests/StripePaymentsTests.swift deleted file mode 100644 index 6917d8f0030..00000000000 --- a/StripePayments/StripePaymentsTests/StripePaymentsTests.swift +++ /dev/null @@ -1,38 +0,0 @@ -// -// StripePaymentsTests.swift -// StripePaymentsTests -// -// Created by David Estes on 6/30/22. -// Copyright © 2022 Stripe, Inc. All rights reserved. -// - -import XCTest - -@testable import StripePayments - -class StripePaymentsTests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - // Any test you write for XCTest can be annotated as throws and async. - // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. - // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. - } - - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/StripePaymentsUI.podspec b/StripePaymentsUI.podspec index 6527ce76e16..df315a638e8 100644 --- a/StripePaymentsUI.podspec +++ b/StripePaymentsUI.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = '13.0' s.swift_version = '5.0' s.weak_framework = 'SwiftUI' - s.source_files = 'StripePaymentsUI/StripePaymentsUI/**/*.swift' + s.source_files = 'StripePaymentsUI/StripePaymentsUI/Source/**/*.swift' s.ios.resource_bundle = { 'StripePaymentsUI' => 'StripePaymentsUI/StripePaymentsUI/Resources/**/*.{lproj,png,xcassets,json}' } s.dependency 'StripeCore', s.version.to_s s.dependency 'StripeUICore', s.version.to_s diff --git a/StripePaymentsUI/Project.swift b/StripePaymentsUI/Project.swift new file mode 100644 index 00000000000..9157ca3ab38 --- /dev/null +++ b/StripePaymentsUI/Project.swift @@ -0,0 +1,14 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripePaymentsUI", + resources: "StripePaymentsUI/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + ], + unitTestOptions: .testOptions() +) diff --git a/StripePaymentsUI/StripePaymentsUI.xcodeproj/project.pbxproj b/StripePaymentsUI/StripePaymentsUI.xcodeproj/project.pbxproj index 138c05ba88d..513dcfeba22 100644 --- a/StripePaymentsUI/StripePaymentsUI.xcodeproj/project.pbxproj +++ b/StripePaymentsUI/StripePaymentsUI.xcodeproj/project.pbxproj @@ -3,653 +3,690 @@ archiveVersion = 1; classes = { }; - objectVersion = 55; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 31138E6B28DBBB79008AF554 /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31138E6A28DBBB78008AF554 /* Enums+CustomStringConvertible.swift */; }; - 31227074286E3C0B0007ED5E /* STPCardFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122706B286E3C0A0007ED5E /* STPCardFormView.swift */; }; - 31227075286E3C0B0007ED5E /* STPFloatingPlaceholderTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122706C286E3C0A0007ED5E /* STPFloatingPlaceholderTextField.swift */; }; - 31227076286E3C0B0007ED5E /* STPFormTextFieldContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122706D286E3C0B0007ED5E /* STPFormTextFieldContainer.swift */; }; - 31227077286E3C0B0007ED5E /* STPMultiFormTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122706E286E3C0B0007ED5E /* STPMultiFormTextField.swift */; }; - 31227078286E3C0B0007ED5E /* STPAUBECSDebitFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3122706F286E3C0B0007ED5E /* STPAUBECSDebitFormView.swift */; }; - 31227079286E3C0B0007ED5E /* STPPaymentCardTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227070286E3C0B0007ED5E /* STPPaymentCardTextField.swift */; }; - 3122707A286E3C0B0007ED5E /* STPPaymentCardTextField+SwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227071286E3C0B0007ED5E /* STPPaymentCardTextField+SwiftUI.swift */; }; - 3122707B286E3C0B0007ED5E /* STPFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227072286E3C0B0007ED5E /* STPFormView.swift */; }; - 3122707C286E3C0B0007ED5E /* STPCardFormView+SwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227073286E3C0B0007ED5E /* STPCardFormView+SwiftUI.swift */; }; - 31227160286E56140007ED5E /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122715F286E56140007ED5E /* StripePayments.framework */; }; - 31227164286E561D0007ED5E /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31227163286E561D0007ED5E /* Stripe3DS2.framework */; }; - 31227177286E586D0007ED5E /* STPBSBNumberValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227176286E586D0007ED5E /* STPBSBNumberValidator.swift */; }; - 312271BB2874EB130007ED5E /* STPCardNumberInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271AF2874EB120007ED5E /* STPCardNumberInputTextFieldFormatter.swift */; }; - 312271BC2874EB130007ED5E /* STPCardNumberInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B02874EB120007ED5E /* STPCardNumberInputTextFieldValidator.swift */; }; - 312271BD2874EB130007ED5E /* STPPostalCodeInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B12874EB120007ED5E /* STPPostalCodeInputTextField.swift */; }; - 312271BE2874EB130007ED5E /* STPPostalCodeInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B22874EB130007ED5E /* STPPostalCodeInputTextFieldFormatter.swift */; }; - 312271BF2874EB130007ED5E /* STPPostalCodeInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B32874EB130007ED5E /* STPPostalCodeInputTextFieldValidator.swift */; }; - 312271C02874EB130007ED5E /* STPCardCVCInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B42874EB130007ED5E /* STPCardCVCInputTextField.swift */; }; - 312271C12874EB130007ED5E /* STPCardCVCInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B52874EB130007ED5E /* STPCardCVCInputTextFieldFormatter.swift */; }; - 312271C22874EB130007ED5E /* STPCardExpiryInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B62874EB130007ED5E /* STPCardExpiryInputTextFieldFormatter.swift */; }; - 312271C32874EB130007ED5E /* STPCardCVCInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B72874EB130007ED5E /* STPCardCVCInputTextFieldValidator.swift */; }; - 312271C42874EB130007ED5E /* STPCardNumberInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B82874EB130007ED5E /* STPCardNumberInputTextField.swift */; }; - 312271C52874EB130007ED5E /* STPCardExpiryInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271B92874EB130007ED5E /* STPCardExpiryInputTextFieldValidator.swift */; }; - 312271C62874EB130007ED5E /* STPCardExpiryInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271BA2874EB130007ED5E /* STPCardExpiryInputTextField.swift */; }; - 312271CE2874EB210007ED5E /* STPCountryPickerInputField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271C72874EB200007ED5E /* STPCountryPickerInputField.swift */; }; - 312271CF2874EB210007ED5E /* STPGenericInputPickerField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271C82874EB200007ED5E /* STPGenericInputPickerField.swift */; }; - 312271D02874EB210007ED5E /* STPInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271C92874EB210007ED5E /* STPInputTextField.swift */; }; - 312271D12874EB210007ED5E /* STPInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271CA2874EB210007ED5E /* STPInputTextFieldValidator.swift */; }; - 312271D22874EB210007ED5E /* STPInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271CB2874EB210007ED5E /* STPInputTextFieldFormatter.swift */; }; - 312271D32874EB210007ED5E /* STPGenericInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271CC2874EB210007ED5E /* STPGenericInputTextField.swift */; }; - 312271D42874EB210007ED5E /* STPNumericDigitInputTextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271CD2874EB210007ED5E /* STPNumericDigitInputTextFormatter.swift */; }; - 312271D62874EDAD0007ED5E /* STPFormTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271D52874EDAD0007ED5E /* STPFormTextField.swift */; }; - 312271D82874EDCF0007ED5E /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271D72874EDCF0007ED5E /* STPLocalizedString.swift */; }; - 312271DA2874EDEC0007ED5E /* StripePaymentsBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271D92874EDEC0007ED5E /* StripePaymentsBundleLocator.swift */; }; - 312271DC2874EE260007ED5E /* STPCardLoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271DB2874EE260007ED5E /* STPCardLoadingIndicator.swift */; }; - 312271DE2874EE5F0007ED5E /* STPPostalCodeValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271DD2874EE5F0007ED5E /* STPPostalCodeValidator.swift */; }; - 312271E02874EEF80007ED5E /* STPPaymentCardTextFieldViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271DF2874EEF80007ED5E /* STPPaymentCardTextFieldViewModel.swift */; }; - 312271E22876084B0007ED5E /* STPValidatedTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271E12876084B0007ED5E /* STPValidatedTextField.swift */; }; - 312271E4287609430007ED5E /* STPImageLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271E3287609430007ED5E /* STPImageLibrary.swift */; }; - 312271E828760B150007ED5E /* STPLabeledFormTextFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271E728760B150007ED5E /* STPLabeledFormTextFieldView.swift */; }; - 312271EA28760B290007ED5E /* STPAUBECSFormViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271E928760B290007ED5E /* STPAUBECSFormViewModel.swift */; }; - 312271EC28760B3E0007ED5E /* CardBrandView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271EB28760B3E0007ED5E /* CardBrandView.swift */; }; - 312271EE28760B740007ED5E /* STPViewWithSeparator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271ED28760B740007ED5E /* STPViewWithSeparator.swift */; }; - 312271F028760B820007ED5E /* STPLabeledMultiFormTextFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271EF28760B820007ED5E /* STPLabeledMultiFormTextFieldView.swift */; }; - 312271F228760B9D0007ED5E /* STPBECSDebitAccountNumberValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271F128760B9D0007ED5E /* STPBECSDebitAccountNumberValidator.swift */; }; - 312271F428760BBF0007ED5E /* STPStringUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271F328760BBF0007ED5E /* STPStringUtils.swift */; }; - 312271F828760CB20007ED5E /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271F728760CB20007ED5E /* String+Localized.swift */; }; - 312271FA28760D1A0007ED5E /* STPPhoneNumberValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271F928760D1A0007ED5E /* STPPhoneNumberValidator.swift */; }; - 312271FD28760D6D0007ED5E /* NSAttributedString+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271FC28760D6D0007ED5E /* NSAttributedString+Stripe.swift */; }; - 312271FF28760EFF0007ED5E /* UIButton+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312271FE28760EFF0007ED5E /* UIButton+Stripe.swift */; }; - 31227201287629870007ED5E /* StripePayments+Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31227200287629870007ED5E /* StripePayments+Export.swift */; }; - 3122722228763A830007ED5E /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122722128763A830007ED5E /* StripeUICore.framework */; }; - 3122722628763A870007ED5E /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3122722528763A870007ED5E /* StripeCore.framework */; }; - 3139D285286E34C400C9744B /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3139D27C286E34C400C9744B /* StripePaymentsUI.framework */; }; - 3139D28A286E34C400C9744B /* StripePaymentsUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3139D289286E34C400C9744B /* StripePaymentsUITests.swift */; }; - 3139D28B286E34C400C9744B /* StripePaymentsUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 3139D27F286E34C400C9744B /* StripePaymentsUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3159F6EF2888C261007C8C3A /* stp_icon_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6972888C261007C8C3A /* stp_icon_bank@3x.png */; }; - 3159F6F02888C261007C8C3A /* stp_card_error_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6992888C261007C8C3A /* stp_card_error_amex@3x.png */; }; - 3159F6F12888C261007C8C3A /* stp_card_visa_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F69A2888C261007C8C3A /* stp_card_visa_template@3x.png */; }; - 3159F6F42888C261007C8C3A /* stp_card_unknown@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F69D2888C261007C8C3A /* stp_card_unknown@3x.png */; }; - 3159F6F52888C261007C8C3A /* stp_card_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F69E2888C261007C8C3A /* stp_card_amex@3x.png */; }; - 3159F6F62888C261007C8C3A /* stp_card_amex_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F69F2888C261007C8C3A /* stp_card_amex_template@3x.png */; }; - 3159F6F72888C261007C8C3A /* stp_card_diners_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6A02888C261007C8C3A /* stp_card_diners_template@3x.png */; }; - 3159F6F82888C261007C8C3A /* stp_card_diners@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6A12888C261007C8C3A /* stp_card_diners@3x.png */; }; - 3159F6F92888C261007C8C3A /* stp_card_cvc_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6A22888C261007C8C3A /* stp_card_cvc_amex@3x.png */; }; - 3159F6FA2888C261007C8C3A /* stp_card_discover@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6A32888C261007C8C3A /* stp_card_discover@3x.png */; }; - 3159F6FB2888C261007C8C3A /* stp_card_error@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6A42888C261007C8C3A /* stp_card_error@3x.png */; }; - 3159F6FD2888C261007C8C3A /* stp_card_jcb_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6A62888C261007C8C3A /* stp_card_jcb_template@3x.png */; }; - 3159F6FE2888C261007C8C3A /* stp_card_jcb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6A72888C261007C8C3A /* stp_card_jcb@3x.png */; }; - 3159F7002888C261007C8C3A /* stp_card_cvc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6A92888C261007C8C3A /* stp_card_cvc@3x.png */; }; - 3159F7022888C261007C8C3A /* stp_card_visa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6AB2888C261007C8C3A /* stp_card_visa@3x.png */; }; - 3159F7032888C261007C8C3A /* stp_card_applepay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6AC2888C261007C8C3A /* stp_card_applepay@3x.png */; }; - 3159F7062888C261007C8C3A /* stp_card_mastercard_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6AF2888C261007C8C3A /* stp_card_mastercard_template@3x.png */; }; - 3159F7092888C261007C8C3A /* stp_card_mastercard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6B22888C261007C8C3A /* stp_card_mastercard@3x.png */; }; - 3159F70A2888C261007C8C3A /* stp_card_discover_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6B32888C261007C8C3A /* stp_card_discover_template@3x.png */; }; - 3159F70B2888C261007C8C3A /* form_error_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6B42888C261007C8C3A /* form_error_icon_dark@3x.png */; }; - 3159F70C2888C261007C8C3A /* anz@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6B62888C261007C8C3A /* anz@3x.png */; }; - 3159F70D2888C261007C8C3A /* nab@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6B72888C261007C8C3A /* nab@3x.png */; }; - 3159F70E2888C261007C8C3A /* stgeorges@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6B82888C261007C8C3A /* stgeorges@3x.png */; }; - 3159F70F2888C261007C8C3A /* westpac@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6B92888C261007C8C3A /* westpac@3x.png */; }; - 3159F7102888C261007C8C3A /* bankwest@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6BA2888C261007C8C3A /* bankwest@3x.png */; }; - 3159F7112888C261007C8C3A /* suncorpmetway@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6BB2888C261007C8C3A /* suncorpmetway@3x.png */; }; - 3159F7122888C261007C8C3A /* boq@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6BC2888C261007C8C3A /* boq@3x.png */; }; - 3159F7132888C261007C8C3A /* bankofmelbourne@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6BD2888C261007C8C3A /* bankofmelbourne@3x.png */; }; - 3159F7142888C261007C8C3A /* banksa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6BE2888C261007C8C3A /* banksa@3x.png */; }; - 3159F7152888C261007C8C3A /* cba@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6BF2888C261007C8C3A /* cba@3x.png */; }; - 3159F7172888C261007C8C3A /* form_error_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6C12888C261007C8C3A /* form_error_icon@3x.png */; }; - 3159F7182888C261007C8C3A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3159F6C32888C261007C8C3A /* Localizable.strings */; }; - 3159F7D72888C5FD007C8C3A /* card_cvc_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7BF2888C47C007C8C3A /* card_cvc_icon_dark@3x.png */; }; - 3159F7D82888C5FD007C8C3A /* card_cvc_updated_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B62888C47B007C8C3A /* card_cvc_updated_icon_dark@3x.png */; }; - 3159F7D92888C5FD007C8C3A /* card_diners@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B92888C47B007C8C3A /* card_diners@3x.png */; }; - 3159F7DA2888C5FD007C8C3A /* card_unknown@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B82888C47B007C8C3A /* card_unknown@3x.png */; }; - 3159F7DB2888C5FD007C8C3A /* card_cvc_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7AF2888C47A007C8C3A /* card_cvc_icon@3x.png */; }; - 3159F7DC2888C5FD007C8C3A /* card_cvc_amex_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B52888C47B007C8C3A /* card_cvc_amex_icon@3x.png */; }; - 3159F7DD2888C5FD007C8C3A /* card_cvc_amex_updated_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B72888C47B007C8C3A /* card_cvc_amex_updated_icon_dark@3x.png */; }; - 3159F7DE2888C5FD007C8C3A /* card_cvc_amex_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7BB2888C47C007C8C3A /* card_cvc_amex_icon_dark@3x.png */; }; - 3159F7DF2888C5FD007C8C3A /* card_unknown_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B42888C47B007C8C3A /* card_unknown_icon@3x.png */; }; - 3159F7E02888C5FD007C8C3A /* card_mastercard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7C22888C47C007C8C3A /* card_mastercard@3x.png */; }; - 3159F7E12888C5FD007C8C3A /* card_visa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B12888C47A007C8C3A /* card_visa@3x.png */; }; - 3159F7E22888C5FD007C8C3A /* card_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B02888C47A007C8C3A /* card_amex@3x.png */; }; - 3159F7E32888C5FD007C8C3A /* card_unknown_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7C02888C47C007C8C3A /* card_unknown_icon_dark@3x.png */; }; - 3159F7E42888C5FD007C8C3A /* card_cvc_updated_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7BD2888C47C007C8C3A /* card_cvc_updated_icon@3x.png */; }; - 3159F7E52888C5FD007C8C3A /* card_unionpay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7C12888C47C007C8C3A /* card_unionpay@3x.png */; }; - 3159F7E62888C5FD007C8C3A /* card_unknown_updated_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7BC2888C47C007C8C3A /* card_unknown_updated_icon@3x.png */; }; - 3159F7E72888C5FD007C8C3A /* card_jcb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B32888C47B007C8C3A /* card_jcb@3x.png */; }; - 3159F7E82888C5FD007C8C3A /* card_discover@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7BE2888C47C007C8C3A /* card_discover@3x.png */; }; - 3159F7E92888C5FD007C8C3A /* card_cvc_amex_updated_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7B22888C47B007C8C3A /* card_cvc_amex_updated_icon@3x.png */; }; - 3159F7EA2888C5FD007C8C3A /* card_unknown_updated_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3159F7BA2888C47B007C8C3A /* card_unknown_updated_icon_dark@3x.png */; }; - 31904C6628D9206F00E1F9F5 /* au_becs_bsb.json in Resources */ = {isa = PBXBuildFile; fileRef = 31904C6528D9206F00E1F9F5 /* au_becs_bsb.json */; }; - 31DCB11B28F4EE20002EF128 /* STPAnalyticsClient+PaymentsUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31DCB11A28F4EE20002EF128 /* STPAnalyticsClient+PaymentsUITests.swift */; }; - B6A0D5FA28FF4ED800A9F7A7 /* PaymentMethodMessagingView+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6A0D5F828FF4ED800A9F7A7 /* PaymentMethodMessagingView+Configuration.swift */; }; - B6A0D5FB28FF4ED800A9F7A7 /* PaymentMethodMessagingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6A0D5F928FF4ED800A9F7A7 /* PaymentMethodMessagingView.swift */; }; - E237938C291B27CE00C63FDD /* stp_card_unionpay_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E237938A291B27CE00C63FDD /* stp_card_unionpay_template@3x.png */; }; - E237938D291B27CE00C63FDD /* stp_card_unionpay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E237938B291B27CE00C63FDD /* stp_card_unionpay@3x.png */; }; + 007B86D9491B32408A222B30 /* card_cvc_updated_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7DF65B89A1F7AE597709E55F /* card_cvc_updated_icon@3x.png */; }; + 125D2EA749060BE5BE604A20 /* stp_card_diners_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6806987E22A4798BFEE52BC /* stp_card_diners_template@3x.png */; }; + 127001FFB1E2988E194D4039 /* STPBECSDebitAccountNumberValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27A47917AEAE328A795ADD03 /* STPBECSDebitAccountNumberValidator.swift */; }; + 138F5657CA7034142DDAE236 /* form_error_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 56B25EB36616A409703BAA76 /* form_error_icon_dark@3x.png */; }; + 14B5DCA6C906F6D60551ECAB /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9EDAF3534E36069663E6B9F /* String+Localized.swift */; }; + 15D21D5FFFCBC77441E863DF /* suncorpmetway@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3374E6EF5780AD5FA0E9CABD /* suncorpmetway@3x.png */; }; + 172B3010D1DE42B8A57277F0 /* cba@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D4338A69B776299B9F4CE953 /* cba@3x.png */; }; + 179E4AF3A113CE14475E51D3 /* card_cvc_amex_updated_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 55964133214CCD4B20266351 /* card_cvc_amex_updated_icon@3x.png */; }; + 17AB562927CEEE4485EC9860 /* card_unknown_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 144257A070EABBD6225344F0 /* card_unknown_icon@3x.png */; }; + 1A3DC549AF425E45DA4CCBA6 /* stp_card_discover@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 94790A74B6279B406B1E094C /* stp_card_discover@3x.png */; }; + 1B6270ED136F4C0657A87FB3 /* STPCardNumberInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34073B6642753145E5DEA6F2 /* STPCardNumberInputTextFieldValidator.swift */; }; + 1D7607AE081495BF49D1425C /* stp_card_error_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9996460D69441A5B62AE0894 /* stp_card_error_amex@3x.png */; }; + 1E1DEF33E12A9813F857F244 /* card_unknown_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3F2091B833EA751B409EFF98 /* card_unknown_icon_dark@3x.png */; }; + 1E564978409AE745342D31CB /* STPCardCVCInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61378C762E759E2F8FF04ACE /* STPCardCVCInputTextFieldValidator.swift */; }; + 1F3A6355A8BDD75F61E417CC /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 830CAAFA7D3F03562800E6D9 /* Enums+CustomStringConvertible.swift */; }; + 216E8544B8EAAD8359BAFBE0 /* stp_card_diners@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 613741A276C45F11E82365ED /* stp_card_diners@3x.png */; }; + 24DC13B50381F1B04C5DB04F /* boq@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8723F8C0B4BA318A86180EA7 /* boq@3x.png */; }; + 2B4A598F5C9AFDFD07AB39FF /* NSAttributedString+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA25F39FC75BC81D34E4204D /* NSAttributedString+Stripe.swift */; }; + 2F073AFD16B9297708B3E2DB /* westpac@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3BCA136BA64C637DFD636A6F /* westpac@3x.png */; }; + 31AE1C23D17538A1223CC527 /* card_cvc_amex_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DFBB7208FB619CDA73E79D9 /* card_cvc_amex_icon@3x.png */; }; + 3273E873EC3144BA6E6B5382 /* STPInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5A6CC2985AD7713186F111 /* STPInputTextFieldFormatter.swift */; }; + 3280B8531C568A3046925836 /* stp_card_applepay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 45DA5B3A3CD6D591FB87DD6E /* stp_card_applepay@3x.png */; }; + 331C6EA21D75973496B34CF3 /* STPAUBECSDebitFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 978DC21B087406C15D764B27 /* STPAUBECSDebitFormView.swift */; }; + 381E12068537365DC3423575 /* STPStringUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 521054B1E6486BD4F285F830 /* STPStringUtils.swift */; }; + 3B3DA818797C12F8AAE7E28E /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD1E6AEC38AEF70D9E54ADBB /* StripeUICore.framework */; }; + 3ECCF91A8DA647A196229073 /* stp_card_cvc@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F0844D7BAF4E9ADFB71E7763 /* stp_card_cvc@3x.png */; }; + 42EE67A45816D75ED4AA68D0 /* STPPhoneNumberValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68FC7D60D61EA5534ED5D40C /* STPPhoneNumberValidator.swift */; }; + 45B8849A6122B6780DB09457 /* card_cvc_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4A7D2C13EF9F95E40E3A4FC4 /* card_cvc_icon_dark@3x.png */; }; + 4E4D3A54B7C0AD2C6ED8AEC5 /* STPImageLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7BD558058D36A8FAA926CBE /* STPImageLibrary.swift */; }; + 4F2317E3CD41D6D903E331C2 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFE846D5129FB85A61ADB219 /* XCTest.framework */; }; + 4FE3B76C2BF8F46FF3FFAAA0 /* STPCardLoadingIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C911731DD279086059CA23E /* STPCardLoadingIndicator.swift */; }; + 52014012018F766C62311660 /* STPMultiFormTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BD968A1A81BAD59B63E156E /* STPMultiFormTextField.swift */; }; + 528BE8DF6DD797D45501886F /* au_becs_bsb.json in Resources */ = {isa = PBXBuildFile; fileRef = 9801336237230E00A8D8F6ED /* au_becs_bsb.json */; }; + 5324CDE826773FD808B5F5A3 /* STPCardNumberInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 778ECC1469214B0535BA8515 /* STPCardNumberInputTextField.swift */; }; + 54069B3F36BE51B117AE66DE /* UIButton+Stripe.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB967723AE164AD7FC104111 /* UIButton+Stripe.swift */; }; + 5682C36DC9AE120E30424602 /* STPCardExpiryInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6C6E614828A5250B8E5B8B2 /* STPCardExpiryInputTextField.swift */; }; + 58C2EBC7955D5C03C6761B6C /* STPCardExpiryInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F00416E6FCC1FEA739758F3E /* STPCardExpiryInputTextFieldValidator.swift */; }; + 59775D5885338AB20F13E388 /* STPPaymentCardTextField+SwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = D316460AE9760F6682AF5268 /* STPPaymentCardTextField+SwiftUI.swift */; }; + 5B2E3D7442C8F86C75FDE246 /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFE1FFD109926218DD38D82 /* StripePayments.framework */; }; + 5C5AF622FFC6DFAA75FC5D17 /* stp_card_cvc_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 96A4AD5BD4E14E5E724181FC /* stp_card_cvc_amex@3x.png */; }; + 5C809DF77BFE9A0F3FDA6ECC /* card_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C8089CF7F51E36250057850A /* card_amex@3x.png */; }; + 5C86B4020AAFB78DFD920446 /* STPCardNumberInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3E356A0233CD8A099A0FBAE /* STPCardNumberInputTextFieldFormatter.swift */; }; + 5EE7F22388D17B1191ED7DE2 /* STPInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76CFF33486AECE0E7FC99EC /* STPInputTextField.swift */; }; + 5FAAE212EE71172D6BF76165 /* STPCardFormView+SwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75BA4436655DE117219F0C47 /* STPCardFormView+SwiftUI.swift */; }; + 619F0D8BDEE0CD4660C7EC54 /* STPViewWithSeparator.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF996E3C6046629EB3FE3E9E /* STPViewWithSeparator.swift */; }; + 6441D5BA0E2431FEAC33CDAD /* stp_card_visa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7892E965BD141F79897E327A /* stp_card_visa@3x.png */; }; + 653D236856F665222F0B18C2 /* STPLabeledMultiFormTextFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99B7197CAA08FDC5562111CD /* STPLabeledMultiFormTextFieldView.swift */; }; + 685BEB923356E61D7EBD70BF /* stp_icon_bank@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D9865A109D1DA7155719332 /* stp_icon_bank@3x.png */; }; + 6976760773FD190091FFFF19 /* card_diners@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 380A5AF726E18A95C7355774 /* card_diners@3x.png */; }; + 6C04056B0B6256A876FD4CAA /* CardBrandView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 773B4B693E579875018D8E5B /* CardBrandView.swift */; }; + 6F0B40B4A889041132E6E22C /* STPLabeledFormTextFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C71E8244B6FD51CB26E9AB5 /* STPLabeledFormTextFieldView.swift */; }; + 731261FC9820DD5FEFB0B6CF /* STPAUBECSFormViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADEC647C11C9B12792B8D129 /* STPAUBECSFormViewModel.swift */; }; + 76B79490B3EB3AB795546115 /* stp_card_amex_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7A3064D5B3B0D876C14E9294 /* stp_card_amex_template@3x.png */; }; + 7AFBCEFDB5B68BF5CFA210ED /* stp_card_jcb_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0963B4EA2BE7051725E853A7 /* stp_card_jcb_template@3x.png */; }; + 7B2D77A2CA2FEC59CCA2D041 /* card_jcb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E62DCBB4A37DF231EC10D25F /* card_jcb@3x.png */; }; + 7F33AC9D86A25570026FE1E1 /* card_cvc_updated_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 80773CB038F7548CE82882DB /* card_cvc_updated_icon_dark@3x.png */; }; + 807972DF5CA71A5822416350 /* card_unknown_updated_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F23039851D5CEE31AA05A927 /* card_unknown_updated_icon@3x.png */; }; + 83B7ABDA0780D964BFFA63D0 /* stp_card_mastercard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 37D6C0E5AB81AA13F529B2B9 /* stp_card_mastercard@3x.png */; }; + 84C6734643AD18BCF1F6238A /* stp_card_mastercard_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5AA7A0E7367C4CE23F3C1D44 /* stp_card_mastercard_template@3x.png */; }; + 85500DE65102C3B3106B05E4 /* STPPostalCodeInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65191907BE36635822515B62 /* STPPostalCodeInputTextField.swift */; }; + 855E3523BA549EC10E772319 /* stp_card_jcb@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DB29B601A593740625B1420C /* stp_card_jcb@3x.png */; }; + 87EC8352F1C43EBD2F3F10C7 /* card_cvc_amex_updated_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5A6D05E10D33ED20A353569D /* card_cvc_amex_updated_icon_dark@3x.png */; }; + 8B6DAB1A75120A9938526CDB /* STPCardExpiryInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1C281AD068A5A8731EE1EE8 /* STPCardExpiryInputTextFieldFormatter.swift */; }; + 8E285418BD0AC81A8E4EEFE5 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E8C0921DF28F5F7911653888 /* StripePaymentsUI.framework */; }; + 90B62A87017CA429BE3FFB09 /* PaymentMethodMessagingView+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 153419E931FD1C7C7241A308 /* PaymentMethodMessagingView+Configuration.swift */; }; + 92F147E82F5A7ADF9C9BC4CE /* STPPostalCodeInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28D9DB808E41F8C09071F109 /* STPPostalCodeInputTextFieldValidator.swift */; }; + 9334FFBC5E844F5D6E1EC6D8 /* anz@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 84D95A2563D810044C337C44 /* anz@3x.png */; }; + 9380DCE78E643C2B8108A5EC /* STPFloatingPlaceholderTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = E87D9A22F5475D1F8058E38D /* STPFloatingPlaceholderTextField.swift */; }; + 940EEF71292FB8492F644ED8 /* stp_card_unknown@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 75513DF596C3B9E0863EAEDC /* stp_card_unknown@3x.png */; }; + 941AA39460FC8A4AE7688EF9 /* stp_card_visa_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CDCBF8A357231C5D41353647 /* stp_card_visa_template@3x.png */; }; + 94541949170B6B25DC8868C8 /* card_cvc_amex_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1AF44C360854F7081D7691B6 /* card_cvc_amex_icon_dark@3x.png */; }; + 992E387C98107E7038353D05 /* STPAnalyticsClient+PaymentsUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5385E30F06B36FEB36D4266 /* STPAnalyticsClient+PaymentsUITests.swift */; }; + 9961D609D40836227C2C5F33 /* stp_card_error@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DB6B6B92EA630F098C7F23C2 /* stp_card_error@3x.png */; }; + 9DB04D0061EAE456B1D577DD /* bankwest@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1161E711057A7E92524C9AC0 /* bankwest@3x.png */; }; + A41B0A2A37AD28D28D9577CA /* STPPostalCodeInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF9AD15E4A50C49A65376DC /* STPPostalCodeInputTextFieldFormatter.swift */; }; + A4A9946052C4A1BCCBA6D508 /* STPPostalCodeValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CCF047C291E579AFDE3ED2F /* STPPostalCodeValidator.swift */; }; + A60E86FDCC04007C2ECAC4DC /* stp_card_unionpay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87977FB2F141EE0E6BD9F6BB /* stp_card_unionpay@3x.png */; }; + A808592926FCB3BA78B862BF /* STPNumericDigitInputTextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F169F220E75780C60A4DDE88 /* STPNumericDigitInputTextFormatter.swift */; }; + A80E88F98C4455EFEAB4D690 /* card_visa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8313F1303DA601EE25C50C53 /* card_visa@3x.png */; }; + A915992666D7877A26E42231 /* StripePayments+Export.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9F4C1C5E227B17DBC07DC42 /* StripePayments+Export.swift */; }; + AC64BA9A0D78486F5DF4A6C4 /* STPCardCVCInputTextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F7E4CB2C3C44058A495AB03 /* STPCardCVCInputTextFieldFormatter.swift */; }; + AE4EC072B0834C4E88D0510B /* stgeorges@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4A47141248A0BC71BC786F36 /* stgeorges@3x.png */; }; + AF55861520CD45A87A7EBA1A /* STPValidatedTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACA351FDB3ACA30EFB319C20 /* STPValidatedTextField.swift */; }; + B6452F5A4B12470928CEE9BC /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = D858052E551EBA77E173E794 /* STPLocalizedString.swift */; }; + B6EEAC966A2C288BFD62BC94 /* stp_card_unionpay_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E30195C4D682D992C609C2BF /* stp_card_unionpay_template@3x.png */; }; + B89B16825FDEF5B701D24DDF /* card_mastercard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C2C1289C4A9D93D0C81F0B4F /* card_mastercard@3x.png */; }; + BF3A78859469E594C0FBD22C /* form_error_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 288D29A97073F991BC6EE86A /* form_error_icon@3x.png */; }; + BF82D8228FCB7B1E2944889F /* card_unknown_updated_icon_dark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C977B45CCC1248171927436 /* card_unknown_updated_icon_dark@3x.png */; }; + BFFAB9D8FEF4C4162555691E /* STPGenericInputPickerField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DB0D5F6A154405D705D1F88 /* STPGenericInputPickerField.swift */; }; + C08463DDF21144101AF317D3 /* PaymentMethodMessagingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08FDA8CB452D782F948CEB4B /* PaymentMethodMessagingView.swift */; }; + C805055D566F42647F79131B /* STPCountryPickerInputField.swift in Sources */ = {isa = PBXBuildFile; fileRef = A41D5DF2BA2C038B826B222F /* STPCountryPickerInputField.swift */; }; + CA9C9105DD97D6EDF17A3478 /* STPBSBNumberValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D66E7B7C80848F4CDFD09F27 /* STPBSBNumberValidator.swift */; }; + D4C081391D460B4CEDF04369 /* card_unionpay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 099AA07DA4B830C5E6C1936E /* card_unionpay@3x.png */; }; + DC093951EF43C18D19A1A36B /* STPInputTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67058F5B0F916913BF18809B /* STPInputTextFieldValidator.swift */; }; + DEF6B1839E7EC02A51A8794B /* stp_card_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 78748D75CFE36389AD557571 /* stp_card_amex@3x.png */; }; + E097C89AA5D20D6399E59A3E /* StripePaymentsUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 01F8FDBA6B57108EB1A80833 /* StripePaymentsUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E193F62029BD7821D8B6950E /* STPPaymentCardTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE99E179BBF1D07A68C6A58B /* STPPaymentCardTextField.swift */; }; + E1CD37355F5D17A04EE4B0D3 /* STPCardCVCInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6761C35C5BB310D0D40578FB /* STPCardCVCInputTextField.swift */; }; + E4839BD03F0C43B4703291E5 /* STPGenericInputTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB2AFD8B904D07C7F3E1E473 /* STPGenericInputTextField.swift */; }; + E554E00B25258B27E60ABB08 /* STPPaymentCardTextFieldViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBB874B9887AA34B648473C8 /* STPPaymentCardTextFieldViewModel.swift */; }; + EA819D76773D30AC3C2E5811 /* bankofmelbourne@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 18EBDFD70DAF2CDBA86DA47E /* bankofmelbourne@3x.png */; }; + EAE0A0ECA1CCB3E2F69EA963 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B3640AACAD9398E8AD28571 /* StripeCore.framework */; }; + EB866272BEDCA262181F87B9 /* StripePaymentsBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C31F8C932A3DDB0C94781F /* StripePaymentsBundleLocator.swift */; }; + EB8EA2E6958175A9645E8AF5 /* card_cvc_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = EBC1DB38C61581B52F0C6C02 /* card_cvc_icon@3x.png */; }; + EC8942BE7757A52956E4C28E /* banksa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E145310CA4E17EAF08D5D051 /* banksa@3x.png */; }; + EEA485DCA25972CA83452F24 /* card_discover@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 043FF5D07B837B7BF77C7774 /* card_discover@3x.png */; }; + F397BB5EBC54AF5CE851D467 /* STPFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B90016F8D8A7EB070DD1426C /* STPFormView.swift */; }; + F45B49EA9C1FE627B2F5A0EE /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = CDBC414B8A9A28DD518B71D1 /* Localizable.strings */; }; + F521674B5AE1EE5308706301 /* stp_card_discover_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 35EEBF5AAC3BEA7B07CCC2AA /* stp_card_discover_template@3x.png */; }; + F662D937F0427B766D60A898 /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86923C0EED63CCA4827A40C9 /* Stripe3DS2.framework */; }; + F920F374499E14606DDA9608 /* STPFormTextFieldContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8165DB2F2C8B257ACF4015C /* STPFormTextFieldContainer.swift */; }; + FBA096A2BC32144CBF491DE5 /* STPCardFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B30F4593F849D1B9395B94FA /* STPCardFormView.swift */; }; + FE3BD176F75D96AD492A4B23 /* card_unknown@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EC808C63D658629E6711E8C /* card_unknown@3x.png */; }; + FE3E53338A14E7F80754A483 /* nab@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E55DB51F5056355E789BC2CA /* nab@3x.png */; }; + FF849AFC244DE3234980E196 /* STPFormTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CD127FC253A2F92DB7404F2 /* STPFormTextField.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3139D286286E34C400C9744B /* PBXContainerItemProxy */ = { + 301A65780F8FE00408CF5994 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 3139D273286E34C400C9744B /* Project object */; + containerPortal = 5A75C038903CA5BA2375E90C /* Project object */; proxyType = 1; - remoteGlobalIDString = 3139D27B286E34C400C9744B; + remoteGlobalIDString = C159BFB17E834CD30378F9F3; remoteInfo = StripePaymentsUI; }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 726BA5B2292760F829425C6F /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + CE4914E8623300BC66C40EE6 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ - 31138E6A28DBBB78008AF554 /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; - 31138EA428DE53D2008AF554 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - 31138EA528DE53D2008AF554 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - 31138EA628DE53D2008AF554 /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - 31138EA728DE53D2008AF554 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - 31138EA828DE53D2008AF554 /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - 31138EA928DE53D2008AF554 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - 31138EAA28DE53D2008AF554 /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - 31138EAB28DE53D2008AF554 /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - 31138EAC28DE53D2008AF554 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - 31138EAD28DE53D2008AF554 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - 3122706B286E3C0A0007ED5E /* STPCardFormView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardFormView.swift; sourceTree = ""; }; - 3122706C286E3C0A0007ED5E /* STPFloatingPlaceholderTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFloatingPlaceholderTextField.swift; sourceTree = ""; }; - 3122706D286E3C0B0007ED5E /* STPFormTextFieldContainer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFormTextFieldContainer.swift; sourceTree = ""; }; - 3122706E286E3C0B0007ED5E /* STPMultiFormTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPMultiFormTextField.swift; sourceTree = ""; }; - 3122706F286E3C0B0007ED5E /* STPAUBECSDebitFormView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPAUBECSDebitFormView.swift; sourceTree = ""; }; - 31227070286E3C0B0007ED5E /* STPPaymentCardTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextField.swift; sourceTree = ""; }; - 31227071286E3C0B0007ED5E /* STPPaymentCardTextField+SwiftUI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPPaymentCardTextField+SwiftUI.swift"; sourceTree = ""; }; - 31227072286E3C0B0007ED5E /* STPFormView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFormView.swift; sourceTree = ""; }; - 31227073286E3C0B0007ED5E /* STPCardFormView+SwiftUI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "STPCardFormView+SwiftUI.swift"; sourceTree = ""; }; - 3122715F286E56140007ED5E /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31227163286E561D0007ED5E /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31227176286E586D0007ED5E /* STPBSBNumberValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPBSBNumberValidator.swift; sourceTree = ""; }; - 312271AF2874EB120007ED5E /* STPCardNumberInputTextFieldFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldFormatter.swift; sourceTree = ""; }; - 312271B02874EB120007ED5E /* STPCardNumberInputTextFieldValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldValidator.swift; sourceTree = ""; }; - 312271B12874EB120007ED5E /* STPPostalCodeInputTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextField.swift; sourceTree = ""; }; - 312271B22874EB130007ED5E /* STPPostalCodeInputTextFieldFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldFormatter.swift; sourceTree = ""; }; - 312271B32874EB130007ED5E /* STPPostalCodeInputTextFieldValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldValidator.swift; sourceTree = ""; }; - 312271B42874EB130007ED5E /* STPCardCVCInputTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextField.swift; sourceTree = ""; }; - 312271B52874EB130007ED5E /* STPCardCVCInputTextFieldFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldFormatter.swift; sourceTree = ""; }; - 312271B62874EB130007ED5E /* STPCardExpiryInputTextFieldFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldFormatter.swift; sourceTree = ""; }; - 312271B72874EB130007ED5E /* STPCardCVCInputTextFieldValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldValidator.swift; sourceTree = ""; }; - 312271B82874EB130007ED5E /* STPCardNumberInputTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextField.swift; sourceTree = ""; }; - 312271B92874EB130007ED5E /* STPCardExpiryInputTextFieldValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldValidator.swift; sourceTree = ""; }; - 312271BA2874EB130007ED5E /* STPCardExpiryInputTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextField.swift; sourceTree = ""; }; - 312271C72874EB200007ED5E /* STPCountryPickerInputField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPCountryPickerInputField.swift; sourceTree = ""; }; - 312271C82874EB200007ED5E /* STPGenericInputPickerField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPGenericInputPickerField.swift; sourceTree = ""; }; - 312271C92874EB210007ED5E /* STPInputTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPInputTextField.swift; sourceTree = ""; }; - 312271CA2874EB210007ED5E /* STPInputTextFieldValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPInputTextFieldValidator.swift; sourceTree = ""; }; - 312271CB2874EB210007ED5E /* STPInputTextFieldFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPInputTextFieldFormatter.swift; sourceTree = ""; }; - 312271CC2874EB210007ED5E /* STPGenericInputTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPGenericInputTextField.swift; sourceTree = ""; }; - 312271CD2874EB210007ED5E /* STPNumericDigitInputTextFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPNumericDigitInputTextFormatter.swift; sourceTree = ""; }; - 312271D52874EDAD0007ED5E /* STPFormTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPFormTextField.swift; sourceTree = ""; }; - 312271D72874EDCF0007ED5E /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; - 312271D92874EDEC0007ED5E /* StripePaymentsBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripePaymentsBundleLocator.swift; sourceTree = ""; }; - 312271DB2874EE260007ED5E /* STPCardLoadingIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardLoadingIndicator.swift; sourceTree = ""; }; - 312271DD2874EE5F0007ED5E /* STPPostalCodeValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeValidator.swift; sourceTree = ""; }; - 312271DF2874EEF80007ED5E /* STPPaymentCardTextFieldViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextFieldViewModel.swift; sourceTree = ""; }; - 312271E12876084B0007ED5E /* STPValidatedTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPValidatedTextField.swift; sourceTree = ""; }; - 312271E3287609430007ED5E /* STPImageLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPImageLibrary.swift; sourceTree = ""; }; - 312271E728760B150007ED5E /* STPLabeledFormTextFieldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLabeledFormTextFieldView.swift; sourceTree = ""; }; - 312271E928760B290007ED5E /* STPAUBECSFormViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAUBECSFormViewModel.swift; sourceTree = ""; }; - 312271EB28760B3E0007ED5E /* CardBrandView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardBrandView.swift; sourceTree = ""; }; - 312271ED28760B740007ED5E /* STPViewWithSeparator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPViewWithSeparator.swift; sourceTree = ""; }; - 312271EF28760B820007ED5E /* STPLabeledMultiFormTextFieldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLabeledMultiFormTextFieldView.swift; sourceTree = ""; }; - 312271F128760B9D0007ED5E /* STPBECSDebitAccountNumberValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBECSDebitAccountNumberValidator.swift; sourceTree = ""; }; - 312271F328760BBF0007ED5E /* STPStringUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPStringUtils.swift; sourceTree = ""; }; - 312271F728760CB20007ED5E /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; - 312271F928760D1A0007ED5E /* STPPhoneNumberValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPhoneNumberValidator.swift; sourceTree = ""; }; - 312271FC28760D6D0007ED5E /* NSAttributedString+Stripe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Stripe.swift"; sourceTree = ""; }; - 312271FE28760EFF0007ED5E /* UIButton+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+Stripe.swift"; sourceTree = ""; }; - 31227200287629870007ED5E /* StripePayments+Export.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripePayments+Export.swift"; sourceTree = ""; }; - 3122722128763A830007ED5E /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3122722528763A870007ED5E /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3139D27C286E34C400C9744B /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3139D27F286E34C400C9744B /* StripePaymentsUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripePaymentsUI.h; sourceTree = ""; }; - 3139D284286E34C400C9744B /* StripePaymentsUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripePaymentsUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3139D289286E34C400C9744B /* StripePaymentsUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripePaymentsUITests.swift; sourceTree = ""; }; - 3159F6972888C261007C8C3A /* stp_icon_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_icon_bank@3x.png"; sourceTree = ""; }; - 3159F6992888C261007C8C3A /* stp_card_error_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_error_amex@3x.png"; sourceTree = ""; }; - 3159F69A2888C261007C8C3A /* stp_card_visa_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa_template@3x.png"; sourceTree = ""; }; - 3159F69D2888C261007C8C3A /* stp_card_unknown@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_unknown@3x.png"; sourceTree = ""; }; - 3159F69E2888C261007C8C3A /* stp_card_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex@3x.png"; sourceTree = ""; }; - 3159F69F2888C261007C8C3A /* stp_card_amex_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex_template@3x.png"; sourceTree = ""; }; - 3159F6A02888C261007C8C3A /* stp_card_diners_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners_template@3x.png"; sourceTree = ""; }; - 3159F6A12888C261007C8C3A /* stp_card_diners@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners@3x.png"; sourceTree = ""; }; - 3159F6A22888C261007C8C3A /* stp_card_cvc_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc_amex@3x.png"; sourceTree = ""; }; - 3159F6A32888C261007C8C3A /* stp_card_discover@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover@3x.png"; sourceTree = ""; }; - 3159F6A42888C261007C8C3A /* stp_card_error@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_error@3x.png"; sourceTree = ""; }; - 3159F6A62888C261007C8C3A /* stp_card_jcb_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb_template@3x.png"; sourceTree = ""; }; - 3159F6A72888C261007C8C3A /* stp_card_jcb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb@3x.png"; sourceTree = ""; }; - 3159F6A92888C261007C8C3A /* stp_card_cvc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc@3x.png"; sourceTree = ""; }; - 3159F6AB2888C261007C8C3A /* stp_card_visa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa@3x.png"; sourceTree = ""; }; - 3159F6AC2888C261007C8C3A /* stp_card_applepay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay@3x.png"; sourceTree = ""; }; - 3159F6AF2888C261007C8C3A /* stp_card_mastercard_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard_template@3x.png"; sourceTree = ""; }; - 3159F6B22888C261007C8C3A /* stp_card_mastercard@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard@3x.png"; sourceTree = ""; }; - 3159F6B32888C261007C8C3A /* stp_card_discover_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover_template@3x.png"; sourceTree = ""; }; - 3159F6B42888C261007C8C3A /* form_error_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "form_error_icon_dark@3x.png"; sourceTree = ""; }; - 3159F6B62888C261007C8C3A /* anz@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "anz@3x.png"; sourceTree = ""; }; - 3159F6B72888C261007C8C3A /* nab@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "nab@3x.png"; sourceTree = ""; }; - 3159F6B82888C261007C8C3A /* stgeorges@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stgeorges@3x.png"; sourceTree = ""; }; - 3159F6B92888C261007C8C3A /* westpac@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "westpac@3x.png"; sourceTree = ""; }; - 3159F6BA2888C261007C8C3A /* bankwest@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bankwest@3x.png"; sourceTree = ""; }; - 3159F6BB2888C261007C8C3A /* suncorpmetway@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "suncorpmetway@3x.png"; sourceTree = ""; }; - 3159F6BC2888C261007C8C3A /* boq@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boq@3x.png"; sourceTree = ""; }; - 3159F6BD2888C261007C8C3A /* bankofmelbourne@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bankofmelbourne@3x.png"; sourceTree = ""; }; - 3159F6BE2888C261007C8C3A /* banksa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "banksa@3x.png"; sourceTree = ""; }; - 3159F6BF2888C261007C8C3A /* cba@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cba@3x.png"; sourceTree = ""; }; - 3159F6C12888C261007C8C3A /* form_error_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "form_error_icon@3x.png"; sourceTree = ""; }; - 3159F6C42888C261007C8C3A /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6C52888C261007C8C3A /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6C62888C261007C8C3A /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6C72888C261007C8C3A /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6C82888C261007C8C3A /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6C92888C261007C8C3A /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6CA2888C261007C8C3A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6CB2888C261007C8C3A /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6CC2888C261007C8C3A /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6CD2888C261007C8C3A /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6CE2888C261007C8C3A /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6CF2888C261007C8C3A /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6D02888C261007C8C3A /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6D12888C261007C8C3A /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6D22888C261007C8C3A /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6D32888C261007C8C3A /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6D42888C261007C8C3A /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6D52888C261007C8C3A /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6D62888C261007C8C3A /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6D72888C261007C8C3A /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6D82888C261007C8C3A /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6D92888C261007C8C3A /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6DA2888C261007C8C3A /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6DB2888C261007C8C3A /* tk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tk; path = tk.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6DC2888C261007C8C3A /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6DD2888C261007C8C3A /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6DE2888C261007C8C3A /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6DF2888C261007C8C3A /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6E02888C261007C8C3A /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6E12888C261007C8C3A /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6E22888C261007C8C3A /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6E32888C261007C8C3A /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6E42888C261007C8C3A /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6E52888C261007C8C3A /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6E62888C261007C8C3A /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6E72888C261007C8C3A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6E82888C261007C8C3A /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6E92888C261007C8C3A /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6EA2888C261007C8C3A /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 3159F6EB2888C261007C8C3A /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6EC2888C261007C8C3A /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - 3159F6ED2888C261007C8C3A /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; - 3159F7AF2888C47A007C8C3A /* card_cvc_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_icon@3x.png"; sourceTree = ""; }; - 3159F7B02888C47A007C8C3A /* card_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_amex@3x.png"; sourceTree = ""; }; - 3159F7B12888C47A007C8C3A /* card_visa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_visa@3x.png"; sourceTree = ""; }; - 3159F7B22888C47B007C8C3A /* card_cvc_amex_updated_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_amex_updated_icon@3x.png"; sourceTree = ""; }; - 3159F7B32888C47B007C8C3A /* card_jcb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_jcb@3x.png"; sourceTree = ""; }; - 3159F7B42888C47B007C8C3A /* card_unknown_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown_icon@3x.png"; sourceTree = ""; }; - 3159F7B52888C47B007C8C3A /* card_cvc_amex_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_amex_icon@3x.png"; sourceTree = ""; }; - 3159F7B62888C47B007C8C3A /* card_cvc_updated_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_updated_icon_dark@3x.png"; sourceTree = ""; }; - 3159F7B72888C47B007C8C3A /* card_cvc_amex_updated_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_amex_updated_icon_dark@3x.png"; sourceTree = ""; }; - 3159F7B82888C47B007C8C3A /* card_unknown@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown@3x.png"; sourceTree = ""; }; - 3159F7B92888C47B007C8C3A /* card_diners@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_diners@3x.png"; sourceTree = ""; }; - 3159F7BA2888C47B007C8C3A /* card_unknown_updated_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown_updated_icon_dark@3x.png"; sourceTree = ""; }; - 3159F7BB2888C47C007C8C3A /* card_cvc_amex_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_amex_icon_dark@3x.png"; sourceTree = ""; }; - 3159F7BC2888C47C007C8C3A /* card_unknown_updated_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown_updated_icon@3x.png"; sourceTree = ""; }; - 3159F7BD2888C47C007C8C3A /* card_cvc_updated_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_updated_icon@3x.png"; sourceTree = ""; }; - 3159F7BE2888C47C007C8C3A /* card_discover@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_discover@3x.png"; sourceTree = ""; }; - 3159F7BF2888C47C007C8C3A /* card_cvc_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_icon_dark@3x.png"; sourceTree = ""; }; - 3159F7C02888C47C007C8C3A /* card_unknown_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown_icon_dark@3x.png"; sourceTree = ""; }; - 3159F7C12888C47C007C8C3A /* card_unionpay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unionpay@3x.png"; sourceTree = ""; }; - 3159F7C22888C47C007C8C3A /* card_mastercard@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_mastercard@3x.png"; sourceTree = ""; }; - 31904C6528D9206F00E1F9F5 /* au_becs_bsb.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = au_becs_bsb.json; sourceTree = ""; }; - 31DCB11A28F4EE20002EF128 /* STPAnalyticsClient+PaymentsUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+PaymentsUITests.swift"; sourceTree = ""; }; - B6A0D5F828FF4ED800A9F7A7 /* PaymentMethodMessagingView+Configuration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "PaymentMethodMessagingView+Configuration.swift"; path = "../../../Stripe/PaymentMethodMessagingView+Configuration.swift"; sourceTree = ""; }; - B6A0D5F928FF4ED800A9F7A7 /* PaymentMethodMessagingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = PaymentMethodMessagingView.swift; path = ../../../Stripe/PaymentMethodMessagingView.swift; sourceTree = ""; }; - E237938A291B27CE00C63FDD /* stp_card_unionpay_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_unionpay_template@3x.png"; sourceTree = ""; }; - E237938B291B27CE00C63FDD /* stp_card_unionpay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_unionpay@3x.png"; sourceTree = ""; }; + 01F8FDBA6B57108EB1A80833 /* StripePaymentsUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripePaymentsUI.h; sourceTree = ""; }; + 037A7BAE734C79C1C7816C65 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + 043FF5D07B837B7BF77C7774 /* card_discover@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_discover@3x.png"; sourceTree = ""; }; + 08FDA8CB452D782F948CEB4B /* PaymentMethodMessagingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodMessagingView.swift; sourceTree = ""; }; + 09478FB2F62490A3E4C30710 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 0963B4EA2BE7051725E853A7 /* stp_card_jcb_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb_template@3x.png"; sourceTree = ""; }; + 099AA07DA4B830C5E6C1936E /* card_unionpay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unionpay@3x.png"; sourceTree = ""; }; + 1161E711057A7E92524C9AC0 /* bankwest@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bankwest@3x.png"; sourceTree = ""; }; + 144257A070EABBD6225344F0 /* card_unknown_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown_icon@3x.png"; sourceTree = ""; }; + 153419E931FD1C7C7241A308 /* PaymentMethodMessagingView+Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaymentMethodMessagingView+Configuration.swift"; sourceTree = ""; }; + 15AF4C8964BDCA3C18A231BA /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; + 1749604BB65B36B31E575B1B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + 18EBDFD70DAF2CDBA86DA47E /* bankofmelbourne@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bankofmelbourne@3x.png"; sourceTree = ""; }; + 18F4E10018F5B614315EC505 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + 1AF44C360854F7081D7691B6 /* card_cvc_amex_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_amex_icon_dark@3x.png"; sourceTree = ""; }; + 1C7E5161ECE4008A7AACD0C8 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 1D9865A109D1DA7155719332 /* stp_icon_bank@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_icon_bank@3x.png"; sourceTree = ""; }; + 1DFBB7208FB619CDA73E79D9 /* card_cvc_amex_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_amex_icon@3x.png"; sourceTree = ""; }; + 1F7E4CB2C3C44058A495AB03 /* STPCardCVCInputTextFieldFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldFormatter.swift; sourceTree = ""; }; + 2461E21A0EACF292D412ACFB /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + 263A4A30966BC469BCD22C20 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + 27A47917AEAE328A795ADD03 /* STPBECSDebitAccountNumberValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBECSDebitAccountNumberValidator.swift; sourceTree = ""; }; + 288D29A97073F991BC6EE86A /* form_error_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "form_error_icon@3x.png"; sourceTree = ""; }; + 2894C398480B096B6DE9886E /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + 28D9DB808E41F8C09071F109 /* STPPostalCodeInputTextFieldValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldValidator.swift; sourceTree = ""; }; + 29B0AD21FF2C4E8B326DBF98 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 29C7ADB2115EBE7E68F7B078 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + 2B3640AACAD9398E8AD28571 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2F0B90C79DD7D9E7CE7D74DE /* StripePaymentsUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripePaymentsUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 30B86CEBB7B23D6144D16AAD /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + 3374E6EF5780AD5FA0E9CABD /* suncorpmetway@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "suncorpmetway@3x.png"; sourceTree = ""; }; + 34073B6642753145E5DEA6F2 /* STPCardNumberInputTextFieldValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldValidator.swift; sourceTree = ""; }; + 35EEBF5AAC3BEA7B07CCC2AA /* stp_card_discover_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover_template@3x.png"; sourceTree = ""; }; + 3680B23A13112D27179DE23C /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + 378D7AAFE63F6D4ADC1D4EC8 /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; + 37D6C0E5AB81AA13F529B2B9 /* stp_card_mastercard@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard@3x.png"; sourceTree = ""; }; + 380A5AF726E18A95C7355774 /* card_diners@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_diners@3x.png"; sourceTree = ""; }; + 38363C386120CE3196BC3FCD /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + 3BCA136BA64C637DFD636A6F /* westpac@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "westpac@3x.png"; sourceTree = ""; }; + 3EC808C63D658629E6711E8C /* card_unknown@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown@3x.png"; sourceTree = ""; }; + 3F2091B833EA751B409EFF98 /* card_unknown_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown_icon_dark@3x.png"; sourceTree = ""; }; + 404C42905AD44DC636788F8F /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + 40994F33CBFBB521DBA6D572 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 455BB44FF629EF0DFC550308 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 45DA5B3A3CD6D591FB87DD6E /* stp_card_applepay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_applepay@3x.png"; sourceTree = ""; }; + 49F6F0EAD4A363935C399744 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + 4A47141248A0BC71BC786F36 /* stgeorges@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stgeorges@3x.png"; sourceTree = ""; }; + 4A7D2C13EF9F95E40E3A4FC4 /* card_cvc_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_icon_dark@3x.png"; sourceTree = ""; }; + 4C71E8244B6FD51CB26E9AB5 /* STPLabeledFormTextFieldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLabeledFormTextFieldView.swift; sourceTree = ""; }; + 4CB9C96F5417ADD614D5DBA5 /* tk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tk; path = tk.lproj/Localizable.strings; sourceTree = ""; }; + 4CCF047C291E579AFDE3ED2F /* STPPostalCodeValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeValidator.swift; sourceTree = ""; }; + 4CE7F2BE40869D265B4E2501 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 500CBFBF3B9888148350E834 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + 521054B1E6486BD4F285F830 /* STPStringUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPStringUtils.swift; sourceTree = ""; }; + 55847CB08B388547F06612D1 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + 558D20EEBB72368213CD701D /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + 55964133214CCD4B20266351 /* card_cvc_amex_updated_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_amex_updated_icon@3x.png"; sourceTree = ""; }; + 56B25EB36616A409703BAA76 /* form_error_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "form_error_icon_dark@3x.png"; sourceTree = ""; }; + 5A6D05E10D33ED20A353569D /* card_cvc_amex_updated_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_amex_updated_icon_dark@3x.png"; sourceTree = ""; }; + 5AA7A0E7367C4CE23F3C1D44 /* stp_card_mastercard_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_mastercard_template@3x.png"; sourceTree = ""; }; + 5B79A953FFD647CFC46A7C81 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 613741A276C45F11E82365ED /* stp_card_diners@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners@3x.png"; sourceTree = ""; }; + 61378C762E759E2F8FF04ACE /* STPCardCVCInputTextFieldValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextFieldValidator.swift; sourceTree = ""; }; + 634C8C413DE299FF98DBB313 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 637471CFD8720545CA35D0A8 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 63EA15AA32C5CD57D2204AFC /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + 65191907BE36635822515B62 /* STPPostalCodeInputTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextField.swift; sourceTree = ""; }; + 67058F5B0F916913BF18809B /* STPInputTextFieldValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPInputTextFieldValidator.swift; sourceTree = ""; }; + 6761C35C5BB310D0D40578FB /* STPCardCVCInputTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardCVCInputTextField.swift; sourceTree = ""; }; + 689AC44FC577EFF05BFAF769 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + 68FC7D60D61EA5534ED5D40C /* STPPhoneNumberValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPhoneNumberValidator.swift; sourceTree = ""; }; + 6C911731DD279086059CA23E /* STPCardLoadingIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardLoadingIndicator.swift; sourceTree = ""; }; + 6CD127FC253A2F92DB7404F2 /* STPFormTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFormTextField.swift; sourceTree = ""; }; + 6DB0D5F6A154405D705D1F88 /* STPGenericInputPickerField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputPickerField.swift; sourceTree = ""; }; + 6FE56C292DBB21E554AADCFC /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + 75513DF596C3B9E0863EAEDC /* stp_card_unknown@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_unknown@3x.png"; sourceTree = ""; }; + 75BA4436655DE117219F0C47 /* STPCardFormView+SwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPCardFormView+SwiftUI.swift"; sourceTree = ""; }; + 7678EF919ADE594434B5296C /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + 773B4B693E579875018D8E5B /* CardBrandView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardBrandView.swift; sourceTree = ""; }; + 778ECC1469214B0535BA8515 /* STPCardNumberInputTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextField.swift; sourceTree = ""; }; + 78748D75CFE36389AD557571 /* stp_card_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex@3x.png"; sourceTree = ""; }; + 7892E965BD141F79897E327A /* stp_card_visa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa@3x.png"; sourceTree = ""; }; + 7A3064D5B3B0D876C14E9294 /* stp_card_amex_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_amex_template@3x.png"; sourceTree = ""; }; + 7A914C7345F934E7DFE6F88C /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + 7C977B45CCC1248171927436 /* card_unknown_updated_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown_updated_icon_dark@3x.png"; sourceTree = ""; }; + 7DF65B89A1F7AE597709E55F /* card_cvc_updated_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_updated_icon@3x.png"; sourceTree = ""; }; + 80773CB038F7548CE82882DB /* card_cvc_updated_icon_dark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_updated_icon_dark@3x.png"; sourceTree = ""; }; + 830CAAFA7D3F03562800E6D9 /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; + 8313F1303DA601EE25C50C53 /* card_visa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_visa@3x.png"; sourceTree = ""; }; + 84C8D448EAEA46CBF984F258 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 84D95A2563D810044C337C44 /* anz@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "anz@3x.png"; sourceTree = ""; }; + 86923C0EED63CCA4827A40C9 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8723F8C0B4BA318A86180EA7 /* boq@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boq@3x.png"; sourceTree = ""; }; + 87977FB2F141EE0E6BD9F6BB /* stp_card_unionpay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_unionpay@3x.png"; sourceTree = ""; }; + 897899C2829F3E01AEFCF928 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + 8BD968A1A81BAD59B63E156E /* STPMultiFormTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPMultiFormTextField.swift; sourceTree = ""; }; + 94790A74B6279B406B1E094C /* stp_card_discover@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_discover@3x.png"; sourceTree = ""; }; + 96A4AD5BD4E14E5E724181FC /* stp_card_cvc_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc_amex@3x.png"; sourceTree = ""; }; + 978DC21B087406C15D764B27 /* STPAUBECSDebitFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAUBECSDebitFormView.swift; sourceTree = ""; }; + 9801336237230E00A8D8F6ED /* au_becs_bsb.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = au_becs_bsb.json; sourceTree = ""; }; + 9996460D69441A5B62AE0894 /* stp_card_error_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_error_amex@3x.png"; sourceTree = ""; }; + 99B7197CAA08FDC5562111CD /* STPLabeledMultiFormTextFieldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLabeledMultiFormTextFieldView.swift; sourceTree = ""; }; + 9CD57121330F3FBCBAABF1DF /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + A0F1784A9E3B6E48528F0EE5 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + A3C70161894781F319309A10 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + A41D5DF2BA2C038B826B222F /* STPCountryPickerInputField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCountryPickerInputField.swift; sourceTree = ""; }; + A76CFF33486AECE0E7FC99EC /* STPInputTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPInputTextField.swift; sourceTree = ""; }; + A8165DB2F2C8B257ACF4015C /* STPFormTextFieldContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFormTextFieldContainer.swift; sourceTree = ""; }; + AB2AFD8B904D07C7F3E1E473 /* STPGenericInputTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPGenericInputTextField.swift; sourceTree = ""; }; + ACA351FDB3ACA30EFB319C20 /* STPValidatedTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPValidatedTextField.swift; sourceTree = ""; }; + ADEC647C11C9B12792B8D129 /* STPAUBECSFormViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPAUBECSFormViewModel.swift; sourceTree = ""; }; + B30F4593F849D1B9395B94FA /* STPCardFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardFormView.swift; sourceTree = ""; }; + B3E356A0233CD8A099A0FBAE /* STPCardNumberInputTextFieldFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardNumberInputTextFieldFormatter.swift; sourceTree = ""; }; + B90016F8D8A7EB070DD1426C /* STPFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFormView.swift; sourceTree = ""; }; + B94E13375D267970A3EA32F7 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + BB967723AE164AD7FC104111 /* UIButton+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+Stripe.swift"; sourceTree = ""; }; + BBB874B9887AA34B648473C8 /* STPPaymentCardTextFieldViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextFieldViewModel.swift; sourceTree = ""; }; + BD19B9FF09FF3FF8EFAF1AA9 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + BFE846D5129FB85A61ADB219 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + C090D9C3F1A9AC462A817310 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + C155C768EEED523F37B214ED /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + C288719994E9E9D9DEA122E8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + C2C1289C4A9D93D0C81F0B4F /* card_mastercard@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_mastercard@3x.png"; sourceTree = ""; }; + C3C31F8C932A3DDB0C94781F /* StripePaymentsBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripePaymentsBundleLocator.swift; sourceTree = ""; }; + C4D8989B1B30DE6BBF64E2B4 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + C6C6E614828A5250B8E5B8B2 /* STPCardExpiryInputTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextField.swift; sourceTree = ""; }; + C7BD558058D36A8FAA926CBE /* STPImageLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPImageLibrary.swift; sourceTree = ""; }; + C8089CF7F51E36250057850A /* card_amex@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_amex@3x.png"; sourceTree = ""; }; + CDCBF8A357231C5D41353647 /* stp_card_visa_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_visa_template@3x.png"; sourceTree = ""; }; + CDFE1FFD109926218DD38D82 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CF5A6CC2985AD7713186F111 /* STPInputTextFieldFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPInputTextFieldFormatter.swift; sourceTree = ""; }; + D1C281AD068A5A8731EE1EE8 /* STPCardExpiryInputTextFieldFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldFormatter.swift; sourceTree = ""; }; + D316460AE9760F6682AF5268 /* STPPaymentCardTextField+SwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPPaymentCardTextField+SwiftUI.swift"; sourceTree = ""; }; + D4338A69B776299B9F4CE953 /* cba@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cba@3x.png"; sourceTree = ""; }; + D66E7B7C80848F4CDFD09F27 /* STPBSBNumberValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPBSBNumberValidator.swift; sourceTree = ""; }; + D858052E551EBA77E173E794 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; + D875E65D1FC93B45506CB51B /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + D9EDAF3534E36069663E6B9F /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; + DACC385F4CE5DE8BCFAA8A49 /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; + DB29B601A593740625B1420C /* stp_card_jcb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_jcb@3x.png"; sourceTree = ""; }; + DB6B6B92EA630F098C7F23C2 /* stp_card_error@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_error@3x.png"; sourceTree = ""; }; + DB8FAA568A2CF9A7B4616A7F /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + DE92A56ECDD0EFEF8FBB6C2C /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + DF996E3C6046629EB3FE3E9E /* STPViewWithSeparator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPViewWithSeparator.swift; sourceTree = ""; }; + E145310CA4E17EAF08D5D051 /* banksa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "banksa@3x.png"; sourceTree = ""; }; + E22E366C1397E3E321EFBA72 /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + E30195C4D682D992C609C2BF /* stp_card_unionpay_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_unionpay_template@3x.png"; sourceTree = ""; }; + E45CEE8F2A450AAF95226FAA /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + E5385E30F06B36FEB36D4266 /* STPAnalyticsClient+PaymentsUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "STPAnalyticsClient+PaymentsUITests.swift"; sourceTree = ""; }; + E55DB51F5056355E789BC2CA /* nab@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "nab@3x.png"; sourceTree = ""; }; + E62DCBB4A37DF231EC10D25F /* card_jcb@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_jcb@3x.png"; sourceTree = ""; }; + E6806987E22A4798BFEE52BC /* stp_card_diners_template@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_diners_template@3x.png"; sourceTree = ""; }; + E87D9A22F5475D1F8058E38D /* STPFloatingPlaceholderTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPFloatingPlaceholderTextField.swift; sourceTree = ""; }; + E8C0921DF28F5F7911653888 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E9F4C1C5E227B17DBC07DC42 /* StripePayments+Export.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StripePayments+Export.swift"; sourceTree = ""; }; + EAF9AD15E4A50C49A65376DC /* STPPostalCodeInputTextFieldFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPostalCodeInputTextFieldFormatter.swift; sourceTree = ""; }; + EBC1DB38C61581B52F0C6C02 /* card_cvc_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_cvc_icon@3x.png"; sourceTree = ""; }; + F00416E6FCC1FEA739758F3E /* STPCardExpiryInputTextFieldValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPCardExpiryInputTextFieldValidator.swift; sourceTree = ""; }; + F0844D7BAF4E9ADFB71E7763 /* stp_card_cvc@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stp_card_cvc@3x.png"; sourceTree = ""; }; + F169F220E75780C60A4DDE88 /* STPNumericDigitInputTextFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPNumericDigitInputTextFormatter.swift; sourceTree = ""; }; + F23039851D5CEE31AA05A927 /* card_unknown_updated_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "card_unknown_updated_icon@3x.png"; sourceTree = ""; }; + FA25F39FC75BC81D34E4204D /* NSAttributedString+Stripe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSAttributedString+Stripe.swift"; sourceTree = ""; }; + FD1E6AEC38AEF70D9E54ADBB /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FDFDDFC3D204B8B31EE5FE2B /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + FE99E179BBF1D07A68C6A58B /* STPPaymentCardTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPPaymentCardTextField.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 3139D279286E34C400C9744B /* Frameworks */ = { + 080B9DE24C5BA81F780F8F21 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3122722628763A870007ED5E /* StripeCore.framework in Frameworks */, - 31227160286E56140007ED5E /* StripePayments.framework in Frameworks */, - 31227164286E561D0007ED5E /* Stripe3DS2.framework in Frameworks */, - 3122722228763A830007ED5E /* StripeUICore.framework in Frameworks */, + 4F2317E3CD41D6D903E331C2 /* XCTest.framework in Frameworks */, + 8E285418BD0AC81A8E4EEFE5 /* StripePaymentsUI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3139D281286E34C400C9744B /* Frameworks */ = { + B90D4A8DDE24FEFA64A3A0B8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3139D285286E34C400C9744B /* StripePaymentsUI.framework in Frameworks */, + F662D937F0427B766D60A898 /* Stripe3DS2.framework in Frameworks */, + EAE0A0ECA1CCB3E2F69EA963 /* StripeCore.framework in Frameworks */, + 5B2E3D7442C8F86C75FDE246 /* StripePayments.framework in Frameworks */, + 3B3DA818797C12F8AAE7E28E /* StripeUICore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 31138E6628DBBB56008AF554 /* Categories */ = { + 0450FDF5F8EEC5A590B5EA34 /* Categories */ = { isa = PBXGroup; children = ( - 31138E6A28DBBB78008AF554 /* Enums+CustomStringConvertible.swift */, + 830CAAFA7D3F03562800E6D9 /* Enums+CustomStringConvertible.swift */, ); path = Categories; sourceTree = ""; }; - 31138EA328DE53D2008AF554 /* BuildConfigurations */ = { + 16E5544A79944C8FB4BF6C7A /* Categories */ = { isa = PBXGroup; children = ( - 31138EA428DE53D2008AF554 /* StripeiOS Tests-Debug.xcconfig */, - 31138EA528DE53D2008AF554 /* StripeiOS-Debug.xcconfig */, - 31138EA628DE53D2008AF554 /* Project-Release.xcconfig */, - 31138EA728DE53D2008AF554 /* StripeiOS Tests-Release.xcconfig */, - 31138EA828DE53D2008AF554 /* Project-Shared.xcconfig */, - 31138EA928DE53D2008AF554 /* Version.xcconfig */, - 31138EAA28DE53D2008AF554 /* StripeiOS Tests-Shared.xcconfig */, - 31138EAB28DE53D2008AF554 /* StripeiOS-Shared.xcconfig */, - 31138EAC28DE53D2008AF554 /* Project-Debug.xcconfig */, - 31138EAD28DE53D2008AF554 /* StripeiOS-Release.xcconfig */, + FA25F39FC75BC81D34E4204D /* NSAttributedString+Stripe.swift */, + BB967723AE164AD7FC104111 /* UIButton+Stripe.swift */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = Categories; sourceTree = ""; }; - 3122706A286E3BF80007ED5E /* UI Components */ = { + 199A9B8AB68BE566A72856B3 /* Products */ = { isa = PBXGroup; children = ( - B6A0D5F928FF4ED800A9F7A7 /* PaymentMethodMessagingView.swift */, - B6A0D5F828FF4ED800A9F7A7 /* PaymentMethodMessagingView+Configuration.swift */, - 3122706F286E3C0B0007ED5E /* STPAUBECSDebitFormView.swift */, - 3122706B286E3C0A0007ED5E /* STPCardFormView.swift */, - 31227073286E3C0B0007ED5E /* STPCardFormView+SwiftUI.swift */, - 3122706C286E3C0A0007ED5E /* STPFloatingPlaceholderTextField.swift */, - 3122706D286E3C0B0007ED5E /* STPFormTextFieldContainer.swift */, - 31227072286E3C0B0007ED5E /* STPFormView.swift */, - 3122706E286E3C0B0007ED5E /* STPMultiFormTextField.swift */, - 31227070286E3C0B0007ED5E /* STPPaymentCardTextField.swift */, - 31227071286E3C0B0007ED5E /* STPPaymentCardTextField+SwiftUI.swift */, + 86923C0EED63CCA4827A40C9 /* Stripe3DS2.framework */, + 2B3640AACAD9398E8AD28571 /* StripeCore.framework */, + CDFE1FFD109926218DD38D82 /* StripePayments.framework */, + E8C0921DF28F5F7911653888 /* StripePaymentsUI.framework */, + 2F0B90C79DD7D9E7CE7D74DE /* StripePaymentsUITests.xctest */, + FD1E6AEC38AEF70D9E54ADBB /* StripeUICore.framework */, ); - path = "UI Components"; + name = Products; sourceTree = ""; }; - 31227138286E44FA0007ED5E /* Helpers */ = { + 1A9E5FB9EB1A4FAF11A131DC /* UI */ = { isa = PBXGroup; children = ( - 31227176286E586D0007ED5E /* STPBSBNumberValidator.swift */, - 312271DD2874EE5F0007ED5E /* STPPostalCodeValidator.swift */, - 31227200287629870007ED5E /* StripePayments+Export.swift */, - 312271F928760D1A0007ED5E /* STPPhoneNumberValidator.swift */, - 312271F328760BBF0007ED5E /* STPStringUtils.swift */, - 312271F728760CB20007ED5E /* String+Localized.swift */, - 312271F128760B9D0007ED5E /* STPBECSDebitAccountNumberValidator.swift */, - 312271E3287609430007ED5E /* STPImageLibrary.swift */, - 312271D72874EDCF0007ED5E /* STPLocalizedString.swift */, - 312271D92874EDEC0007ED5E /* StripePaymentsBundleLocator.swift */, + 646BAFCFDF6E661C0C444D32 /* Views */, ); - path = Helpers; + path = UI; sourceTree = ""; }; - 3122715E286E56140007ED5E /* Frameworks */ = { + 2FF82D94D876852704770AA2 /* Inputs */ = { isa = PBXGroup; children = ( - 3122722528763A870007ED5E /* StripeCore.framework */, - 3122722128763A830007ED5E /* StripeUICore.framework */, - 31227163286E561D0007ED5E /* Stripe3DS2.framework */, - 3122715F286E56140007ED5E /* StripePayments.framework */, + E55596BA2BC9F135F3074CC4 /* Card */, + A41D5DF2BA2C038B826B222F /* STPCountryPickerInputField.swift */, + 6DB0D5F6A154405D705D1F88 /* STPGenericInputPickerField.swift */, + AB2AFD8B904D07C7F3E1E473 /* STPGenericInputTextField.swift */, + A76CFF33486AECE0E7FC99EC /* STPInputTextField.swift */, + CF5A6CC2985AD7713186F111 /* STPInputTextFieldFormatter.swift */, + 67058F5B0F916913BF18809B /* STPInputTextFieldValidator.swift */, + F169F220E75780C60A4DDE88 /* STPNumericDigitInputTextFormatter.swift */, ); - name = Frameworks; + path = Inputs; sourceTree = ""; }; - 312271AA2874EAE80007ED5E /* Internal */ = { + 3BA88A2E0DC9749AE3D7A7E0 /* Images */ = { isa = PBXGroup; children = ( - 312271FB28760D5A0007ED5E /* Categories */, - 312271AB2874EAF30007ED5E /* UI */, + E0C803DA2DE0BDA1285A12C0 /* BECS */, + 683D4750F616F5DA700E5F6A /* Cards */, + DF1A7522BF5B3D0EF31AD380 /* Cardsv2 */, + 56B25EB36616A409703BAA76 /* form_error_icon_dark@3x.png */, + 288D29A97073F991BC6EE86A /* form_error_icon@3x.png */, + 1D9865A109D1DA7155719332 /* stp_icon_bank@3x.png */, ); - path = Internal; + path = Images; sourceTree = ""; }; - 312271AB2874EAF30007ED5E /* UI */ = { + 45D22B72C2DE0D4407BB65DB /* Localizations */ = { isa = PBXGroup; children = ( - 312271AC2874EAFF0007ED5E /* Views */, + CDBC414B8A9A28DD518B71D1 /* Localizable.strings */, ); - path = UI; + path = Localizations; sourceTree = ""; }; - 312271AC2874EAFF0007ED5E /* Views */ = { + 58E2DBA9B8DC2BBCEA45972C /* StripePaymentsUI */ = { isa = PBXGroup; children = ( - 312271DB2874EE260007ED5E /* STPCardLoadingIndicator.swift */, - 312271EB28760B3E0007ED5E /* CardBrandView.swift */, - 312271E928760B290007ED5E /* STPAUBECSFormViewModel.swift */, - 312271DF2874EEF80007ED5E /* STPPaymentCardTextFieldViewModel.swift */, - 312271E728760B150007ED5E /* STPLabeledFormTextFieldView.swift */, - 312271EF28760B820007ED5E /* STPLabeledMultiFormTextFieldView.swift */, - 312271E12876084B0007ED5E /* STPValidatedTextField.swift */, - 312271ED28760B740007ED5E /* STPViewWithSeparator.swift */, - 312271D52874EDAD0007ED5E /* STPFormTextField.swift */, - 312271AD2874EB060007ED5E /* Inputs */, + 92BA1D23641756638281C55B /* Resources */, + A62869CC8E06A82A37B603AD /* Source */, + 4CE7F2BE40869D265B4E2501 /* Info.plist */, + 01F8FDBA6B57108EB1A80833 /* StripePaymentsUI.h */, ); - path = Views; + path = StripePaymentsUI; sourceTree = ""; }; - 312271AD2874EB060007ED5E /* Inputs */ = { + 62140A9DA8A852E23FFACC1C /* JSON */ = { isa = PBXGroup; children = ( - 312271C72874EB200007ED5E /* STPCountryPickerInputField.swift */, - 312271C82874EB200007ED5E /* STPGenericInputPickerField.swift */, - 312271CC2874EB210007ED5E /* STPGenericInputTextField.swift */, - 312271C92874EB210007ED5E /* STPInputTextField.swift */, - 312271CB2874EB210007ED5E /* STPInputTextFieldFormatter.swift */, - 312271CA2874EB210007ED5E /* STPInputTextFieldValidator.swift */, - 312271CD2874EB210007ED5E /* STPNumericDigitInputTextFormatter.swift */, - 312271AE2874EB0A0007ED5E /* Card */, + 9801336237230E00A8D8F6ED /* au_becs_bsb.json */, ); - path = Inputs; + path = JSON; sourceTree = ""; }; - 312271AE2874EB0A0007ED5E /* Card */ = { + 646BAFCFDF6E661C0C444D32 /* Views */ = { isa = PBXGroup; children = ( - 312271B42874EB130007ED5E /* STPCardCVCInputTextField.swift */, - 312271B52874EB130007ED5E /* STPCardCVCInputTextFieldFormatter.swift */, - 312271B72874EB130007ED5E /* STPCardCVCInputTextFieldValidator.swift */, - 312271BA2874EB130007ED5E /* STPCardExpiryInputTextField.swift */, - 312271B62874EB130007ED5E /* STPCardExpiryInputTextFieldFormatter.swift */, - 312271B92874EB130007ED5E /* STPCardExpiryInputTextFieldValidator.swift */, - 312271B82874EB130007ED5E /* STPCardNumberInputTextField.swift */, - 312271AF2874EB120007ED5E /* STPCardNumberInputTextFieldFormatter.swift */, - 312271B02874EB120007ED5E /* STPCardNumberInputTextFieldValidator.swift */, - 312271B12874EB120007ED5E /* STPPostalCodeInputTextField.swift */, - 312271B22874EB130007ED5E /* STPPostalCodeInputTextFieldFormatter.swift */, - 312271B32874EB130007ED5E /* STPPostalCodeInputTextFieldValidator.swift */, + 2FF82D94D876852704770AA2 /* Inputs */, + 773B4B693E579875018D8E5B /* CardBrandView.swift */, + ADEC647C11C9B12792B8D129 /* STPAUBECSFormViewModel.swift */, + 6C911731DD279086059CA23E /* STPCardLoadingIndicator.swift */, + 6CD127FC253A2F92DB7404F2 /* STPFormTextField.swift */, + 4C71E8244B6FD51CB26E9AB5 /* STPLabeledFormTextFieldView.swift */, + 99B7197CAA08FDC5562111CD /* STPLabeledMultiFormTextFieldView.swift */, + BBB874B9887AA34B648473C8 /* STPPaymentCardTextFieldViewModel.swift */, + ACA351FDB3ACA30EFB319C20 /* STPValidatedTextField.swift */, + DF996E3C6046629EB3FE3E9E /* STPViewWithSeparator.swift */, ); - path = Card; + path = Views; sourceTree = ""; }; - 312271FB28760D5A0007ED5E /* Categories */ = { + 683D4750F616F5DA700E5F6A /* Cards */ = { isa = PBXGroup; children = ( - 312271FC28760D6D0007ED5E /* NSAttributedString+Stripe.swift */, - 312271FE28760EFF0007ED5E /* UIButton+Stripe.swift */, + 7A3064D5B3B0D876C14E9294 /* stp_card_amex_template@3x.png */, + 78748D75CFE36389AD557571 /* stp_card_amex@3x.png */, + 45DA5B3A3CD6D591FB87DD6E /* stp_card_applepay@3x.png */, + 96A4AD5BD4E14E5E724181FC /* stp_card_cvc_amex@3x.png */, + F0844D7BAF4E9ADFB71E7763 /* stp_card_cvc@3x.png */, + E6806987E22A4798BFEE52BC /* stp_card_diners_template@3x.png */, + 613741A276C45F11E82365ED /* stp_card_diners@3x.png */, + 35EEBF5AAC3BEA7B07CCC2AA /* stp_card_discover_template@3x.png */, + 94790A74B6279B406B1E094C /* stp_card_discover@3x.png */, + 9996460D69441A5B62AE0894 /* stp_card_error_amex@3x.png */, + DB6B6B92EA630F098C7F23C2 /* stp_card_error@3x.png */, + 0963B4EA2BE7051725E853A7 /* stp_card_jcb_template@3x.png */, + DB29B601A593740625B1420C /* stp_card_jcb@3x.png */, + 5AA7A0E7367C4CE23F3C1D44 /* stp_card_mastercard_template@3x.png */, + 37D6C0E5AB81AA13F529B2B9 /* stp_card_mastercard@3x.png */, + E30195C4D682D992C609C2BF /* stp_card_unionpay_template@3x.png */, + 87977FB2F141EE0E6BD9F6BB /* stp_card_unionpay@3x.png */, + 75513DF596C3B9E0863EAEDC /* stp_card_unknown@3x.png */, + CDCBF8A357231C5D41353647 /* stp_card_visa_template@3x.png */, + 7892E965BD141F79897E327A /* stp_card_visa@3x.png */, ); - path = Categories; + path = Cards; sourceTree = ""; }; - 3139D272286E34C400C9744B = { + 6DD88910647B8C66BA7429DD /* Internal */ = { isa = PBXGroup; children = ( - 31138EA328DE53D2008AF554 /* BuildConfigurations */, - 3139D27E286E34C400C9744B /* StripePaymentsUI */, - 3139D288286E34C400C9744B /* StripePaymentsUITests */, - 3139D27D286E34C400C9744B /* Products */, - 3122715E286E56140007ED5E /* Frameworks */, + 16E5544A79944C8FB4BF6C7A /* Categories */, + 1A9E5FB9EB1A4FAF11A131DC /* UI */, ); + path = Internal; sourceTree = ""; }; - 3139D27D286E34C400C9744B /* Products */ = { + 7ADB2E49AFEC066694F8E7D1 /* Frameworks */ = { isa = PBXGroup; children = ( - 3139D27C286E34C400C9744B /* StripePaymentsUI.framework */, - 3139D284286E34C400C9744B /* StripePaymentsUITests.xctest */, + BFE846D5129FB85A61ADB219 /* XCTest.framework */, ); - name = Products; + name = Frameworks; sourceTree = ""; }; - 3139D27E286E34C400C9744B /* StripePaymentsUI */ = { + 92BA1D23641756638281C55B /* Resources */ = { isa = PBXGroup; children = ( - 31138E6628DBBB56008AF554 /* Categories */, - 3159F6942888C261007C8C3A /* Resources */, - 312271AA2874EAE80007ED5E /* Internal */, - 31227138286E44FA0007ED5E /* Helpers */, - 3122706A286E3BF80007ED5E /* UI Components */, - 3139D27F286E34C400C9744B /* StripePaymentsUI.h */, + 3BA88A2E0DC9749AE3D7A7E0 /* Images */, + 62140A9DA8A852E23FFACC1C /* JSON */, + 45D22B72C2DE0D4407BB65DB /* Localizations */, ); - path = StripePaymentsUI; + path = Resources; sourceTree = ""; }; - 3139D288286E34C400C9744B /* StripePaymentsUITests */ = { + 9446D52035EE85A6B33817F0 /* StripePaymentsUITests */ = { isa = PBXGroup; children = ( - 3139D289286E34C400C9744B /* StripePaymentsUITests.swift */, - 31DCB11A28F4EE20002EF128 /* STPAnalyticsClient+PaymentsUITests.swift */, + C288719994E9E9D9DEA122E8 /* Info.plist */, + E5385E30F06B36FEB36D4266 /* STPAnalyticsClient+PaymentsUITests.swift */, ); path = StripePaymentsUITests; sourceTree = ""; }; - 3159F6942888C261007C8C3A /* Resources */ = { + A1DBCB8A73CEA53E8B88677F /* UI Components */ = { isa = PBXGroup; children = ( - 31904C6428D9206F00E1F9F5 /* JSON */, - 3159F6962888C261007C8C3A /* Images */, - 3159F6C22888C261007C8C3A /* Localizations */, + 08FDA8CB452D782F948CEB4B /* PaymentMethodMessagingView.swift */, + 153419E931FD1C7C7241A308 /* PaymentMethodMessagingView+Configuration.swift */, + 978DC21B087406C15D764B27 /* STPAUBECSDebitFormView.swift */, + B30F4593F849D1B9395B94FA /* STPCardFormView.swift */, + 75BA4436655DE117219F0C47 /* STPCardFormView+SwiftUI.swift */, + E87D9A22F5475D1F8058E38D /* STPFloatingPlaceholderTextField.swift */, + A8165DB2F2C8B257ACF4015C /* STPFormTextFieldContainer.swift */, + B90016F8D8A7EB070DD1426C /* STPFormView.swift */, + 8BD968A1A81BAD59B63E156E /* STPMultiFormTextField.swift */, + FE99E179BBF1D07A68C6A58B /* STPPaymentCardTextField.swift */, + D316460AE9760F6682AF5268 /* STPPaymentCardTextField+SwiftUI.swift */, ); - path = Resources; + path = "UI Components"; sourceTree = ""; }; - 3159F6962888C261007C8C3A /* Images */ = { + A2FBAE5EC2F69C0424DCE966 /* Helpers */ = { isa = PBXGroup; children = ( - 3159F6972888C261007C8C3A /* stp_icon_bank@3x.png */, - 3159F7AE2888C47A007C8C3A /* Cardsv2 */, - 3159F6982888C261007C8C3A /* Cards */, - 3159F6B42888C261007C8C3A /* form_error_icon_dark@3x.png */, - 3159F6B52888C261007C8C3A /* BECS */, - 3159F6C12888C261007C8C3A /* form_error_icon@3x.png */, + 27A47917AEAE328A795ADD03 /* STPBECSDebitAccountNumberValidator.swift */, + D66E7B7C80848F4CDFD09F27 /* STPBSBNumberValidator.swift */, + C7BD558058D36A8FAA926CBE /* STPImageLibrary.swift */, + D858052E551EBA77E173E794 /* STPLocalizedString.swift */, + 68FC7D60D61EA5534ED5D40C /* STPPhoneNumberValidator.swift */, + 4CCF047C291E579AFDE3ED2F /* STPPostalCodeValidator.swift */, + 521054B1E6486BD4F285F830 /* STPStringUtils.swift */, + D9EDAF3534E36069663E6B9F /* String+Localized.swift */, + E9F4C1C5E227B17DBC07DC42 /* StripePayments+Export.swift */, + C3C31F8C932A3DDB0C94781F /* StripePaymentsBundleLocator.swift */, ); - path = Images; + path = Helpers; sourceTree = ""; }; - 3159F6982888C261007C8C3A /* Cards */ = { + A62869CC8E06A82A37B603AD /* Source */ = { isa = PBXGroup; children = ( - 3159F6992888C261007C8C3A /* stp_card_error_amex@3x.png */, - 3159F69A2888C261007C8C3A /* stp_card_visa_template@3x.png */, - 3159F69D2888C261007C8C3A /* stp_card_unknown@3x.png */, - 3159F69E2888C261007C8C3A /* stp_card_amex@3x.png */, - 3159F69F2888C261007C8C3A /* stp_card_amex_template@3x.png */, - 3159F6A02888C261007C8C3A /* stp_card_diners_template@3x.png */, - 3159F6A12888C261007C8C3A /* stp_card_diners@3x.png */, - 3159F6A22888C261007C8C3A /* stp_card_cvc_amex@3x.png */, - 3159F6A32888C261007C8C3A /* stp_card_discover@3x.png */, - 3159F6A42888C261007C8C3A /* stp_card_error@3x.png */, - 3159F6A62888C261007C8C3A /* stp_card_jcb_template@3x.png */, - 3159F6A72888C261007C8C3A /* stp_card_jcb@3x.png */, - 3159F6A92888C261007C8C3A /* stp_card_cvc@3x.png */, - 3159F6AB2888C261007C8C3A /* stp_card_visa@3x.png */, - 3159F6AC2888C261007C8C3A /* stp_card_applepay@3x.png */, - 3159F6AF2888C261007C8C3A /* stp_card_mastercard_template@3x.png */, - 3159F6B22888C261007C8C3A /* stp_card_mastercard@3x.png */, - E237938A291B27CE00C63FDD /* stp_card_unionpay_template@3x.png */, - E237938B291B27CE00C63FDD /* stp_card_unionpay@3x.png */, - 3159F6B32888C261007C8C3A /* stp_card_discover_template@3x.png */, + 0450FDF5F8EEC5A590B5EA34 /* Categories */, + A2FBAE5EC2F69C0424DCE966 /* Helpers */, + 6DD88910647B8C66BA7429DD /* Internal */, + A1DBCB8A73CEA53E8B88677F /* UI Components */, + ); + path = Source; + sourceTree = ""; + }; + BE7250EEEC959E5598AFB9FA = { + isa = PBXGroup; + children = ( + E6EE39118733528E48738DF2 /* Project */, + 7ADB2E49AFEC066694F8E7D1 /* Frameworks */, + 199A9B8AB68BE566A72856B3 /* Products */, ); - path = Cards; sourceTree = ""; }; - 3159F6B52888C261007C8C3A /* BECS */ = { + DF1A7522BF5B3D0EF31AD380 /* Cardsv2 */ = { isa = PBXGroup; children = ( - 3159F6B62888C261007C8C3A /* anz@3x.png */, - 3159F6B72888C261007C8C3A /* nab@3x.png */, - 3159F6B82888C261007C8C3A /* stgeorges@3x.png */, - 3159F6B92888C261007C8C3A /* westpac@3x.png */, - 3159F6BA2888C261007C8C3A /* bankwest@3x.png */, - 3159F6BB2888C261007C8C3A /* suncorpmetway@3x.png */, - 3159F6BC2888C261007C8C3A /* boq@3x.png */, - 3159F6BD2888C261007C8C3A /* bankofmelbourne@3x.png */, - 3159F6BE2888C261007C8C3A /* banksa@3x.png */, - 3159F6BF2888C261007C8C3A /* cba@3x.png */, + C8089CF7F51E36250057850A /* card_amex@3x.png */, + 1AF44C360854F7081D7691B6 /* card_cvc_amex_icon_dark@3x.png */, + 1DFBB7208FB619CDA73E79D9 /* card_cvc_amex_icon@3x.png */, + 5A6D05E10D33ED20A353569D /* card_cvc_amex_updated_icon_dark@3x.png */, + 55964133214CCD4B20266351 /* card_cvc_amex_updated_icon@3x.png */, + 4A7D2C13EF9F95E40E3A4FC4 /* card_cvc_icon_dark@3x.png */, + EBC1DB38C61581B52F0C6C02 /* card_cvc_icon@3x.png */, + 80773CB038F7548CE82882DB /* card_cvc_updated_icon_dark@3x.png */, + 7DF65B89A1F7AE597709E55F /* card_cvc_updated_icon@3x.png */, + 380A5AF726E18A95C7355774 /* card_diners@3x.png */, + 043FF5D07B837B7BF77C7774 /* card_discover@3x.png */, + E62DCBB4A37DF231EC10D25F /* card_jcb@3x.png */, + C2C1289C4A9D93D0C81F0B4F /* card_mastercard@3x.png */, + 099AA07DA4B830C5E6C1936E /* card_unionpay@3x.png */, + 3F2091B833EA751B409EFF98 /* card_unknown_icon_dark@3x.png */, + 144257A070EABBD6225344F0 /* card_unknown_icon@3x.png */, + 7C977B45CCC1248171927436 /* card_unknown_updated_icon_dark@3x.png */, + F23039851D5CEE31AA05A927 /* card_unknown_updated_icon@3x.png */, + 3EC808C63D658629E6711E8C /* card_unknown@3x.png */, + 8313F1303DA601EE25C50C53 /* card_visa@3x.png */, + ); + path = Cardsv2; + sourceTree = ""; + }; + E0C803DA2DE0BDA1285A12C0 /* BECS */ = { + isa = PBXGroup; + children = ( + 84D95A2563D810044C337C44 /* anz@3x.png */, + 18EBDFD70DAF2CDBA86DA47E /* bankofmelbourne@3x.png */, + E145310CA4E17EAF08D5D051 /* banksa@3x.png */, + 1161E711057A7E92524C9AC0 /* bankwest@3x.png */, + 8723F8C0B4BA318A86180EA7 /* boq@3x.png */, + D4338A69B776299B9F4CE953 /* cba@3x.png */, + E55DB51F5056355E789BC2CA /* nab@3x.png */, + 4A47141248A0BC71BC786F36 /* stgeorges@3x.png */, + 3374E6EF5780AD5FA0E9CABD /* suncorpmetway@3x.png */, + 3BCA136BA64C637DFD636A6F /* westpac@3x.png */, ); path = BECS; sourceTree = ""; }; - 3159F6C22888C261007C8C3A /* Localizations */ = { + E55596BA2BC9F135F3074CC4 /* Card */ = { isa = PBXGroup; children = ( - 3159F6C32888C261007C8C3A /* Localizable.strings */, + 6761C35C5BB310D0D40578FB /* STPCardCVCInputTextField.swift */, + 1F7E4CB2C3C44058A495AB03 /* STPCardCVCInputTextFieldFormatter.swift */, + 61378C762E759E2F8FF04ACE /* STPCardCVCInputTextFieldValidator.swift */, + C6C6E614828A5250B8E5B8B2 /* STPCardExpiryInputTextField.swift */, + D1C281AD068A5A8731EE1EE8 /* STPCardExpiryInputTextFieldFormatter.swift */, + F00416E6FCC1FEA739758F3E /* STPCardExpiryInputTextFieldValidator.swift */, + 778ECC1469214B0535BA8515 /* STPCardNumberInputTextField.swift */, + B3E356A0233CD8A099A0FBAE /* STPCardNumberInputTextFieldFormatter.swift */, + 34073B6642753145E5DEA6F2 /* STPCardNumberInputTextFieldValidator.swift */, + 65191907BE36635822515B62 /* STPPostalCodeInputTextField.swift */, + EAF9AD15E4A50C49A65376DC /* STPPostalCodeInputTextFieldFormatter.swift */, + 28D9DB808E41F8C09071F109 /* STPPostalCodeInputTextFieldValidator.swift */, ); - path = Localizations; + path = Card; sourceTree = ""; }; - 3159F7AE2888C47A007C8C3A /* Cardsv2 */ = { + E6EE39118733528E48738DF2 /* Project */ = { isa = PBXGroup; children = ( - 3159F7B92888C47B007C8C3A /* card_diners@3x.png */, - 3159F7C12888C47C007C8C3A /* card_unionpay@3x.png */, - 3159F7B02888C47A007C8C3A /* card_amex@3x.png */, - 3159F7B52888C47B007C8C3A /* card_cvc_amex_icon@3x.png */, - 3159F7BB2888C47C007C8C3A /* card_cvc_amex_icon_dark@3x.png */, - 3159F7AF2888C47A007C8C3A /* card_cvc_icon@3x.png */, - 3159F7BF2888C47C007C8C3A /* card_cvc_icon_dark@3x.png */, - 3159F7B82888C47B007C8C3A /* card_unknown@3x.png */, - 3159F7B32888C47B007C8C3A /* card_jcb@3x.png */, - 3159F7BE2888C47C007C8C3A /* card_discover@3x.png */, - 3159F7C22888C47C007C8C3A /* card_mastercard@3x.png */, - 3159F7B12888C47A007C8C3A /* card_visa@3x.png */, - 3159F7B42888C47B007C8C3A /* card_unknown_icon@3x.png */, - 3159F7C02888C47C007C8C3A /* card_unknown_icon_dark@3x.png */, - 3159F7B72888C47B007C8C3A /* card_cvc_amex_updated_icon_dark@3x.png */, - 3159F7B22888C47B007C8C3A /* card_cvc_amex_updated_icon@3x.png */, - 3159F7BA2888C47B007C8C3A /* card_unknown_updated_icon_dark@3x.png */, - 3159F7BC2888C47C007C8C3A /* card_unknown_updated_icon@3x.png */, - 3159F7B62888C47B007C8C3A /* card_cvc_updated_icon_dark@3x.png */, - 3159F7BD2888C47C007C8C3A /* card_cvc_updated_icon@3x.png */, + E760746A90857E3575BEBCDA /* BuildConfigurations */, + 58E2DBA9B8DC2BBCEA45972C /* StripePaymentsUI */, + 9446D52035EE85A6B33817F0 /* StripePaymentsUITests */, ); - path = Cardsv2; + name = Project; sourceTree = ""; }; - 31904C6428D9206F00E1F9F5 /* JSON */ = { + E760746A90857E3575BEBCDA /* BuildConfigurations */ = { isa = PBXGroup; children = ( - 31904C6528D9206F00E1F9F5 /* au_becs_bsb.json */, + 09478FB2F62490A3E4C30710 /* Project-Debug.xcconfig */, + 637471CFD8720545CA35D0A8 /* Project-Release.xcconfig */, + 6FE56C292DBB21E554AADCFC /* StripeiOS Tests-Debug.xcconfig */, + E22E366C1397E3E321EFBA72 /* StripeiOS Tests-Release.xcconfig */, + DACC385F4CE5DE8BCFAA8A49 /* StripeiOS-Debug.xcconfig */, + 378D7AAFE63F6D4ADC1D4EC8 /* StripeiOS-Release.xcconfig */, ); - path = JSON; + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 3139D277286E34C400C9744B /* Headers */ = { + 0B3ED58B321B8C3B8C8F3078 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3139D28B286E34C400C9744B /* StripePaymentsUI.h in Headers */, + E097C89AA5D20D6399E59A3E /* StripePaymentsUI.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3139D27B286E34C400C9744B /* StripePaymentsUI */ = { + C159BFB17E834CD30378F9F3 /* StripePaymentsUI */ = { isa = PBXNativeTarget; - buildConfigurationList = 3139D28E286E34C400C9744B /* Build configuration list for PBXNativeTarget "StripePaymentsUI" */; + buildConfigurationList = 701C03CD723265CEBC62C4D5 /* Build configuration list for PBXNativeTarget "StripePaymentsUI" */; buildPhases = ( - 3139D277286E34C400C9744B /* Headers */, - 3139D278286E34C400C9744B /* Sources */, - 3139D279286E34C400C9744B /* Frameworks */, - 3139D27A286E34C400C9744B /* Resources */, + 0B3ED58B321B8C3B8C8F3078 /* Headers */, + 27438CDC7098A318A6672A71 /* Sources */, + 643EE5B9BDDF28D0C19F8601 /* Resources */, + CE4914E8623300BC66C40EE6 /* Embed Frameworks */, + B90D4A8DDE24FEFA64A3A0B8 /* Frameworks */, ); buildRules = ( ); @@ -657,170 +694,161 @@ ); name = StripePaymentsUI; productName = StripePaymentsUI; - productReference = 3139D27C286E34C400C9744B /* StripePaymentsUI.framework */; + productReference = E8C0921DF28F5F7911653888 /* StripePaymentsUI.framework */; productType = "com.apple.product-type.framework"; }; - 3139D283286E34C400C9744B /* StripePaymentsUITests */ = { + CFDEE20ADA9F0099259938AF /* StripePaymentsUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 3139D291286E34C400C9744B /* Build configuration list for PBXNativeTarget "StripePaymentsUITests" */; + buildConfigurationList = CC4EB44D4453B210FF076CF2 /* Build configuration list for PBXNativeTarget "StripePaymentsUITests" */; buildPhases = ( - 3139D280286E34C400C9744B /* Sources */, - 3139D281286E34C400C9744B /* Frameworks */, - 3139D282286E34C400C9744B /* Resources */, + A1F6776A0960C4F06147074E /* Sources */, + D3B646E158379063DC903CD9 /* Resources */, + 726BA5B2292760F829425C6F /* Embed Frameworks */, + 080B9DE24C5BA81F780F8F21 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 3139D287286E34C400C9744B /* PBXTargetDependency */, + 176864E5FBCD395A07E36D5A /* PBXTargetDependency */, ); name = StripePaymentsUITests; productName = StripePaymentsUITests; - productReference = 3139D284286E34C400C9744B /* StripePaymentsUITests.xctest */; + productReference = 2F0B90C79DD7D9E7CE7D74DE /* StripePaymentsUITests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 3139D273286E34C400C9744B /* Project object */ = { + 5A75C038903CA5BA2375E90C /* Project object */ = { isa = PBXProject; attributes = { - BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1340; - LastUpgradeCheck = 1400; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - 3139D27B286E34C400C9744B = { - CreatedOnToolsVersion = 13.4; - }; - 3139D283286E34C400C9744B = { - CreatedOnToolsVersion = 13.4; - }; }; }; - buildConfigurationList = 3139D276286E34C400C9744B /* Build configuration list for PBXProject "StripePaymentsUI" */; + buildConfigurationList = 02E5F9E426DAA8E86C0A1EB9 /* Build configuration list for PBXProject "StripePaymentsUI" */; compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + "bg-BG", + "ca-ES", + "cs-CZ", + da, de, - "lt-LT", - "zh-Hans", - ja, "el-GR", - "ms-MY", - "zh-HK", - mt, - nb, - "ca-ES", + en, "en-GB", es, - da, "es-419", - it, - "nn-NO", - "fr-CA", - "bg-BG", - sv, - ko, - fil, - "zh-Hant", - tk, - "ro-RO", - hu, - tr, "et-EE", - "pt-BR", - "lv-LV", - vi, - ru, - "cs-CZ", - "sk-SK", - "sl-SI", - fr, fi, + fil, + fr, + "fr-CA", + hr, + hu, id, + it, + ja, + ko, + "lt-LT", + "lv-LV", + "ms-MY", + mt, + nb, nl, + "nn-NO", "pl-PL", + "pt-BR", "pt-PT", - hr, + "ro-RO", + ru, + "sk-SK", + "sl-SI", + sv, + tk, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = 3139D272286E34C400C9744B; - productRefGroup = 3139D27D286E34C400C9744B /* Products */; + mainGroup = BE7250EEEC959E5598AFB9FA; + productRefGroup = 199A9B8AB68BE566A72856B3 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 3139D27B286E34C400C9744B /* StripePaymentsUI */, - 3139D283286E34C400C9744B /* StripePaymentsUITests */, + C159BFB17E834CD30378F9F3 /* StripePaymentsUI */, + CFDEE20ADA9F0099259938AF /* StripePaymentsUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 3139D27A286E34C400C9744B /* Resources */ = { + 643EE5B9BDDF28D0C19F8601 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3159F7122888C261007C8C3A /* boq@3x.png in Resources */, - 3159F7E72888C5FD007C8C3A /* card_jcb@3x.png in Resources */, - 3159F6F42888C261007C8C3A /* stp_card_unknown@3x.png in Resources */, - 3159F7E62888C5FD007C8C3A /* card_unknown_updated_icon@3x.png in Resources */, - 3159F7D92888C5FD007C8C3A /* card_diners@3x.png in Resources */, - 3159F6FA2888C261007C8C3A /* stp_card_discover@3x.png in Resources */, - 3159F6F62888C261007C8C3A /* stp_card_amex_template@3x.png in Resources */, - 3159F7142888C261007C8C3A /* banksa@3x.png in Resources */, - 3159F7172888C261007C8C3A /* form_error_icon@3x.png in Resources */, - 3159F6FE2888C261007C8C3A /* stp_card_jcb@3x.png in Resources */, - 3159F6FD2888C261007C8C3A /* stp_card_jcb_template@3x.png in Resources */, - 3159F7182888C261007C8C3A /* Localizable.strings in Resources */, - E237938D291B27CE00C63FDD /* stp_card_unionpay@3x.png in Resources */, - 3159F70B2888C261007C8C3A /* form_error_icon_dark@3x.png in Resources */, - 3159F7112888C261007C8C3A /* suncorpmetway@3x.png in Resources */, - 3159F7E82888C5FD007C8C3A /* card_discover@3x.png in Resources */, - 3159F6F12888C261007C8C3A /* stp_card_visa_template@3x.png in Resources */, - 3159F7DB2888C5FD007C8C3A /* card_cvc_icon@3x.png in Resources */, - 3159F7092888C261007C8C3A /* stp_card_mastercard@3x.png in Resources */, - 3159F70A2888C261007C8C3A /* stp_card_discover_template@3x.png in Resources */, - 3159F6EF2888C261007C8C3A /* stp_icon_bank@3x.png in Resources */, - 3159F7DE2888C5FD007C8C3A /* card_cvc_amex_icon_dark@3x.png in Resources */, - 3159F7002888C261007C8C3A /* stp_card_cvc@3x.png in Resources */, - 3159F70E2888C261007C8C3A /* stgeorges@3x.png in Resources */, - 3159F7DC2888C5FD007C8C3A /* card_cvc_amex_icon@3x.png in Resources */, - 3159F7E12888C5FD007C8C3A /* card_visa@3x.png in Resources */, - 3159F6F52888C261007C8C3A /* stp_card_amex@3x.png in Resources */, - 3159F7062888C261007C8C3A /* stp_card_mastercard_template@3x.png in Resources */, - 3159F70F2888C261007C8C3A /* westpac@3x.png in Resources */, - 3159F7D72888C5FD007C8C3A /* card_cvc_icon_dark@3x.png in Resources */, - 3159F7E42888C5FD007C8C3A /* card_cvc_updated_icon@3x.png in Resources */, - 3159F7102888C261007C8C3A /* bankwest@3x.png in Resources */, - 3159F6F82888C261007C8C3A /* stp_card_diners@3x.png in Resources */, - 3159F7DA2888C5FD007C8C3A /* card_unknown@3x.png in Resources */, - 3159F7E92888C5FD007C8C3A /* card_cvc_amex_updated_icon@3x.png in Resources */, - 3159F70C2888C261007C8C3A /* anz@3x.png in Resources */, - 3159F7032888C261007C8C3A /* stp_card_applepay@3x.png in Resources */, - 3159F7EA2888C5FD007C8C3A /* card_unknown_updated_icon_dark@3x.png in Resources */, - 3159F6F02888C261007C8C3A /* stp_card_error_amex@3x.png in Resources */, - 31904C6628D9206F00E1F9F5 /* au_becs_bsb.json in Resources */, - 3159F7D82888C5FD007C8C3A /* card_cvc_updated_icon_dark@3x.png in Resources */, - 3159F7132888C261007C8C3A /* bankofmelbourne@3x.png in Resources */, - 3159F7E22888C5FD007C8C3A /* card_amex@3x.png in Resources */, - 3159F70D2888C261007C8C3A /* nab@3x.png in Resources */, - 3159F7DF2888C5FD007C8C3A /* card_unknown_icon@3x.png in Resources */, - E237938C291B27CE00C63FDD /* stp_card_unionpay_template@3x.png in Resources */, - 3159F7DD2888C5FD007C8C3A /* card_cvc_amex_updated_icon_dark@3x.png in Resources */, - 3159F6F72888C261007C8C3A /* stp_card_diners_template@3x.png in Resources */, - 3159F7E52888C5FD007C8C3A /* card_unionpay@3x.png in Resources */, - 3159F6FB2888C261007C8C3A /* stp_card_error@3x.png in Resources */, - 3159F7E02888C5FD007C8C3A /* card_mastercard@3x.png in Resources */, - 3159F7022888C261007C8C3A /* stp_card_visa@3x.png in Resources */, - 3159F7E32888C5FD007C8C3A /* card_unknown_icon_dark@3x.png in Resources */, - 3159F7152888C261007C8C3A /* cba@3x.png in Resources */, - 3159F6F92888C261007C8C3A /* stp_card_cvc_amex@3x.png in Resources */, + 9334FFBC5E844F5D6E1EC6D8 /* anz@3x.png in Resources */, + EA819D76773D30AC3C2E5811 /* bankofmelbourne@3x.png in Resources */, + EC8942BE7757A52956E4C28E /* banksa@3x.png in Resources */, + 9DB04D0061EAE456B1D577DD /* bankwest@3x.png in Resources */, + 24DC13B50381F1B04C5DB04F /* boq@3x.png in Resources */, + 172B3010D1DE42B8A57277F0 /* cba@3x.png in Resources */, + FE3E53338A14E7F80754A483 /* nab@3x.png in Resources */, + AE4EC072B0834C4E88D0510B /* stgeorges@3x.png in Resources */, + 15D21D5FFFCBC77441E863DF /* suncorpmetway@3x.png in Resources */, + 2F073AFD16B9297708B3E2DB /* westpac@3x.png in Resources */, + DEF6B1839E7EC02A51A8794B /* stp_card_amex@3x.png in Resources */, + 76B79490B3EB3AB795546115 /* stp_card_amex_template@3x.png in Resources */, + 3280B8531C568A3046925836 /* stp_card_applepay@3x.png in Resources */, + 3ECCF91A8DA647A196229073 /* stp_card_cvc@3x.png in Resources */, + 5C5AF622FFC6DFAA75FC5D17 /* stp_card_cvc_amex@3x.png in Resources */, + 216E8544B8EAAD8359BAFBE0 /* stp_card_diners@3x.png in Resources */, + 125D2EA749060BE5BE604A20 /* stp_card_diners_template@3x.png in Resources */, + 1A3DC549AF425E45DA4CCBA6 /* stp_card_discover@3x.png in Resources */, + F521674B5AE1EE5308706301 /* stp_card_discover_template@3x.png in Resources */, + 9961D609D40836227C2C5F33 /* stp_card_error@3x.png in Resources */, + 1D7607AE081495BF49D1425C /* stp_card_error_amex@3x.png in Resources */, + 855E3523BA549EC10E772319 /* stp_card_jcb@3x.png in Resources */, + 7AFBCEFDB5B68BF5CFA210ED /* stp_card_jcb_template@3x.png in Resources */, + 83B7ABDA0780D964BFFA63D0 /* stp_card_mastercard@3x.png in Resources */, + 84C6734643AD18BCF1F6238A /* stp_card_mastercard_template@3x.png in Resources */, + A60E86FDCC04007C2ECAC4DC /* stp_card_unionpay@3x.png in Resources */, + B6EEAC966A2C288BFD62BC94 /* stp_card_unionpay_template@3x.png in Resources */, + 940EEF71292FB8492F644ED8 /* stp_card_unknown@3x.png in Resources */, + 6441D5BA0E2431FEAC33CDAD /* stp_card_visa@3x.png in Resources */, + 941AA39460FC8A4AE7688EF9 /* stp_card_visa_template@3x.png in Resources */, + 5C809DF77BFE9A0F3FDA6ECC /* card_amex@3x.png in Resources */, + 31AE1C23D17538A1223CC527 /* card_cvc_amex_icon@3x.png in Resources */, + 94541949170B6B25DC8868C8 /* card_cvc_amex_icon_dark@3x.png in Resources */, + 179E4AF3A113CE14475E51D3 /* card_cvc_amex_updated_icon@3x.png in Resources */, + 87EC8352F1C43EBD2F3F10C7 /* card_cvc_amex_updated_icon_dark@3x.png in Resources */, + EB8EA2E6958175A9645E8AF5 /* card_cvc_icon@3x.png in Resources */, + 45B8849A6122B6780DB09457 /* card_cvc_icon_dark@3x.png in Resources */, + 007B86D9491B32408A222B30 /* card_cvc_updated_icon@3x.png in Resources */, + 7F33AC9D86A25570026FE1E1 /* card_cvc_updated_icon_dark@3x.png in Resources */, + 6976760773FD190091FFFF19 /* card_diners@3x.png in Resources */, + EEA485DCA25972CA83452F24 /* card_discover@3x.png in Resources */, + 7B2D77A2CA2FEC59CCA2D041 /* card_jcb@3x.png in Resources */, + B89B16825FDEF5B701D24DDF /* card_mastercard@3x.png in Resources */, + D4C081391D460B4CEDF04369 /* card_unionpay@3x.png in Resources */, + FE3BD176F75D96AD492A4B23 /* card_unknown@3x.png in Resources */, + 17AB562927CEEE4485EC9860 /* card_unknown_icon@3x.png in Resources */, + 1E1DEF33E12A9813F857F244 /* card_unknown_icon_dark@3x.png in Resources */, + 807972DF5CA71A5822416350 /* card_unknown_updated_icon@3x.png in Resources */, + BF82D8228FCB7B1E2944889F /* card_unknown_updated_icon_dark@3x.png in Resources */, + A80E88F98C4455EFEAB4D690 /* card_visa@3x.png in Resources */, + BF3A78859469E594C0FBD22C /* form_error_icon@3x.png in Resources */, + 138F5657CA7034142DDAE236 /* form_error_icon_dark@3x.png in Resources */, + 685BEB923356E61D7EBD70BF /* stp_icon_bank@3x.png in Resources */, + 528BE8DF6DD797D45501886F /* au_becs_bsb.json in Resources */, + F45B49EA9C1FE627B2F5A0EE /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3139D282286E34C400C9744B /* Resources */ = { + D3B646E158379063DC903CD9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -830,130 +858,130 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 3139D278286E34C400C9744B /* Sources */ = { + 27438CDC7098A318A6672A71 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31227079286E3C0B0007ED5E /* STPPaymentCardTextField.swift in Sources */, - 312271FD28760D6D0007ED5E /* NSAttributedString+Stripe.swift in Sources */, - 312271D22874EB210007ED5E /* STPInputTextFieldFormatter.swift in Sources */, - 312271EC28760B3E0007ED5E /* CardBrandView.swift in Sources */, - 3122707C286E3C0B0007ED5E /* STPCardFormView+SwiftUI.swift in Sources */, - 312271D12874EB210007ED5E /* STPInputTextFieldValidator.swift in Sources */, - 312271CF2874EB210007ED5E /* STPGenericInputPickerField.swift in Sources */, - 312271F428760BBF0007ED5E /* STPStringUtils.swift in Sources */, - 312271BD2874EB130007ED5E /* STPPostalCodeInputTextField.swift in Sources */, - 312271BC2874EB130007ED5E /* STPCardNumberInputTextFieldValidator.swift in Sources */, - B6A0D5FB28FF4ED800A9F7A7 /* PaymentMethodMessagingView.swift in Sources */, - 312271F828760CB20007ED5E /* String+Localized.swift in Sources */, - 31227076286E3C0B0007ED5E /* STPFormTextFieldContainer.swift in Sources */, - 31138E6B28DBBB79008AF554 /* Enums+CustomStringConvertible.swift in Sources */, - 312271D82874EDCF0007ED5E /* STPLocalizedString.swift in Sources */, - 312271F028760B820007ED5E /* STPLabeledMultiFormTextFieldView.swift in Sources */, - 312271C42874EB130007ED5E /* STPCardNumberInputTextField.swift in Sources */, - 31227201287629870007ED5E /* StripePayments+Export.swift in Sources */, - 312271BB2874EB130007ED5E /* STPCardNumberInputTextFieldFormatter.swift in Sources */, - B6A0D5FA28FF4ED800A9F7A7 /* PaymentMethodMessagingView+Configuration.swift in Sources */, - 312271BF2874EB130007ED5E /* STPPostalCodeInputTextFieldValidator.swift in Sources */, - 312271F228760B9D0007ED5E /* STPBECSDebitAccountNumberValidator.swift in Sources */, - 312271EE28760B740007ED5E /* STPViewWithSeparator.swift in Sources */, - 312271D62874EDAD0007ED5E /* STPFormTextField.swift in Sources */, - 3122707B286E3C0B0007ED5E /* STPFormView.swift in Sources */, - 312271C32874EB130007ED5E /* STPCardCVCInputTextFieldValidator.swift in Sources */, - 312271CE2874EB210007ED5E /* STPCountryPickerInputField.swift in Sources */, - 312271DE2874EE5F0007ED5E /* STPPostalCodeValidator.swift in Sources */, - 3122707A286E3C0B0007ED5E /* STPPaymentCardTextField+SwiftUI.swift in Sources */, - 312271E828760B150007ED5E /* STPLabeledFormTextFieldView.swift in Sources */, - 31227077286E3C0B0007ED5E /* STPMultiFormTextField.swift in Sources */, - 312271C12874EB130007ED5E /* STPCardCVCInputTextFieldFormatter.swift in Sources */, - 31227078286E3C0B0007ED5E /* STPAUBECSDebitFormView.swift in Sources */, - 312271E02874EEF80007ED5E /* STPPaymentCardTextFieldViewModel.swift in Sources */, - 31227177286E586D0007ED5E /* STPBSBNumberValidator.swift in Sources */, - 312271FA28760D1A0007ED5E /* STPPhoneNumberValidator.swift in Sources */, - 31227074286E3C0B0007ED5E /* STPCardFormView.swift in Sources */, - 312271E22876084B0007ED5E /* STPValidatedTextField.swift in Sources */, - 312271E4287609430007ED5E /* STPImageLibrary.swift in Sources */, - 312271DA2874EDEC0007ED5E /* StripePaymentsBundleLocator.swift in Sources */, - 312271D42874EB210007ED5E /* STPNumericDigitInputTextFormatter.swift in Sources */, - 31227075286E3C0B0007ED5E /* STPFloatingPlaceholderTextField.swift in Sources */, - 312271BE2874EB130007ED5E /* STPPostalCodeInputTextFieldFormatter.swift in Sources */, - 312271D32874EB210007ED5E /* STPGenericInputTextField.swift in Sources */, - 312271DC2874EE260007ED5E /* STPCardLoadingIndicator.swift in Sources */, - 312271D02874EB210007ED5E /* STPInputTextField.swift in Sources */, - 312271EA28760B290007ED5E /* STPAUBECSFormViewModel.swift in Sources */, - 312271C22874EB130007ED5E /* STPCardExpiryInputTextFieldFormatter.swift in Sources */, - 312271FF28760EFF0007ED5E /* UIButton+Stripe.swift in Sources */, - 312271C62874EB130007ED5E /* STPCardExpiryInputTextField.swift in Sources */, - 312271C02874EB130007ED5E /* STPCardCVCInputTextField.swift in Sources */, - 312271C52874EB130007ED5E /* STPCardExpiryInputTextFieldValidator.swift in Sources */, + 1F3A6355A8BDD75F61E417CC /* Enums+CustomStringConvertible.swift in Sources */, + 127001FFB1E2988E194D4039 /* STPBECSDebitAccountNumberValidator.swift in Sources */, + CA9C9105DD97D6EDF17A3478 /* STPBSBNumberValidator.swift in Sources */, + 4E4D3A54B7C0AD2C6ED8AEC5 /* STPImageLibrary.swift in Sources */, + B6452F5A4B12470928CEE9BC /* STPLocalizedString.swift in Sources */, + 42EE67A45816D75ED4AA68D0 /* STPPhoneNumberValidator.swift in Sources */, + A4A9946052C4A1BCCBA6D508 /* STPPostalCodeValidator.swift in Sources */, + 381E12068537365DC3423575 /* STPStringUtils.swift in Sources */, + 14B5DCA6C906F6D60551ECAB /* String+Localized.swift in Sources */, + A915992666D7877A26E42231 /* StripePayments+Export.swift in Sources */, + EB866272BEDCA262181F87B9 /* StripePaymentsBundleLocator.swift in Sources */, + 2B4A598F5C9AFDFD07AB39FF /* NSAttributedString+Stripe.swift in Sources */, + 54069B3F36BE51B117AE66DE /* UIButton+Stripe.swift in Sources */, + 6C04056B0B6256A876FD4CAA /* CardBrandView.swift in Sources */, + E1CD37355F5D17A04EE4B0D3 /* STPCardCVCInputTextField.swift in Sources */, + AC64BA9A0D78486F5DF4A6C4 /* STPCardCVCInputTextFieldFormatter.swift in Sources */, + 1E564978409AE745342D31CB /* STPCardCVCInputTextFieldValidator.swift in Sources */, + 5682C36DC9AE120E30424602 /* STPCardExpiryInputTextField.swift in Sources */, + 8B6DAB1A75120A9938526CDB /* STPCardExpiryInputTextFieldFormatter.swift in Sources */, + 58C2EBC7955D5C03C6761B6C /* STPCardExpiryInputTextFieldValidator.swift in Sources */, + 5324CDE826773FD808B5F5A3 /* STPCardNumberInputTextField.swift in Sources */, + 5C86B4020AAFB78DFD920446 /* STPCardNumberInputTextFieldFormatter.swift in Sources */, + 1B6270ED136F4C0657A87FB3 /* STPCardNumberInputTextFieldValidator.swift in Sources */, + 85500DE65102C3B3106B05E4 /* STPPostalCodeInputTextField.swift in Sources */, + A41B0A2A37AD28D28D9577CA /* STPPostalCodeInputTextFieldFormatter.swift in Sources */, + 92F147E82F5A7ADF9C9BC4CE /* STPPostalCodeInputTextFieldValidator.swift in Sources */, + C805055D566F42647F79131B /* STPCountryPickerInputField.swift in Sources */, + BFFAB9D8FEF4C4162555691E /* STPGenericInputPickerField.swift in Sources */, + E4839BD03F0C43B4703291E5 /* STPGenericInputTextField.swift in Sources */, + 5EE7F22388D17B1191ED7DE2 /* STPInputTextField.swift in Sources */, + 3273E873EC3144BA6E6B5382 /* STPInputTextFieldFormatter.swift in Sources */, + DC093951EF43C18D19A1A36B /* STPInputTextFieldValidator.swift in Sources */, + A808592926FCB3BA78B862BF /* STPNumericDigitInputTextFormatter.swift in Sources */, + 731261FC9820DD5FEFB0B6CF /* STPAUBECSFormViewModel.swift in Sources */, + 4FE3B76C2BF8F46FF3FFAAA0 /* STPCardLoadingIndicator.swift in Sources */, + FF849AFC244DE3234980E196 /* STPFormTextField.swift in Sources */, + 6F0B40B4A889041132E6E22C /* STPLabeledFormTextFieldView.swift in Sources */, + 653D236856F665222F0B18C2 /* STPLabeledMultiFormTextFieldView.swift in Sources */, + E554E00B25258B27E60ABB08 /* STPPaymentCardTextFieldViewModel.swift in Sources */, + AF55861520CD45A87A7EBA1A /* STPValidatedTextField.swift in Sources */, + 619F0D8BDEE0CD4660C7EC54 /* STPViewWithSeparator.swift in Sources */, + 90B62A87017CA429BE3FFB09 /* PaymentMethodMessagingView+Configuration.swift in Sources */, + C08463DDF21144101AF317D3 /* PaymentMethodMessagingView.swift in Sources */, + 331C6EA21D75973496B34CF3 /* STPAUBECSDebitFormView.swift in Sources */, + 5FAAE212EE71172D6BF76165 /* STPCardFormView+SwiftUI.swift in Sources */, + FBA096A2BC32144CBF491DE5 /* STPCardFormView.swift in Sources */, + 9380DCE78E643C2B8108A5EC /* STPFloatingPlaceholderTextField.swift in Sources */, + F920F374499E14606DDA9608 /* STPFormTextFieldContainer.swift in Sources */, + F397BB5EBC54AF5CE851D467 /* STPFormView.swift in Sources */, + 52014012018F766C62311660 /* STPMultiFormTextField.swift in Sources */, + 59775D5885338AB20F13E388 /* STPPaymentCardTextField+SwiftUI.swift in Sources */, + E193F62029BD7821D8B6950E /* STPPaymentCardTextField.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3139D280286E34C400C9744B /* Sources */ = { + A1F6776A0960C4F06147074E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 31DCB11B28F4EE20002EF128 /* STPAnalyticsClient+PaymentsUITests.swift in Sources */, - 3139D28A286E34C400C9744B /* StripePaymentsUITests.swift in Sources */, + 992E387C98107E7038353D05 /* STPAnalyticsClient+PaymentsUITests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3139D287286E34C400C9744B /* PBXTargetDependency */ = { + 176864E5FBCD395A07E36D5A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3139D27B286E34C400C9744B /* StripePaymentsUI */; - targetProxy = 3139D286286E34C400C9744B /* PBXContainerItemProxy */; + name = StripePaymentsUI; + target = C159BFB17E834CD30378F9F3 /* StripePaymentsUI */; + targetProxy = 301A65780F8FE00408CF5994 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 3159F6C32888C261007C8C3A /* Localizable.strings */ = { + CDBC414B8A9A28DD518B71D1 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - 3159F6C42888C261007C8C3A /* de */, - 3159F6C52888C261007C8C3A /* lt-LT */, - 3159F6C62888C261007C8C3A /* zh-Hans */, - 3159F6C72888C261007C8C3A /* ja */, - 3159F6C82888C261007C8C3A /* el-GR */, - 3159F6C92888C261007C8C3A /* ms-MY */, - 3159F6CA2888C261007C8C3A /* en */, - 3159F6CB2888C261007C8C3A /* zh-HK */, - 3159F6CC2888C261007C8C3A /* mt */, - 3159F6CD2888C261007C8C3A /* nb */, - 3159F6CE2888C261007C8C3A /* ca-ES */, - 3159F6CF2888C261007C8C3A /* en-GB */, - 3159F6D02888C261007C8C3A /* es */, - 3159F6D12888C261007C8C3A /* da */, - 3159F6D22888C261007C8C3A /* es-419 */, - 3159F6D32888C261007C8C3A /* it */, - 3159F6D42888C261007C8C3A /* nn-NO */, - 3159F6D52888C261007C8C3A /* fr-CA */, - 3159F6D62888C261007C8C3A /* bg-BG */, - 3159F6D72888C261007C8C3A /* sv */, - 3159F6D82888C261007C8C3A /* ko */, - 3159F6D92888C261007C8C3A /* fil */, - 3159F6DA2888C261007C8C3A /* zh-Hant */, - 3159F6DB2888C261007C8C3A /* tk */, - 3159F6DC2888C261007C8C3A /* ro-RO */, - 3159F6DD2888C261007C8C3A /* hu */, - 3159F6DE2888C261007C8C3A /* tr */, - 3159F6DF2888C261007C8C3A /* et-EE */, - 3159F6E02888C261007C8C3A /* pt-BR */, - 3159F6E12888C261007C8C3A /* lv-LV */, - 3159F6E22888C261007C8C3A /* vi */, - 3159F6E32888C261007C8C3A /* ru */, - 3159F6E42888C261007C8C3A /* cs-CZ */, - 3159F6E52888C261007C8C3A /* sk-SK */, - 3159F6E62888C261007C8C3A /* sl-SI */, - 3159F6E72888C261007C8C3A /* fr */, - 3159F6E82888C261007C8C3A /* fi */, - 3159F6E92888C261007C8C3A /* id */, - 3159F6EA2888C261007C8C3A /* nl */, - 3159F6EB2888C261007C8C3A /* pl-PL */, - 3159F6EC2888C261007C8C3A /* pt-PT */, - 3159F6ED2888C261007C8C3A /* hr */, + C4D8989B1B30DE6BBF64E2B4 /* bg-BG */, + 63EA15AA32C5CD57D2204AFC /* ca-ES */, + 55847CB08B388547F06612D1 /* cs-CZ */, + C090D9C3F1A9AC462A817310 /* da */, + 1C7E5161ECE4008A7AACD0C8 /* de */, + 2461E21A0EACF292D412ACFB /* el-GR */, + 634C8C413DE299FF98DBB313 /* en */, + E45CEE8F2A450AAF95226FAA /* en-GB */, + 455BB44FF629EF0DFC550308 /* es */, + 897899C2829F3E01AEFCF928 /* es-419 */, + DE92A56ECDD0EFEF8FBB6C2C /* et-EE */, + 3680B23A13112D27179DE23C /* fi */, + D875E65D1FC93B45506CB51B /* fil */, + BD19B9FF09FF3FF8EFAF1AA9 /* fr */, + 49F6F0EAD4A363935C399744 /* fr-CA */, + DB8FAA568A2CF9A7B4616A7F /* hr */, + 689AC44FC577EFF05BFAF769 /* hu */, + 037A7BAE734C79C1C7816C65 /* id */, + 40994F33CBFBB521DBA6D572 /* it */, + 2894C398480B096B6DE9886E /* ja */, + 29C7ADB2115EBE7E68F7B078 /* ko */, + 30B86CEBB7B23D6144D16AAD /* lt-LT */, + 18F4E10018F5B614315EC505 /* lv-LV */, + FDFDDFC3D204B8B31EE5FE2B /* ms-MY */, + A3C70161894781F319309A10 /* mt */, + 5B79A953FFD647CFC46A7C81 /* nb */, + C155C768EEED523F37B214ED /* nl */, + A0F1784A9E3B6E48528F0EE5 /* nn-NO */, + 15AF4C8964BDCA3C18A231BA /* pl-PL */, + 84C8D448EAEA46CBF984F258 /* pt-BR */, + 500CBFBF3B9888148350E834 /* pt-PT */, + 404C42905AD44DC636788F8F /* ro-RO */, + 1749604BB65B36B31E575B1B /* ru */, + B94E13375D267970A3EA32F7 /* sk-SK */, + 558D20EEBB72368213CD701D /* sl-SI */, + 9CD57121330F3FBCBAABF1DF /* sv */, + 4CB9C96F5417ADD614D5DBA5 /* tk */, + 38363C386120CE3196BC3FCD /* tr */, + 263A4A30966BC469BCD22C20 /* vi */, + 29B0AD21FF2C4E8B326DBF98 /* zh-Hans */, + 7678EF919ADE594434B5296C /* zh-Hant */, + 7A914C7345F934E7DFE6F88C /* zh-HK */, ); name = Localizable.strings; sourceTree = ""; @@ -961,139 +989,103 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 3139D28C286E34C400C9744B /* Debug */ = { + 2E1485C80C43DF1F0781E06D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EAC28DE53D2008AF554 /* Project-Debug.xcconfig */; + baseConfigurationReference = 637471CFD8720545CA35D0A8 /* Project-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; - name = Debug; + name = Release; }; - 3139D28D286E34C400C9744B /* Release */ = { + 2F68C82F178D19F60E20B79E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EA628DE53D2008AF554 /* Project-Release.xcconfig */; + baseConfigurationReference = 6FE56C292DBB21E554AADCFC /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", + ); + INFOPLIST_FILE = StripePaymentsUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentsUITests; + PRODUCT_NAME = StripePaymentsUITests; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; - 3139D28F286E34C400C9744B /* Debug */ = { + 35A9B080D9B9528E35B7CFF8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EA528DE53D2008AF554 /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = 09478FB2F62490A3E4C30710 /* Project-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payments-ui"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; }; name = Debug; }; - 3139D290286E34C400C9744B /* Release */ = { + 421A61384C2E7B43B6189743 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EAD28DE53D2008AF554 /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = E22E366C1397E3E321EFBA72 /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payments-ui"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripePaymentsUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentsUITests; + PRODUCT_NAME = StripePaymentsUITests; + SDKROOT = iphoneos; }; name = Release; }; - 3139D292286E34C400C9744B /* Debug */ = { + DB0783873B146C8B452FF684 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EA428DE53D2008AF554 /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = 378D7AAFE63F6D4ADC1D4EC8 /* StripeiOS-Release.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentsUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripePaymentsUI/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payments-ui"; + PRODUCT_NAME = StripePaymentsUI; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - 3139D293286E34C400C9744B /* Release */ = { + ED4EF1A6C4021E0C9170DAB3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 31138EA728DE53D2008AF554 /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = DACC385F4CE5DE8BCFAA8A49 /* StripeiOS-Debug.xcconfig */; buildSettings = { - CODE_SIGN_STYLE = Automatic; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripePaymentsUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; + INFOPLIST_FILE = StripePaymentsUI/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-payments-ui"; + PRODUCT_NAME = StripePaymentsUI; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3139D276286E34C400C9744B /* Build configuration list for PBXProject "StripePaymentsUI" */ = { + 02E5F9E426DAA8E86C0A1EB9 /* Build configuration list for PBXProject "StripePaymentsUI" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3139D28C286E34C400C9744B /* Debug */, - 3139D28D286E34C400C9744B /* Release */, + 35A9B080D9B9528E35B7CFF8 /* Debug */, + 2E1485C80C43DF1F0781E06D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3139D28E286E34C400C9744B /* Build configuration list for PBXNativeTarget "StripePaymentsUI" */ = { + 701C03CD723265CEBC62C4D5 /* Build configuration list for PBXNativeTarget "StripePaymentsUI" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3139D28F286E34C400C9744B /* Debug */, - 3139D290286E34C400C9744B /* Release */, + ED4EF1A6C4021E0C9170DAB3 /* Debug */, + DB0783873B146C8B452FF684 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3139D291286E34C400C9744B /* Build configuration list for PBXNativeTarget "StripePaymentsUITests" */ = { + CC4EB44D4453B210FF076CF2 /* Build configuration list for PBXNativeTarget "StripePaymentsUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3139D292286E34C400C9744B /* Debug */, - 3139D293286E34C400C9744B /* Release */, + 2F68C82F178D19F60E20B79E /* Debug */, + 421A61384C2E7B43B6189743 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 3139D273286E34C400C9744B /* Project object */; + rootObject = 5A75C038903CA5BA2375E90C /* Project object */; } diff --git a/StripePaymentsUI/StripePaymentsUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripePaymentsUI/StripePaymentsUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripePaymentsUI/StripePaymentsUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripePaymentsUI/StripePaymentsUI.xcodeproj/xcshareddata/xcschemes/StripePaymentsUI.xcscheme b/StripePaymentsUI/StripePaymentsUI.xcodeproj/xcshareddata/xcschemes/StripePaymentsUI.xcscheme index f0bcee31a50..c9950d00e2e 100644 --- a/StripePaymentsUI/StripePaymentsUI.xcodeproj/xcshareddata/xcschemes/StripePaymentsUI.xcscheme +++ b/StripePaymentsUI/StripePaymentsUI.xcodeproj/xcshareddata/xcschemes/StripePaymentsUI.xcscheme @@ -1,6 +1,6 @@ @@ -27,12 +27,21 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -50,6 +59,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + diff --git a/StripePaymentsUI/StripePaymentsUI/Categories/Enums+CustomStringConvertible.swift b/StripePaymentsUI/StripePaymentsUI/Source/Categories/Enums+CustomStringConvertible.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Categories/Enums+CustomStringConvertible.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Categories/Enums+CustomStringConvertible.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/STPBECSDebitAccountNumberValidator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPBECSDebitAccountNumberValidator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/STPBECSDebitAccountNumberValidator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPBECSDebitAccountNumberValidator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/STPBSBNumberValidator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPBSBNumberValidator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/STPBSBNumberValidator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPBSBNumberValidator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/STPImageLibrary.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPImageLibrary.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/STPImageLibrary.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPImageLibrary.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/STPLocalizedString.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPLocalizedString.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/STPLocalizedString.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPLocalizedString.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/STPPhoneNumberValidator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPPhoneNumberValidator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/STPPhoneNumberValidator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPPhoneNumberValidator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/STPPostalCodeValidator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPPostalCodeValidator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/STPPostalCodeValidator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPPostalCodeValidator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/STPStringUtils.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPStringUtils.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/STPStringUtils.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPStringUtils.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/String+Localized.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/String+Localized.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/String+Localized.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/String+Localized.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/StripePayments+Export.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/StripePayments+Export.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/StripePayments+Export.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/StripePayments+Export.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Helpers/StripePaymentsBundleLocator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Helpers/StripePaymentsBundleLocator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Helpers/StripePaymentsBundleLocator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Helpers/StripePaymentsBundleLocator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/Categories/NSAttributedString+Stripe.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/Categories/NSAttributedString+Stripe.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/Categories/NSAttributedString+Stripe.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/Categories/NSAttributedString+Stripe.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/Categories/UIButton+Stripe.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/Categories/UIButton+Stripe.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/Categories/UIButton+Stripe.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/Categories/UIButton+Stripe.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/CardBrandView.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/CardBrandView.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/CardBrandView.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/CardBrandView.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldFormatter.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldFormatter.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldFormatter.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldFormatter.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldValidator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldValidator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldValidator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldValidator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldFormatter.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldFormatter.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldFormatter.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldFormatter.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldValidator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldValidator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldValidator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldValidator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldFormatter.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldFormatter.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldFormatter.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldFormatter.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldValidator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldValidator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldValidator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldValidator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldFormatter.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldFormatter.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldFormatter.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldFormatter.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldValidator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldValidator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldValidator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPPostalCodeInputTextFieldValidator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPCountryPickerInputField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPCountryPickerInputField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPCountryPickerInputField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPCountryPickerInputField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPGenericInputPickerField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPGenericInputPickerField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPGenericInputPickerField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPGenericInputPickerField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPGenericInputTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPGenericInputTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPGenericInputTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPGenericInputTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPInputTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPInputTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPInputTextFieldFormatter.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextFieldFormatter.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPInputTextFieldFormatter.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextFieldFormatter.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPInputTextFieldValidator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextFieldValidator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPInputTextFieldValidator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextFieldValidator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPNumericDigitInputTextFormatter.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPNumericDigitInputTextFormatter.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/Inputs/STPNumericDigitInputTextFormatter.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPNumericDigitInputTextFormatter.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPAUBECSFormViewModel.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPAUBECSFormViewModel.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPAUBECSFormViewModel.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPAUBECSFormViewModel.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPCardLoadingIndicator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPCardLoadingIndicator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPCardLoadingIndicator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPCardLoadingIndicator.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPFormTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPFormTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPLabeledFormTextFieldView.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPLabeledFormTextFieldView.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPLabeledFormTextFieldView.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPLabeledFormTextFieldView.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPLabeledMultiFormTextFieldView.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPLabeledMultiFormTextFieldView.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPLabeledMultiFormTextFieldView.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPLabeledMultiFormTextFieldView.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPPaymentCardTextFieldViewModel.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPPaymentCardTextFieldViewModel.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPPaymentCardTextFieldViewModel.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPPaymentCardTextFieldViewModel.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPValidatedTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPValidatedTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPValidatedTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPValidatedTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPViewWithSeparator.swift b/StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPViewWithSeparator.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/Internal/UI/Views/STPViewWithSeparator.swift rename to StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPViewWithSeparator.swift diff --git a/Stripe/PaymentMethodMessagingView+Configuration.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/PaymentMethodMessagingView+Configuration.swift similarity index 100% rename from Stripe/PaymentMethodMessagingView+Configuration.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/PaymentMethodMessagingView+Configuration.swift diff --git a/Stripe/PaymentMethodMessagingView.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/PaymentMethodMessagingView.swift similarity index 100% rename from Stripe/PaymentMethodMessagingView.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/PaymentMethodMessagingView.swift diff --git a/StripePaymentsUI/StripePaymentsUI/UI Components/STPAUBECSDebitFormView.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPAUBECSDebitFormView.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/UI Components/STPAUBECSDebitFormView.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPAUBECSDebitFormView.swift diff --git a/StripePaymentsUI/StripePaymentsUI/UI Components/STPCardFormView+SwiftUI.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPCardFormView+SwiftUI.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/UI Components/STPCardFormView+SwiftUI.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPCardFormView+SwiftUI.swift diff --git a/StripePaymentsUI/StripePaymentsUI/UI Components/STPCardFormView.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPCardFormView.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/UI Components/STPCardFormView.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPCardFormView.swift diff --git a/StripePaymentsUI/StripePaymentsUI/UI Components/STPFloatingPlaceholderTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFloatingPlaceholderTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/UI Components/STPFloatingPlaceholderTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFloatingPlaceholderTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/UI Components/STPFormTextFieldContainer.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormTextFieldContainer.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/UI Components/STPFormTextFieldContainer.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormTextFieldContainer.swift diff --git a/StripePaymentsUI/StripePaymentsUI/UI Components/STPFormView.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormView.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/UI Components/STPFormView.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormView.swift diff --git a/StripePaymentsUI/StripePaymentsUI/UI Components/STPMultiFormTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPMultiFormTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/UI Components/STPMultiFormTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPMultiFormTextField.swift diff --git a/StripePaymentsUI/StripePaymentsUI/UI Components/STPPaymentCardTextField+SwiftUI.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField+SwiftUI.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/UI Components/STPPaymentCardTextField+SwiftUI.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField+SwiftUI.swift diff --git a/StripePaymentsUI/StripePaymentsUI/UI Components/STPPaymentCardTextField.swift b/StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift similarity index 100% rename from StripePaymentsUI/StripePaymentsUI/UI Components/STPPaymentCardTextField.swift rename to StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift diff --git a/StripeiOSResources/Info.plist b/StripePaymentsUI/StripePaymentsUITests/Info.plist similarity index 69% rename from StripeiOSResources/Info.plist rename to StripePaymentsUI/StripePaymentsUITests/Info.plist index d5c9dbb80ca..64d65ca4957 100644 --- a/StripeiOSResources/Info.plist +++ b/StripePaymentsUI/StripePaymentsUITests/Info.plist @@ -3,7 +3,9 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion @@ -11,16 +13,10 @@ CFBundleName $(PRODUCT_NAME) CFBundlePackageType - BNDL + $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion 1 - NSHumanReadableCopyright - Copyright © 2016 Stripe, Inc. All rights reserved. - NSPrincipalClass - diff --git a/StripePaymentsUI/StripePaymentsUITests/StripePaymentsUITests.swift b/StripePaymentsUI/StripePaymentsUITests/StripePaymentsUITests.swift deleted file mode 100644 index c900be6a733..00000000000 --- a/StripePaymentsUI/StripePaymentsUITests/StripePaymentsUITests.swift +++ /dev/null @@ -1,38 +0,0 @@ -// -// StripePaymentsUITests.swift -// StripePaymentsUITests -// -// Created by David Estes on 6/30/22. -// Copyright © 2022 Stripe, Inc. All rights reserved. -// - -import XCTest - -@testable import StripePaymentsUI - -class StripePaymentsUITests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - // Any test you write for XCTest can be annotated as throws and async. - // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. - // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. - } - - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/StripeUICore/Project.swift b/StripeUICore/Project.swift new file mode 100644 index 00000000000..1d52ef4daa7 --- /dev/null +++ b/StripeUICore/Project.swift @@ -0,0 +1,16 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.stripeFramework( + name: "StripeUICore", + resources: "StripeUICore/Resources/**", + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + ], + unitTestOptions: .testOptions( + dependencies: [ + .project(target: "StripeCoreTestUtils", path: "//StripeCore"), + ], + includesSnapshots: true + ) +) diff --git a/StripeUICore/StripeUICore.xcodeproj/project.pbxproj b/StripeUICore/StripeUICore.xcodeproj/project.pbxproj index 2bd7bed21d4..6bd28b2ac18 100644 --- a/StripeUICore/StripeUICore.xcodeproj/project.pbxproj +++ b/StripeUICore/StripeUICore.xcodeproj/project.pbxproj @@ -7,135 +7,144 @@ objects = { /* Begin PBXBuildFile section */ - 36397F622714FDEF0059DED7 /* PhoneNumberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36397F612714FDEF0059DED7 /* PhoneNumberTests.swift */; }; - 363B92682743213E00BA52EC /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363B92672743213E00BA52EC /* Enums+CustomStringConvertible.swift */; }; - 36506AAB27A8AE68000B56CF /* RegionCodeProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36506AAA27A8AE68000B56CF /* RegionCodeProvider.swift */; }; - 36506AAD27A8AE95000B56CF /* String+RegionCodeProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36506AAC27A8AE95000B56CF /* String+RegionCodeProvider.swift */; }; - 367199DC280756C800773613 /* UIStackView+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 367199DB280756C700773613 /* UIStackView+StripeUICore.swift */; }; - 36E1894826FBAEB600A57EF4 /* StackViewWithSeparator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E1894726FBAEB600A57EF4 /* StackViewWithSeparator.swift */; }; - 36E1894A26FBAFC700A57EF4 /* InputFormColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E1894926FBAFC700A57EF4 /* InputFormColors.swift */; }; - 36E1894C26FBD60200A57EF4 /* PhoneNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E1894B26FBD60200A57EF4 /* PhoneNumber.swift */; }; - 36E1895027067A8700A57EF4 /* String+CountryEmoji.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E1894F27067A8700A57EF4 /* String+CountryEmoji.swift */; }; - 61078DA628C28D2D007C7001 /* TextOrDropdownElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61078DA528C28D2D007C7001 /* TextOrDropdownElement.swift */; }; - 6138B89C28CAA6ED0096E7FC /* STPVPANumberValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6138B89B28CAA6ED0096E7FC /* STPVPANumberValidator.swift */; }; - 614E0763284FDCE100FB70F4 /* icon_clear@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 614E0762284FDCE100FB70F4 /* icon_clear@3x.png */; }; - 61A6294527E401C900C8DF08 /* CALayer+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61A6294427E401C900C8DF08 /* CALayer+StripeUICore.swift */; }; - 61E3A03D28D4232300B3A019 /* STPVPANumberValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61E3A03C28D4232300B3A019 /* STPVPANumberValidatorTest.swift */; }; - 6B573C9727C5BEF00082C0B3 /* TextFieldElement+AccountFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B573C9627C5BEF00082C0B3 /* TextFieldElement+AccountFactory.swift */; }; - 6B573C9927C5C0ED0082C0B3 /* BSBNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B573C9827C5C0ED0082C0B3 /* BSBNumber.swift */; }; - 6B573C9B27C847730082C0B3 /* TestFieldElement+AccountFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B573C9A27C847730082C0B3 /* TestFieldElement+AccountFactoryTest.swift */; }; - 6B573C9D27C851950082C0B3 /* BSBNumberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B573C9C27C851950082C0B3 /* BSBNumberTests.swift */; }; - 6B5ABA2527C982BC003D5D2A /* au_becs_bsb.json in Resources */ = {isa = PBXBuildFile; fileRef = 6B5ABA2427C982BC003D5D2A /* au_becs_bsb.json */; }; - 6BBCC31327C86C7600DCCE7F /* BSBNumberProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BBCC31227C86C7600DCCE7F /* BSBNumberProvider.swift */; }; - 6BBCC33027C8713E00DCCE7F /* BSBNumberProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BBCC32F27C8713E00DCCE7F /* BSBNumberProviderTest.swift */; }; - B60CF9A227E52BC900A21C9B /* SectionElement+MultiElementRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = B60CF9A127E52BC900A21C9B /* SectionElement+MultiElementRow.swift */; }; - B63C7E6D289333E6003BC68A /* AddressSectionElementSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B63C7E6C289333E6003BC68A /* AddressSectionElementSnapshotTest.swift */; }; - B647A5F72889CEDA00099832 /* AddressSectionElement+DummyAddressLine.swift in Sources */ = {isa = PBXBuildFile; fileRef = B647A5F62889CEDA00099832 /* AddressSectionElement+DummyAddressLine.swift */; }; - B67BC10628526385003EEFF0 /* AddressSpec+ElementFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67BC10528526385003EEFF0 /* AddressSpec+ElementFactory.swift */; }; - B6A0D60128FF4F9E00A9F7A7 /* UIWindow+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6A0D60028FF4F9E00A9F7A7 /* UIWindow+StripeUICore.swift */; }; - B6AEC92C27EE370C0084CD67 /* ContainerElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6AEC92B27EE370C0084CD67 /* ContainerElement.swift */; }; - B6DA0506285D0360003696BB /* TextFieldElement+Factory.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DA0505285D0360003696BB /* TextFieldElement+Factory.swift */; }; - B6DA050928627B29003696BB /* PhoneNumberElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DA050828627B29003696BB /* PhoneNumberElement.swift */; }; - B6DA050B2864F83B003696BB /* PhoneNumberElementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DA050A2864F83B003696BB /* PhoneNumberElementTests.swift */; }; - B6DA050D28650BF7003696BB /* PhoneNumberElementSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DA050C28650BF7003696BB /* PhoneNumberElementSnapshotTests.swift */; }; - B6DE181F27F55C4100ACB1A1 /* form_error_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DE181E27F55C4000ACB1A1 /* form_error_icon@3x.png */; }; - D0031A2C2709D6A20050F242 /* UITraitCollection+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0031A2B2709D6A20050F242 /* UITraitCollection+StripeUICore.swift */; }; - D046E2D9290A06EE0049BE9C /* CompatibleColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D046E2D8290A06EE0049BE9C /* CompatibleColor.swift */; }; - D0494A6B273AE62A00FEA715 /* ButtonSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0494A6A273AE62A00FEA715 /* ButtonSnapshotTest.swift */; }; - D06072D0275AEB01002391BA /* ActivityIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06072CF275AEB01002391BA /* ActivityIndicator.swift */; }; - D08195DD2738F01700FBB5DA /* UIColor+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = D08195DC2738F01700FBB5DA /* UIColor+StripeUICore.swift */; }; - D08FD70B270BD28D009FE060 /* UIBarButtonItem+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = D08FD70A270BD28D009FE060 /* UIBarButtonItem+StripeUICore.swift */; }; - D0BEB3FC273CA7C60031D677 /* UIFont+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0BEB3FB273CA7C60031D677 /* UIFont+StripeUICore.swift */; }; - D0CF912A273B104A00EE2E60 /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF9129273B104A00EE2E60 /* Button.swift */; }; - D0CF9137273B397E00EE2E60 /* UIColor+StripeUICoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CF9136273B397E00EE2E60 /* UIColor+StripeUICoreTests.swift */; }; - E25440E528F9C87500C6F5D3 /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = E25440E428F9C87500C6F5D3 /* iOSSnapshotTestCase */; }; - E25440E728F9C87500C6F5D3 /* iOSSnapshotTestCase in Embed Frameworks */ = {isa = PBXBuildFile; productRef = E25440E428F9C87500C6F5D3 /* iOSSnapshotTestCase */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - E25CFBB5291DCE480067AA3C /* DynamicImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E25CFBB4291DCE480067AA3C /* DynamicImageView.swift */; }; - E60564CC27056DD80023B0B6 /* Locale+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E60564CB27056DD80023B0B6 /* Locale+StripeUICore.swift */; }; - E60693712703B0E500742859 /* DropdownFieldElement+AddressFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = E60693702703B0E500742859 /* DropdownFieldElement+AddressFactory.swift */; }; - E606937327041A4400742859 /* TextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E606937227041A4400742859 /* TextFieldFormatter.swift */; }; - E606937727042AA400742859 /* Locale+StripeUICoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E606937627042AA400742859 /* Locale+StripeUICoreTests.swift */; }; - E606937C27043BD900742859 /* IDNumberTextFieldConfigurationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E606937B27043BD900742859 /* IDNumberTextFieldConfigurationTest.swift */; }; - E606937E27043C2700742859 /* TextFieldFormatterTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E606937D27043C2700742859 /* TextFieldFormatterTest.swift */; }; - E61ADA872707CED8004ED998 /* PickerFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADA862707CED8004ED998 /* PickerFieldView.swift */; }; - E61ADA8C2707DBBD004ED998 /* DateFieldElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADA8B2707DBBD004ED998 /* DateFieldElement.swift */; }; - E61ADA9227080C3F004ED998 /* DateFieldElementSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADA9127080C3F004ED998 /* DateFieldElementSnapshotTest.swift */; }; - E61ADAA8270B946E004ED998 /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E61ADAA7270B946E004ED998 /* StripeCoreTestUtils.framework */; }; - E61ADAC4270E4916004ED998 /* AddressSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADAC1270E4915004ED998 /* AddressSpec.swift */; }; - E61ADAC5270E4916004ED998 /* AddressSpecProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADAC2270E4915004ED998 /* AddressSpecProvider.swift */; }; - E61ADAC6270E4916004ED998 /* AddressSectionElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADAC3270E4916004ED998 /* AddressSectionElement.swift */; }; - E61ADAC8270E6070004ED998 /* localized_address_data.json in Resources */ = {isa = PBXBuildFile; fileRef = E61ADAC7270E6070004ED998 /* localized_address_data.json */; }; - E61ADACD270E671E004ED998 /* AddressSpecProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADACC270E671D004ED998 /* AddressSpecProviderTest.swift */; }; - E61ADACF270E6765004ED998 /* AddressSectionElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E61ADACE270E6765004ED998 /* AddressSectionElementTest.swift */; }; - E659A09F282C50EB00DF8C0C /* LinkOpeningTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E659A09E282C50EB00DF8C0C /* LinkOpeningTextView.swift */; }; - E665080826EC33260032DE21 /* ImageMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E665080726EC33260032DE21 /* ImageMaker.swift */; }; - E665080A26EC378E0032DE21 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = E665080926EC378E0032DE21 /* Image.swift */; }; - E665080D26EC37FA0032DE21 /* icon_chevron_down@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E665080C26EC37FA0032DE21 /* icon_chevron_down@3x.png */; }; - E66DA0D22818C4720099213C /* CheckboxButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0D02818C4720099213C /* CheckboxButton.swift */; }; - E66DA0D32818C4720099213C /* CheckboxElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0D12818C4720099213C /* CheckboxElement.swift */; }; - E66DA0D52818CA1F0099213C /* CheckboxButtonSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E66DA0D42818CA1F0099213C /* CheckboxButtonSnapshotTests.swift */; }; - E6752D6E26F4033B0062B821 /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D6D26F4033B0062B821 /* String+Localized.swift */; }; - E6752D7026F403E20062B821 /* UIButton+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D6F26F403E20062B821 /* UIButton+StripeUICore.swift */; }; - E6752D7526F412FF0062B821 /* ElementsUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D7426F412FF0062B821 /* ElementsUI.swift */; }; - E6752D7A26F414680062B821 /* UIViewController+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D7926F414680062B821 /* UIViewController+StripeUICore.swift */; }; - E6752D7C26F414920062B821 /* UIView+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D7B26F414920062B821 /* UIView+StripeUICore.swift */; }; - E6752D7E26F414D70062B821 /* NSDirectionalEdgeInsets+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D7D26F414D70062B821 /* NSDirectionalEdgeInsets+StripeUICore.swift */; }; - E6752D8026F4150A0062B821 /* UISpringTimingParameters+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D7F26F4150A0062B821 /* UISpringTimingParameters+StripeUICore.swift */; }; - E6752D8226F417780062B821 /* DynamicHeightContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D8126F417780062B821 /* DynamicHeightContainerView.swift */; }; - E6752D9B26F420F70062B821 /* DropdownFieldElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D8726F420F70062B821 /* DropdownFieldElement.swift */; }; - E6752D9C26F420F70062B821 /* PickerTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D8826F420F70062B821 /* PickerTextField.swift */; }; - E6752D9E26F420F70062B821 /* FormElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D8B26F420F70062B821 /* FormElement.swift */; }; - E6752D9F26F420F70062B821 /* FormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D8C26F420F70062B821 /* FormView.swift */; }; - E6752DA026F420F70062B821 /* SectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D8E26F420F70062B821 /* SectionView.swift */; }; - E6752DA126F420F70062B821 /* SectionContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D8F26F420F70062B821 /* SectionContainerView.swift */; }; - E6752DA226F420F70062B821 /* SectionElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D9026F420F70062B821 /* SectionElement.swift */; }; - E6752DA426F420F70062B821 /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D9226F420F70062B821 /* Element.swift */; }; - E6752DA526F420F70062B821 /* StaticElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D9326F420F70062B821 /* StaticElement.swift */; }; - E6752DA626F420F70062B821 /* TextFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D9526F420F70062B821 /* TextFieldView.swift */; }; - E6752DA726F420F70062B821 /* TextFieldElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D9626F420F70062B821 /* TextFieldElement.swift */; }; - E6752DA826F420F70062B821 /* TextFieldElementConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D9726F420F70062B821 /* TextFieldElementConfiguration.swift */; }; - E6752DA926F420F70062B821 /* TextFieldElement+Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D9826F420F70062B821 /* TextFieldElement+Validation.swift */; }; - E6752DAA26F420F70062B821 /* FloatingPlaceholderTextFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D9926F420F70062B821 /* FloatingPlaceholderTextFieldView.swift */; }; - E6752DAB26F420F70062B821 /* TextFieldElement+AddressFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752D9A26F420F70062B821 /* TextFieldElement+AddressFactory.swift */; }; - E6752DAD26F421200062B821 /* Events.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752DAC26F421200062B821 /* Events.swift */; }; - E6752DB026F421350062B821 /* STPEmailAddressValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752DAF26F421350062B821 /* STPEmailAddressValidator.swift */; }; - E6752DB726F422900062B821 /* TextFieldElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752DB226F4228F0062B821 /* TextFieldElementTest.swift */; }; - E6752DB826F422900062B821 /* SectionElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752DB326F4228F0062B821 /* SectionElementTest.swift */; }; - E6752DB926F422900062B821 /* TextFieldElement+AddressFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752DB426F4228F0062B821 /* TextFieldElement+AddressFactoryTest.swift */; }; - E6752DBA26F422900062B821 /* STPEmailAddressValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6752DB626F4228F0062B821 /* STPEmailAddressValidatorTest.swift */; }; - E67C92F5270259FA00F8A039 /* IDNumberTextFieldConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67C92F4270259FA00F8A039 /* IDNumberTextFieldConfiguration.swift */; }; - E6AFFAA026E93FB50067462F /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFA9626E93FB50067462F /* StripeUICore.framework */; }; - E6AFFAA726E93FB50067462F /* StripeUICore.h in Headers */ = {isa = PBXBuildFile; fileRef = E6AFFA9926E93FB50067462F /* StripeUICore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E6AFFAED26E96FEC0067462F /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6AFFAEC26E96FEC0067462F /* StripeCore.framework */; }; - E6AFFB2426E9771D0067462F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E6AFFB0A26E9771D0067462F /* Localizable.strings */; }; - E6AFFB2726E9775B0067462F /* StripeUICoreBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AFFB2626E9775B0067462F /* StripeUICoreBundleLocator.swift */; }; - E6AFFB2A26E9787D0067462F /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6AFFB2926E9787D0067462F /* STPLocalizedString.swift */; }; - E6B0DDC827111B8700CE86DC /* DropdownFieldElementSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B0DDC727111B8700CE86DC /* DropdownFieldElementSnapshotTest.swift */; }; - E6B0DDCA2711218100CE86DC /* DropdownFieldElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B0DDC92711218100CE86DC /* DropdownFieldElementTest.swift */; }; - E6B0DDCC2711240100CE86DC /* DateFieldElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B0DDCB2711240100CE86DC /* DateFieldElementTest.swift */; }; - E6B0DDD02714C19600CE86DC /* DoneButtonToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B0DDCF2714C19600CE86DC /* DoneButtonToolbar.swift */; }; - E6B0DDD22714C49400CE86DC /* UIKeyboardType+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6B0DDD12714C49400CE86DC /* UIKeyboardType+StripeUICore.swift */; }; - F3680E0227A9DA3900A8796A /* brand_stripe@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F3680DF127A9AF1800A8796A /* brand_stripe@3x.png */; }; + 0019E30E7B8189C3DEA719DC /* STPVPANumberValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D634B04FC897DFB74B81DED6 /* STPVPANumberValidator.swift */; }; + 019C76A03A30A67AE9F1FAEE /* PickerFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68F3046A526D3A4CE402FB83 /* PickerFieldView.swift */; }; + 02B503A3227EF1409ABF53F1 /* UIColor+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51C4AEB27F9734178E20836A /* UIColor+StripeUICore.swift */; }; + 073D41F1EC0560423FEF87AA /* AddressSpecProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83BC5E25F42045563F4A660B /* AddressSpecProviderTest.swift */; }; + 08C773D1E6A5452B7BD7CF81 /* TextFieldElement+AddressFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE57C3D398C94604889D9F61 /* TextFieldElement+AddressFactoryTest.swift */; }; + 0A3130227F7602524C9824D3 /* TextFieldElement+AddressFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDD7C1AAB9D26E00526AFB26 /* TextFieldElement+AddressFactory.swift */; }; + 0BA1E7C26903E45912FDE25A /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D558F65E4C23971C94BAD3E /* String+Localized.swift */; }; + 0CB675370A06DEC6F23608C4 /* AddressSpec+ElementFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4D27EC1A9207F327B1BF20 /* AddressSpec+ElementFactory.swift */; }; + 0D8AE1CEFBE7FA004A3DD62D /* CheckboxButtonSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D917F78E89D67691EF760D14 /* CheckboxButtonSnapshotTests.swift */; }; + 0FBBB5C7FD2DA9A11E7FE2BC /* FloatingPlaceholderTextFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FD764D16A365FD46700FB25 /* FloatingPlaceholderTextFieldView.swift */; }; + 11BD8DFB36FACB6966D0236F /* String+CountryEmoji.swift in Sources */ = {isa = PBXBuildFile; fileRef = A73D88DFAB03D663217399D0 /* String+CountryEmoji.swift */; }; + 11C99D83A1DA88996A45BA47 /* DynamicImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDE775CAF20488D81C9167B4 /* DynamicImageView.swift */; }; + 1424B1529E24582122F86149 /* PhoneNumberElementSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7796F7211034806DA24D1710 /* PhoneNumberElementSnapshotTests.swift */; }; + 159D7B9A2960A1CD7E661191 /* UIStackView+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5855EA2F4F38847E3E47935D /* UIStackView+StripeUICore.swift */; }; + 163A77E9E4C40AFFA5226E23 /* TestFieldElement+AccountFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83462E27CEA3580E1BD3E2CD /* TestFieldElement+AccountFactoryTest.swift */; }; + 1EB16D8F60923EE9C890CE43 /* STPEmailAddressValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE233EED40F9D3FADDFE5951 /* STPEmailAddressValidator.swift */; }; + 1FFE2C42D46B90AC6D94722B /* icon_chevron_down@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 63A3F4E403D032A8D68BF736 /* icon_chevron_down@3x.png */; }; + 225B20CEF547BB1F6C6D447E /* BSBNumberProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC3DD58BEF337017E7286459 /* BSBNumberProvider.swift */; }; + 2329058B54FF9256846C8603 /* BSBNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B58A5326DAC5338377674E9 /* BSBNumber.swift */; }; + 2AA023A5031CFF0E56C7A14E /* DateFieldElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B0431535F20802E386624B /* DateFieldElementTest.swift */; }; + 2ADEF1482E62A173A0C7F7AD /* au_becs_bsb.json in Resources */ = {isa = PBXBuildFile; fileRef = 6E66B0CF81D4F8EDBB642C9F /* au_becs_bsb.json */; }; + 2F1D03471202E25FD7682148 /* Locale+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36342ED77935BE9A32B082EC /* Locale+StripeUICore.swift */; }; + 2FD444AC5FC064EFCF6259ED /* STPVPANumberValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53AA9FCEF2640C493D140033 /* STPVPANumberValidatorTest.swift */; }; + 30972A45F8A32DEEC17DA4F6 /* UITraitCollection+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAA22461E52111D9A4E8B133 /* UITraitCollection+StripeUICore.swift */; }; + 32971AFF5D0DF9B28E9C464C /* SectionContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C0A3DE4BCF8DA03AD17144 /* SectionContainerView.swift */; }; + 32D69CBB3CE780A29AA553AB /* BSBNumberProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0408AC0298D342DADD1F84A5 /* BSBNumberProviderTest.swift */; }; + 336B882978CA47EE46260774 /* SectionElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BB17B284B6D063AF0329DAD /* SectionElement.swift */; }; + 343DD093A6095DEAA06D245E /* InputFormColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB5A05E653BFD01FF65E193C /* InputFormColors.swift */; }; + 36376E12AE7ABA21FFC474E6 /* Events.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4844F0B5436706225DE5A176 /* Events.swift */; }; + 377058C2363FA0348AFBD32E /* AddressSectionElement+DummyAddressLine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B66D666BB3EA733B92A60AA /* AddressSectionElement+DummyAddressLine.swift */; }; + 39E61B5E6A88E5AF1922EE62 /* TextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34178B51599FDCB0D0D7475A /* TextFieldFormatter.swift */; }; + 4755A24604B396D5A25058CD /* StripeUICore.h in Headers */ = {isa = PBXBuildFile; fileRef = CB8A9F7B4B2E8AA5A7E4FE98 /* StripeUICore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4A5EADAF2F6514299BA4B8D8 /* FormElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB1FE2B6BCD6FC77117A2521 /* FormElement.swift */; }; + 4B414F0A0E46D914C89B3741 /* StaticElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 583B93BE0152CDF7383A37E7 /* StaticElement.swift */; }; + 4C519A87445AB16A55FE2408 /* PhoneNumberElementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794D2AA5365F9DE155083927 /* PhoneNumberElementTests.swift */; }; + 4C98A44C61BC71CABF8A9BF2 /* StripeCoreTestUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40DF1A7FC5D84F937042D172 /* StripeCoreTestUtils.framework */; }; + 4CD207111219BF250A400ACC /* UIWindow+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59215CEEBA0D56FF41C3E412 /* UIWindow+StripeUICore.swift */; }; + 504FA2DE5FE66FDE90842019 /* STPLocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4F4CE2A0B16DA57DB249227 /* STPLocalizedString.swift */; }; + 57C288DFD2CC2CFC216E47CC /* PickerTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0355EA21D04DDC29E620CEA /* PickerTextField.swift */; }; + 5936629C4665BC698C3458B1 /* TextFieldElementConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8367A676E35A663E320E1B37 /* TextFieldElementConfiguration.swift */; }; + 5A9B21FE5A6941713087B94B /* SectionElement+MultiElementRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6737026DF19C8D10AE8114A /* SectionElement+MultiElementRow.swift */; }; + 62601F856C41CFA1C7A8B18F /* UIView+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDBBC76FD31F07EC67C52075 /* UIView+StripeUICore.swift */; }; + 63632799CD2134991E0EA510 /* iOSSnapshotTestCase in Frameworks */ = {isa = PBXBuildFile; productRef = 9B701A244243959A191FF16F /* iOSSnapshotTestCase */; }; + 64E61A5E0A705F1C4582381A /* PhoneNumberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 263B7E56A83CFA4BA8385638 /* PhoneNumberTests.swift */; }; + 65B9A839BD4AAC315231B421 /* TextFieldElement+AccountFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = D69C3FF914611057972ABA41 /* TextFieldElement+AccountFactory.swift */; }; + 6606DC43D230ADD183AEF5DA /* RegionCodeProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA00332BBDCE27F6F5A615C4 /* RegionCodeProvider.swift */; }; + 67216EB4E004BDB1D2E49BD4 /* IDNumberTextFieldConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92623B785C43F351D8A944D1 /* IDNumberTextFieldConfiguration.swift */; }; + 67FCE4493235656689E915F6 /* UIBarButtonItem+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5321D6CCBA2AA9162A96080C /* UIBarButtonItem+StripeUICore.swift */; }; + 68F7D5EEB894A68DDC184ADA /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20209CDCC3856CE548DA4D25 /* Image.swift */; }; + 69B082B15479DCC4560E3D92 /* UIColor+StripeUICoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48C9A13C4663EA8ACA6EA2E5 /* UIColor+StripeUICoreTests.swift */; }; + 6CB223E48029E6BA6ED48041 /* LinkOpeningTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E80F72A0A72DDC5F246ED51F /* LinkOpeningTextView.swift */; }; + 7272A43410D4BA1365D71E70 /* UIButton+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A60A0D2417D3A70D500EE30 /* UIButton+StripeUICore.swift */; }; + 74F65B6435E46B0FC8386FBB /* BSBNumberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CCBFC1830139737F2E947F1 /* BSBNumberTests.swift */; }; + 778BACD1A29BEDEE21ED3FBE /* ActivityIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8678CFB3968AE5232932C461 /* ActivityIndicator.swift */; }; + 7B90479C19C30407FC21B228 /* ImageMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = A681C4DEAE7B35B4DC0BD0FB /* ImageMaker.swift */; }; + 7E0A56FBC86BCBB58D0440AE /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B8DC1E33CDF3B3FE549A7210 /* StripeCore.framework */; }; + 7E635692C56F582094223AB7 /* icon_clear@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8B5CA8560230CF4F271811F0 /* icon_clear@3x.png */; }; + 80B0519BC9CC21D9B650FC88 /* UISpringTimingParameters+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71A81696ECEEF728F25202B6 /* UISpringTimingParameters+StripeUICore.swift */; }; + 824858D45F9D952BBDF822E2 /* CALayer+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B8B1E38153B0C5ED6CD459C /* CALayer+StripeUICore.swift */; }; + 86427678E119E4AD22410E30 /* PhoneNumberElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D0478259F9F7A04A8CF43BB /* PhoneNumberElement.swift */; }; + 88F53AB8F31B1DA2187E5740 /* IDNumberTextFieldConfigurationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8995A59E3BC6D26B8030C874 /* IDNumberTextFieldConfigurationTest.swift */; }; + 8B8D3BD090415EFF9948D2C2 /* ContainerElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4893E4B43FEFCE920D432F0C /* ContainerElement.swift */; }; + 900EFF5918D96B9716CFB673 /* UIFont+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43943E8FF7CD279F8D8605D3 /* UIFont+StripeUICore.swift */; }; + 93CF3CE90B520B4A25208E95 /* SectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF3C9C0D2302B8E7F421EFBD /* SectionView.swift */; }; + 986924FDA1EEF4146CD81B50 /* TextFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A312A55A629CED2C6404F1 /* TextFieldView.swift */; }; + 993E51173490AAE5D7AF4C4E /* TextFieldElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9131CB11D2A0898B16D44C4E /* TextFieldElementTest.swift */; }; + 9DBFEB7045692EE931CE014D /* Locale+StripeUICoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2749BB93AD1B5A9FB3B9B97 /* Locale+StripeUICoreTests.swift */; }; + 9DEAD347B741A53E2F1764B4 /* TextFieldElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = A004788FA286E5ED22334238 /* TextFieldElement.swift */; }; + 9E308BC63E9FB185619E5859 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D4621DA31A1A5FC51F76E562 /* XCTest.framework */; }; + A21277FDCDD0C6BFB73A4B51 /* SectionElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62539E4F0904670C008DB18E /* SectionElementTest.swift */; }; + A29B5AC2F03116E2F48970EE /* TextOrDropdownElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDD864C601BFB09A851715FA /* TextOrDropdownElement.swift */; }; + A5C379C7D1EEF497FD845306 /* STPEmailAddressValidatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312E77021827300B2504F016 /* STPEmailAddressValidatorTest.swift */; }; + A5E59185A9708613676988C6 /* DateFieldElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = B274D6A71A11DA7B98D502AA /* DateFieldElement.swift */; }; + AA8F938C3A8B7BC7F11B5048 /* Enums+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64EECCC1035F00C122B2B1ED /* Enums+CustomStringConvertible.swift */; }; + B106FCB3D7C3DE7C40F0AE5C /* AddressSectionElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C55F7532752871E779F47278 /* AddressSectionElementTest.swift */; }; + B1B177526E04EE65A9D1C64A /* DynamicHeightContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9E7CFED5747279A5976D7BA /* DynamicHeightContainerView.swift */; }; + B6107E5E2D6E116417D22DD9 /* StripeUICoreBundleLocator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E68363D1C6BB6468AC1DDA4C /* StripeUICoreBundleLocator.swift */; }; + BB806C7952268078A7A90D29 /* form_error_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6D9AE17D6E140A05EF2D2562 /* form_error_icon@3x.png */; }; + BE42104922DCA4DCB3919DD4 /* AddressSectionElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B5CCD5D11A49D48D8D21C62 /* AddressSectionElement.swift */; }; + C1CA6209591EDDBBE019FF22 /* FormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 558DF5BAEF6E23E0C0F2CFF1 /* FormView.swift */; }; + C23C78D87D8E6682F31345CB /* DropdownFieldElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BAD4C8EE686B0F9E86DBC8D /* DropdownFieldElement.swift */; }; + C3D6D899B671398717F22520 /* CheckboxElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F1EF8010A475D99C7190FF9 /* CheckboxElement.swift */; }; + C44A57646A325EE26B75E6BF /* CheckboxButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F6E799C8CB484FE83CB87E0 /* CheckboxButton.swift */; }; + C6B11F4F219F7ED04321A33F /* DateFieldElementSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48E2652D09C1A4EBBDE2FB61 /* DateFieldElementSnapshotTest.swift */; }; + CF9D4CC40A7008DD1E8136A3 /* DoneButtonToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = C19F61D5356203ED977ED42E /* DoneButtonToolbar.swift */; }; + D01976C07EB39B2BED64CCAC /* ButtonSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB5E2F9A5B1A3E8E7B765E4F /* ButtonSnapshotTest.swift */; }; + D083BAAF86707F9865AF2AF4 /* String+RegionCodeProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA1688A2CE2037846F8E3937 /* String+RegionCodeProvider.swift */; }; + D47D77A0B82DC6AE15E0A74E /* UIViewController+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12973742CA1AA39D3B84F072 /* UIViewController+StripeUICore.swift */; }; + D6AEB6D5567AAD1B44E4AF70 /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 868B2E8EDC242DB5AFFB3D0C /* StripeUICore.framework */; }; + D6D8BCCF86C964B40D2FA58E /* UIKeyboardType+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EE651DD3E5873538C7CE743 /* UIKeyboardType+StripeUICore.swift */; }; + D7DB5C5724CD47E33245B25A /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB02AB36074791D39F0CDC1 /* Element.swift */; }; + D912BF580DBAB7416040B637 /* localized_address_data.json in Resources */ = {isa = PBXBuildFile; fileRef = 4E25905FCD05DF8B72888AAF /* localized_address_data.json */; }; + DA6550F1FFA1376DB656D6E0 /* NSDirectionalEdgeInsets+StripeUICore.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB52FF6CAC981EFA60A81AFF /* NSDirectionalEdgeInsets+StripeUICore.swift */; }; + DEA5D8DAF177A3943B63D9DE /* brand_stripe@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 014F19ED234ECD3D57721A8F /* brand_stripe@3x.png */; }; + E40999CDEDEA23451CA89707 /* TextFieldElement+Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFB80CA75F00847E4D74F821 /* TextFieldElement+Validation.swift */; }; + E94BA0179485AED17D412865 /* AddressSpecProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = B844EED0578B990F4772CD01 /* AddressSpecProvider.swift */; }; + E9CA12DAB591AC834CE9539A /* AddressSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DC72344B4B313CE07A8AA33 /* AddressSpec.swift */; }; + ECCA9BD118D763DBF658E5FD /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 71C8163AEB97D2FF8BB3A1C8 /* Localizable.strings */; }; + EDDE1C83333AB1A1F2BD0F3E /* StackViewWithSeparator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72394C7783071B1C6ED82A48 /* StackViewWithSeparator.swift */; }; + EE28852FFCF42A8C47098051 /* TextFieldFormatterTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B32FABC26C892C74FD444E88 /* TextFieldFormatterTest.swift */; }; + F0EB247FEFF4600CD44B8261 /* DropdownFieldElementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF3B67DE90B0C1D71257D333 /* DropdownFieldElementTest.swift */; }; + F86769C5CFD9AD3732127951 /* DropdownFieldElement+AddressFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 374D0BE980D58B75FA04DE66 /* DropdownFieldElement+AddressFactory.swift */; }; + F901303E0B78F2D8E4C8A2F1 /* PhoneNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF05370E4825D3225D9A6910 /* PhoneNumber.swift */; }; + FAD790056C7A9E645A6B2C74 /* ElementsUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85AC8D5E9700C8471D225C22 /* ElementsUI.swift */; }; + FB33F2F446570394AABB7EC7 /* CompatibleColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E657F1ABE46BA5C0692D9D41 /* CompatibleColor.swift */; }; + FC1F8C4DC70C8212B507AE7E /* AddressSectionElementSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB7836BA51814D0841B688E1 /* AddressSectionElementSnapshotTest.swift */; }; + FC48FCDC5FD43E5E8AFC32D2 /* TextFieldElement+Factory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D4BD46908791D2E4150C4DC /* TextFieldElement+Factory.swift */; }; + FDF52A43A01CD72D4B5A2CA9 /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EB48FCA3B2447A5F4CCEC69 /* Button.swift */; }; + FF4E844383E5A5FD5C099B41 /* DropdownFieldElementSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62575FAAAAEFF31406C9B417 /* DropdownFieldElementSnapshotTest.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - E6AFFAA126E93FB50067462F /* PBXContainerItemProxy */ = { + 980541F3E23EAD7E20DBCA47 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = E6AFFA8D26E93FB50067462F /* Project object */; + containerPortal = A39BBBD15F0F6B54725E52AF /* Project object */; proxyType = 1; - remoteGlobalIDString = E6AFFA9526E93FB50067462F; + remoteGlobalIDString = DE3C3F3D3BB67DD660A44B1E; remoteInfo = StripeUICore; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - E25440E628F9C87500C6F5D3 /* Embed Frameworks */ = { + 7823EBE0BD66DC6070DC1530 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 8B58BADB5D787E66A0A50257 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - E25440E728F9C87500C6F5D3 /* iOSSnapshotTestCase in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -143,852 +152,893 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 36397F612714FDEF0059DED7 /* PhoneNumberTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumberTests.swift; sourceTree = ""; }; - 363B92672743213E00BA52EC /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; - 36506AAA27A8AE68000B56CF /* RegionCodeProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegionCodeProvider.swift; sourceTree = ""; }; - 36506AAC27A8AE95000B56CF /* String+RegionCodeProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+RegionCodeProvider.swift"; sourceTree = ""; }; - 367199DB280756C700773613 /* UIStackView+StripeUICore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIStackView+StripeUICore.swift"; sourceTree = ""; }; - 36E1894726FBAEB600A57EF4 /* StackViewWithSeparator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StackViewWithSeparator.swift; sourceTree = ""; }; - 36E1894926FBAFC700A57EF4 /* InputFormColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InputFormColors.swift; sourceTree = ""; }; - 36E1894B26FBD60200A57EF4 /* PhoneNumber.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumber.swift; sourceTree = ""; }; - 36E1894F27067A8700A57EF4 /* String+CountryEmoji.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+CountryEmoji.swift"; sourceTree = ""; }; - 61078DA528C28D2D007C7001 /* TextOrDropdownElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextOrDropdownElement.swift; sourceTree = ""; }; - 6138B89B28CAA6ED0096E7FC /* STPVPANumberValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPVPANumberValidator.swift; sourceTree = ""; }; - 614E0762284FDCE100FB70F4 /* icon_clear@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_clear@3x.png"; sourceTree = ""; }; - 61A6294427E401C900C8DF08 /* CALayer+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CALayer+StripeUICore.swift"; sourceTree = ""; }; - 61E3A03C28D4232300B3A019 /* STPVPANumberValidatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPVPANumberValidatorTest.swift; sourceTree = ""; }; - 6B573C9627C5BEF00082C0B3 /* TextFieldElement+AccountFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+AccountFactory.swift"; sourceTree = ""; }; - 6B573C9827C5C0ED0082C0B3 /* BSBNumber.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BSBNumber.swift; sourceTree = ""; }; - 6B573C9A27C847730082C0B3 /* TestFieldElement+AccountFactoryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TestFieldElement+AccountFactoryTest.swift"; sourceTree = ""; }; - 6B573C9C27C851950082C0B3 /* BSBNumberTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BSBNumberTests.swift; sourceTree = ""; }; - 6B5ABA2427C982BC003D5D2A /* au_becs_bsb.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = au_becs_bsb.json; sourceTree = ""; }; - 6BBCC31227C86C7600DCCE7F /* BSBNumberProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BSBNumberProvider.swift; sourceTree = ""; }; - 6BBCC32F27C8713E00DCCE7F /* BSBNumberProviderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BSBNumberProviderTest.swift; sourceTree = ""; }; - B60CF9A127E52BC900A21C9B /* SectionElement+MultiElementRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SectionElement+MultiElementRow.swift"; sourceTree = ""; }; - B63C7E6C289333E6003BC68A /* AddressSectionElementSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSectionElementSnapshotTest.swift; sourceTree = ""; }; - B647A5F62889CEDA00099832 /* AddressSectionElement+DummyAddressLine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AddressSectionElement+DummyAddressLine.swift"; sourceTree = ""; }; - B67BC10528526385003EEFF0 /* AddressSpec+ElementFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AddressSpec+ElementFactory.swift"; sourceTree = ""; }; - B6A0D60028FF4F9E00A9F7A7 /* UIWindow+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIWindow+StripeUICore.swift"; sourceTree = ""; }; - B6AEC92B27EE370C0084CD67 /* ContainerElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContainerElement.swift; sourceTree = ""; }; - B6DA0505285D0360003696BB /* TextFieldElement+Factory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+Factory.swift"; sourceTree = ""; }; - B6DA050828627B29003696BB /* PhoneNumberElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumberElement.swift; sourceTree = ""; }; - B6DA050A2864F83B003696BB /* PhoneNumberElementTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumberElementTests.swift; sourceTree = ""; }; - B6DA050C28650BF7003696BB /* PhoneNumberElementSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumberElementSnapshotTests.swift; sourceTree = ""; }; - B6DE181E27F55C4000ACB1A1 /* form_error_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "form_error_icon@3x.png"; sourceTree = ""; }; - D0031A2B2709D6A20050F242 /* UITraitCollection+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITraitCollection+StripeUICore.swift"; sourceTree = ""; }; - D046E2D8290A06EE0049BE9C /* CompatibleColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompatibleColor.swift; sourceTree = ""; }; - D0494A6A273AE62A00FEA715 /* ButtonSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonSnapshotTest.swift; sourceTree = ""; }; - D06072CF275AEB01002391BA /* ActivityIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityIndicator.swift; sourceTree = ""; }; - D08195DC2738F01700FBB5DA /* UIColor+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+StripeUICore.swift"; sourceTree = ""; }; - D08FD70A270BD28D009FE060 /* UIBarButtonItem+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIBarButtonItem+StripeUICore.swift"; sourceTree = ""; }; - D0BEB3FB273CA7C60031D677 /* UIFont+StripeUICore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIFont+StripeUICore.swift"; sourceTree = ""; }; - D0CF9129273B104A00EE2E60 /* Button.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; - D0CF9136273B397E00EE2E60 /* UIColor+StripeUICoreTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+StripeUICoreTests.swift"; sourceTree = ""; }; - E25CFBB4291DCE480067AA3C /* DynamicImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DynamicImageView.swift; sourceTree = ""; }; - E60564CB27056DD80023B0B6 /* Locale+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Locale+StripeUICore.swift"; sourceTree = ""; }; - E60693702703B0E500742859 /* DropdownFieldElement+AddressFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DropdownFieldElement+AddressFactory.swift"; sourceTree = ""; }; - E606937227041A4400742859 /* TextFieldFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldFormatter.swift; sourceTree = ""; }; - E606937627042AA400742859 /* Locale+StripeUICoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Locale+StripeUICoreTests.swift"; sourceTree = ""; }; - E606937B27043BD900742859 /* IDNumberTextFieldConfigurationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IDNumberTextFieldConfigurationTest.swift; sourceTree = ""; }; - E606937D27043C2700742859 /* TextFieldFormatterTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldFormatterTest.swift; sourceTree = ""; }; - E61ADA862707CED8004ED998 /* PickerFieldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerFieldView.swift; sourceTree = ""; }; - E61ADA8B2707DBBD004ED998 /* DateFieldElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateFieldElement.swift; sourceTree = ""; }; - E61ADA9127080C3F004ED998 /* DateFieldElementSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateFieldElementSnapshotTest.swift; sourceTree = ""; }; - E61ADAA7270B946E004ED998 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E61ADAC1270E4915004ED998 /* AddressSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddressSpec.swift; sourceTree = ""; }; - E61ADAC2270E4915004ED998 /* AddressSpecProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddressSpecProvider.swift; sourceTree = ""; }; - E61ADAC3270E4916004ED998 /* AddressSectionElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddressSectionElement.swift; sourceTree = ""; }; - E61ADAC7270E6070004ED998 /* localized_address_data.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = localized_address_data.json; sourceTree = ""; }; - E61ADACC270E671D004ED998 /* AddressSpecProviderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSpecProviderTest.swift; sourceTree = ""; }; - E61ADACE270E6765004ED998 /* AddressSectionElementTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSectionElementTest.swift; sourceTree = ""; }; - E659A09E282C50EB00DF8C0C /* LinkOpeningTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkOpeningTextView.swift; sourceTree = ""; }; - E665080726EC33260032DE21 /* ImageMaker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageMaker.swift; sourceTree = ""; }; - E665080926EC378E0032DE21 /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; - E665080C26EC37FA0032DE21 /* icon_chevron_down@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_chevron_down@3x.png"; sourceTree = ""; }; - E66DA0D02818C4720099213C /* CheckboxButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxButton.swift; sourceTree = ""; }; - E66DA0D12818C4720099213C /* CheckboxElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxElement.swift; sourceTree = ""; }; - E66DA0D42818CA1F0099213C /* CheckboxButtonSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxButtonSnapshotTests.swift; sourceTree = ""; }; - E6752D6D26F4033B0062B821 /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; - E6752D6F26F403E20062B821 /* UIButton+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+StripeUICore.swift"; sourceTree = ""; }; - E6752D7426F412FF0062B821 /* ElementsUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ElementsUI.swift; sourceTree = ""; }; - E6752D7926F414680062B821 /* UIViewController+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+StripeUICore.swift"; sourceTree = ""; }; - E6752D7B26F414920062B821 /* UIView+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+StripeUICore.swift"; sourceTree = ""; }; - E6752D7D26F414D70062B821 /* NSDirectionalEdgeInsets+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSDirectionalEdgeInsets+StripeUICore.swift"; sourceTree = ""; }; - E6752D7F26F4150A0062B821 /* UISpringTimingParameters+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UISpringTimingParameters+StripeUICore.swift"; sourceTree = ""; }; - E6752D8126F417780062B821 /* DynamicHeightContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DynamicHeightContainerView.swift; sourceTree = ""; }; - E6752D8726F420F70062B821 /* DropdownFieldElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DropdownFieldElement.swift; sourceTree = ""; }; - E6752D8826F420F70062B821 /* PickerTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PickerTextField.swift; sourceTree = ""; }; - E6752D8B26F420F70062B821 /* FormElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormElement.swift; sourceTree = ""; }; - E6752D8C26F420F70062B821 /* FormView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormView.swift; sourceTree = ""; }; - E6752D8E26F420F70062B821 /* SectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SectionView.swift; sourceTree = ""; }; - E6752D8F26F420F70062B821 /* SectionContainerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SectionContainerView.swift; sourceTree = ""; }; - E6752D9026F420F70062B821 /* SectionElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SectionElement.swift; sourceTree = ""; }; - E6752D9226F420F70062B821 /* Element.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; - E6752D9326F420F70062B821 /* StaticElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticElement.swift; sourceTree = ""; }; - E6752D9526F420F70062B821 /* TextFieldView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldView.swift; sourceTree = ""; }; - E6752D9626F420F70062B821 /* TextFieldElement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldElement.swift; sourceTree = ""; }; - E6752D9726F420F70062B821 /* TextFieldElementConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldElementConfiguration.swift; sourceTree = ""; }; - E6752D9826F420F70062B821 /* TextFieldElement+Validation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+Validation.swift"; sourceTree = ""; }; - E6752D9926F420F70062B821 /* FloatingPlaceholderTextFieldView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FloatingPlaceholderTextFieldView.swift; sourceTree = ""; }; - E6752D9A26F420F70062B821 /* TextFieldElement+AddressFactory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+AddressFactory.swift"; sourceTree = ""; }; - E6752DAC26F421200062B821 /* Events.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Events.swift; sourceTree = ""; }; - E6752DAF26F421350062B821 /* STPEmailAddressValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPEmailAddressValidator.swift; sourceTree = ""; }; - E6752DB226F4228F0062B821 /* TextFieldElementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldElementTest.swift; sourceTree = ""; }; - E6752DB326F4228F0062B821 /* SectionElementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SectionElementTest.swift; sourceTree = ""; }; - E6752DB426F4228F0062B821 /* TextFieldElement+AddressFactoryTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+AddressFactoryTest.swift"; sourceTree = ""; }; - E6752DB626F4228F0062B821 /* STPEmailAddressValidatorTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = STPEmailAddressValidatorTest.swift; sourceTree = ""; }; - E67C92F4270259FA00F8A039 /* IDNumberTextFieldConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IDNumberTextFieldConfiguration.swift; sourceTree = ""; }; - E6AFFA9626E93FB50067462F /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6AFFA9926E93FB50067462F /* StripeUICore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeUICore.h; sourceTree = ""; }; - E6AFFA9A26E93FB50067462F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E6AFFA9F26E93FB50067462F /* StripeUICoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeUICoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - E6AFFAA626E93FB50067462F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E6AFFAB126E94AC20067462F /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; - E6AFFAB226E94AC20067462F /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; - E6AFFAB326E94AC20067462F /* Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; - E6AFFAB426E94AC20067462F /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; - E6AFFAB526E94AC20067462F /* Project-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Shared.xcconfig"; sourceTree = ""; }; - E6AFFAB626E94AC20067462F /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = ""; }; - E6AFFAB726E94AC20067462F /* StripeiOS Tests-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Shared.xcconfig"; sourceTree = ""; }; - E6AFFAB826E94AC20067462F /* StripeiOS-Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Shared.xcconfig"; sourceTree = ""; }; - E6AFFAB926E94AC20067462F /* Project-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; - E6AFFABA26E94AC20067462F /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; - E6AFFAEC26E96FEC0067462F /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E6AFFB0B26E9771D0067462F /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB0C26E9771D0067462F /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - E6AFFB0D26E9771D0067462F /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB0E26E9771D0067462F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB0F26E9771D0067462F /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; - E6AFFB1026E9771D0067462F /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB1126E9771D0067462F /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB1226E9771D0067462F /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - E6AFFB1326E9771D0067462F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB1426E9771D0067462F /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB1526E9771D0067462F /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - E6AFFB1626E9771D0067462F /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB1726E9771D0067462F /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - E6AFFB1826E9771D0067462F /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; - E6AFFB1926E9771D0067462F /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB1A26E9771D0067462F /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB1B26E9771D0067462F /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - E6AFFB1C26E9771D0067462F /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB1D26E9771D0067462F /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB1E26E9771D0067462F /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - E6AFFB1F26E9771D0067462F /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB2026E9771D0067462F /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB2126E9771D0067462F /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB2226E9771D0067462F /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - E6AFFB2326E9771D0067462F /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - E6AFFB2626E9775B0067462F /* StripeUICoreBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeUICoreBundleLocator.swift; sourceTree = ""; }; - E6AFFB2926E9787D0067462F /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; - E6B0DDC727111B8700CE86DC /* DropdownFieldElementSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropdownFieldElementSnapshotTest.swift; sourceTree = ""; }; - E6B0DDC92711218100CE86DC /* DropdownFieldElementTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropdownFieldElementTest.swift; sourceTree = ""; }; - E6B0DDCB2711240100CE86DC /* DateFieldElementTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateFieldElementTest.swift; sourceTree = ""; }; - E6B0DDCF2714C19600CE86DC /* DoneButtonToolbar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DoneButtonToolbar.swift; sourceTree = ""; }; - E6B0DDD12714C49400CE86DC /* UIKeyboardType+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIKeyboardType+StripeUICore.swift"; sourceTree = ""; }; - F3680DF127A9AF1800A8796A /* brand_stripe@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "brand_stripe@3x.png"; sourceTree = ""; }; + 00455FBF8F3D7C9B0E65DA54 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = ""; }; + 011872F74559CB0D0D61170C /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/Localizable.strings"; sourceTree = ""; }; + 014F19ED234ECD3D57721A8F /* brand_stripe@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "brand_stripe@3x.png"; sourceTree = ""; }; + 02DA3E661669718BD61C702D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 0408AC0298D342DADD1F84A5 /* BSBNumberProviderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BSBNumberProviderTest.swift; sourceTree = ""; }; + 08B0431535F20802E386624B /* DateFieldElementTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateFieldElementTest.swift; sourceTree = ""; }; + 0B58A5326DAC5338377674E9 /* BSBNumber.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BSBNumber.swift; sourceTree = ""; }; + 0D558F65E4C23971C94BAD3E /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; + 0ED24D748AEB8B1E0BA1FBAD /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; + 11C37DE7B064DC9E3F7E55CD /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + 12973742CA1AA39D3B84F072 /* UIViewController+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+StripeUICore.swift"; sourceTree = ""; }; + 18C5B42A6D5AF223F0CFB23F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 1A50D68D24D1DE0459ED9529 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 20209CDCC3856CE548DA4D25 /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; + 263B7E56A83CFA4BA8385638 /* PhoneNumberTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumberTests.swift; sourceTree = ""; }; + 2AAE278AD27DB71B88C97B1A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 2BAA056C8170A4B0E8C763AD /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/Localizable.strings"; sourceTree = ""; }; + 2D9B5640C88DD94D17666E0E /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; + 312E77021827300B2504F016 /* STPEmailAddressValidatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPEmailAddressValidatorTest.swift; sourceTree = ""; }; + 34178B51599FDCB0D0D7475A /* TextFieldFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldFormatter.swift; sourceTree = ""; }; + 34EC2F4C025AD1B1DD44CF78 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 36342ED77935BE9A32B082EC /* Locale+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Locale+StripeUICore.swift"; sourceTree = ""; }; + 374D0BE980D58B75FA04DE66 /* DropdownFieldElement+AddressFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DropdownFieldElement+AddressFactory.swift"; sourceTree = ""; }; + 3A99D0F01D29E302C52217FE /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; + 40DF1A7FC5D84F937042D172 /* StripeCoreTestUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCoreTestUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 40E0822DE6CFA0D3CCD5D513 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 43943E8FF7CD279F8D8605D3 /* UIFont+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+StripeUICore.swift"; sourceTree = ""; }; + 4844F0B5436706225DE5A176 /* Events.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Events.swift; sourceTree = ""; }; + 4893E4B43FEFCE920D432F0C /* ContainerElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContainerElement.swift; sourceTree = ""; }; + 48C9A13C4663EA8ACA6EA2E5 /* UIColor+StripeUICoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+StripeUICoreTests.swift"; sourceTree = ""; }; + 48E2652D09C1A4EBBDE2FB61 /* DateFieldElementSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateFieldElementSnapshotTest.swift; sourceTree = ""; }; + 4B66D666BB3EA733B92A60AA /* AddressSectionElement+DummyAddressLine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AddressSectionElement+DummyAddressLine.swift"; sourceTree = ""; }; + 4CBAE2B07C5575F19470464D /* StripeiOS-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Release.xcconfig"; sourceTree = ""; }; + 4D4BD46908791D2E4150C4DC /* TextFieldElement+Factory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+Factory.swift"; sourceTree = ""; }; + 4E25905FCD05DF8B72888AAF /* localized_address_data.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = localized_address_data.json; sourceTree = ""; }; + 4EE651DD3E5873538C7CE743 /* UIKeyboardType+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIKeyboardType+StripeUICore.swift"; sourceTree = ""; }; + 4F37C42EA28BA31EC5CCDC7C /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/Localizable.strings"; sourceTree = ""; }; + 4FD764D16A365FD46700FB25 /* FloatingPlaceholderTextFieldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatingPlaceholderTextFieldView.swift; sourceTree = ""; }; + 51C4AEB27F9734178E20836A /* UIColor+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+StripeUICore.swift"; sourceTree = ""; }; + 5321D6CCBA2AA9162A96080C /* UIBarButtonItem+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIBarButtonItem+StripeUICore.swift"; sourceTree = ""; }; + 53900894BD0E2FF59029D2B6 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + 53AA9FCEF2640C493D140033 /* STPVPANumberValidatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPVPANumberValidatorTest.swift; sourceTree = ""; }; + 558DF5BAEF6E23E0C0F2CFF1 /* FormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormView.swift; sourceTree = ""; }; + 583B93BE0152CDF7383A37E7 /* StaticElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StaticElement.swift; sourceTree = ""; }; + 5855EA2F4F38847E3E47935D /* UIStackView+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIStackView+StripeUICore.swift"; sourceTree = ""; }; + 59215CEEBA0D56FF41C3E412 /* UIWindow+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIWindow+StripeUICore.swift"; sourceTree = ""; }; + 5B5CCD5D11A49D48D8D21C62 /* AddressSectionElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSectionElement.swift; sourceTree = ""; }; + 5BAD4C8EE686B0F9E86DBC8D /* DropdownFieldElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropdownFieldElement.swift; sourceTree = ""; }; + 62539E4F0904670C008DB18E /* SectionElementTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectionElementTest.swift; sourceTree = ""; }; + 62575FAAAAEFF31406C9B417 /* DropdownFieldElementSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropdownFieldElementSnapshotTest.swift; sourceTree = ""; }; + 63A3F4E403D032A8D68BF736 /* icon_chevron_down@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_chevron_down@3x.png"; sourceTree = ""; }; + 64EECCC1035F00C122B2B1ED /* Enums+CustomStringConvertible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Enums+CustomStringConvertible.swift"; sourceTree = ""; }; + 67C454346BE566F9F689543B /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 68F3046A526D3A4CE402FB83 /* PickerFieldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerFieldView.swift; sourceTree = ""; }; + 699ED5466892D95ADC151B64 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/Localizable.strings"; sourceTree = ""; }; + 6A4D27EC1A9207F327B1BF20 /* AddressSpec+ElementFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AddressSpec+ElementFactory.swift"; sourceTree = ""; }; + 6D9AE17D6E140A05EF2D2562 /* form_error_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "form_error_icon@3x.png"; sourceTree = ""; }; + 6E66B0CF81D4F8EDBB642C9F /* au_becs_bsb.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = au_becs_bsb.json; sourceTree = ""; }; + 6F6E799C8CB484FE83CB87E0 /* CheckboxButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxButton.swift; sourceTree = ""; }; + 70B4BE2ACC46DF88949121CD /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = ""; }; + 71A81696ECEEF728F25202B6 /* UISpringTimingParameters+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UISpringTimingParameters+StripeUICore.swift"; sourceTree = ""; }; + 71DCDDEE36E2CD98E4A03752 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 72394C7783071B1C6ED82A48 /* StackViewWithSeparator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StackViewWithSeparator.swift; sourceTree = ""; }; + 72EB2DE23B3740D8DA3081E5 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; + 74EDF4CC65F409F55E14EB25 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7796F7211034806DA24D1710 /* PhoneNumberElementSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumberElementSnapshotTests.swift; sourceTree = ""; }; + 794D2AA5365F9DE155083927 /* PhoneNumberElementTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumberElementTests.swift; sourceTree = ""; }; + 7B899349F7EF770D8F19509D /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/Localizable.strings"; sourceTree = ""; }; + 7B8B1E38153B0C5ED6CD459C /* CALayer+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CALayer+StripeUICore.swift"; sourceTree = ""; }; + 7BB17B284B6D063AF0329DAD /* SectionElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectionElement.swift; sourceTree = ""; }; + 7D4E60C42E09A23ACD60BCD8 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/Localizable.strings"; sourceTree = ""; }; + 7DC72344B4B313CE07A8AA33 /* AddressSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSpec.swift; sourceTree = ""; }; + 7EB48FCA3B2447A5F4CCEC69 /* Button.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; + 81A4AE07CB9049B6D8C8D7D2 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 8278020A829AE8C5CB8B6A9C /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/Localizable.strings"; sourceTree = ""; }; + 83462E27CEA3580E1BD3E2CD /* TestFieldElement+AccountFactoryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TestFieldElement+AccountFactoryTest.swift"; sourceTree = ""; }; + 8367A676E35A663E320E1B37 /* TextFieldElementConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldElementConfiguration.swift; sourceTree = ""; }; + 83BC5E25F42045563F4A660B /* AddressSpecProviderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSpecProviderTest.swift; sourceTree = ""; }; + 848196B6CCE964A735BFCD46 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 85AC8D5E9700C8471D225C22 /* ElementsUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ElementsUI.swift; sourceTree = ""; }; + 8678CFB3968AE5232932C461 /* ActivityIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityIndicator.swift; sourceTree = ""; }; + 868B2E8EDC242DB5AFFB3D0C /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8995A59E3BC6D26B8030C874 /* IDNumberTextFieldConfigurationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IDNumberTextFieldConfigurationTest.swift; sourceTree = ""; }; + 8A60A0D2417D3A70D500EE30 /* UIButton+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+StripeUICore.swift"; sourceTree = ""; }; + 8B5CA8560230CF4F271811F0 /* icon_clear@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_clear@3x.png"; sourceTree = ""; }; + 8D0478259F9F7A04A8CF43BB /* PhoneNumberElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumberElement.swift; sourceTree = ""; }; + 8F1EF8010A475D99C7190FF9 /* CheckboxElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxElement.swift; sourceTree = ""; }; + 9131CB11D2A0898B16D44C4E /* TextFieldElementTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldElementTest.swift; sourceTree = ""; }; + 92623B785C43F351D8A944D1 /* IDNumberTextFieldConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IDNumberTextFieldConfiguration.swift; sourceTree = ""; }; + 94FB3B96E7884F5B5C1C3EA8 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; + 9559041BED6315C71F796A5F /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; + 9CCBFC1830139737F2E947F1 /* BSBNumberTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BSBNumberTests.swift; sourceTree = ""; }; + 9E3254388F5DAB8E8C76AE04 /* StripeiOS Tests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Debug.xcconfig"; sourceTree = ""; }; + A004788FA286E5ED22334238 /* TextFieldElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldElement.swift; sourceTree = ""; }; + A032BB17A6FA85EE4E3D00AE /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; + A1A02A2319937F5033495984 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; + A360D5AE016620B560FB8A77 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/Localizable.strings"; sourceTree = ""; }; + A4F4CE2A0B16DA57DB249227 /* STPLocalizedString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPLocalizedString.swift; sourceTree = ""; }; + A681C4DEAE7B35B4DC0BD0FB /* ImageMaker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageMaker.swift; sourceTree = ""; }; + A73D88DFAB03D663217399D0 /* String+CountryEmoji.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+CountryEmoji.swift"; sourceTree = ""; }; + AB2C786B198F91AE124C790A /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/Localizable.strings"; sourceTree = ""; }; + AE4AB8A1DB70CDE06D9887CF /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; + B081CD063903B2FDBE327A15 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; + B2161853A89C273B745B8A60 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = ""; }; + B274D6A71A11DA7B98D502AA /* DateFieldElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateFieldElement.swift; sourceTree = ""; }; + B32FABC26C892C74FD444E88 /* TextFieldFormatterTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldFormatterTest.swift; sourceTree = ""; }; + B6737026DF19C8D10AE8114A /* SectionElement+MultiElementRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SectionElement+MultiElementRow.swift"; sourceTree = ""; }; + B844EED0578B990F4772CD01 /* AddressSpecProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSpecProvider.swift; sourceTree = ""; }; + B84B32F86F684EA5233DDED5 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; + B871CED2EB8A1F7EEC0FE087 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = ""; }; + B8DC1E33CDF3B3FE549A7210 /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B9CAB799E5645867F2400F0F /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; + B9E7CFED5747279A5976D7BA /* DynamicHeightContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DynamicHeightContainerView.swift; sourceTree = ""; }; + BA1688A2CE2037846F8E3937 /* String+RegionCodeProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+RegionCodeProvider.swift"; sourceTree = ""; }; + BA366F6105D04C9136240341 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; + BB7836BA51814D0841B688E1 /* AddressSectionElementSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSectionElementSnapshotTest.swift; sourceTree = ""; }; + BD52DCDA490D452AAA4B5E44 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + C0355EA21D04DDC29E620CEA /* PickerTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerTextField.swift; sourceTree = ""; }; + C19F61D5356203ED977ED42E /* DoneButtonToolbar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DoneButtonToolbar.swift; sourceTree = ""; }; + C55F7532752871E779F47278 /* AddressSectionElementTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressSectionElementTest.swift; sourceTree = ""; }; + C85C015B47A8EBF87E5F662E /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/Localizable.strings"; sourceTree = ""; }; + CB52FF6CAC981EFA60A81AFF /* NSDirectionalEdgeInsets+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSDirectionalEdgeInsets+StripeUICore.swift"; sourceTree = ""; }; + CB8A9F7B4B2E8AA5A7E4FE98 /* StripeUICore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StripeUICore.h; sourceTree = ""; }; + CC3DD58BEF337017E7286459 /* BSBNumberProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BSBNumberProvider.swift; sourceTree = ""; }; + CDE775CAF20488D81C9167B4 /* DynamicImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DynamicImageView.swift; sourceTree = ""; }; + CF3B67DE90B0C1D71257D333 /* DropdownFieldElementTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropdownFieldElementTest.swift; sourceTree = ""; }; + CF3C9C0D2302B8E7F421EFBD /* SectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectionView.swift; sourceTree = ""; }; + CFB80CA75F00847E4D74F821 /* TextFieldElement+Validation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+Validation.swift"; sourceTree = ""; }; + D1FB364DF60C1DEE0DA8EE75 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + D2749BB93AD1B5A9FB3B9B97 /* Locale+StripeUICoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Locale+StripeUICoreTests.swift"; sourceTree = ""; }; + D4621DA31A1A5FC51F76E562 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + D59C1B7B69C92DFC9A25DAB2 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; + D5A312A55A629CED2C6404F1 /* TextFieldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldView.swift; sourceTree = ""; }; + D634B04FC897DFB74B81DED6 /* STPVPANumberValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPVPANumberValidator.swift; sourceTree = ""; }; + D69C3FF914611057972ABA41 /* TextFieldElement+AccountFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+AccountFactory.swift"; sourceTree = ""; }; + D917F78E89D67691EF760D14 /* CheckboxButtonSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxButtonSnapshotTests.swift; sourceTree = ""; }; + DE233EED40F9D3FADDFE5951 /* STPEmailAddressValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = STPEmailAddressValidator.swift; sourceTree = ""; }; + E0C8DFA9A617506071C59815 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/Localizable.strings; sourceTree = ""; }; + E242FECC90FE2644CF99692D /* StripeiOS Tests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS Tests-Release.xcconfig"; sourceTree = ""; }; + E395C593AC970A8C79A8109C /* StripeiOS-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "StripeiOS-Debug.xcconfig"; sourceTree = ""; }; + E522C47E0874F612E330DA38 /* StripeUICoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StripeUICoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E657F1ABE46BA5C0692D9D41 /* CompatibleColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompatibleColor.swift; sourceTree = ""; }; + E68363D1C6BB6468AC1DDA4C /* StripeUICoreBundleLocator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StripeUICoreBundleLocator.swift; sourceTree = ""; }; + E80F72A0A72DDC5F246ED51F /* LinkOpeningTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkOpeningTextView.swift; sourceTree = ""; }; + EA00332BBDCE27F6F5A615C4 /* RegionCodeProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegionCodeProvider.swift; sourceTree = ""; }; + EAB02AB36074791D39F0CDC1 /* Element.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; + EB1FE2B6BCD6FC77117A2521 /* FormElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormElement.swift; sourceTree = ""; }; + EB5E2F9A5B1A3E8E7B765E4F /* ButtonSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonSnapshotTest.swift; sourceTree = ""; }; + EB942257C8B6B357AD0F6FC9 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + EDD7C1AAB9D26E00526AFB26 /* TextFieldElement+AddressFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+AddressFactory.swift"; sourceTree = ""; }; + EDD864C601BFB09A851715FA /* TextOrDropdownElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextOrDropdownElement.swift; sourceTree = ""; }; + F1C0A3DE4BCF8DA03AD17144 /* SectionContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectionContainerView.swift; sourceTree = ""; }; + FAA22461E52111D9A4E8B133 /* UITraitCollection+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITraitCollection+StripeUICore.swift"; sourceTree = ""; }; + FB5A05E653BFD01FF65E193C /* InputFormColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InputFormColors.swift; sourceTree = ""; }; + FDBBC76FD31F07EC67C52075 /* UIView+StripeUICore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+StripeUICore.swift"; sourceTree = ""; }; + FE57C3D398C94604889D9F61 /* TextFieldElement+AddressFactoryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TextFieldElement+AddressFactoryTest.swift"; sourceTree = ""; }; + FF05370E4825D3225D9A6910 /* PhoneNumber.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumber.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - E6AFFA9326E93FB50067462F /* Frameworks */ = { + 0D674E67240745BB10E9C307 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E6AFFAED26E96FEC0067462F /* StripeCore.framework in Frameworks */, + 7E0A56FBC86BCBB58D0440AE /* StripeCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6AFFA9C26E93FB50067462F /* Frameworks */ = { + B361F19E111D84FD84927757 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E61ADAA8270B946E004ED998 /* StripeCoreTestUtils.framework in Frameworks */, - E6AFFAA026E93FB50067462F /* StripeUICore.framework in Frameworks */, - E25440E528F9C87500C6F5D3 /* iOSSnapshotTestCase in Frameworks */, + 9E308BC63E9FB185619E5859 /* XCTest.framework in Frameworks */, + 4C98A44C61BC71CABF8A9BF2 /* StripeCoreTestUtils.framework in Frameworks */, + D6AEB6D5567AAD1B44E4AF70 /* StripeUICore.framework in Frameworks */, + 63632799CD2134991E0EA510 /* iOSSnapshotTestCase in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 36397F6F2731B88D0059DED7 /* PhoneNumber */ = { + 0737F3733178B902986E6128 /* Form */ = { isa = PBXGroup; children = ( - B6DA050828627B29003696BB /* PhoneNumberElement.swift */, + EB1FE2B6BCD6FC77117A2521 /* FormElement.swift */, + 558DF5BAEF6E23E0C0F2CFF1 /* FormView.swift */, ); - path = PhoneNumber; + path = Form; sourceTree = ""; }; - 6BBCC31127C86C5E00DCCE7F /* BSB */ = { + 14BA0999EF98D5C19F7A0018 /* Elements */ = { isa = PBXGroup; children = ( - 6BBCC31227C86C7600DCCE7F /* BSBNumberProvider.swift */, + C55F7532752871E779F47278 /* AddressSectionElementTest.swift */, + 83BC5E25F42045563F4A660B /* AddressSpecProviderTest.swift */, + 0408AC0298D342DADD1F84A5 /* BSBNumberProviderTest.swift */, + 08B0431535F20802E386624B /* DateFieldElementTest.swift */, + CF3B67DE90B0C1D71257D333 /* DropdownFieldElementTest.swift */, + 8995A59E3BC6D26B8030C874 /* IDNumberTextFieldConfigurationTest.swift */, + 794D2AA5365F9DE155083927 /* PhoneNumberElementTests.swift */, + 62539E4F0904670C008DB18E /* SectionElementTest.swift */, + 83462E27CEA3580E1BD3E2CD /* TestFieldElement+AccountFactoryTest.swift */, + FE57C3D398C94604889D9F61 /* TextFieldElement+AddressFactoryTest.swift */, + 9131CB11D2A0898B16D44C4E /* TextFieldElementTest.swift */, + B32FABC26C892C74FD444E88 /* TextFieldFormatterTest.swift */, ); - path = BSB; + path = Elements; sourceTree = ""; }; - D0494A69273AE61000FEA715 /* Controls */ = { + 17217EBC2C89A90814900B85 /* Checkbox */ = { isa = PBXGroup; children = ( - D0494A6A273AE62A00FEA715 /* ButtonSnapshotTest.swift */, + 6F6E799C8CB484FE83CB87E0 /* CheckboxButton.swift */, + 8F1EF8010A475D99C7190FF9 /* CheckboxElement.swift */, ); - path = Controls; + path = Checkbox; sourceTree = ""; }; - D0494A73273B0D8B00FEA715 /* Controls */ = { + 254AA347B50AF1B8370A43DF /* Elements */ = { isa = PBXGroup; children = ( - D0CF9129273B104A00EE2E60 /* Button.swift */, - D06072CF275AEB01002391BA /* ActivityIndicator.swift */, + 17217EBC2C89A90814900B85 /* Checkbox */, + F08533861A4AC1BB01315CCE /* Factories */, + 0737F3733178B902986E6128 /* Form */, + CF2B7051099FA08B7F0C446F /* PhoneNumber */, + B15F8A0D7BC00200896F00FD /* PickerField */, + B3A1C7E17AE91C2352DE42DB /* Section */, + 82B232DB32C55ABC81F03EEA /* TextField */, + 4893E4B43FEFCE920D432F0C /* ContainerElement.swift */, + B274D6A71A11DA7B98D502AA /* DateFieldElement.swift */, + 5BAD4C8EE686B0F9E86DBC8D /* DropdownFieldElement.swift */, + EAB02AB36074791D39F0CDC1 /* Element.swift */, + 85AC8D5E9700C8471D225C22 /* ElementsUI.swift */, + 583B93BE0152CDF7383A37E7 /* StaticElement.swift */, + EDD864C601BFB09A851715FA /* TextOrDropdownElement.swift */, ); - path = Controls; + path = Elements; sourceTree = ""; }; - D0CF9131273B363E00EE2E60 /* Unit */ = { + 361DA94D6B150221B8694910 /* Categories */ = { isa = PBXGroup; children = ( - D0CF9133273B365F00EE2E60 /* Categories */, - E6752DB126F4228F0062B821 /* Elements */, - E6752DB526F4228F0062B821 /* Validators */, + D2749BB93AD1B5A9FB3B9B97 /* Locale+StripeUICoreTests.swift */, + 48C9A13C4663EA8ACA6EA2E5 /* UIColor+StripeUICoreTests.swift */, ); - path = Unit; + path = Categories; sourceTree = ""; }; - D0CF9133273B365F00EE2E60 /* Categories */ = { + 36DAB16F61F10767C1FAA6CB /* Resources */ = { isa = PBXGroup; children = ( - E606937627042AA400742859 /* Locale+StripeUICoreTests.swift */, - D0CF9136273B397E00EE2E60 /* UIColor+StripeUICoreTests.swift */, + CFDEE78D53D268CE4AB390BE /* Images */, + A33F87F760EA97E2416B5E3F /* JSON */, + 4EE613673FA66E06A8963989 /* Localizations */, ); - path = Categories; + path = Resources; sourceTree = ""; }; - E606938127044B1000742859 /* Factories */ = { + 3F7B82C31FE216F26BAA22BD /* Views */ = { isa = PBXGroup; children = ( - 6BBCC31127C86C5E00DCCE7F /* BSB */, - E61ADAC0270E4900004ED998 /* Address */, - E60693702703B0E500742859 /* DropdownFieldElement+AddressFactory.swift */, - E67C92F4270259FA00F8A039 /* IDNumberTextFieldConfiguration.swift */, - E6752D9A26F420F70062B821 /* TextFieldElement+AddressFactory.swift */, - B6DA0505285D0360003696BB /* TextFieldElement+Factory.swift */, - 6B573C9627C5BEF00082C0B3 /* TextFieldElement+AccountFactory.swift */, + C19F61D5356203ED977ED42E /* DoneButtonToolbar.swift */, + B9E7CFED5747279A5976D7BA /* DynamicHeightContainerView.swift */, + CDE775CAF20488D81C9167B4 /* DynamicImageView.swift */, + E80F72A0A72DDC5F246ED51F /* LinkOpeningTextView.swift */, ); - path = Factories; + path = Views; sourceTree = ""; }; - E61ADA8F27080B84004ED998 /* Snapshot */ = { + 47D21B13FCCDA3A340E0E45B /* Source */ = { isa = PBXGroup; children = ( - D0494A69273AE61000FEA715 /* Controls */, - E61ADA9027080B8D004ED998 /* Elements */, + 4FBEFD693426C6259B6BF7D6 /* Categories */, + 91389CA21E7E02309F469572 /* Controls */, + 254AA347B50AF1B8370A43DF /* Elements */, + 6409D732BE9F9BD02673B79B /* Helpers */, + 7C026500149D281CB84ECA33 /* Validators */, + 3F7B82C31FE216F26BAA22BD /* Views */, + 4844F0B5436706225DE5A176 /* Events.swift */, + 20209CDCC3856CE548DA4D25 /* Image.swift */, ); - path = Snapshot; + path = Source; sourceTree = ""; }; - E61ADA9027080B8D004ED998 /* Elements */ = { + 4EE613673FA66E06A8963989 /* Localizations */ = { isa = PBXGroup; children = ( - E66DA0D42818CA1F0099213C /* CheckboxButtonSnapshotTests.swift */, - E61ADA9127080C3F004ED998 /* DateFieldElementSnapshotTest.swift */, - B63C7E6C289333E6003BC68A /* AddressSectionElementSnapshotTest.swift */, - E6B0DDC727111B8700CE86DC /* DropdownFieldElementSnapshotTest.swift */, - B6DA050C28650BF7003696BB /* PhoneNumberElementSnapshotTests.swift */, + 71C8163AEB97D2FF8BB3A1C8 /* Localizable.strings */, ); - path = Elements; + path = Localizations; sourceTree = ""; }; - E61ADAC0270E4900004ED998 /* Address */ = { + 4FBEFD693426C6259B6BF7D6 /* Categories */ = { isa = PBXGroup; children = ( - E61ADAC1270E4915004ED998 /* AddressSpec.swift */, - E61ADAC2270E4915004ED998 /* AddressSpecProvider.swift */, - B67BC10528526385003EEFF0 /* AddressSpec+ElementFactory.swift */, - E61ADAC3270E4916004ED998 /* AddressSectionElement.swift */, - B647A5F62889CEDA00099832 /* AddressSectionElement+DummyAddressLine.swift */, + 7B8B1E38153B0C5ED6CD459C /* CALayer+StripeUICore.swift */, + 64EECCC1035F00C122B2B1ED /* Enums+CustomStringConvertible.swift */, + 36342ED77935BE9A32B082EC /* Locale+StripeUICore.swift */, + CB52FF6CAC981EFA60A81AFF /* NSDirectionalEdgeInsets+StripeUICore.swift */, + 5321D6CCBA2AA9162A96080C /* UIBarButtonItem+StripeUICore.swift */, + 8A60A0D2417D3A70D500EE30 /* UIButton+StripeUICore.swift */, + 51C4AEB27F9734178E20836A /* UIColor+StripeUICore.swift */, + 43943E8FF7CD279F8D8605D3 /* UIFont+StripeUICore.swift */, + 4EE651DD3E5873538C7CE743 /* UIKeyboardType+StripeUICore.swift */, + 71A81696ECEEF728F25202B6 /* UISpringTimingParameters+StripeUICore.swift */, + 5855EA2F4F38847E3E47935D /* UIStackView+StripeUICore.swift */, + FAA22461E52111D9A4E8B133 /* UITraitCollection+StripeUICore.swift */, + FDBBC76FD31F07EC67C52075 /* UIView+StripeUICore.swift */, + 12973742CA1AA39D3B84F072 /* UIViewController+StripeUICore.swift */, + 59215CEEBA0D56FF41C3E412 /* UIWindow+StripeUICore.swift */, ); - path = Address; + path = Categories; sourceTree = ""; }; - E61ADAC9270E6081004ED998 /* JSON */ = { + 55059C90F775384FCFE9D116 /* Elements */ = { isa = PBXGroup; children = ( - 6B5ABA2427C982BC003D5D2A /* au_becs_bsb.json */, - E61ADAC7270E6070004ED998 /* localized_address_data.json */, + BB7836BA51814D0841B688E1 /* AddressSectionElementSnapshotTest.swift */, + D917F78E89D67691EF760D14 /* CheckboxButtonSnapshotTests.swift */, + 48E2652D09C1A4EBBDE2FB61 /* DateFieldElementSnapshotTest.swift */, + 62575FAAAAEFF31406C9B417 /* DropdownFieldElementSnapshotTest.swift */, + 7796F7211034806DA24D1710 /* PhoneNumberElementSnapshotTests.swift */, ); - path = JSON; + path = Elements; sourceTree = ""; }; - E665080B26EC37E30032DE21 /* Images */ = { + 5A4B0EAF2FA9E28C057A2AB2 /* BuildConfigurations */ = { isa = PBXGroup; children = ( - F3680DF127A9AF1800A8796A /* brand_stripe@3x.png */, - B6DE181E27F55C4000ACB1A1 /* form_error_icon@3x.png */, - E665080C26EC37FA0032DE21 /* icon_chevron_down@3x.png */, - 614E0762284FDCE100FB70F4 /* icon_clear@3x.png */, + 67C454346BE566F9F689543B /* Project-Debug.xcconfig */, + D1FB364DF60C1DEE0DA8EE75 /* Project-Release.xcconfig */, + 9E3254388F5DAB8E8C76AE04 /* StripeiOS Tests-Debug.xcconfig */, + E242FECC90FE2644CF99692D /* StripeiOS Tests-Release.xcconfig */, + E395C593AC970A8C79A8109C /* StripeiOS-Debug.xcconfig */, + 4CBAE2B07C5575F19470464D /* StripeiOS-Release.xcconfig */, ); - path = Images; + name = BuildConfigurations; + path = ../BuildConfigurations; sourceTree = ""; }; - E66DA0CF2818C4720099213C /* Checkbox */ = { + 6053854E6A29F72565EEA479 /* Validators */ = { isa = PBXGroup; children = ( - E66DA0D02818C4720099213C /* CheckboxButton.swift */, - E66DA0D12818C4720099213C /* CheckboxElement.swift */, + 9CCBFC1830139737F2E947F1 /* BSBNumberTests.swift */, + 263B7E56A83CFA4BA8385638 /* PhoneNumberTests.swift */, + 312E77021827300B2504F016 /* STPEmailAddressValidatorTest.swift */, + 53AA9FCEF2640C493D140033 /* STPVPANumberValidatorTest.swift */, ); - path = Checkbox; + path = Validators; sourceTree = ""; }; - E6752D7126F403EF0062B821 /* Categories */ = { + 6409D732BE9F9BD02673B79B /* Helpers */ = { isa = PBXGroup; children = ( - 61A6294427E401C900C8DF08 /* CALayer+StripeUICore.swift */, - 363B92672743213E00BA52EC /* Enums+CustomStringConvertible.swift */, - E60564CB27056DD80023B0B6 /* Locale+StripeUICore.swift */, - E6752D7D26F414D70062B821 /* NSDirectionalEdgeInsets+StripeUICore.swift */, - D08FD70A270BD28D009FE060 /* UIBarButtonItem+StripeUICore.swift */, - E6752D6F26F403E20062B821 /* UIButton+StripeUICore.swift */, - D08195DC2738F01700FBB5DA /* UIColor+StripeUICore.swift */, - D0BEB3FB273CA7C60031D677 /* UIFont+StripeUICore.swift */, - E6B0DDD12714C49400CE86DC /* UIKeyboardType+StripeUICore.swift */, - E6752D7F26F4150A0062B821 /* UISpringTimingParameters+StripeUICore.swift */, - 367199DB280756C700773613 /* UIStackView+StripeUICore.swift */, - D0031A2B2709D6A20050F242 /* UITraitCollection+StripeUICore.swift */, - E6752D7B26F414920062B821 /* UIView+StripeUICore.swift */, - E6752D7926F414680062B821 /* UIViewController+StripeUICore.swift */, - B6A0D60028FF4F9E00A9F7A7 /* UIWindow+StripeUICore.swift */, + E657F1ABE46BA5C0692D9D41 /* CompatibleColor.swift */, + A681C4DEAE7B35B4DC0BD0FB /* ImageMaker.swift */, + FB5A05E653BFD01FF65E193C /* InputFormColors.swift */, + EA00332BBDCE27F6F5A615C4 /* RegionCodeProvider.swift */, + 72394C7783071B1C6ED82A48 /* StackViewWithSeparator.swift */, + A4F4CE2A0B16DA57DB249227 /* STPLocalizedString.swift */, + A73D88DFAB03D663217399D0 /* String+CountryEmoji.swift */, + 0D558F65E4C23971C94BAD3E /* String+Localized.swift */, + BA1688A2CE2037846F8E3937 /* String+RegionCodeProvider.swift */, + E68363D1C6BB6468AC1DDA4C /* StripeUICoreBundleLocator.swift */, ); - path = Categories; + path = Helpers; sourceTree = ""; }; - E6752D7626F4130B0062B821 /* Elements */ = { + 69644936855065629CAD92BE /* Unit */ = { isa = PBXGroup; children = ( - E66DA0CF2818C4720099213C /* Checkbox */, - B6AEC92B27EE370C0084CD67 /* ContainerElement.swift */, - E61ADA8B2707DBBD004ED998 /* DateFieldElement.swift */, - E6752D8726F420F70062B821 /* DropdownFieldElement.swift */, - E6752D9226F420F70062B821 /* Element.swift */, - E6752D7426F412FF0062B821 /* ElementsUI.swift */, - E606938127044B1000742859 /* Factories */, - E6752D8A26F420F70062B821 /* Form */, - 36397F6F2731B88D0059DED7 /* PhoneNumber */, - E6752D8626F420F60062B821 /* PickerField */, - E6752D8D26F420F70062B821 /* Section */, - E6752D9326F420F70062B821 /* StaticElement.swift */, - E6752D9426F420F70062B821 /* TextField */, - 61078DA528C28D2D007C7001 /* TextOrDropdownElement.swift */, + 361DA94D6B150221B8694910 /* Categories */, + 14BA0999EF98D5C19F7A0018 /* Elements */, + 6053854E6A29F72565EEA479 /* Validators */, ); - path = Elements; + path = Unit; sourceTree = ""; }; - E6752D8326F417860062B821 /* Views */ = { + 6A97BE4FB28466364C6C6F2D /* Snapshot */ = { isa = PBXGroup; children = ( - E6B0DDCF2714C19600CE86DC /* DoneButtonToolbar.swift */, - E6752D8126F417780062B821 /* DynamicHeightContainerView.swift */, - E25CFBB4291DCE480067AA3C /* DynamicImageView.swift */, - E659A09E282C50EB00DF8C0C /* LinkOpeningTextView.swift */, + B2DFE0CA51E45495789EAE0C /* Controls */, + 55059C90F775384FCFE9D116 /* Elements */, ); - path = Views; + path = Snapshot; sourceTree = ""; }; - E6752D8626F420F60062B821 /* PickerField */ = { + 6F2D1EDE6459166E8599C7F6 /* Products */ = { isa = PBXGroup; children = ( - E61ADA862707CED8004ED998 /* PickerFieldView.swift */, - E6752D8826F420F70062B821 /* PickerTextField.swift */, + B8DC1E33CDF3B3FE549A7210 /* StripeCore.framework */, + 40DF1A7FC5D84F937042D172 /* StripeCoreTestUtils.framework */, + 868B2E8EDC242DB5AFFB3D0C /* StripeUICore.framework */, + E522C47E0874F612E330DA38 /* StripeUICoreTests.xctest */, ); - path = PickerField; + name = Products; sourceTree = ""; }; - E6752D8A26F420F70062B821 /* Form */ = { + 778494B821DEC0138FB4D78F /* Address */ = { isa = PBXGroup; children = ( - E6752D8B26F420F70062B821 /* FormElement.swift */, - E6752D8C26F420F70062B821 /* FormView.swift */, + 5B5CCD5D11A49D48D8D21C62 /* AddressSectionElement.swift */, + 4B66D666BB3EA733B92A60AA /* AddressSectionElement+DummyAddressLine.swift */, + 7DC72344B4B313CE07A8AA33 /* AddressSpec.swift */, + 6A4D27EC1A9207F327B1BF20 /* AddressSpec+ElementFactory.swift */, + B844EED0578B990F4772CD01 /* AddressSpecProvider.swift */, ); - path = Form; + path = Address; sourceTree = ""; }; - E6752D8D26F420F70062B821 /* Section */ = { + 7C026500149D281CB84ECA33 /* Validators */ = { isa = PBXGroup; children = ( - E6752D8F26F420F70062B821 /* SectionContainerView.swift */, - E6752D9026F420F70062B821 /* SectionElement.swift */, - B60CF9A127E52BC900A21C9B /* SectionElement+MultiElementRow.swift */, - E6752D8E26F420F70062B821 /* SectionView.swift */, + 0B58A5326DAC5338377674E9 /* BSBNumber.swift */, + FF05370E4825D3225D9A6910 /* PhoneNumber.swift */, + DE233EED40F9D3FADDFE5951 /* STPEmailAddressValidator.swift */, + D634B04FC897DFB74B81DED6 /* STPVPANumberValidator.swift */, ); - path = Section; + path = Validators; sourceTree = ""; }; - E6752D9426F420F70062B821 /* TextField */ = { + 82B232DB32C55ABC81F03EEA /* TextField */ = { isa = PBXGroup; children = ( - E6752D9926F420F70062B821 /* FloatingPlaceholderTextFieldView.swift */, - E6752D9626F420F70062B821 /* TextFieldElement.swift */, - E6752D9826F420F70062B821 /* TextFieldElement+Validation.swift */, - E6752D9726F420F70062B821 /* TextFieldElementConfiguration.swift */, - E606937227041A4400742859 /* TextFieldFormatter.swift */, - E6752D9526F420F70062B821 /* TextFieldView.swift */, + 4FD764D16A365FD46700FB25 /* FloatingPlaceholderTextFieldView.swift */, + A004788FA286E5ED22334238 /* TextFieldElement.swift */, + CFB80CA75F00847E4D74F821 /* TextFieldElement+Validation.swift */, + 8367A676E35A663E320E1B37 /* TextFieldElementConfiguration.swift */, + 34178B51599FDCB0D0D7475A /* TextFieldFormatter.swift */, + D5A312A55A629CED2C6404F1 /* TextFieldView.swift */, ); path = TextField; sourceTree = ""; }; - E6752DAE26F421350062B821 /* Validators */ = { + 89921F2BD8A1893F01033619 = { isa = PBXGroup; children = ( - E6752DAF26F421350062B821 /* STPEmailAddressValidator.swift */, - 6138B89B28CAA6ED0096E7FC /* STPVPANumberValidator.swift */, - 36E1894B26FBD60200A57EF4 /* PhoneNumber.swift */, - 6B573C9827C5C0ED0082C0B3 /* BSBNumber.swift */, + 9F91E3826B63A2743D9EAFD8 /* Project */, + E4A3A33D13A26769A10EA12B /* Frameworks */, + 6F2D1EDE6459166E8599C7F6 /* Products */, ); - path = Validators; sourceTree = ""; }; - E6752DB126F4228F0062B821 /* Elements */ = { + 89DCFAE23D35B3B8313A52E2 /* StripeUICore */ = { isa = PBXGroup; children = ( - E6B0DDCB2711240100CE86DC /* DateFieldElementTest.swift */, - E6B0DDC92711218100CE86DC /* DropdownFieldElementTest.swift */, - E61ADACE270E6765004ED998 /* AddressSectionElementTest.swift */, - E61ADACC270E671D004ED998 /* AddressSpecProviderTest.swift */, - 6BBCC32F27C8713E00DCCE7F /* BSBNumberProviderTest.swift */, - E606937B27043BD900742859 /* IDNumberTextFieldConfigurationTest.swift */, - B6DA050A2864F83B003696BB /* PhoneNumberElementTests.swift */, - E6752DB326F4228F0062B821 /* SectionElementTest.swift */, - E6752DB426F4228F0062B821 /* TextFieldElement+AddressFactoryTest.swift */, - 6B573C9A27C847730082C0B3 /* TestFieldElement+AccountFactoryTest.swift */, - E6752DB226F4228F0062B821 /* TextFieldElementTest.swift */, - E606937D27043C2700742859 /* TextFieldFormatterTest.swift */, + 36DAB16F61F10767C1FAA6CB /* Resources */, + 47D21B13FCCDA3A340E0E45B /* Source */, + 40E0822DE6CFA0D3CCD5D513 /* Info.plist */, + CB8A9F7B4B2E8AA5A7E4FE98 /* StripeUICore.h */, ); - path = Elements; + path = StripeUICore; sourceTree = ""; }; - E6752DB526F4228F0062B821 /* Validators */ = { + 91389CA21E7E02309F469572 /* Controls */ = { isa = PBXGroup; children = ( - E6752DB626F4228F0062B821 /* STPEmailAddressValidatorTest.swift */, - 61E3A03C28D4232300B3A019 /* STPVPANumberValidatorTest.swift */, - 36397F612714FDEF0059DED7 /* PhoneNumberTests.swift */, - 6B573C9C27C851950082C0B3 /* BSBNumberTests.swift */, + 8678CFB3968AE5232932C461 /* ActivityIndicator.swift */, + 7EB48FCA3B2447A5F4CCEC69 /* Button.swift */, ); - path = Validators; + path = Controls; sourceTree = ""; }; - E6AFFA8C26E93FB50067462F = { + 95A37FFB73E533980DEB7AC6 /* StripeUICoreTests */ = { isa = PBXGroup; children = ( - E6AFFAB026E94AC20067462F /* BuildConfigurations */, - E6AFFA9826E93FB50067462F /* StripeUICore */, - E6AFFAA326E93FB50067462F /* StripeUICoreTests */, - E6AFFA9726E93FB50067462F /* Products */, - E6AFFAC826E967180067462F /* Frameworks */, + 6A97BE4FB28466364C6C6F2D /* Snapshot */, + 69644936855065629CAD92BE /* Unit */, + 2AAE278AD27DB71B88C97B1A /* Info.plist */, ); + path = StripeUICoreTests; sourceTree = ""; }; - E6AFFA9726E93FB50067462F /* Products */ = { + 9F91E3826B63A2743D9EAFD8 /* Project */ = { isa = PBXGroup; children = ( - E6AFFA9626E93FB50067462F /* StripeUICore.framework */, - E6AFFA9F26E93FB50067462F /* StripeUICoreTests.xctest */, + 5A4B0EAF2FA9E28C057A2AB2 /* BuildConfigurations */, + 89DCFAE23D35B3B8313A52E2 /* StripeUICore */, + 95A37FFB73E533980DEB7AC6 /* StripeUICoreTests */, ); - name = Products; + name = Project; sourceTree = ""; }; - E6AFFA9826E93FB50067462F /* StripeUICore */ = { + A33F87F760EA97E2416B5E3F /* JSON */ = { isa = PBXGroup; children = ( - E6AFFB0826E9771D0067462F /* Resources */, - E6AFFAC526E94D5F0067462F /* Source */, - E6AFFA9926E93FB50067462F /* StripeUICore.h */, - E6AFFA9A26E93FB50067462F /* Info.plist */, + 6E66B0CF81D4F8EDBB642C9F /* au_becs_bsb.json */, + 4E25905FCD05DF8B72888AAF /* localized_address_data.json */, ); - path = StripeUICore; + path = JSON; sourceTree = ""; }; - E6AFFAA326E93FB50067462F /* StripeUICoreTests */ = { + B15F8A0D7BC00200896F00FD /* PickerField */ = { isa = PBXGroup; children = ( - D0CF9131273B363E00EE2E60 /* Unit */, - E61ADA8F27080B84004ED998 /* Snapshot */, - E6AFFAA626E93FB50067462F /* Info.plist */, + 68F3046A526D3A4CE402FB83 /* PickerFieldView.swift */, + C0355EA21D04DDC29E620CEA /* PickerTextField.swift */, ); - path = StripeUICoreTests; + path = PickerField; sourceTree = ""; }; - E6AFFAB026E94AC20067462F /* BuildConfigurations */ = { + B2DFE0CA51E45495789EAE0C /* Controls */ = { isa = PBXGroup; children = ( - E6AFFAB126E94AC20067462F /* StripeiOS Tests-Debug.xcconfig */, - E6AFFAB226E94AC20067462F /* StripeiOS-Debug.xcconfig */, - E6AFFAB326E94AC20067462F /* Project-Release.xcconfig */, - E6AFFAB426E94AC20067462F /* StripeiOS Tests-Release.xcconfig */, - E6AFFAB526E94AC20067462F /* Project-Shared.xcconfig */, - E6AFFAB626E94AC20067462F /* Version.xcconfig */, - E6AFFAB726E94AC20067462F /* StripeiOS Tests-Shared.xcconfig */, - E6AFFAB826E94AC20067462F /* StripeiOS-Shared.xcconfig */, - E6AFFAB926E94AC20067462F /* Project-Debug.xcconfig */, - E6AFFABA26E94AC20067462F /* StripeiOS-Release.xcconfig */, + EB5E2F9A5B1A3E8E7B765E4F /* ButtonSnapshotTest.swift */, ); - name = BuildConfigurations; - path = ../BuildConfigurations; + path = Controls; sourceTree = ""; }; - E6AFFAC526E94D5F0067462F /* Source */ = { + B3A1C7E17AE91C2352DE42DB /* Section */ = { isa = PBXGroup; children = ( - E6752D7126F403EF0062B821 /* Categories */, - D0494A73273B0D8B00FEA715 /* Controls */, - E6752D7626F4130B0062B821 /* Elements */, - E6752DAC26F421200062B821 /* Events.swift */, - E6AFFB2526E977410067462F /* Helpers */, - E665080926EC378E0032DE21 /* Image.swift */, - E6752DAE26F421350062B821 /* Validators */, - E6752D8326F417860062B821 /* Views */, + F1C0A3DE4BCF8DA03AD17144 /* SectionContainerView.swift */, + 7BB17B284B6D063AF0329DAD /* SectionElement.swift */, + B6737026DF19C8D10AE8114A /* SectionElement+MultiElementRow.swift */, + CF3C9C0D2302B8E7F421EFBD /* SectionView.swift */, ); - path = Source; + path = Section; sourceTree = ""; }; - E6AFFAC826E967180067462F /* Frameworks */ = { + CF2B7051099FA08B7F0C446F /* PhoneNumber */ = { isa = PBXGroup; children = ( - E61ADAA7270B946E004ED998 /* StripeCoreTestUtils.framework */, - E6AFFAEC26E96FEC0067462F /* StripeCore.framework */, + 8D0478259F9F7A04A8CF43BB /* PhoneNumberElement.swift */, ); - name = Frameworks; + path = PhoneNumber; sourceTree = ""; }; - E6AFFB0826E9771D0067462F /* Resources */ = { + CFDEE78D53D268CE4AB390BE /* Images */ = { isa = PBXGroup; children = ( - E665080B26EC37E30032DE21 /* Images */, - E61ADAC9270E6081004ED998 /* JSON */, - E6AFFB0926E9771D0067462F /* Localizations */, + 014F19ED234ECD3D57721A8F /* brand_stripe@3x.png */, + 6D9AE17D6E140A05EF2D2562 /* form_error_icon@3x.png */, + 63A3F4E403D032A8D68BF736 /* icon_chevron_down@3x.png */, + 8B5CA8560230CF4F271811F0 /* icon_clear@3x.png */, ); - path = Resources; + path = Images; sourceTree = ""; }; - E6AFFB0926E9771D0067462F /* Localizations */ = { + E4A3A33D13A26769A10EA12B /* Frameworks */ = { isa = PBXGroup; children = ( - E6AFFB0A26E9771D0067462F /* Localizable.strings */, + D4621DA31A1A5FC51F76E562 /* XCTest.framework */, ); - path = Localizations; + name = Frameworks; sourceTree = ""; }; - E6AFFB2526E977410067462F /* Helpers */ = { + E6F4FB2DDDAEEC6EAA177E77 /* BSB */ = { isa = PBXGroup; children = ( - E665080726EC33260032DE21 /* ImageMaker.swift */, - 36E1894926FBAFC700A57EF4 /* InputFormColors.swift */, - 36506AAA27A8AE68000B56CF /* RegionCodeProvider.swift */, - 36E1894726FBAEB600A57EF4 /* StackViewWithSeparator.swift */, - E6AFFB2926E9787D0067462F /* STPLocalizedString.swift */, - 36E1894F27067A8700A57EF4 /* String+CountryEmoji.swift */, - E6752D6D26F4033B0062B821 /* String+Localized.swift */, - 36506AAC27A8AE95000B56CF /* String+RegionCodeProvider.swift */, - E6AFFB2626E9775B0067462F /* StripeUICoreBundleLocator.swift */, - D046E2D8290A06EE0049BE9C /* CompatibleColor.swift */, + CC3DD58BEF337017E7286459 /* BSBNumberProvider.swift */, ); - path = Helpers; + path = BSB; + sourceTree = ""; + }; + F08533861A4AC1BB01315CCE /* Factories */ = { + isa = PBXGroup; + children = ( + 778494B821DEC0138FB4D78F /* Address */, + E6F4FB2DDDAEEC6EAA177E77 /* BSB */, + 374D0BE980D58B75FA04DE66 /* DropdownFieldElement+AddressFactory.swift */, + 92623B785C43F351D8A944D1 /* IDNumberTextFieldConfiguration.swift */, + D69C3FF914611057972ABA41 /* TextFieldElement+AccountFactory.swift */, + EDD7C1AAB9D26E00526AFB26 /* TextFieldElement+AddressFactory.swift */, + 4D4BD46908791D2E4150C4DC /* TextFieldElement+Factory.swift */, + ); + path = Factories; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - E6AFFA9126E93FB50067462F /* Headers */ = { + 7124034061B4EB1E9FEE5082 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E6AFFAA726E93FB50067462F /* StripeUICore.h in Headers */, + 4755A24604B396D5A25058CD /* StripeUICore.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - E6AFFA9526E93FB50067462F /* StripeUICore */ = { + A4B3F8AEF10396425E1A79D0 /* StripeUICoreTests */ = { isa = PBXNativeTarget; - buildConfigurationList = E6AFFAAA26E93FB50067462F /* Build configuration list for PBXNativeTarget "StripeUICore" */; + buildConfigurationList = FBFE0F03077B5B14BAA451B5 /* Build configuration list for PBXNativeTarget "StripeUICoreTests" */; buildPhases = ( - E6AFFA9126E93FB50067462F /* Headers */, - E6AFFA9226E93FB50067462F /* Sources */, - E6AFFA9326E93FB50067462F /* Frameworks */, - E6AFFA9426E93FB50067462F /* Resources */, + 1EEBDA54180851BDA264A95A /* Sources */, + 22944EF7CA9505D7EAA24DDF /* Resources */, + 8B58BADB5D787E66A0A50257 /* Embed Frameworks */, + B361F19E111D84FD84927757 /* Frameworks */, ); buildRules = ( ); dependencies = ( + C47525D30F1B3DA22E5700ED /* PBXTargetDependency */, ); - name = StripeUICore; + name = StripeUICoreTests; packageProductDependencies = ( + 9B701A244243959A191FF16F /* iOSSnapshotTestCase */, ); - productName = StripeUICore; - productReference = E6AFFA9626E93FB50067462F /* StripeUICore.framework */; - productType = "com.apple.product-type.framework"; + productName = StripeUICoreTests; + productReference = E522C47E0874F612E330DA38 /* StripeUICoreTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; - E6AFFA9E26E93FB50067462F /* StripeUICoreTests */ = { + DE3C3F3D3BB67DD660A44B1E /* StripeUICore */ = { isa = PBXNativeTarget; - buildConfigurationList = E6AFFAAD26E93FB50067462F /* Build configuration list for PBXNativeTarget "StripeUICoreTests" */; + buildConfigurationList = 0F1ADFB3411970E0071C1BC7 /* Build configuration list for PBXNativeTarget "StripeUICore" */; buildPhases = ( - E6AFFA9B26E93FB50067462F /* Sources */, - E6AFFA9C26E93FB50067462F /* Frameworks */, - E6AFFA9D26E93FB50067462F /* Resources */, - E25440E628F9C87500C6F5D3 /* Embed Frameworks */, + 7124034061B4EB1E9FEE5082 /* Headers */, + 8E796B4724BEBD4752011F86 /* Sources */, + 5744B094678B91577696C76C /* Resources */, + 7823EBE0BD66DC6070DC1530 /* Embed Frameworks */, + 0D674E67240745BB10E9C307 /* Frameworks */, ); buildRules = ( ); dependencies = ( - E6AFFAA226E93FB50067462F /* PBXTargetDependency */, ); - name = StripeUICoreTests; - packageProductDependencies = ( - E25440E428F9C87500C6F5D3 /* iOSSnapshotTestCase */, - ); - productName = StripeUICoreTests; - productReference = E6AFFA9F26E93FB50067462F /* StripeUICoreTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; + name = StripeUICore; + productName = StripeUICore; + productReference = 868B2E8EDC242DB5AFFB3D0C /* StripeUICore.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - E6AFFA8D26E93FB50067462F /* Project object */ = { + A39BBBD15F0F6B54725E52AF /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1250; - LastUpgradeCheck = 1400; - ORGANIZATIONNAME = "Stripe, Inc"; TargetAttributes = { - E6AFFA9526E93FB50067462F = { - CreatedOnToolsVersion = 12.5; - LastSwiftMigration = 1250; - }; - E6AFFA9E26E93FB50067462F = { - CreatedOnToolsVersion = 12.5; - }; }; }; - buildConfigurationList = E6AFFA9026E93FB50067462F /* Build configuration list for PBXProject "StripeUICore" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = 2331F8341192F01F80C0469D /* Build configuration list for PBXProject "StripeUICore" */; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - en, Base, + "bg-BG", + "ca-ES", + "cs-CZ", + da, de, - "zh-Hans", - ja, - "zh-HK", - mt, - nb, + "el-GR", + en, "en-GB", es, - da, "es-419", - it, - "nn-NO", + "et-EE", + fi, + fil, + fr, "fr-CA", - sv, - ko, - "zh-Hant", + hr, hu, - tr, - "pt-BR", - ru, - fr, - fi, + id, + it, + ja, + ko, + "lt-LT", + "lv-LV", + "ms-MY", + mt, + nb, nl, + "nn-NO", + "pl-PL", + "pt-BR", "pt-PT", + "ro-RO", + ru, + "sk-SK", + "sl-SI", + sv, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", ); - mainGroup = E6AFFA8C26E93FB50067462F; + mainGroup = 89921F2BD8A1893F01033619; packageReferences = ( - E25440E128F9C86A00C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, + 538E8F52DECFD138BE60A67D /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */, ); - productRefGroup = E6AFFA9726E93FB50067462F /* Products */; + productRefGroup = 6F2D1EDE6459166E8599C7F6 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - E6AFFA9526E93FB50067462F /* StripeUICore */, - E6AFFA9E26E93FB50067462F /* StripeUICoreTests */, + DE3C3F3D3BB67DD660A44B1E /* StripeUICore */, + A4B3F8AEF10396425E1A79D0 /* StripeUICoreTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - E6AFFA9426E93FB50067462F /* Resources */ = { + 22944EF7CA9505D7EAA24DDF /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - E6AFFB2426E9771D0067462F /* Localizable.strings in Resources */, - F3680E0227A9DA3900A8796A /* brand_stripe@3x.png in Resources */, - E665080D26EC37FA0032DE21 /* icon_chevron_down@3x.png in Resources */, - 614E0763284FDCE100FB70F4 /* icon_clear@3x.png in Resources */, - B6DE181F27F55C4100ACB1A1 /* form_error_icon@3x.png in Resources */, - E61ADAC8270E6070004ED998 /* localized_address_data.json in Resources */, - 6B5ABA2527C982BC003D5D2A /* au_becs_bsb.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6AFFA9D26E93FB50067462F /* Resources */ = { + 5744B094678B91577696C76C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + DEA5D8DAF177A3943B63D9DE /* brand_stripe@3x.png in Resources */, + BB806C7952268078A7A90D29 /* form_error_icon@3x.png in Resources */, + 1FFE2C42D46B90AC6D94722B /* icon_chevron_down@3x.png in Resources */, + 7E635692C56F582094223AB7 /* icon_clear@3x.png in Resources */, + 2ADEF1482E62A173A0C7F7AD /* au_becs_bsb.json in Resources */, + D912BF580DBAB7416040B637 /* localized_address_data.json in Resources */, + ECCA9BD118D763DBF658E5FD /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - E6AFFA9226E93FB50067462F /* Sources */ = { + 1EEBDA54180851BDA264A95A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E61ADAC5270E4916004ED998 /* AddressSpecProvider.swift in Sources */, - D0CF912A273B104A00EE2E60 /* Button.swift in Sources */, - 61078DA628C28D2D007C7001 /* TextOrDropdownElement.swift in Sources */, - D08FD70B270BD28D009FE060 /* UIBarButtonItem+StripeUICore.swift in Sources */, - D0BEB3FC273CA7C60031D677 /* UIFont+StripeUICore.swift in Sources */, - E25CFBB5291DCE480067AA3C /* DynamicImageView.swift in Sources */, - 367199DC280756C800773613 /* UIStackView+StripeUICore.swift in Sources */, - 363B92682743213E00BA52EC /* Enums+CustomStringConvertible.swift in Sources */, - D0031A2C2709D6A20050F242 /* UITraitCollection+StripeUICore.swift in Sources */, - E6752D7C26F414920062B821 /* UIView+StripeUICore.swift in Sources */, - E60564CC27056DD80023B0B6 /* Locale+StripeUICore.swift in Sources */, - 6138B89C28CAA6ED0096E7FC /* STPVPANumberValidator.swift in Sources */, - E6B0DDD02714C19600CE86DC /* DoneButtonToolbar.swift in Sources */, - E6AFFB2A26E9787D0067462F /* STPLocalizedString.swift in Sources */, - B647A5F72889CEDA00099832 /* AddressSectionElement+DummyAddressLine.swift in Sources */, - E61ADAC6270E4916004ED998 /* AddressSectionElement.swift in Sources */, - 61A6294527E401C900C8DF08 /* CALayer+StripeUICore.swift in Sources */, - E665080A26EC378E0032DE21 /* Image.swift in Sources */, - E60693712703B0E500742859 /* DropdownFieldElement+AddressFactory.swift in Sources */, - E6752DB026F421350062B821 /* STPEmailAddressValidator.swift in Sources */, - E6752D7E26F414D70062B821 /* NSDirectionalEdgeInsets+StripeUICore.swift in Sources */, - E6752DA226F420F70062B821 /* SectionElement.swift in Sources */, - 6B573C9927C5C0ED0082C0B3 /* BSBNumber.swift in Sources */, - D06072D0275AEB01002391BA /* ActivityIndicator.swift in Sources */, - E6752DA126F420F70062B821 /* SectionContainerView.swift in Sources */, - 36E1894C26FBD60200A57EF4 /* PhoneNumber.swift in Sources */, - D046E2D9290A06EE0049BE9C /* CompatibleColor.swift in Sources */, - 6B573C9727C5BEF00082C0B3 /* TextFieldElement+AccountFactory.swift in Sources */, - B60CF9A227E52BC900A21C9B /* SectionElement+MultiElementRow.swift in Sources */, - E6752DAA26F420F70062B821 /* FloatingPlaceholderTextFieldView.swift in Sources */, - E61ADA872707CED8004ED998 /* PickerFieldView.swift in Sources */, - E6752DA026F420F70062B821 /* SectionView.swift in Sources */, - B6DA0506285D0360003696BB /* TextFieldElement+Factory.swift in Sources */, - D08195DD2738F01700FBB5DA /* UIColor+StripeUICore.swift in Sources */, - E6752D9B26F420F70062B821 /* DropdownFieldElement.swift in Sources */, - 36E1894A26FBAFC700A57EF4 /* InputFormColors.swift in Sources */, - B67BC10628526385003EEFF0 /* AddressSpec+ElementFactory.swift in Sources */, - E6752D9C26F420F70062B821 /* PickerTextField.swift in Sources */, - E6752D9F26F420F70062B821 /* FormView.swift in Sources */, - E6752DA626F420F70062B821 /* TextFieldView.swift in Sources */, - E66DA0D22818C4720099213C /* CheckboxButton.swift in Sources */, - E67C92F5270259FA00F8A039 /* IDNumberTextFieldConfiguration.swift in Sources */, - E6752D7026F403E20062B821 /* UIButton+StripeUICore.swift in Sources */, - 36506AAB27A8AE68000B56CF /* RegionCodeProvider.swift in Sources */, - 36506AAD27A8AE95000B56CF /* String+RegionCodeProvider.swift in Sources */, - 6BBCC31327C86C7600DCCE7F /* BSBNumberProvider.swift in Sources */, - E66DA0D32818C4720099213C /* CheckboxElement.swift in Sources */, - E6752DAB26F420F70062B821 /* TextFieldElement+AddressFactory.swift in Sources */, - E665080826EC33260032DE21 /* ImageMaker.swift in Sources */, - E6752D7A26F414680062B821 /* UIViewController+StripeUICore.swift in Sources */, - E6B0DDD22714C49400CE86DC /* UIKeyboardType+StripeUICore.swift in Sources */, - E6752DA926F420F70062B821 /* TextFieldElement+Validation.swift in Sources */, - E61ADA8C2707DBBD004ED998 /* DateFieldElement.swift in Sources */, - E6752D9E26F420F70062B821 /* FormElement.swift in Sources */, - E659A09F282C50EB00DF8C0C /* LinkOpeningTextView.swift in Sources */, - E6752D7526F412FF0062B821 /* ElementsUI.swift in Sources */, - B6DA050928627B29003696BB /* PhoneNumberElement.swift in Sources */, - E6752DA526F420F70062B821 /* StaticElement.swift in Sources */, - 36E1894826FBAEB600A57EF4 /* StackViewWithSeparator.swift in Sources */, - E61ADAC4270E4916004ED998 /* AddressSpec.swift in Sources */, - 36E1895027067A8700A57EF4 /* String+CountryEmoji.swift in Sources */, - B6AEC92C27EE370C0084CD67 /* ContainerElement.swift in Sources */, - E6752D8026F4150A0062B821 /* UISpringTimingParameters+StripeUICore.swift in Sources */, - E6752DA726F420F70062B821 /* TextFieldElement.swift in Sources */, - E6AFFB2726E9775B0067462F /* StripeUICoreBundleLocator.swift in Sources */, - E6752D8226F417780062B821 /* DynamicHeightContainerView.swift in Sources */, - E6752DAD26F421200062B821 /* Events.swift in Sources */, - E606937327041A4400742859 /* TextFieldFormatter.swift in Sources */, - B6A0D60128FF4F9E00A9F7A7 /* UIWindow+StripeUICore.swift in Sources */, - E6752DA426F420F70062B821 /* Element.swift in Sources */, - E6752DA826F420F70062B821 /* TextFieldElementConfiguration.swift in Sources */, - E6752D6E26F4033B0062B821 /* String+Localized.swift in Sources */, + D01976C07EB39B2BED64CCAC /* ButtonSnapshotTest.swift in Sources */, + FC1F8C4DC70C8212B507AE7E /* AddressSectionElementSnapshotTest.swift in Sources */, + 0D8AE1CEFBE7FA004A3DD62D /* CheckboxButtonSnapshotTests.swift in Sources */, + C6B11F4F219F7ED04321A33F /* DateFieldElementSnapshotTest.swift in Sources */, + FF4E844383E5A5FD5C099B41 /* DropdownFieldElementSnapshotTest.swift in Sources */, + 1424B1529E24582122F86149 /* PhoneNumberElementSnapshotTests.swift in Sources */, + 9DBFEB7045692EE931CE014D /* Locale+StripeUICoreTests.swift in Sources */, + 69B082B15479DCC4560E3D92 /* UIColor+StripeUICoreTests.swift in Sources */, + B106FCB3D7C3DE7C40F0AE5C /* AddressSectionElementTest.swift in Sources */, + 073D41F1EC0560423FEF87AA /* AddressSpecProviderTest.swift in Sources */, + 32D69CBB3CE780A29AA553AB /* BSBNumberProviderTest.swift in Sources */, + 2AA023A5031CFF0E56C7A14E /* DateFieldElementTest.swift in Sources */, + F0EB247FEFF4600CD44B8261 /* DropdownFieldElementTest.swift in Sources */, + 88F53AB8F31B1DA2187E5740 /* IDNumberTextFieldConfigurationTest.swift in Sources */, + 4C519A87445AB16A55FE2408 /* PhoneNumberElementTests.swift in Sources */, + A21277FDCDD0C6BFB73A4B51 /* SectionElementTest.swift in Sources */, + 163A77E9E4C40AFFA5226E23 /* TestFieldElement+AccountFactoryTest.swift in Sources */, + 08C773D1E6A5452B7BD7CF81 /* TextFieldElement+AddressFactoryTest.swift in Sources */, + 993E51173490AAE5D7AF4C4E /* TextFieldElementTest.swift in Sources */, + EE28852FFCF42A8C47098051 /* TextFieldFormatterTest.swift in Sources */, + 74F65B6435E46B0FC8386FBB /* BSBNumberTests.swift in Sources */, + 64E61A5E0A705F1C4582381A /* PhoneNumberTests.swift in Sources */, + A5C379C7D1EEF497FD845306 /* STPEmailAddressValidatorTest.swift in Sources */, + 2FD444AC5FC064EFCF6259ED /* STPVPANumberValidatorTest.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6AFFA9B26E93FB50067462F /* Sources */ = { + 8E796B4724BEBD4752011F86 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E6752DBA26F422900062B821 /* STPEmailAddressValidatorTest.swift in Sources */, - E66DA0D52818CA1F0099213C /* CheckboxButtonSnapshotTests.swift in Sources */, - B6DA050D28650BF7003696BB /* PhoneNumberElementSnapshotTests.swift in Sources */, - E606937C27043BD900742859 /* IDNumberTextFieldConfigurationTest.swift in Sources */, - E6B0DDC827111B8700CE86DC /* DropdownFieldElementSnapshotTest.swift in Sources */, - E606937727042AA400742859 /* Locale+StripeUICoreTests.swift in Sources */, - E61ADA9227080C3F004ED998 /* DateFieldElementSnapshotTest.swift in Sources */, - 6BBCC33027C8713E00DCCE7F /* BSBNumberProviderTest.swift in Sources */, - 6B573C9D27C851950082C0B3 /* BSBNumberTests.swift in Sources */, - E6B0DDCC2711240100CE86DC /* DateFieldElementTest.swift in Sources */, - E6752DB826F422900062B821 /* SectionElementTest.swift in Sources */, - B63C7E6D289333E6003BC68A /* AddressSectionElementSnapshotTest.swift in Sources */, - E6B0DDCA2711218100CE86DC /* DropdownFieldElementTest.swift in Sources */, - E61ADACD270E671E004ED998 /* AddressSpecProviderTest.swift in Sources */, - E6752DB926F422900062B821 /* TextFieldElement+AddressFactoryTest.swift in Sources */, - 61E3A03D28D4232300B3A019 /* STPVPANumberValidatorTest.swift in Sources */, - 36397F622714FDEF0059DED7 /* PhoneNumberTests.swift in Sources */, - B6DA050B2864F83B003696BB /* PhoneNumberElementTests.swift in Sources */, - D0CF9137273B397E00EE2E60 /* UIColor+StripeUICoreTests.swift in Sources */, - E6752DB726F422900062B821 /* TextFieldElementTest.swift in Sources */, - E606937E27043C2700742859 /* TextFieldFormatterTest.swift in Sources */, - E61ADACF270E6765004ED998 /* AddressSectionElementTest.swift in Sources */, - 6B573C9B27C847730082C0B3 /* TestFieldElement+AccountFactoryTest.swift in Sources */, - D0494A6B273AE62A00FEA715 /* ButtonSnapshotTest.swift in Sources */, + 824858D45F9D952BBDF822E2 /* CALayer+StripeUICore.swift in Sources */, + AA8F938C3A8B7BC7F11B5048 /* Enums+CustomStringConvertible.swift in Sources */, + 2F1D03471202E25FD7682148 /* Locale+StripeUICore.swift in Sources */, + DA6550F1FFA1376DB656D6E0 /* NSDirectionalEdgeInsets+StripeUICore.swift in Sources */, + 67FCE4493235656689E915F6 /* UIBarButtonItem+StripeUICore.swift in Sources */, + 7272A43410D4BA1365D71E70 /* UIButton+StripeUICore.swift in Sources */, + 02B503A3227EF1409ABF53F1 /* UIColor+StripeUICore.swift in Sources */, + 900EFF5918D96B9716CFB673 /* UIFont+StripeUICore.swift in Sources */, + D6D8BCCF86C964B40D2FA58E /* UIKeyboardType+StripeUICore.swift in Sources */, + 80B0519BC9CC21D9B650FC88 /* UISpringTimingParameters+StripeUICore.swift in Sources */, + 159D7B9A2960A1CD7E661191 /* UIStackView+StripeUICore.swift in Sources */, + 30972A45F8A32DEEC17DA4F6 /* UITraitCollection+StripeUICore.swift in Sources */, + 62601F856C41CFA1C7A8B18F /* UIView+StripeUICore.swift in Sources */, + D47D77A0B82DC6AE15E0A74E /* UIViewController+StripeUICore.swift in Sources */, + 4CD207111219BF250A400ACC /* UIWindow+StripeUICore.swift in Sources */, + 778BACD1A29BEDEE21ED3FBE /* ActivityIndicator.swift in Sources */, + FDF52A43A01CD72D4B5A2CA9 /* Button.swift in Sources */, + C44A57646A325EE26B75E6BF /* CheckboxButton.swift in Sources */, + C3D6D899B671398717F22520 /* CheckboxElement.swift in Sources */, + 8B8D3BD090415EFF9948D2C2 /* ContainerElement.swift in Sources */, + A5E59185A9708613676988C6 /* DateFieldElement.swift in Sources */, + C23C78D87D8E6682F31345CB /* DropdownFieldElement.swift in Sources */, + D7DB5C5724CD47E33245B25A /* Element.swift in Sources */, + FAD790056C7A9E645A6B2C74 /* ElementsUI.swift in Sources */, + 377058C2363FA0348AFBD32E /* AddressSectionElement+DummyAddressLine.swift in Sources */, + BE42104922DCA4DCB3919DD4 /* AddressSectionElement.swift in Sources */, + 0CB675370A06DEC6F23608C4 /* AddressSpec+ElementFactory.swift in Sources */, + E9CA12DAB591AC834CE9539A /* AddressSpec.swift in Sources */, + E94BA0179485AED17D412865 /* AddressSpecProvider.swift in Sources */, + 225B20CEF547BB1F6C6D447E /* BSBNumberProvider.swift in Sources */, + F86769C5CFD9AD3732127951 /* DropdownFieldElement+AddressFactory.swift in Sources */, + 67216EB4E004BDB1D2E49BD4 /* IDNumberTextFieldConfiguration.swift in Sources */, + 65B9A839BD4AAC315231B421 /* TextFieldElement+AccountFactory.swift in Sources */, + 0A3130227F7602524C9824D3 /* TextFieldElement+AddressFactory.swift in Sources */, + FC48FCDC5FD43E5E8AFC32D2 /* TextFieldElement+Factory.swift in Sources */, + 4A5EADAF2F6514299BA4B8D8 /* FormElement.swift in Sources */, + C1CA6209591EDDBBE019FF22 /* FormView.swift in Sources */, + 86427678E119E4AD22410E30 /* PhoneNumberElement.swift in Sources */, + 019C76A03A30A67AE9F1FAEE /* PickerFieldView.swift in Sources */, + 57C288DFD2CC2CFC216E47CC /* PickerTextField.swift in Sources */, + 32971AFF5D0DF9B28E9C464C /* SectionContainerView.swift in Sources */, + 5A9B21FE5A6941713087B94B /* SectionElement+MultiElementRow.swift in Sources */, + 336B882978CA47EE46260774 /* SectionElement.swift in Sources */, + 93CF3CE90B520B4A25208E95 /* SectionView.swift in Sources */, + 4B414F0A0E46D914C89B3741 /* StaticElement.swift in Sources */, + 0FBBB5C7FD2DA9A11E7FE2BC /* FloatingPlaceholderTextFieldView.swift in Sources */, + E40999CDEDEA23451CA89707 /* TextFieldElement+Validation.swift in Sources */, + 9DEAD347B741A53E2F1764B4 /* TextFieldElement.swift in Sources */, + 5936629C4665BC698C3458B1 /* TextFieldElementConfiguration.swift in Sources */, + 39E61B5E6A88E5AF1922EE62 /* TextFieldFormatter.swift in Sources */, + 986924FDA1EEF4146CD81B50 /* TextFieldView.swift in Sources */, + A29B5AC2F03116E2F48970EE /* TextOrDropdownElement.swift in Sources */, + 36376E12AE7ABA21FFC474E6 /* Events.swift in Sources */, + FB33F2F446570394AABB7EC7 /* CompatibleColor.swift in Sources */, + 7B90479C19C30407FC21B228 /* ImageMaker.swift in Sources */, + 343DD093A6095DEAA06D245E /* InputFormColors.swift in Sources */, + 6606DC43D230ADD183AEF5DA /* RegionCodeProvider.swift in Sources */, + 504FA2DE5FE66FDE90842019 /* STPLocalizedString.swift in Sources */, + EDDE1C83333AB1A1F2BD0F3E /* StackViewWithSeparator.swift in Sources */, + 11BD8DFB36FACB6966D0236F /* String+CountryEmoji.swift in Sources */, + 0BA1E7C26903E45912FDE25A /* String+Localized.swift in Sources */, + D083BAAF86707F9865AF2AF4 /* String+RegionCodeProvider.swift in Sources */, + B6107E5E2D6E116417D22DD9 /* StripeUICoreBundleLocator.swift in Sources */, + 68F7D5EEB894A68DDC184ADA /* Image.swift in Sources */, + 2329058B54FF9256846C8603 /* BSBNumber.swift in Sources */, + F901303E0B78F2D8E4C8A2F1 /* PhoneNumber.swift in Sources */, + 1EB16D8F60923EE9C890CE43 /* STPEmailAddressValidator.swift in Sources */, + 0019E30E7B8189C3DEA719DC /* STPVPANumberValidator.swift in Sources */, + CF9D4CC40A7008DD1E8136A3 /* DoneButtonToolbar.swift in Sources */, + B1B177526E04EE65A9D1C64A /* DynamicHeightContainerView.swift in Sources */, + 11C99D83A1DA88996A45BA47 /* DynamicImageView.swift in Sources */, + 6CB223E48029E6BA6ED48041 /* LinkOpeningTextView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - E6AFFAA226E93FB50067462F /* PBXTargetDependency */ = { + C47525D30F1B3DA22E5700ED /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = E6AFFA9526E93FB50067462F /* StripeUICore */; - targetProxy = E6AFFAA126E93FB50067462F /* PBXContainerItemProxy */; + name = StripeUICore; + target = DE3C3F3D3BB67DD660A44B1E /* StripeUICore */; + targetProxy = 980541F3E23EAD7E20DBCA47 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - E6AFFB0A26E9771D0067462F /* Localizable.strings */ = { + 71C8163AEB97D2FF8BB3A1C8 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - E6AFFB0B26E9771D0067462F /* de */, - E6AFFB0C26E9771D0067462F /* zh-Hans */, - E6AFFB0D26E9771D0067462F /* ja */, - E6AFFB0E26E9771D0067462F /* en */, - E6AFFB0F26E9771D0067462F /* zh-HK */, - E6AFFB1026E9771D0067462F /* mt */, - E6AFFB1126E9771D0067462F /* nb */, - E6AFFB1226E9771D0067462F /* en-GB */, - E6AFFB1326E9771D0067462F /* es */, - E6AFFB1426E9771D0067462F /* da */, - E6AFFB1526E9771D0067462F /* es-419 */, - E6AFFB1626E9771D0067462F /* it */, - E6AFFB1726E9771D0067462F /* nn-NO */, - E6AFFB1826E9771D0067462F /* fr-CA */, - E6AFFB1926E9771D0067462F /* sv */, - E6AFFB1A26E9771D0067462F /* ko */, - E6AFFB1B26E9771D0067462F /* zh-Hant */, - E6AFFB1C26E9771D0067462F /* hu */, - E6AFFB1D26E9771D0067462F /* tr */, - E6AFFB1E26E9771D0067462F /* pt-BR */, - E6AFFB1F26E9771D0067462F /* ru */, - E6AFFB2026E9771D0067462F /* fr */, - E6AFFB2126E9771D0067462F /* fi */, - E6AFFB2226E9771D0067462F /* nl */, - E6AFFB2326E9771D0067462F /* pt-PT */, + 7D4E60C42E09A23ACD60BCD8 /* bg-BG */, + 7B899349F7EF770D8F19509D /* ca-ES */, + A360D5AE016620B560FB8A77 /* cs-CZ */, + A1A02A2319937F5033495984 /* da */, + 848196B6CCE964A735BFCD46 /* de */, + B2161853A89C273B745B8A60 /* el-GR */, + 02DA3E661669718BD61C702D /* en */, + BA366F6105D04C9136240341 /* en-GB */, + 18C5B42A6D5AF223F0CFB23F /* es */, + D59C1B7B69C92DFC9A25DAB2 /* es-419 */, + C85C015B47A8EBF87E5F662E /* et-EE */, + AE4AB8A1DB70CDE06D9887CF /* fi */, + 94FB3B96E7884F5B5C1C3EA8 /* fil */, + 71DCDDEE36E2CD98E4A03752 /* fr */, + 4F37C42EA28BA31EC5CCDC7C /* fr-CA */, + B081CD063903B2FDBE327A15 /* hr */, + 0ED24D748AEB8B1E0BA1FBAD /* hu */, + 3A99D0F01D29E302C52217FE /* id */, + 74EDF4CC65F409F55E14EB25 /* it */, + 53900894BD0E2FF59029D2B6 /* ja */, + 11C37DE7B064DC9E3F7E55CD /* ko */, + AB2C786B198F91AE124C790A /* lt-LT */, + 00455FBF8F3D7C9B0E65DA54 /* lv-LV */, + 8278020A829AE8C5CB8B6A9C /* ms-MY */, + E0C8DFA9A617506071C59815 /* mt */, + 34EC2F4C025AD1B1DD44CF78 /* nb */, + 1A50D68D24D1DE0459ED9529 /* nl */, + B84B32F86F684EA5233DDED5 /* nn-NO */, + B871CED2EB8A1F7EEC0FE087 /* pl-PL */, + 72EB2DE23B3740D8DA3081E5 /* pt-BR */, + B9CAB799E5645867F2400F0F /* pt-PT */, + 699ED5466892D95ADC151B64 /* ro-RO */, + BD52DCDA490D452AAA4B5E44 /* ru */, + 011872F74559CB0D0D61170C /* sk-SK */, + 2BAA056C8170A4B0E8C763AD /* sl-SI */, + EB942257C8B6B357AD0F6FC9 /* sv */, + A032BB17A6FA85EE4E3D00AE /* tr */, + 2D9B5640C88DD94D17666E0E /* vi */, + 81A4AE07CB9049B6D8C8D7D2 /* zh-Hans */, + 9559041BED6315C71F796A5F /* zh-Hant */, + 70B4BE2ACC46DF88949121CD /* zh-HK */, ); name = Localizable.strings; sourceTree = ""; @@ -996,145 +1046,98 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - E6AFFAA826E93FB50067462F /* Debug */ = { + 0E538ACBF1E137ADF66DB8F8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6AFFAB926E94AC20067462F /* Project-Debug.xcconfig */; + baseConfigurationReference = 4CBAE2B07C5575F19470464D /* StripeiOS-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + INFOPLIST_FILE = StripeUICore/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-ui-core"; + PRODUCT_NAME = StripeUICore; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - E6AFFAA926E93FB50067462F /* Release */ = { + 4C7CEEDE1477774F09EA2E3F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6AFFAB326E94AC20067462F /* Project-Release.xcconfig */; + baseConfigurationReference = 67C454346BE566F9F689543B /* Project-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; }; - name = Release; + name = Debug; }; - E6AFFAAB26E93FB50067462F /* Debug */ = { + 6600E0743D5AD7028F6ABC2C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6AFFAB226E94AC20067462F /* StripeiOS-Debug.xcconfig */; + baseConfigurationReference = E395C593AC970A8C79A8109C /* StripeiOS-Debug.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = StripeUICore/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-ui-core"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeUICore; + SDKROOT = iphoneos; }; name = Debug; }; - E6AFFAAC26E93FB50067462F /* Release */ = { + 8D85CFA6FA82B62D41B6313A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6AFFABA26E94AC20067462F /* StripeiOS-Release.xcconfig */; + baseConfigurationReference = D1FB364DF60C1DEE0DA8EE75 /* Project-Release.xcconfig */; buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = StripeUICore/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.stripe.stripe-ui-core"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SWIFT_VERSION = 5.0; }; name = Release; }; - E6AFFAAE26E93FB50067462F /* Debug */ = { + 918E06A524F977D2E40E149B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6AFFAB126E94AC20067462F /* StripeiOS Tests-Debug.xcconfig */; + baseConfigurationReference = E242FECC90FE2644CF99692D /* StripeiOS Tests-Release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeUICoreTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeUICoreTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeUICoreTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeUICoreTests; + SDKROOT = iphoneos; }; - name = Debug; + name = Release; }; - E6AFFAAF26E93FB50067462F /* Release */ = { + FDF219D174EA73AC86665131 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6AFFAB426E94AC20067462F /* StripeiOS Tests-Release.xcconfig */; + baseConfigurationReference = 9E3254388F5DAB8E8C76AE04 /* StripeiOS Tests-Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = Y28TH9SHX7; - INFOPLIST_FILE = StripeUICoreTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( + FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", + "$(PLATFORM_DIR)/Developer/Library/Frameworks", ); + INFOPLIST_FILE = StripeUICoreTests/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.stripe.StripeUICoreTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; + PRODUCT_NAME = StripeUICoreTests; + SDKROOT = iphoneos; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - E6AFFA9026E93FB50067462F /* Build configuration list for PBXProject "StripeUICore" */ = { + 0F1ADFB3411970E0071C1BC7 /* Build configuration list for PBXNativeTarget "StripeUICore" */ = { isa = XCConfigurationList; buildConfigurations = ( - E6AFFAA826E93FB50067462F /* Debug */, - E6AFFAA926E93FB50067462F /* Release */, + 6600E0743D5AD7028F6ABC2C /* Debug */, + 0E538ACBF1E137ADF66DB8F8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E6AFFAAA26E93FB50067462F /* Build configuration list for PBXNativeTarget "StripeUICore" */ = { + 2331F8341192F01F80C0469D /* Build configuration list for PBXProject "StripeUICore" */ = { isa = XCConfigurationList; buildConfigurations = ( - E6AFFAAB26E93FB50067462F /* Debug */, - E6AFFAAC26E93FB50067462F /* Release */, + 4C7CEEDE1477774F09EA2E3F /* Debug */, + 8D85CFA6FA82B62D41B6313A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E6AFFAAD26E93FB50067462F /* Build configuration list for PBXNativeTarget "StripeUICoreTests" */ = { + FBFE0F03077B5B14BAA451B5 /* Build configuration list for PBXNativeTarget "StripeUICoreTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - E6AFFAAE26E93FB50067462F /* Debug */, - E6AFFAAF26E93FB50067462F /* Release */, + FDF219D174EA73AC86665131 /* Debug */, + 918E06A524F977D2E40E149B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1142,7 +1145,7 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - E25440E128F9C86A00C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { + 538E8F52DECFD138BE60A67D /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/uber/ios-snapshot-test-case"; requirement = { @@ -1153,12 +1156,11 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - E25440E428F9C87500C6F5D3 /* iOSSnapshotTestCase */ = { + 9B701A244243959A191FF16F /* iOSSnapshotTestCase */ = { isa = XCSwiftPackageProductDependency; - package = E25440E128F9C86A00C6F5D3 /* XCRemoteSwiftPackageReference "ios-snapshot-test-case" */; productName = iOSSnapshotTestCase; }; /* End XCSwiftPackageProductDependency section */ }; - rootObject = E6AFFA8D26E93FB50067462F /* Project object */; + rootObject = A39BBBD15F0F6B54725E52AF /* Project object */; } diff --git a/StripeUICore/StripeUICore.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/StripeUICore/StripeUICore.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/StripeUICore/StripeUICore.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/StripeUICore/StripeUICore.xcodeproj/xcshareddata/xcschemes/StripeUICore.xcscheme b/StripeUICore/StripeUICore.xcodeproj/xcshareddata/xcschemes/StripeUICore.xcscheme index c45ba642e2a..44095b6c747 100644 --- a/StripeUICore/StripeUICore.xcodeproj/xcshareddata/xcschemes/StripeUICore.xcscheme +++ b/StripeUICore/StripeUICore.xcodeproj/xcshareddata/xcschemes/StripeUICore.xcscheme @@ -1,6 +1,6 @@ @@ -30,31 +30,33 @@ - - - - + + + + + + + + + + diff --git a/Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Debug.xcconfig b/Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Debug.xcconfig new file mode 100644 index 00000000000..5b77fcb1319 --- /dev/null +++ b/Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// IntegrationTester-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "IntegrationTester-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Release.xcconfig b/Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Release.xcconfig new file mode 100644 index 00000000000..7dd6f4deec6 --- /dev/null +++ b/Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Release.xcconfig @@ -0,0 +1,12 @@ +// +// IntegrationTester-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "IntegrationTester-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Shared.xcconfig b/Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Shared.xcconfig new file mode 100644 index 00000000000..92ff492100d --- /dev/null +++ b/Testers/IntegrationTester/BuildConfigurations/IntegrationTester-Shared.xcconfig @@ -0,0 +1,16 @@ +// +// IntegrationTester-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor +CODE_SIGN_STYLE = Automatic +DEVELOPMENT_ASSET_PATHS = "IntegrationTester/Resources/Preview Content" +ENABLE_PREVIEWS = YES +SUPPORTS_MACCATALYST = YES +TARGETED_DEVICE_FAMILY = 1,2,6 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Debug.xcconfig b/Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Debug.xcconfig new file mode 100644 index 00000000000..4c094dc5010 --- /dev/null +++ b/Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// IntegrationTesterUITests-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "IntegrationTesterUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Release.xcconfig b/Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Release.xcconfig new file mode 100644 index 00000000000..222cc12cbd2 --- /dev/null +++ b/Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Release.xcconfig @@ -0,0 +1,12 @@ +// +// IntegrationTesterUITests-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "IntegrationTesterUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Shared.xcconfig b/Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Shared.xcconfig new file mode 100644 index 00000000000..893994620fb --- /dev/null +++ b/Testers/IntegrationTester/BuildConfigurations/IntegrationTesterUITests-Shared.xcconfig @@ -0,0 +1,13 @@ +// +// IntegrationTesterUITests-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CODE_SIGN_STYLE = Automatic +TARGETED_DEVICE_FAMILY = 1,2 +TEST_TARGET_NAME = IntegrationTester +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Testers/IntegrationTester/BuildConfigurations/Project-Debug.xcconfig b/Testers/IntegrationTester/BuildConfigurations/Project-Debug.xcconfig new file mode 100644 index 00000000000..1da77eaa1a1 --- /dev/null +++ b/Testers/IntegrationTester/BuildConfigurations/Project-Debug.xcconfig @@ -0,0 +1,18 @@ +// +// Project-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "Project-Shared.xcconfig" + +DEBUG_INFORMATION_FORMAT = dwarf +ENABLE_TESTABILITY = YES +GCC_DYNAMIC_NO_PIC = NO +GCC_OPTIMIZATION_LEVEL = 0 +GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 $(inherited) +MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE +ONLY_ACTIVE_ARCH = YES +SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG +SWIFT_OPTIMIZATION_LEVEL = -Onone \ No newline at end of file diff --git a/Testers/IntegrationTester/BuildConfigurations/Project-Release.xcconfig b/Testers/IntegrationTester/BuildConfigurations/Project-Release.xcconfig new file mode 100644 index 00000000000..ae06663d24e --- /dev/null +++ b/Testers/IntegrationTester/BuildConfigurations/Project-Release.xcconfig @@ -0,0 +1,15 @@ +// +// Project-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "Project-Shared.xcconfig" + +DEBUG_INFORMATION_FORMAT = dwarf-with-dsym +ENABLE_NS_ASSERTIONS = NO +MTL_ENABLE_DEBUG_INFO = NO +SWIFT_COMPILATION_MODE = wholemodule +SWIFT_OPTIMIZATION_LEVEL = -O +VALIDATE_PRODUCT = YES \ No newline at end of file diff --git a/Testers/IntegrationTester/BuildConfigurations/Project-Shared.xcconfig b/Testers/IntegrationTester/BuildConfigurations/Project-Shared.xcconfig new file mode 100644 index 00000000000..724fa51cf5b --- /dev/null +++ b/Testers/IntegrationTester/BuildConfigurations/Project-Shared.xcconfig @@ -0,0 +1,21 @@ +// +// Project-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "../../../BuildConfigurations/Project-Shared.xcconfig" + +CLANG_CXX_LANGUAGE_STANDARD = gnu++14 +CLANG_CXX_LIBRARY = libc++ +CLANG_ENABLE_MODULES = YES +CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR +CLANG_WARN_DOCUMENTATION_COMMENTS = YES +CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +COPY_PHASE_STRIP = NO +GCC_C_LANGUAGE_STANDARD = gnu11 +GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR +GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE +IPHONEOS_DEPLOYMENT_TARGET = 14.0 \ No newline at end of file diff --git a/IntegrationTester/IntegrationTester/IntegrationMethods.swift b/Testers/IntegrationTester/Common/IntegrationMethods.swift similarity index 95% rename from IntegrationTester/IntegrationTester/IntegrationMethods.swift rename to Testers/IntegrationTester/Common/IntegrationMethods.swift index 8f8cf090823..a91a7a6ccc0 100644 --- a/IntegrationTester/IntegrationTester/IntegrationMethods.swift +++ b/Testers/IntegrationTester/Common/IntegrationMethods.swift @@ -8,7 +8,7 @@ import Foundation import Stripe -enum IntegrationMethod : String, CaseIterable { +public enum IntegrationMethod : String, CaseIterable { case card = "Card" case cardSetupIntents = "Card (SetupIntents)" case applePay = "Apple Pay" @@ -31,7 +31,7 @@ enum IntegrationMethod : String, CaseIterable { // MARK: IntegrationMethod PaymentMethod/Sources Params extension IntegrationMethod { - var defaultPaymentMethodParams: STPPaymentMethodParams { + public var defaultPaymentMethodParams: STPPaymentMethodParams { get { switch self { case .fpx: @@ -103,7 +103,7 @@ extension IntegrationMethod { } } - var defaultPaymentMethodOptions: STPConfirmPaymentMethodOptions? { + public var defaultPaymentMethodOptions: STPConfirmPaymentMethodOptions? { get { switch self { case .weChatPay: @@ -116,7 +116,7 @@ extension IntegrationMethod { } } - static var defaultBillingDetails: STPPaymentMethodBillingDetails { + public static var defaultBillingDetails: STPPaymentMethodBillingDetails { get { let billingDetails = STPPaymentMethodBillingDetails() billingDetails.name = "Test Test" diff --git a/Testers/IntegrationTester/IntegrationTester.xcodeproj/project.pbxproj b/Testers/IntegrationTester/IntegrationTester.xcodeproj/project.pbxproj new file mode 100644 index 00000000000..c6a272e9a3d --- /dev/null +++ b/Testers/IntegrationTester/IntegrationTester.xcodeproj/project.pbxproj @@ -0,0 +1,663 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 52; + objects = { + +/* Begin PBXBuildFile section */ + 01333FBF3A01A5BE4C8B2619 /* CardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 813249BFF59CA231C04D1F85 /* CardView.swift */; }; + 0763F3AA70511B0C9D39E933 /* IntegrationMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = F44FEE95D49282D7EED78252 /* IntegrationMethods.swift */; }; + 09806061EE4624DBA90113D5 /* ApplePayModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA9771F3CDF6A69DA0D1FE9 /* ApplePayModel.swift */; }; + 0F6789DB19A22C8C533D4A69 /* PaymentMethodWithContactInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E84A059F7377505F1CB1B8 /* PaymentMethodWithContactInfoView.swift */; }; + 29FAA0EDEDCD016F2B2AD033 /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 2804FA667057F2DFC3C8FBCE /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 2AC5D8691402DE7624A0DD55 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C59F79598662D370E750284E /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 3686EEE34F0EE2DB1B3D58EE /* PaymentMethodView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7EAA13BD7EC7EE3B6ED5D64 /* PaymentMethodView.swift */; }; + 37DDD298F9E287AF5487ED94 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4F9408057059EDB7B221E2B7 /* Assets.xcassets */; }; + 382506F13BB975E9B86641BD /* BackendModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DBEDD99632BE5929ECA574B /* BackendModel.swift */; }; + 3E2DE871CC48D34F03B7F4CA /* PaymentMethodWithShippingInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA26E77255E4C91995BA7F43 /* PaymentMethodWithShippingInfoView.swift */; }; + 3FF8A6459E435E681BA724A9 /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 2804FA667057F2DFC3C8FBCE /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 4491C263B412538D7CADD6D9 /* IntegrationTesterApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E1991FA1FEFACCD7E6DACA /* IntegrationTesterApp.swift */; }; + 52FE582EBB9627E79D5A945B /* MainMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2B11A39F767CCC5EA47E458 /* MainMenu.swift */; }; + 547AB273BEF18D5CD369ED04 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9B6D71CE0D7D2D44BC809B50 /* Preview Assets.xcassets */; }; + 61DB7CADBEC4D02E824EBCCB /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 071CB368DEE3801C0ECF1755 /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 6453D2766DC5C04D49617E98 /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CA7414BE30CD6E4778C3982F /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 666B3478C24A96635D50189B /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CA7414BE30CD6E4778C3982F /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 6B69932E6CC7BE9D71AF54C1 /* FPXView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D59BC76C0F4E0B96796F412 /* FPXView.swift */; }; + 738352333BC65C77F28CCD6E /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA7414BE30CD6E4778C3982F /* Stripe.framework */; }; + 7D6A6F51B50CB5043BEE3454 /* CardSetupIntentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F38BCBD16314976A7ABFB7D /* CardSetupIntentsView.swift */; }; + 867577501F923D56CA61E0B7 /* PaymentButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD40F16C3CE95FEA4DC72EE1 /* PaymentButton.swift */; }; + 869A2C7F10ADE40F95B17438 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C59F79598662D370E750284E /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 925B06A1984163D9A1DE2A1E /* IntegrationTesterUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1093AE24530AED2074A1348F /* IntegrationTesterUITests.swift */; }; + 93EDF669D73EEE8BE1D19BD8 /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F2A66CF44DC5D33737B41F3E /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 95446980CC9378D1AF97F75A /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 071CB368DEE3801C0ECF1755 /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 99D625CD48278DC880F4CFC9 /* PaymentsModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D44356934CDF4E4A102B02C /* PaymentsModels.swift */; }; + 9B54F7B2975A2F582D9FB580 /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C59F79598662D370E750284E /* StripePayments.framework */; }; + 9EFF3E9A5018257A50CC2250 /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B74C265E4ED315E3CD020D5C /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + A2143FD57B9B306F4CDB64BA /* libIntegrationTesterCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 360CFC07920278AAEEDBA6E7 /* libIntegrationTesterCommon.a */; }; + A765C2459C9C027149130C8D /* SEPADebitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1C01A0A2FADAD9F3FC56E6D /* SEPADebitView.swift */; }; + AA043778C4130B7DEB9D261B /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA7414BE30CD6E4778C3982F /* Stripe.framework */; }; + B78A5E6369BC8FEE015403BB /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 071CB368DEE3801C0ECF1755 /* StripeApplePay.framework */; }; + BA03318D729067F23C3F1F64 /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 59F09608F8426DF923CDBAAF /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + BA39915C0C3B77AD1A8EEB2A /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59F09608F8426DF923CDBAAF /* Stripe3DS2.framework */; }; + BC8E1413DFD1087C296B141C /* ApplePayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1347905A8393A79FA3163315 /* ApplePayView.swift */; }; + BD365F1BB8C343E9E6AF1607 /* libIntegrationTesterCommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 360CFC07920278AAEEDBA6E7 /* libIntegrationTesterCommon.a */; }; + CDF598B325038871E7F0DF79 /* HelperViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 930A9EBA74E833322F991EED /* HelperViews.swift */; }; + D0C80B5571A4C51F99FC771D /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B74C265E4ED315E3CD020D5C /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + DBC48D525D165E984F6FCDEC /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F2A66CF44DC5D33737B41F3E /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + DD39036DED8DE23CFEC8D798 /* AUBECSDebitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C0EA0D81FD54F70BEAE289 /* AUBECSDebitView.swift */; }; + E59ADCCADF986270288678DE /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B74C265E4ED315E3CD020D5C /* StripePaymentsUI.framework */; }; + E5B991BCFD80E0F27D41BF43 /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2804FA667057F2DFC3C8FBCE /* StripeUICore.framework */; }; + F6E1B67917A13FAEC6EA9B03 /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 59F09608F8426DF923CDBAAF /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + FC8479C77E3D33EF37A60381 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F2A66CF44DC5D33737B41F3E /* StripeCore.framework */; }; + FFD971A3A4A1386DAA94B53B /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA7414BE30CD6E4778C3982F /* Stripe.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 14A7DC09D69975D054520D7D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 41B2B9B58E3B133BDCB9F0B9 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 678DE9AA3D1439D2300F2B9F; + remoteInfo = Common; + }; + D4BF7280CDDF0215D3F223FD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 41B2B9B58E3B133BDCB9F0B9 /* Project object */; + proxyType = 1; + remoteGlobalIDString = A6E2C9F5A9A2B7892FF1BB17; + remoteInfo = IntegrationTester; + }; + DDDE549EB1B5CBA16586250F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 41B2B9B58E3B133BDCB9F0B9 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 678DE9AA3D1439D2300F2B9F; + remoteInfo = Common; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 0725880871001F0477334F48 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 439157AAB26A2919F2B5207E /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + BA03318D729067F23C3F1F64 /* Stripe3DS2.framework in Embed Frameworks */, + 95446980CC9378D1AF97F75A /* StripeApplePay.framework in Embed Frameworks */, + 93EDF669D73EEE8BE1D19BD8 /* StripeCore.framework in Embed Frameworks */, + 869A2C7F10ADE40F95B17438 /* StripePayments.framework in Embed Frameworks */, + D0C80B5571A4C51F99FC771D /* StripePaymentsUI.framework in Embed Frameworks */, + 3FF8A6459E435E681BA724A9 /* StripeUICore.framework in Embed Frameworks */, + 6453D2766DC5C04D49617E98 /* Stripe.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + C9F9044596290B2395270B28 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + F6E1B67917A13FAEC6EA9B03 /* Stripe3DS2.framework in Embed Frameworks */, + 61DB7CADBEC4D02E824EBCCB /* StripeApplePay.framework in Embed Frameworks */, + DBC48D525D165E984F6FCDEC /* StripeCore.framework in Embed Frameworks */, + 2AC5D8691402DE7624A0DD55 /* StripePayments.framework in Embed Frameworks */, + 9EFF3E9A5018257A50CC2250 /* StripePaymentsUI.framework in Embed Frameworks */, + 29FAA0EDEDCD016F2B2AD033 /* StripeUICore.framework in Embed Frameworks */, + 666B3478C24A96635D50189B /* Stripe.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 071CB368DEE3801C0ECF1755 /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1093AE24530AED2074A1348F /* IntegrationTesterUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntegrationTesterUITests.swift; sourceTree = ""; }; + 1347905A8393A79FA3163315 /* ApplePayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplePayView.swift; sourceTree = ""; }; + 1695EC332F0B1FCB70869B6F /* IntegrationTester.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = IntegrationTester.entitlements; sourceTree = ""; }; + 182DCFF8717997E27CF99A8D /* IntegrationTesterUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IntegrationTesterUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 2324F82EFFBE27D202549019 /* IntegrationTesterUITests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "IntegrationTesterUITests-Release.xcconfig"; sourceTree = ""; }; + 2804FA667057F2DFC3C8FBCE /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 301886087DE5719D8F3D3CF1 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 360CFC07920278AAEEDBA6E7 /* libIntegrationTesterCommon.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libIntegrationTesterCommon.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 4F9408057059EDB7B221E2B7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 56DEA9E4BED67D35CD2FA1B9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 59F09608F8426DF923CDBAAF /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5C5DC0E1E38C522B304FEB27 /* IntegrationTester-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "IntegrationTester-Debug.xcconfig"; sourceTree = ""; }; + 5D44356934CDF4E4A102B02C /* PaymentsModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentsModels.swift; sourceTree = ""; }; + 5F38BCBD16314976A7ABFB7D /* CardSetupIntentsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardSetupIntentsView.swift; sourceTree = ""; }; + 6FA9771F3CDF6A69DA0D1FE9 /* ApplePayModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplePayModel.swift; sourceTree = ""; }; + 7DBEDD99632BE5929ECA574B /* BackendModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackendModel.swift; sourceTree = ""; }; + 813249BFF59CA231C04D1F85 /* CardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardView.swift; sourceTree = ""; }; + 83C0EA0D81FD54F70BEAE289 /* AUBECSDebitView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AUBECSDebitView.swift; sourceTree = ""; }; + 8894137E9BCC7581122C266D /* IntegrationTester-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "IntegrationTester-Release.xcconfig"; sourceTree = ""; }; + 8D59BC76C0F4E0B96796F412 /* FPXView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPXView.swift; sourceTree = ""; }; + 930A9EBA74E833322F991EED /* HelperViews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelperViews.swift; sourceTree = ""; }; + 9B6D71CE0D7D2D44BC809B50 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + AA26E77255E4C91995BA7F43 /* PaymentMethodWithShippingInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodWithShippingInfoView.swift; sourceTree = ""; }; + B74C265E4ED315E3CD020D5C /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C1C01A0A2FADAD9F3FC56E6D /* SEPADebitView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SEPADebitView.swift; sourceTree = ""; }; + C2B11A39F767CCC5EA47E458 /* MainMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenu.swift; sourceTree = ""; }; + C3025BEBDF23D03A2B9DAA6F /* IntegrationTesterUITests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "IntegrationTesterUITests-Debug.xcconfig"; sourceTree = ""; }; + C3E1991FA1FEFACCD7E6DACA /* IntegrationTesterApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntegrationTesterApp.swift; sourceTree = ""; }; + C3E84A059F7377505F1CB1B8 /* PaymentMethodWithContactInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodWithContactInfoView.swift; sourceTree = ""; }; + C59F79598662D370E750284E /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CA7414BE30CD6E4778C3982F /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E6AAC1C0B685BBE74010651F /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + ED3F8E45FE6EF9639CC65B19 /* IntegrationTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IntegrationTester.app; sourceTree = BUILT_PRODUCTS_DIR; }; + F02984906B63BC59A0033A9C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + F2A66CF44DC5D33737B41F3E /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F44FEE95D49282D7EED78252 /* IntegrationMethods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntegrationMethods.swift; sourceTree = ""; }; + F7EAA13BD7EC7EE3B6ED5D64 /* PaymentMethodView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentMethodView.swift; sourceTree = ""; }; + FD40F16C3CE95FEA4DC72EE1 /* PaymentButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentButton.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 2E38F222108C4B7451F9E1EB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + BD365F1BB8C343E9E6AF1607 /* libIntegrationTesterCommon.a in Frameworks */, + FFD971A3A4A1386DAA94B53B /* Stripe.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CEB37124EA8812997BCC4479 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AA043778C4130B7DEB9D261B /* Stripe.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EB653C7025FE2F115155A2D3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A2143FD57B9B306F4CDB64BA /* libIntegrationTesterCommon.a in Frameworks */, + BA39915C0C3B77AD1A8EEB2A /* Stripe3DS2.framework in Frameworks */, + B78A5E6369BC8FEE015403BB /* StripeApplePay.framework in Frameworks */, + FC8479C77E3D33EF37A60381 /* StripeCore.framework in Frameworks */, + 9B54F7B2975A2F582D9FB580 /* StripePayments.framework in Frameworks */, + E59ADCCADF986270288678DE /* StripePaymentsUI.framework in Frameworks */, + E5B991BCFD80E0F27D41BF43 /* StripeUICore.framework in Frameworks */, + 738352333BC65C77F28CCD6E /* Stripe.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 289395EA52A7FA4D77013143 /* IntegrationTesterUITests */ = { + isa = PBXGroup; + children = ( + 56DEA9E4BED67D35CD2FA1B9 /* Info.plist */, + 1093AE24530AED2074A1348F /* IntegrationTesterUITests.swift */, + ); + path = IntegrationTesterUITests; + sourceTree = ""; + }; + 293212E369E384886B5BCA3B /* HelperViews */ = { + isa = PBXGroup; + children = ( + 930A9EBA74E833322F991EED /* HelperViews.swift */, + FD40F16C3CE95FEA4DC72EE1 /* PaymentButton.swift */, + ); + path = HelperViews; + sourceTree = ""; + }; + 38000DC6845DE42D4ECD23B0 /* Models */ = { + isa = PBXGroup; + children = ( + 6FA9771F3CDF6A69DA0D1FE9 /* ApplePayModel.swift */, + 7DBEDD99632BE5929ECA574B /* BackendModel.swift */, + 5D44356934CDF4E4A102B02C /* PaymentsModels.swift */, + ); + path = Models; + sourceTree = ""; + }; + 45CAD8BF21F7A74C359609B2 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + 5223DFFE415B9519CDF4C418 /* Views */ = { + isa = PBXGroup; + children = ( + 1347905A8393A79FA3163315 /* ApplePayView.swift */, + 83C0EA0D81FD54F70BEAE289 /* AUBECSDebitView.swift */, + 5F38BCBD16314976A7ABFB7D /* CardSetupIntentsView.swift */, + 813249BFF59CA231C04D1F85 /* CardView.swift */, + 8D59BC76C0F4E0B96796F412 /* FPXView.swift */, + F7EAA13BD7EC7EE3B6ED5D64 /* PaymentMethodView.swift */, + C3E84A059F7377505F1CB1B8 /* PaymentMethodWithContactInfoView.swift */, + AA26E77255E4C91995BA7F43 /* PaymentMethodWithShippingInfoView.swift */, + C1C01A0A2FADAD9F3FC56E6D /* SEPADebitView.swift */, + ); + path = Views; + sourceTree = ""; + }; + 54C7EBC4A1995EB5EF89CF1C /* Resources */ = { + isa = PBXGroup; + children = ( + 93347BA30BC16C880280E754 /* Preview Content */, + 4F9408057059EDB7B221E2B7 /* Assets.xcassets */, + ); + path = Resources; + sourceTree = ""; + }; + 62E25771CBB40F9DE7355718 = { + isa = PBXGroup; + children = ( + D9868DB1902B309E392F0424 /* Project */, + 45CAD8BF21F7A74C359609B2 /* Frameworks */, + 6614F1DA7647EB3A37737211 /* Products */, + ); + sourceTree = ""; + }; + 6614F1DA7647EB3A37737211 /* Products */ = { + isa = PBXGroup; + children = ( + ED3F8E45FE6EF9639CC65B19 /* IntegrationTester.app */, + 182DCFF8717997E27CF99A8D /* IntegrationTesterUITests.xctest */, + 360CFC07920278AAEEDBA6E7 /* libIntegrationTesterCommon.a */, + CA7414BE30CD6E4778C3982F /* Stripe.framework */, + 59F09608F8426DF923CDBAAF /* Stripe3DS2.framework */, + 071CB368DEE3801C0ECF1755 /* StripeApplePay.framework */, + F2A66CF44DC5D33737B41F3E /* StripeCore.framework */, + C59F79598662D370E750284E /* StripePayments.framework */, + B74C265E4ED315E3CD020D5C /* StripePaymentsUI.framework */, + 2804FA667057F2DFC3C8FBCE /* StripeUICore.framework */, + ); + name = Products; + sourceTree = ""; + }; + 81D603F43394B54AE2B5EA2C /* Common */ = { + isa = PBXGroup; + children = ( + F44FEE95D49282D7EED78252 /* IntegrationMethods.swift */, + ); + path = Common; + sourceTree = ""; + }; + 93347BA30BC16C880280E754 /* Preview Content */ = { + isa = PBXGroup; + children = ( + 9B6D71CE0D7D2D44BC809B50 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + B304CFFD06423C85D8CCB521 /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + 5C5DC0E1E38C522B304FEB27 /* IntegrationTester-Debug.xcconfig */, + 8894137E9BCC7581122C266D /* IntegrationTester-Release.xcconfig */, + C3025BEBDF23D03A2B9DAA6F /* IntegrationTesterUITests-Debug.xcconfig */, + 2324F82EFFBE27D202549019 /* IntegrationTesterUITests-Release.xcconfig */, + 301886087DE5719D8F3D3CF1 /* Project-Debug.xcconfig */, + E6AAC1C0B685BBE74010651F /* Project-Release.xcconfig */, + ); + path = BuildConfigurations; + sourceTree = ""; + }; + C2412B0DDF8780409DD3A85A /* Source */ = { + isa = PBXGroup; + children = ( + 293212E369E384886B5BCA3B /* HelperViews */, + 38000DC6845DE42D4ECD23B0 /* Models */, + 5223DFFE415B9519CDF4C418 /* Views */, + C3E1991FA1FEFACCD7E6DACA /* IntegrationTesterApp.swift */, + C2B11A39F767CCC5EA47E458 /* MainMenu.swift */, + ); + path = Source; + sourceTree = ""; + }; + D9868DB1902B309E392F0424 /* Project */ = { + isa = PBXGroup; + children = ( + B304CFFD06423C85D8CCB521 /* BuildConfigurations */, + 81D603F43394B54AE2B5EA2C /* Common */, + EF53BF2D5DDCC96E934ECCBE /* IntegrationTester */, + 289395EA52A7FA4D77013143 /* IntegrationTesterUITests */, + ); + name = Project; + sourceTree = ""; + }; + EF53BF2D5DDCC96E934ECCBE /* IntegrationTester */ = { + isa = PBXGroup; + children = ( + 54C7EBC4A1995EB5EF89CF1C /* Resources */, + C2412B0DDF8780409DD3A85A /* Source */, + F02984906B63BC59A0033A9C /* Info.plist */, + 1695EC332F0B1FCB70869B6F /* IntegrationTester.entitlements */, + ); + path = IntegrationTester; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 2545A867715D3A5AC62E65D7 /* IntegrationTesterUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 0476BE4C91C9E9DD46AE8BB2 /* Build configuration list for PBXNativeTarget "IntegrationTesterUITests" */; + buildPhases = ( + 9FABB8F73306B1C72EF61CDD /* Sources */, + 6062DDBE77D4039AFC3C862C /* Resources */, + 439157AAB26A2919F2B5207E /* Embed Frameworks */, + 2E38F222108C4B7451F9E1EB /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 740E8BF68C60A4EC60992DFF /* PBXTargetDependency */, + 27E62E333976A67E8441E94B /* PBXTargetDependency */, + ); + name = IntegrationTesterUITests; + productName = IntegrationTesterUITests; + productReference = 182DCFF8717997E27CF99A8D /* IntegrationTesterUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; + 678DE9AA3D1439D2300F2B9F /* Common */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1A04D90E5464E699770B6FE1 /* Build configuration list for PBXNativeTarget "Common" */; + buildPhases = ( + EE69C8C66EA496786869ADAF /* Sources */, + 96BF1A12370E8C0AADA5B6FE /* Resources */, + 0725880871001F0477334F48 /* Embed Frameworks */, + CEB37124EA8812997BCC4479 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Common; + productName = IntegrationTesterCommon; + productReference = 360CFC07920278AAEEDBA6E7 /* libIntegrationTesterCommon.a */; + productType = "com.apple.product-type.library.static"; + }; + A6E2C9F5A9A2B7892FF1BB17 /* IntegrationTester */ = { + isa = PBXNativeTarget; + buildConfigurationList = E444D8B85817D8076D7BBC93 /* Build configuration list for PBXNativeTarget "IntegrationTester" */; + buildPhases = ( + C08F7E9FE44540E5328C3E9E /* Sources */, + 3380B4094B7D3EFC782E8E4D /* Resources */, + C9F9044596290B2395270B28 /* Embed Frameworks */, + EB653C7025FE2F115155A2D3 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ABA39DD48C44F4F5945FDD7B /* PBXTargetDependency */, + ); + name = IntegrationTester; + productName = IntegrationTester; + productReference = ED3F8E45FE6EF9639CC65B19 /* IntegrationTester.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 41B2B9B58E3B133BDCB9F0B9 /* Project object */ = { + isa = PBXProject; + attributes = { + TargetAttributes = { + 2545A867715D3A5AC62E65D7 = { + TestTargetID = A6E2C9F5A9A2B7892FF1BB17; + }; + }; + }; + buildConfigurationList = DAC90544EA25721CFCF4042A /* Build configuration list for PBXProject "IntegrationTester" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + Base, + en, + ); + mainGroup = 62E25771CBB40F9DE7355718; + productRefGroup = 6614F1DA7647EB3A37737211 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 678DE9AA3D1439D2300F2B9F /* Common */, + A6E2C9F5A9A2B7892FF1BB17 /* IntegrationTester */, + 2545A867715D3A5AC62E65D7 /* IntegrationTesterUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 3380B4094B7D3EFC782E8E4D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 37DDD298F9E287AF5487ED94 /* Assets.xcassets in Resources */, + 547AB273BEF18D5CD369ED04 /* Preview Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6062DDBE77D4039AFC3C862C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 96BF1A12370E8C0AADA5B6FE /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 9FABB8F73306B1C72EF61CDD /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 925B06A1984163D9A1DE2A1E /* IntegrationTesterUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C08F7E9FE44540E5328C3E9E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CDF598B325038871E7F0DF79 /* HelperViews.swift in Sources */, + 867577501F923D56CA61E0B7 /* PaymentButton.swift in Sources */, + 4491C263B412538D7CADD6D9 /* IntegrationTesterApp.swift in Sources */, + 52FE582EBB9627E79D5A945B /* MainMenu.swift in Sources */, + 09806061EE4624DBA90113D5 /* ApplePayModel.swift in Sources */, + 382506F13BB975E9B86641BD /* BackendModel.swift in Sources */, + 99D625CD48278DC880F4CFC9 /* PaymentsModels.swift in Sources */, + DD39036DED8DE23CFEC8D798 /* AUBECSDebitView.swift in Sources */, + BC8E1413DFD1087C296B141C /* ApplePayView.swift in Sources */, + 7D6A6F51B50CB5043BEE3454 /* CardSetupIntentsView.swift in Sources */, + 01333FBF3A01A5BE4C8B2619 /* CardView.swift in Sources */, + 6B69932E6CC7BE9D71AF54C1 /* FPXView.swift in Sources */, + 3686EEE34F0EE2DB1B3D58EE /* PaymentMethodView.swift in Sources */, + 0F6789DB19A22C8C533D4A69 /* PaymentMethodWithContactInfoView.swift in Sources */, + 3E2DE871CC48D34F03B7F4CA /* PaymentMethodWithShippingInfoView.swift in Sources */, + A765C2459C9C027149130C8D /* SEPADebitView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EE69C8C66EA496786869ADAF /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0763F3AA70511B0C9D39E933 /* IntegrationMethods.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 27E62E333976A67E8441E94B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = IntegrationTester; + target = A6E2C9F5A9A2B7892FF1BB17 /* IntegrationTester */; + targetProxy = D4BF7280CDDF0215D3F223FD /* PBXContainerItemProxy */; + }; + 740E8BF68C60A4EC60992DFF /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Common; + target = 678DE9AA3D1439D2300F2B9F /* Common */; + targetProxy = DDDE549EB1B5CBA16586250F /* PBXContainerItemProxy */; + }; + ABA39DD48C44F4F5945FDD7B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Common; + target = 678DE9AA3D1439D2300F2B9F /* Common */; + targetProxy = 14A7DC09D69975D054520D7D /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 043C41364F214A3F68B7B85E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E6AAC1C0B685BBE74010651F /* Project-Release.xcconfig */; + buildSettings = { + }; + name = Release; + }; + 101122EAF605EF2F4D25DEC2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8894137E9BCC7581122C266D /* IntegrationTester-Release.xcconfig */; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/IntegrationTester/IntegrationTester.entitlements"; + INFOPLIST_FILE = IntegrationTester/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTester; + PRODUCT_NAME = IntegrationTester; + SDKROOT = iphoneos; + }; + name = Release; + }; + 10A3F6C0570ACCBE8730D7DA /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2324F82EFFBE27D202549019 /* IntegrationTesterUITests-Release.xcconfig */; + buildSettings = { + INFOPLIST_FILE = IntegrationTesterUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTesterUITests; + PRODUCT_NAME = IntegrationTesterUITests; + SDKROOT = iphoneos; + TEST_TARGET_NAME = IntegrationTester; + }; + name = Release; + }; + 13B3194C6A83417C933B4240 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5C5DC0E1E38C522B304FEB27 /* IntegrationTester-Debug.xcconfig */; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/IntegrationTester/IntegrationTester.entitlements"; + INFOPLIST_FILE = IntegrationTester/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTester; + PRODUCT_NAME = IntegrationTester; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 226DFCA2AD5B35D832291734 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C3025BEBDF23D03A2B9DAA6F /* IntegrationTesterUITests-Debug.xcconfig */; + buildSettings = { + INFOPLIST_FILE = IntegrationTesterUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTesterUITests; + PRODUCT_NAME = IntegrationTesterUITests; + SDKROOT = iphoneos; + TEST_TARGET_NAME = IntegrationTester; + }; + name = Debug; + }; + B919189E2128718CD19D2E78 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5C5DC0E1E38C522B304FEB27 /* IntegrationTester-Debug.xcconfig */; + buildSettings = { + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTesterCommon; + PRODUCT_NAME = IntegrationTesterCommon; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + F73C7796D368056C94EC487A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8894137E9BCC7581122C266D /* IntegrationTester-Release.xcconfig */; + buildSettings = { + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.IntegrationTesterCommon; + PRODUCT_NAME = IntegrationTesterCommon; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + F9D8FCD25CBF668126EE3114 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 301886087DE5719D8F3D3CF1 /* Project-Debug.xcconfig */; + buildSettings = { + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 0476BE4C91C9E9DD46AE8BB2 /* Build configuration list for PBXNativeTarget "IntegrationTesterUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 226DFCA2AD5B35D832291734 /* Debug */, + 10A3F6C0570ACCBE8730D7DA /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1A04D90E5464E699770B6FE1 /* Build configuration list for PBXNativeTarget "Common" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B919189E2128718CD19D2E78 /* Debug */, + F73C7796D368056C94EC487A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DAC90544EA25721CFCF4042A /* Build configuration list for PBXProject "IntegrationTester" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F9D8FCD25CBF668126EE3114 /* Debug */, + 043C41364F214A3F68B7B85E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E444D8B85817D8076D7BBC93 /* Build configuration list for PBXNativeTarget "IntegrationTester" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B3194C6A83417C933B4240 /* Debug */, + 101122EAF605EF2F4D25DEC2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 41B2B9B58E3B133BDCB9F0B9 /* Project object */; +} diff --git a/Testers/IntegrationTester/IntegrationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Testers/IntegrationTester/IntegrationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/Testers/IntegrationTester/IntegrationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/IntegrationTester/IntegrationTester.xcodeproj/xcshareddata/xcschemes/IntegrationTester.xcscheme b/Testers/IntegrationTester/IntegrationTester.xcodeproj/xcshareddata/xcschemes/IntegrationTester.xcscheme similarity index 89% rename from IntegrationTester/IntegrationTester.xcodeproj/xcshareddata/xcschemes/IntegrationTester.xcscheme rename to Testers/IntegrationTester/IntegrationTester.xcodeproj/xcshareddata/xcschemes/IntegrationTester.xcscheme index 385f892324a..50d8089333a 100644 --- a/IntegrationTester/IntegrationTester.xcodeproj/xcshareddata/xcschemes/IntegrationTester.xcscheme +++ b/Testers/IntegrationTester/IntegrationTester.xcodeproj/xcshareddata/xcschemes/IntegrationTester.xcscheme @@ -1,6 +1,6 @@ @@ -29,11 +29,10 @@ shouldUseLaunchSchemeArgsEnv = "YES"> + skipped = "NO"> @@ -55,7 +54,7 @@ runnableDebuggingMode = "0"> @@ -72,7 +71,7 @@ runnableDebuggingMode = "0"> diff --git a/IntegrationTester/IntegrationTester/Info.plist b/Testers/IntegrationTester/IntegrationTester/Info.plist similarity index 100% rename from IntegrationTester/IntegrationTester/Info.plist rename to Testers/IntegrationTester/IntegrationTester/Info.plist diff --git a/IntegrationTester/IntegrationTester/IntegrationTester.entitlements b/Testers/IntegrationTester/IntegrationTester/IntegrationTester.entitlements similarity index 100% rename from IntegrationTester/IntegrationTester/IntegrationTester.entitlements rename to Testers/IntegrationTester/IntegrationTester/IntegrationTester.entitlements diff --git a/StripeiOSTestHostApp/Assets.xcassets/AccentColor.colorset/Contents.json b/Testers/IntegrationTester/IntegrationTester/Resources/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from StripeiOSTestHostApp/Assets.xcassets/AccentColor.colorset/Contents.json rename to Testers/IntegrationTester/IntegrationTester/Resources/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/StripeiOSTestHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/Testers/IntegrationTester/IntegrationTester/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from StripeiOSTestHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Testers/IntegrationTester/IntegrationTester/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/IntegrationTester/IntegrationTester/Preview Content/Preview Assets.xcassets/Contents.json b/Testers/IntegrationTester/IntegrationTester/Resources/Assets.xcassets/Contents.json similarity index 100% rename from IntegrationTester/IntegrationTester/Preview Content/Preview Assets.xcassets/Contents.json rename to Testers/IntegrationTester/IntegrationTester/Resources/Assets.xcassets/Contents.json diff --git a/StripeiOSTestHostApp/Assets.xcassets/Contents.json b/Testers/IntegrationTester/IntegrationTester/Resources/Preview Content/Preview Assets.xcassets/Contents.json similarity index 100% rename from StripeiOSTestHostApp/Assets.xcassets/Contents.json rename to Testers/IntegrationTester/IntegrationTester/Resources/Preview Content/Preview Assets.xcassets/Contents.json diff --git a/IntegrationTester/IntegrationTester/HelperViews/HelperViews.swift b/Testers/IntegrationTester/IntegrationTester/Source/HelperViews/HelperViews.swift similarity index 100% rename from IntegrationTester/IntegrationTester/HelperViews/HelperViews.swift rename to Testers/IntegrationTester/IntegrationTester/Source/HelperViews/HelperViews.swift diff --git a/IntegrationTester/IntegrationTester/HelperViews/PaymentButton.swift b/Testers/IntegrationTester/IntegrationTester/Source/HelperViews/PaymentButton.swift similarity index 100% rename from IntegrationTester/IntegrationTester/HelperViews/PaymentButton.swift rename to Testers/IntegrationTester/IntegrationTester/Source/HelperViews/PaymentButton.swift diff --git a/IntegrationTester/IntegrationTester/IntegrationTesterApp.swift b/Testers/IntegrationTester/IntegrationTester/Source/IntegrationTesterApp.swift similarity index 100% rename from IntegrationTester/IntegrationTester/IntegrationTesterApp.swift rename to Testers/IntegrationTester/IntegrationTester/Source/IntegrationTesterApp.swift diff --git a/IntegrationTester/IntegrationTester/MainMenu.swift b/Testers/IntegrationTester/IntegrationTester/Source/MainMenu.swift similarity index 98% rename from IntegrationTester/IntegrationTester/MainMenu.swift rename to Testers/IntegrationTester/IntegrationTester/Source/MainMenu.swift index e6d86d5d1f9..97e1fe1bcac 100644 --- a/IntegrationTester/IntegrationTester/MainMenu.swift +++ b/Testers/IntegrationTester/IntegrationTester/Source/MainMenu.swift @@ -5,6 +5,7 @@ // Created by David Estes on 2/8/21. // +import IntegrationTesterCommon import SwiftUI struct IntegrationView: View { diff --git a/IntegrationTester/IntegrationTester/Models/ApplePayModel.swift b/Testers/IntegrationTester/IntegrationTester/Source/Models/ApplePayModel.swift similarity index 100% rename from IntegrationTester/IntegrationTester/Models/ApplePayModel.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Models/ApplePayModel.swift diff --git a/IntegrationTester/IntegrationTester/Models/BackendModel.swift b/Testers/IntegrationTester/IntegrationTester/Source/Models/BackendModel.swift similarity index 99% rename from IntegrationTester/IntegrationTester/Models/BackendModel.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Models/BackendModel.swift index 5835124f039..4bb8dcf6e34 100644 --- a/IntegrationTester/IntegrationTester/Models/BackendModel.swift +++ b/Testers/IntegrationTester/IntegrationTester/Source/Models/BackendModel.swift @@ -5,6 +5,7 @@ // Created by David Estes on 2/10/21. // +import IntegrationTesterCommon import Foundation import Stripe diff --git a/IntegrationTester/IntegrationTester/Models/PaymentsModels.swift b/Testers/IntegrationTester/IntegrationTester/Source/Models/PaymentsModels.swift similarity index 98% rename from IntegrationTester/IntegrationTester/Models/PaymentsModels.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Models/PaymentsModels.swift index 2e651688928..15f3c6dd096 100644 --- a/IntegrationTester/IntegrationTester/Models/PaymentsModels.swift +++ b/Testers/IntegrationTester/IntegrationTester/Source/Models/PaymentsModels.swift @@ -5,6 +5,7 @@ // Created by David Estes on 2/18/21. // +import IntegrationTesterCommon import Foundation import Stripe diff --git a/IntegrationTester/IntegrationTester/Views/AUBECSDebitView.swift b/Testers/IntegrationTester/IntegrationTester/Source/Views/AUBECSDebitView.swift similarity index 100% rename from IntegrationTester/IntegrationTester/Views/AUBECSDebitView.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Views/AUBECSDebitView.swift diff --git a/IntegrationTester/IntegrationTester/Views/ApplePayView.swift b/Testers/IntegrationTester/IntegrationTester/Source/Views/ApplePayView.swift similarity index 100% rename from IntegrationTester/IntegrationTester/Views/ApplePayView.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Views/ApplePayView.swift diff --git a/IntegrationTester/IntegrationTester/Views/CardSetupIntentsView.swift b/Testers/IntegrationTester/IntegrationTester/Source/Views/CardSetupIntentsView.swift similarity index 100% rename from IntegrationTester/IntegrationTester/Views/CardSetupIntentsView.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Views/CardSetupIntentsView.swift diff --git a/IntegrationTester/IntegrationTester/Views/CardView.swift b/Testers/IntegrationTester/IntegrationTester/Source/Views/CardView.swift similarity index 100% rename from IntegrationTester/IntegrationTester/Views/CardView.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Views/CardView.swift diff --git a/IntegrationTester/IntegrationTester/Views/FPXView.swift b/Testers/IntegrationTester/IntegrationTester/Source/Views/FPXView.swift similarity index 100% rename from IntegrationTester/IntegrationTester/Views/FPXView.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Views/FPXView.swift diff --git a/IntegrationTester/IntegrationTester/Views/PaymentMethodView.swift b/Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodView.swift similarity index 97% rename from IntegrationTester/IntegrationTester/Views/PaymentMethodView.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodView.swift index fdee476fd13..61f584687da 100644 --- a/IntegrationTester/IntegrationTester/Views/PaymentMethodView.swift +++ b/Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodView.swift @@ -5,6 +5,7 @@ // Created by David Estes on 2/11/21. // +import IntegrationTesterCommon import SwiftUI import Stripe diff --git a/IntegrationTester/IntegrationTester/Views/PaymentMethodWithContactInfoView.swift b/Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift similarity index 98% rename from IntegrationTester/IntegrationTester/Views/PaymentMethodWithContactInfoView.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift index 594f8294bf5..dfba3a1d7dc 100644 --- a/IntegrationTester/IntegrationTester/Views/PaymentMethodWithContactInfoView.swift +++ b/Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift @@ -5,6 +5,7 @@ // Created by David Estes on 2/11/21. // +import IntegrationTesterCommon import SwiftUI import Stripe diff --git a/IntegrationTester/IntegrationTester/Views/PaymentMethodWithShippingInfoView.swift b/Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithShippingInfoView.swift similarity index 99% rename from IntegrationTester/IntegrationTester/Views/PaymentMethodWithShippingInfoView.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithShippingInfoView.swift index f62153ded00..99c87c94a41 100644 --- a/IntegrationTester/IntegrationTester/Views/PaymentMethodWithShippingInfoView.swift +++ b/Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithShippingInfoView.swift @@ -5,6 +5,7 @@ // Created by David Estes on 2/22/21. // +import IntegrationTesterCommon import SwiftUI import Stripe diff --git a/IntegrationTester/IntegrationTester/Views/SEPADebitView.swift b/Testers/IntegrationTester/IntegrationTester/Source/Views/SEPADebitView.swift similarity index 98% rename from IntegrationTester/IntegrationTester/Views/SEPADebitView.swift rename to Testers/IntegrationTester/IntegrationTester/Source/Views/SEPADebitView.swift index c9e36e007a6..300d83913f4 100644 --- a/IntegrationTester/IntegrationTester/Views/SEPADebitView.swift +++ b/Testers/IntegrationTester/IntegrationTester/Source/Views/SEPADebitView.swift @@ -5,6 +5,7 @@ // Created by David Estes on 2/11/21. // +import IntegrationTesterCommon import SwiftUI import Stripe diff --git a/Stripe3DS2/3DS2-Resources-Info.plist b/Testers/IntegrationTester/IntegrationTesterUITests/Info.plist similarity index 66% rename from Stripe3DS2/3DS2-Resources-Info.plist rename to Testers/IntegrationTester/IntegrationTesterUITests/Info.plist index 40b4e2aecd6..64d65ca4957 100644 --- a/Stripe3DS2/3DS2-Resources-Info.plist +++ b/Testers/IntegrationTester/IntegrationTesterUITests/Info.plist @@ -3,15 +3,17 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) CFBundleIdentifier - com.stripe.stripe-3ds2 + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName - Stripe3DS2 + $(PRODUCT_NAME) CFBundlePackageType - BNDL + $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString 1.0 CFBundleVersion diff --git a/IntegrationTester/IntegrationTesterUITests/IntegrationTesterUITests.swift b/Testers/IntegrationTester/IntegrationTesterUITests/IntegrationTesterUITests.swift similarity index 99% rename from IntegrationTester/IntegrationTesterUITests/IntegrationTesterUITests.swift rename to Testers/IntegrationTester/IntegrationTesterUITests/IntegrationTesterUITests.swift index ad4a2e5eac7..3c9d72c5e67 100644 --- a/IntegrationTester/IntegrationTesterUITests/IntegrationTesterUITests.swift +++ b/Testers/IntegrationTester/IntegrationTesterUITests/IntegrationTesterUITests.swift @@ -10,6 +10,7 @@ // killall "Simulator" // defaults write com.apple.iphonesimulator ConnectHardwareKeyboard -bool false +import IntegrationTesterCommon import XCTest import Stripe diff --git a/Testers/IntegrationTester/Project.swift b/Testers/IntegrationTester/Project.swift new file mode 100644 index 00000000000..086d62983fd --- /dev/null +++ b/Testers/IntegrationTester/Project.swift @@ -0,0 +1,88 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "IntegrationTester", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "Common", + platform: .iOS, + product: .staticLibrary, + productName: "IntegrationTesterCommon", + bundleId: "com.stripe.IntegrationTesterCommon", + sources: "Common/**/*.swift", + dependencies: [ + .project(target: "StripeiOS", path: "//Stripe"), + ], + settings: .stripeTargetSettings( + base: [ + "SKIP_INSTALL": true, + ], + baseXcconfigFilePath: "BuildConfigurations/IntegrationTester" + ) + ), + Target( + name: "IntegrationTester", + platform: .iOS, + product: .app, + bundleId: "com.stripe.IntegrationTester", + infoPlist: "IntegrationTester/Info.plist", + sources: "IntegrationTester/Source/**/*.swift", + resources: "IntegrationTester/Resources/**", + entitlements: "IntegrationTester/IntegrationTester.entitlements", + dependencies: [ + .target(name: "Common"), + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "StripePaymentsUI", path: "//StripePaymentsUI"), + .project(target: "StripeiOS", path: "//Stripe"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/IntegrationTester" + ) + ), + Target( + name: "IntegrationTesterUITests", + platform: .iOS, + product: .uiTests, + bundleId: "com.stripe.IntegrationTesterUITests", + infoPlist: "IntegrationTesterUITests/Info.plist", + sources: "IntegrationTesterUITests/*.swift", + dependencies: [ + .target(name: "Common"), + .target(name: "IntegrationTester"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/IntegrationTesterUITests" + ) + ), + ], + schemes: [ + Scheme( + name: "IntegrationTester", + buildAction: .buildAction(targets: ["IntegrationTester"]), + testAction: .targets(["IntegrationTesterUITests"]) + ) + ] +) diff --git a/Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Debug.xcconfig b/Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Debug.xcconfig new file mode 100644 index 00000000000..1b3eac3f080 --- /dev/null +++ b/Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// LocalizationTester-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "LocalizationTester-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Release.xcconfig b/Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Release.xcconfig new file mode 100644 index 00000000000..226b12eaaa2 --- /dev/null +++ b/Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Release.xcconfig @@ -0,0 +1,12 @@ +// +// LocalizationTester-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "LocalizationTester-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Shared.xcconfig b/Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Shared.xcconfig new file mode 100644 index 00000000000..9649c7edef9 --- /dev/null +++ b/Testers/LocalizationTester/BuildConfigurations/LocalizationTester-Shared.xcconfig @@ -0,0 +1,13 @@ +// +// LocalizationTester-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon +ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor +CODE_SIGN_STYLE = Automatic +TARGETED_DEVICE_FAMILY = 1,2 +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Debug.xcconfig b/Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Debug.xcconfig new file mode 100644 index 00000000000..f5db2df4e7a --- /dev/null +++ b/Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Debug.xcconfig @@ -0,0 +1,12 @@ +// +// LocalizationTesterUITests-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "LocalizationTesterUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Release.xcconfig b/Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Release.xcconfig new file mode 100644 index 00000000000..49394bd83f4 --- /dev/null +++ b/Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Release.xcconfig @@ -0,0 +1,12 @@ +// +// LocalizationTesterUITests-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "LocalizationTesterUITests-Shared.xcconfig" + +//********************************************// +//* Currently no build settings in this file *// +//********************************************// \ No newline at end of file diff --git a/Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Shared.xcconfig b/Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Shared.xcconfig new file mode 100644 index 00000000000..025b8d6b344 --- /dev/null +++ b/Testers/LocalizationTester/BuildConfigurations/LocalizationTesterUITests-Shared.xcconfig @@ -0,0 +1,12 @@ +// +// LocalizationTesterUITests-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +CODE_SIGN_STYLE = Automatic +TARGETED_DEVICE_FAMILY = 1,2 +TEST_TARGET_NAME = LocalizationTester +DYLIB_INSTALL_NAME_BASE = @rpath +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks diff --git a/Testers/LocalizationTester/BuildConfigurations/Project-Debug.xcconfig b/Testers/LocalizationTester/BuildConfigurations/Project-Debug.xcconfig new file mode 100644 index 00000000000..a07e1c5549a --- /dev/null +++ b/Testers/LocalizationTester/BuildConfigurations/Project-Debug.xcconfig @@ -0,0 +1,16 @@ +// +// Project-Debug.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "Project-Shared.xcconfig" + +DEBUG_INFORMATION_FORMAT = dwarf +ENABLE_TESTABILITY = YES +GCC_DYNAMIC_NO_PIC = NO +GCC_OPTIMIZATION_LEVEL = 0 +GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 $(inherited) +MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE +ONLY_ACTIVE_ARCH = YES \ No newline at end of file diff --git a/Testers/LocalizationTester/BuildConfigurations/Project-Release.xcconfig b/Testers/LocalizationTester/BuildConfigurations/Project-Release.xcconfig new file mode 100644 index 00000000000..a21dd99e415 --- /dev/null +++ b/Testers/LocalizationTester/BuildConfigurations/Project-Release.xcconfig @@ -0,0 +1,13 @@ +// +// Project-Release.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "Project-Shared.xcconfig" + +DEBUG_INFORMATION_FORMAT = dwarf-with-dsym +ENABLE_NS_ASSERTIONS = NO +MTL_ENABLE_DEBUG_INFO = NO +VALIDATE_PRODUCT = YES \ No newline at end of file diff --git a/Testers/LocalizationTester/BuildConfigurations/Project-Shared.xcconfig b/Testers/LocalizationTester/BuildConfigurations/Project-Shared.xcconfig new file mode 100644 index 00000000000..add504294d8 --- /dev/null +++ b/Testers/LocalizationTester/BuildConfigurations/Project-Shared.xcconfig @@ -0,0 +1,21 @@ +// +// Project-Shared.xcconfig +// +// Generated by BuildSettingExtractor on 12/6/22 +// https://buildsettingextractor.com +// + +#include "../../../BuildConfigurations/Project-Shared.xcconfig" + +CLANG_CXX_LANGUAGE_STANDARD = gnu++14 +CLANG_CXX_LIBRARY = libc++ +CLANG_ENABLE_MODULES = YES +CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR +CLANG_WARN_DOCUMENTATION_COMMENTS = YES +CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +COPY_PHASE_STRIP = NO +GCC_C_LANGUAGE_STANDARD = gnu11 +GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR +GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE +IPHONEOS_DEPLOYMENT_TARGET = 13.0 diff --git a/Testers/LocalizationTester/LocalizationTester.xcodeproj/project.pbxproj b/Testers/LocalizationTester/LocalizationTester.xcodeproj/project.pbxproj new file mode 100644 index 00000000000..606092b9765 --- /dev/null +++ b/Testers/LocalizationTester/LocalizationTester.xcodeproj/project.pbxproj @@ -0,0 +1,573 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 52; + objects = { + +/* Begin PBXBuildFile section */ + 0351BCDB94966718DE185830 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2F613B464881BF5AFEC245E3 /* Assets.xcassets */; }; + 1A6707B8E8D69A84024E42D9 /* StripePayments.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18AD4E2BD8F718111DE84DC7 /* StripePayments.framework */; }; + 1E8E4C6D33C1B552640600B6 /* StripePaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CDACA98C7884823F4901D65 /* StripePaymentsUI.framework */; }; + 1EFD7E1DDD68819AD4295946 /* Stripe.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E8E8DFFAC491560BEACA5DDE /* Stripe.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 35D050FC8F25E5794BD13075 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 36BFACDF2318B5119EC221B8 /* AppDelegate.m */; }; + 53B95C805D539BC137119AA1 /* StripeApplePay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9CD164D4B9F3C2E5CD192D2D /* StripeApplePay.framework */; }; + 5E31A628E8897717EA27D97F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 84F4F38FA96538F739850002 /* LaunchScreen.storyboard */; }; + 61DB2A61FC206ED17B9EF1F8 /* StripeUICore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C34518A661CCCF2058F87A56 /* StripeUICore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 64F845A1690B98F3E9EC2E81 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AECB92D9F48FE78646A69837 /* ViewController.m */; }; + 6A12B84AAA22EF52724C7608 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E8E8DFFAC491560BEACA5DDE /* Stripe.framework */; }; + 73EDC801E2F339DFB2EADA6D /* StripeUICore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C34518A661CCCF2058F87A56 /* StripeUICore.framework */; }; + 827922D8C9C0A706E50BC6FE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 50497D757C232C5CC01A340E /* main.m */; }; + 8F6B2E750036A0E47A356568 /* StripePaymentsUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4CDACA98C7884823F4901D65 /* StripePaymentsUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 93E9E9B418B6EBE8C6458264 /* MockCustomerContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F5D9FACEEB74DAAA2648B57 /* MockCustomerContext.m */; }; + AD8E12E3E6CADF1949DB398E /* StripeCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = BCE5BB74850385817180859C /* StripeCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B2A5953DFD3DBCDBD5F97324 /* Stripe3DS2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0839B887F692B885307152A5 /* Stripe3DS2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B5B5775CDE64952F3B3AA079 /* StripeApplePay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9CD164D4B9F3C2E5CD192D2D /* StripeApplePay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B6860C675C22A40115A25138 /* Stripe3DS2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0839B887F692B885307152A5 /* Stripe3DS2.framework */; }; + C6141F2216C6712B09418659 /* StripePayments.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 18AD4E2BD8F718111DE84DC7 /* StripePayments.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D175CAB1B4877BAC85B5F793 /* StripeCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCE5BB74850385817180859C /* StripeCore.framework */; }; + F5215864A06E5C5F9BB27388 /* LocalizationTesterUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = E6CA33ACCF6F25AD28813F3B /* LocalizationTesterUITests.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 1FC2377DFA993508E6A15044 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D2702C0A8BD1C03E35BB482E /* Project object */; + proxyType = 1; + remoteGlobalIDString = EA3FC78153DF80C73FC7CC44; + remoteInfo = LocalizationTester; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 5FD2CAC7FA13F1BA965796C0 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + B2A5953DFD3DBCDBD5F97324 /* Stripe3DS2.framework in Embed Frameworks */, + B5B5775CDE64952F3B3AA079 /* StripeApplePay.framework in Embed Frameworks */, + AD8E12E3E6CADF1949DB398E /* StripeCore.framework in Embed Frameworks */, + C6141F2216C6712B09418659 /* StripePayments.framework in Embed Frameworks */, + 8F6B2E750036A0E47A356568 /* StripePaymentsUI.framework in Embed Frameworks */, + 61DB2A61FC206ED17B9EF1F8 /* StripeUICore.framework in Embed Frameworks */, + 1EFD7E1DDD68819AD4295946 /* Stripe.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 9B849C3A40A75E50F4718410 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 01875448C25439F750D8A159 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 026FD4B9EB15E114DF041585 /* sk-SK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sk-SK"; path = "sk-SK.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 0839B887F692B885307152A5 /* Stripe3DS2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe3DS2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 08E5BCEB9520A88695C7FEF0 /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 18AD4E2BD8F718111DE84DC7 /* StripePayments.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePayments.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 19941309E5116AFAD9F93700 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/LaunchScreen.strings; sourceTree = ""; }; + 1A073DFFAD74666F4E5658BB /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = "cs-CZ.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 1BE3EAF002B8F3342C90E851 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 1E54B4D29F4DAFF18BAC1AD8 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 2E2DDA58B4AA3206DB2916A2 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 2F613B464881BF5AFEC245E3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 3399A80179078933805812D4 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + 36BFACDF2318B5119EC221B8 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 376E077F93A2104D9AA25903 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = ""; }; + 39A90A2F5DA8870DFA326143 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/LaunchScreen.strings; sourceTree = ""; }; + 3DDBF92F909672C79C465100 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/LaunchScreen.strings; sourceTree = ""; }; + 3F5D9FACEEB74DAAA2648B57 /* MockCustomerContext.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MockCustomerContext.m; sourceTree = ""; }; + 4062751753BC7341B79066DF /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/LaunchScreen.strings; sourceTree = ""; }; + 4234E925A62DA7B1F0BF8F33 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/LaunchScreen.strings; sourceTree = ""; }; + 48FAC345B80F0FB5829842D1 /* MockCustomerContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockCustomerContext.h; sourceTree = ""; }; + 4CDACA98C7884823F4901D65 /* StripePaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripePaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 50497D757C232C5CC01A340E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 50C3C0711EBC3520959F44FF /* lt-LT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lt-LT"; path = "lt-LT.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 59B39D50DC289F00BA05536D /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/LaunchScreen.strings; sourceTree = ""; }; + 5B57B5840BC952DE787327BF /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 5FB28D16E6C8A9AEE81B882D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 6AC1F1DB075A132A6670CD44 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/LaunchScreen.strings; sourceTree = ""; }; + 6B60A201EED87B68A15E6C56 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/LaunchScreen.strings; sourceTree = ""; }; + 70D4395199E724CA5431F53E /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 71347400817D0A669C5A2FCD /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = ""; }; + 75B76C96F005B7187D89F609 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = ""; }; + 76EA757054712EA3462BA753 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7A9F6DBB4DA41CEDDFBA7AD4 /* Project-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Release.xcconfig"; sourceTree = ""; }; + 83AC1F85A233832BADBF0A19 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 8528785A259C4F4A4A416BDE /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 886EAFE35939C88E75B4FD67 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = "ca-ES.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 8C37802479F7D8F1D8548987 /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 8C9BB121F1BF5D055AFB56FC /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/LaunchScreen.strings; sourceTree = ""; }; + 8DCFF99ADA84E5418A80C100 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/LaunchScreen.strings; sourceTree = ""; }; + 9250CA226C920C7D434931AF /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/LaunchScreen.strings; sourceTree = ""; }; + 93A6BBFA8D674FA3DC95F21E /* LocalizationTesterUITests-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "LocalizationTesterUITests-Release.xcconfig"; sourceTree = ""; }; + 93DACAFA6639E6FD16179B8B /* sl-SI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sl-SI"; path = "sl-SI.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 96FE2F767A60ED02A3669663 /* et-EE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "et-EE"; path = "et-EE.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 9781188AB3CBA7C1626A857A /* LocalizationTesterUITests-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "LocalizationTesterUITests-Debug.xcconfig"; sourceTree = ""; }; + 97964709B9721F6D38ED1172 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/LaunchScreen.strings; sourceTree = ""; }; + 99F5F09C8AE90129AE7130BD /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/LaunchScreen.strings; sourceTree = ""; }; + 9CD164D4B9F3C2E5CD192D2D /* StripeApplePay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeApplePay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AECB92D9F48FE78646A69837 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + B5EFD5E58E0424906D91B2A3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + B7D54FA772C8F8941769915C /* ms-MY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ms-MY"; path = "ms-MY.lproj/LaunchScreen.strings"; sourceTree = ""; }; + B9A205584BD26DEADC561E54 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = "ro-RO.lproj/LaunchScreen.strings"; sourceTree = ""; }; + BCE5BB74850385817180859C /* StripeCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C34518A661CCCF2058F87A56 /* StripeUICore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StripeUICore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C954A03A866D3D4369B6ADF9 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/LaunchScreen.strings"; sourceTree = ""; }; + DD31D722D433A7E7007D99E0 /* LocalizationTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LocalizationTester.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DEC878D9773FE135C80B7407 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/LaunchScreen.strings; sourceTree = ""; }; + E0501B4BF90AA5DF2358742A /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/LaunchScreen.strings"; sourceTree = ""; }; + E37F9DD3640EFC32ACEC0A37 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/LaunchScreen.strings"; sourceTree = ""; }; + E3D80ED7F06FBD02793C11E9 /* LocalizationTesterUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LocalizationTesterUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E54CA622D25CA30C7EA2835C /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/LaunchScreen.strings"; sourceTree = ""; }; + E6CA33ACCF6F25AD28813F3B /* LocalizationTesterUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LocalizationTesterUITests.m; sourceTree = ""; }; + E8E8DFFAC491560BEACA5DDE /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E904A99B8B08FEAB06B79043 /* LocalizationTester-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "LocalizationTester-Debug.xcconfig"; sourceTree = ""; }; + EAF21C6355C72231B45F09C1 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = ""; }; + EED66D5107E73250BEFACC61 /* bg-BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "bg-BG"; path = "bg-BG.lproj/LaunchScreen.strings"; sourceTree = ""; }; + F19790E598078D353520E6D5 /* mt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mt; path = mt.lproj/LaunchScreen.strings; sourceTree = ""; }; + FBEBC15127F5903AA54A2E1F /* LocalizationTester-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "LocalizationTester-Release.xcconfig"; sourceTree = ""; }; + FF6A77E30CF0596E2D8C93AF /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/LaunchScreen.strings; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 0688B1D6E5F7D05B10F403C6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B6860C675C22A40115A25138 /* Stripe3DS2.framework in Frameworks */, + 53B95C805D539BC137119AA1 /* StripeApplePay.framework in Frameworks */, + D175CAB1B4877BAC85B5F793 /* StripeCore.framework in Frameworks */, + 1A6707B8E8D69A84024E42D9 /* StripePayments.framework in Frameworks */, + 1E8E4C6D33C1B552640600B6 /* StripePaymentsUI.framework in Frameworks */, + 73EDC801E2F339DFB2EADA6D /* StripeUICore.framework in Frameworks */, + 6A12B84AAA22EF52724C7608 /* Stripe.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 606292A042A36E6C7EC1EC8F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 035669EABDB1743BD4F8D7ED /* Source */ = { + isa = PBXGroup; + children = ( + 2E2DDA58B4AA3206DB2916A2 /* AppDelegate.h */, + 36BFACDF2318B5119EC221B8 /* AppDelegate.m */, + 50497D757C232C5CC01A340E /* main.m */, + 48FAC345B80F0FB5829842D1 /* MockCustomerContext.h */, + 3F5D9FACEEB74DAAA2648B57 /* MockCustomerContext.m */, + 3399A80179078933805812D4 /* ViewController.h */, + AECB92D9F48FE78646A69837 /* ViewController.m */, + ); + path = Source; + sourceTree = ""; + }; + 232C5010C22B530E999221FB /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + 26CBAF5409C5A8E895449C01 /* Products */ = { + isa = PBXGroup; + children = ( + DD31D722D433A7E7007D99E0 /* LocalizationTester.app */, + E3D80ED7F06FBD02793C11E9 /* LocalizationTesterUITests.xctest */, + E8E8DFFAC491560BEACA5DDE /* Stripe.framework */, + 0839B887F692B885307152A5 /* Stripe3DS2.framework */, + 9CD164D4B9F3C2E5CD192D2D /* StripeApplePay.framework */, + BCE5BB74850385817180859C /* StripeCore.framework */, + 18AD4E2BD8F718111DE84DC7 /* StripePayments.framework */, + 4CDACA98C7884823F4901D65 /* StripePaymentsUI.framework */, + C34518A661CCCF2058F87A56 /* StripeUICore.framework */, + ); + name = Products; + sourceTree = ""; + }; + 5A5B9D071A0DB30465B9FA6A /* LocalizationTesterUITests */ = { + isa = PBXGroup; + children = ( + 5FB28D16E6C8A9AEE81B882D /* Info.plist */, + E6CA33ACCF6F25AD28813F3B /* LocalizationTesterUITests.m */, + ); + path = LocalizationTesterUITests; + sourceTree = ""; + }; + 778A974D656590E5CAB8B5FC /* Project */ = { + isa = PBXGroup; + children = ( + EEBE8448E1DABC58418B69A5 /* BuildConfigurations */, + A9613CE2482ADF24ECC6DDE3 /* LocalizationTester */, + 5A5B9D071A0DB30465B9FA6A /* LocalizationTesterUITests */, + ); + name = Project; + sourceTree = ""; + }; + A9613CE2482ADF24ECC6DDE3 /* LocalizationTester */ = { + isa = PBXGroup; + children = ( + B242A37A2A55DAB5909D57D8 /* Resources */, + 035669EABDB1743BD4F8D7ED /* Source */, + 1BE3EAF002B8F3342C90E851 /* Info.plist */, + ); + path = LocalizationTester; + sourceTree = ""; + }; + B242A37A2A55DAB5909D57D8 /* Resources */ = { + isa = PBXGroup; + children = ( + 84F4F38FA96538F739850002 /* LaunchScreen.storyboard */, + 2F613B464881BF5AFEC245E3 /* Assets.xcassets */, + ); + path = Resources; + sourceTree = ""; + }; + DA79F9C2D726DB02146CF977 = { + isa = PBXGroup; + children = ( + 778A974D656590E5CAB8B5FC /* Project */, + 232C5010C22B530E999221FB /* Frameworks */, + 26CBAF5409C5A8E895449C01 /* Products */, + ); + sourceTree = ""; + }; + EEBE8448E1DABC58418B69A5 /* BuildConfigurations */ = { + isa = PBXGroup; + children = ( + E904A99B8B08FEAB06B79043 /* LocalizationTester-Debug.xcconfig */, + FBEBC15127F5903AA54A2E1F /* LocalizationTester-Release.xcconfig */, + 9781188AB3CBA7C1626A857A /* LocalizationTesterUITests-Debug.xcconfig */, + 93A6BBFA8D674FA3DC95F21E /* LocalizationTesterUITests-Release.xcconfig */, + 71347400817D0A669C5A2FCD /* Project-Debug.xcconfig */, + 7A9F6DBB4DA41CEDDFBA7AD4 /* Project-Release.xcconfig */, + ); + path = BuildConfigurations; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1C8C1E8CBDF7BDFCD6A832DC /* LocalizationTesterUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 03434CEAC1468D5E0AFC1526 /* Build configuration list for PBXNativeTarget "LocalizationTesterUITests" */; + buildPhases = ( + B2CB802B2B69D5FD1A6F0EED /* Sources */, + F4BA97B16F9BE90E383E922E /* Resources */, + 9B849C3A40A75E50F4718410 /* Embed Frameworks */, + 606292A042A36E6C7EC1EC8F /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 1724F194276E238B50175291 /* PBXTargetDependency */, + ); + name = LocalizationTesterUITests; + productName = LocalizationTesterUITests; + productReference = E3D80ED7F06FBD02793C11E9 /* LocalizationTesterUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; + EA3FC78153DF80C73FC7CC44 /* LocalizationTester */ = { + isa = PBXNativeTarget; + buildConfigurationList = 71BF5DF70B3E058C5FF40E9F /* Build configuration list for PBXNativeTarget "LocalizationTester" */; + buildPhases = ( + 26CF8E9C4B8025E8DA825901 /* Sources */, + 01BB67219EFC8EBB212521CA /* Resources */, + 5FD2CAC7FA13F1BA965796C0 /* Embed Frameworks */, + 0688B1D6E5F7D05B10F403C6 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = LocalizationTester; + productName = LocalizationTester; + productReference = DD31D722D433A7E7007D99E0 /* LocalizationTester.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D2702C0A8BD1C03E35BB482E /* Project object */ = { + isa = PBXProject; + attributes = { + TargetAttributes = { + 1C8C1E8CBDF7BDFCD6A832DC = { + TestTargetID = EA3FC78153DF80C73FC7CC44; + }; + }; + }; + buildConfigurationList = 05977858F479B41BC2305318 /* Build configuration list for PBXProject "LocalizationTester" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + Base, + "bg-BG", + "ca-ES", + "cs-CZ", + da, + de, + "el-GR", + en, + "en-GB", + es, + "es-419", + "et-EE", + fi, + fil, + fr, + "fr-CA", + hr, + hu, + id, + it, + ja, + ko, + "lt-LT", + "lv-LV", + "ms-MY", + mt, + nb, + nl, + "nn-NO", + "pl-PL", + "pt-BR", + "pt-PT", + "ro-RO", + ru, + "sk-SK", + "sl-SI", + sv, + tr, + vi, + "zh-HK", + "zh-Hans", + "zh-Hant", + ); + mainGroup = DA79F9C2D726DB02146CF977; + productRefGroup = 26CBAF5409C5A8E895449C01 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + EA3FC78153DF80C73FC7CC44 /* LocalizationTester */, + 1C8C1E8CBDF7BDFCD6A832DC /* LocalizationTesterUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 01BB67219EFC8EBB212521CA /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0351BCDB94966718DE185830 /* Assets.xcassets in Resources */, + 5E31A628E8897717EA27D97F /* LaunchScreen.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F4BA97B16F9BE90E383E922E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 26CF8E9C4B8025E8DA825901 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 35D050FC8F25E5794BD13075 /* AppDelegate.m in Sources */, + 93E9E9B418B6EBE8C6458264 /* MockCustomerContext.m in Sources */, + 64F845A1690B98F3E9EC2E81 /* ViewController.m in Sources */, + 827922D8C9C0A706E50BC6FE /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B2CB802B2B69D5FD1A6F0EED /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F5215864A06E5C5F9BB27388 /* LocalizationTesterUITests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 1724F194276E238B50175291 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = LocalizationTester; + target = EA3FC78153DF80C73FC7CC44 /* LocalizationTester */; + targetProxy = 1FC2377DFA993508E6A15044 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 84F4F38FA96538F739850002 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + B5EFD5E58E0424906D91B2A3 /* Base */, + EED66D5107E73250BEFACC61 /* bg-BG */, + 886EAFE35939C88E75B4FD67 /* ca-ES */, + 1A073DFFAD74666F4E5658BB /* cs-CZ */, + 4062751753BC7341B79066DF /* da */, + 75B76C96F005B7187D89F609 /* de */, + 1E54B4D29F4DAFF18BAC1AD8 /* el-GR */, + 4234E925A62DA7B1F0BF8F33 /* en */, + 08E5BCEB9520A88695C7FEF0 /* en-GB */, + 76EA757054712EA3462BA753 /* es */, + 70D4395199E724CA5431F53E /* es-419 */, + 96FE2F767A60ED02A3669663 /* et-EE */, + 39A90A2F5DA8870DFA326143 /* fi */, + 9250CA226C920C7D434931AF /* fil */, + EAF21C6355C72231B45F09C1 /* fr */, + E37F9DD3640EFC32ACEC0A37 /* fr-CA */, + 8C9BB121F1BF5D055AFB56FC /* hr */, + 3DDBF92F909672C79C465100 /* hu */, + DEC878D9773FE135C80B7407 /* id */, + FF6A77E30CF0596E2D8C93AF /* it */, + 19941309E5116AFAD9F93700 /* ja */, + 59B39D50DC289F00BA05536D /* ko */, + 50C3C0711EBC3520959F44FF /* lt-LT */, + 8528785A259C4F4A4A416BDE /* lv-LV */, + B7D54FA772C8F8941769915C /* ms-MY */, + F19790E598078D353520E6D5 /* mt */, + 8DCFF99ADA84E5418A80C100 /* nb */, + 99F5F09C8AE90129AE7130BD /* nl */, + 8C37802479F7D8F1D8548987 /* nn-NO */, + 01875448C25439F750D8A159 /* pl-PL */, + E0501B4BF90AA5DF2358742A /* pt-BR */, + E54CA622D25CA30C7EA2835C /* pt-PT */, + B9A205584BD26DEADC561E54 /* ro-RO */, + 376E077F93A2104D9AA25903 /* ru */, + 026FD4B9EB15E114DF041585 /* sk-SK */, + 93DACAFA6639E6FD16179B8B /* sl-SI */, + 97964709B9721F6D38ED1172 /* sv */, + 6B60A201EED87B68A15E6C56 /* tr */, + 6AC1F1DB075A132A6670CD44 /* vi */, + 83AC1F85A233832BADBF0A19 /* zh-Hans */, + 5B57B5840BC952DE787327BF /* zh-Hant */, + C954A03A866D3D4369B6ADF9 /* zh-HK */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 2388B90D043F3CA110B256A5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 93A6BBFA8D674FA3DC95F21E /* LocalizationTesterUITests-Release.xcconfig */; + buildSettings = { + INFOPLIST_FILE = LocalizationTesterUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.LocalizationTesterUITests; + PRODUCT_NAME = LocalizationTesterUITests; + SDKROOT = iphoneos; + TEST_TARGET_NAME = LocalizationTester; + }; + name = Release; + }; + 31FB563D07E3E0DC15E67E64 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9781188AB3CBA7C1626A857A /* LocalizationTesterUITests-Debug.xcconfig */; + buildSettings = { + INFOPLIST_FILE = LocalizationTesterUITests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.LocalizationTesterUITests; + PRODUCT_NAME = LocalizationTesterUITests; + SDKROOT = iphoneos; + TEST_TARGET_NAME = LocalizationTester; + }; + name = Debug; + }; + C17A560CAC2DEDE738CE5AF1 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7A9F6DBB4DA41CEDDFBA7AD4 /* Project-Release.xcconfig */; + buildSettings = { + }; + name = Release; + }; + D906835F97E02F2753F96ABE /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E904A99B8B08FEAB06B79043 /* LocalizationTester-Debug.xcconfig */; + buildSettings = { + INFOPLIST_FILE = LocalizationTester/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.LocalizationTester; + PRODUCT_NAME = LocalizationTester; + SDKROOT = iphoneos; + }; + name = Debug; + }; + E14D58D3ADABFFA4D55501DE /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FBEBC15127F5903AA54A2E1F /* LocalizationTester-Release.xcconfig */; + buildSettings = { + INFOPLIST_FILE = LocalizationTester/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.stripe.LocalizationTester; + PRODUCT_NAME = LocalizationTester; + SDKROOT = iphoneos; + }; + name = Release; + }; + FB90CB800E136064FB14CEA6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 71347400817D0A669C5A2FCD /* Project-Debug.xcconfig */; + buildSettings = { + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 03434CEAC1468D5E0AFC1526 /* Build configuration list for PBXNativeTarget "LocalizationTesterUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 31FB563D07E3E0DC15E67E64 /* Debug */, + 2388B90D043F3CA110B256A5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 05977858F479B41BC2305318 /* Build configuration list for PBXProject "LocalizationTester" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB90CB800E136064FB14CEA6 /* Debug */, + C17A560CAC2DEDE738CE5AF1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 71BF5DF70B3E058C5FF40E9F /* Build configuration list for PBXNativeTarget "LocalizationTester" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D906835F97E02F2753F96ABE /* Debug */, + E14D58D3ADABFFA4D55501DE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D2702C0A8BD1C03E35BB482E /* Project object */; +} diff --git a/Testers/LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Testers/LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..919434a6254 --- /dev/null +++ b/Testers/LocalizationTester/LocalizationTester.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/LocalizationTester/LocalizationTester.xcodeproj/xcshareddata/xcschemes/LocalizationTester.xcscheme b/Testers/LocalizationTester/LocalizationTester.xcodeproj/xcshareddata/xcschemes/LocalizationTester.xcscheme similarity index 64% rename from LocalizationTester/LocalizationTester.xcodeproj/xcshareddata/xcschemes/LocalizationTester.xcscheme rename to Testers/LocalizationTester/LocalizationTester.xcodeproj/xcshareddata/xcschemes/LocalizationTester.xcscheme index 82a8715cad0..054b9470c91 100644 --- a/LocalizationTester/LocalizationTester.xcodeproj/xcshareddata/xcschemes/LocalizationTester.xcscheme +++ b/Testers/LocalizationTester/LocalizationTester.xcodeproj/xcshareddata/xcschemes/LocalizationTester.xcscheme @@ -1,9 +1,9 @@ - - - - - - - - @@ -82,7 +54,7 @@ runnableDebuggingMode = "0"> @@ -95,6 +67,16 @@ savedToolIdentifier = "" useCustomWorkingDirectory = "NO" debugDocumentVersioning = "YES"> + + + + diff --git a/Stripe3DS2/Stripe3DS2DemoUI/es.lproj/Info.plist b/Testers/LocalizationTester/LocalizationTester/Info.plist similarity index 100% rename from Stripe3DS2/Stripe3DS2DemoUI/es.lproj/Info.plist rename to Testers/LocalizationTester/LocalizationTester/Info.plist diff --git a/LocalizationTester/Assets.xcassets/AppIcon.appiconset/Contents.json b/Testers/LocalizationTester/LocalizationTester/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from LocalizationTester/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Testers/LocalizationTester/LocalizationTester/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Tests/Tests/Images.xcassets/Contents.json b/Testers/LocalizationTester/LocalizationTester/Resources/Assets.xcassets/Contents.json similarity index 100% rename from Tests/Tests/Images.xcassets/Contents.json rename to Testers/LocalizationTester/LocalizationTester/Resources/Assets.xcassets/Contents.json diff --git a/Testers/LocalizationTester/LocalizationTester/Resources/Base.lproj/LaunchScreen.storyboard b/Testers/LocalizationTester/LocalizationTester/Resources/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000000..ed2492375ec --- /dev/null +++ b/Testers/LocalizationTester/LocalizationTester/Resources/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LocalizationTester/bg-BG.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/bg-BG.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/bg-BG.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/bg-BG.lproj/LaunchScreen.strings diff --git a/LocalizationTester/ca-ES.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/ca-ES.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/ca-ES.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/ca-ES.lproj/LaunchScreen.strings diff --git a/LocalizationTester/cs-CZ.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/cs-CZ.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/cs-CZ.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/cs-CZ.lproj/LaunchScreen.strings diff --git a/LocalizationTester/da.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/da.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/da.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/da.lproj/LaunchScreen.strings diff --git a/LocalizationTester/de.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/de.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/de.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/de.lproj/LaunchScreen.strings diff --git a/LocalizationTester/el-GR.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/el-GR.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/el-GR.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/el-GR.lproj/LaunchScreen.strings diff --git a/LocalizationTester/en-GB.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/en-GB.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/en-GB.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/en-GB.lproj/LaunchScreen.strings diff --git a/LocalizationTester/en.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/en.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/en.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/en.lproj/LaunchScreen.strings diff --git a/LocalizationTester/es-419.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/es-419.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/es-419.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/es-419.lproj/LaunchScreen.strings diff --git a/LocalizationTester/es.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/es.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/es.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/es.lproj/LaunchScreen.strings diff --git a/LocalizationTester/et-EE.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/et-EE.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/et-EE.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/et-EE.lproj/LaunchScreen.strings diff --git a/LocalizationTester/fi.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/fi.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/fi.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/fi.lproj/LaunchScreen.strings diff --git a/LocalizationTester/fil.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/fil.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/fil.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/fil.lproj/LaunchScreen.strings diff --git a/LocalizationTester/fr-CA.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/fr-CA.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/fr-CA.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/fr-CA.lproj/LaunchScreen.strings diff --git a/LocalizationTester/fr.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/fr.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/fr.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/fr.lproj/LaunchScreen.strings diff --git a/LocalizationTester/hr.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/hr.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/hr.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/hr.lproj/LaunchScreen.strings diff --git a/LocalizationTester/hu.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/hu.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/hu.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/hu.lproj/LaunchScreen.strings diff --git a/LocalizationTester/id.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/id.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/id.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/id.lproj/LaunchScreen.strings diff --git a/LocalizationTester/it.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/it.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/it.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/it.lproj/LaunchScreen.strings diff --git a/LocalizationTester/ja.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/ja.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/ja.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/ja.lproj/LaunchScreen.strings diff --git a/LocalizationTester/ko.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/ko.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/ko.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/ko.lproj/LaunchScreen.strings diff --git a/LocalizationTester/lt-LT.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/lt-LT.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/lt-LT.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/lt-LT.lproj/LaunchScreen.strings diff --git a/LocalizationTester/lv-LV.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/lv-LV.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/lv-LV.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/lv-LV.lproj/LaunchScreen.strings diff --git a/LocalizationTester/ms-MY.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/ms-MY.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/ms-MY.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/ms-MY.lproj/LaunchScreen.strings diff --git a/LocalizationTester/mt.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/mt.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/mt.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/mt.lproj/LaunchScreen.strings diff --git a/LocalizationTester/nb.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/nb.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/nb.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/nb.lproj/LaunchScreen.strings diff --git a/LocalizationTester/nl.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/nl.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/nl.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/nl.lproj/LaunchScreen.strings diff --git a/LocalizationTester/nn-NO.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/nn-NO.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/nn-NO.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/nn-NO.lproj/LaunchScreen.strings diff --git a/LocalizationTester/pl-PL.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/pl-PL.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/pl-PL.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/pl-PL.lproj/LaunchScreen.strings diff --git a/LocalizationTester/pt-BR.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/pt-BR.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/pt-BR.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/pt-BR.lproj/LaunchScreen.strings diff --git a/LocalizationTester/pt-PT.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/pt-PT.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/pt-PT.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/pt-PT.lproj/LaunchScreen.strings diff --git a/LocalizationTester/ro-RO.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/ro-RO.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/ro-RO.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/ro-RO.lproj/LaunchScreen.strings diff --git a/LocalizationTester/ru.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/ru.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/ru.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/ru.lproj/LaunchScreen.strings diff --git a/LocalizationTester/sk-SK.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/sk-SK.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/sk-SK.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/sk-SK.lproj/LaunchScreen.strings diff --git a/LocalizationTester/sl-SI.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/sl-SI.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/sl-SI.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/sl-SI.lproj/LaunchScreen.strings diff --git a/LocalizationTester/sv.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/sv.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/sv.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/sv.lproj/LaunchScreen.strings diff --git a/LocalizationTester/tr.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/tr.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/tr.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/tr.lproj/LaunchScreen.strings diff --git a/LocalizationTester/vi.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/vi.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/vi.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/vi.lproj/LaunchScreen.strings diff --git a/LocalizationTester/zh-HK.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/zh-HK.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/zh-HK.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/zh-HK.lproj/LaunchScreen.strings diff --git a/LocalizationTester/zh-Hans.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/zh-Hans.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/zh-Hans.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/zh-Hans.lproj/LaunchScreen.strings diff --git a/LocalizationTester/zh-Hant.lproj/LaunchScreen.strings b/Testers/LocalizationTester/LocalizationTester/Resources/zh-Hant.lproj/LaunchScreen.strings similarity index 100% rename from LocalizationTester/zh-Hant.lproj/LaunchScreen.strings rename to Testers/LocalizationTester/LocalizationTester/Resources/zh-Hant.lproj/LaunchScreen.strings diff --git a/LocalizationTester/AppDelegate.h b/Testers/LocalizationTester/LocalizationTester/Source/AppDelegate.h similarity index 100% rename from LocalizationTester/AppDelegate.h rename to Testers/LocalizationTester/LocalizationTester/Source/AppDelegate.h diff --git a/LocalizationTester/AppDelegate.m b/Testers/LocalizationTester/LocalizationTester/Source/AppDelegate.m similarity index 100% rename from LocalizationTester/AppDelegate.m rename to Testers/LocalizationTester/LocalizationTester/Source/AppDelegate.m diff --git a/LocalizationTester/MockCustomerContext.h b/Testers/LocalizationTester/LocalizationTester/Source/MockCustomerContext.h similarity index 100% rename from LocalizationTester/MockCustomerContext.h rename to Testers/LocalizationTester/LocalizationTester/Source/MockCustomerContext.h diff --git a/LocalizationTester/MockCustomerContext.m b/Testers/LocalizationTester/LocalizationTester/Source/MockCustomerContext.m similarity index 100% rename from LocalizationTester/MockCustomerContext.m rename to Testers/LocalizationTester/LocalizationTester/Source/MockCustomerContext.m diff --git a/LocalizationTester/ViewController.h b/Testers/LocalizationTester/LocalizationTester/Source/ViewController.h similarity index 100% rename from LocalizationTester/ViewController.h rename to Testers/LocalizationTester/LocalizationTester/Source/ViewController.h diff --git a/LocalizationTester/ViewController.m b/Testers/LocalizationTester/LocalizationTester/Source/ViewController.m similarity index 100% rename from LocalizationTester/ViewController.m rename to Testers/LocalizationTester/LocalizationTester/Source/ViewController.m diff --git a/LocalizationTester/main.m b/Testers/LocalizationTester/LocalizationTester/Source/main.m similarity index 100% rename from LocalizationTester/main.m rename to Testers/LocalizationTester/LocalizationTester/Source/main.m diff --git a/LocalizationTester/LocalizationTesterUITests/Info.plist b/Testers/LocalizationTester/LocalizationTesterUITests/Info.plist similarity index 100% rename from LocalizationTester/LocalizationTesterUITests/Info.plist rename to Testers/LocalizationTester/LocalizationTesterUITests/Info.plist diff --git a/LocalizationTester/LocalizationTesterUITests/LocalizationTesterUITests.m b/Testers/LocalizationTester/LocalizationTesterUITests/LocalizationTesterUITests.m similarity index 100% rename from LocalizationTester/LocalizationTesterUITests/LocalizationTesterUITests.m rename to Testers/LocalizationTester/LocalizationTesterUITests/LocalizationTesterUITests.m diff --git a/Testers/LocalizationTester/Project.swift b/Testers/LocalizationTester/Project.swift new file mode 100644 index 00000000000..a2e70584322 --- /dev/null +++ b/Testers/LocalizationTester/Project.swift @@ -0,0 +1,71 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project( + name: "LocalizationTester", + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + settings: .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targets: [ + Target( + name: "LocalizationTester", + platform: .iOS, + product: .app, + bundleId: "com.stripe.LocalizationTester", + infoPlist: "LocalizationTester/Info.plist", + sources: "LocalizationTester/Source/**/*.m", + resources: "LocalizationTester/Resources/**", + headers: .headers( + project: "LocalizationTester/Source/**/*.h" + ), + dependencies: [ + .project(target: "StripeCore", path: "//StripeCore"), + .project(target: "StripeUICore", path: "//StripeUICore"), + .project(target: "StripeApplePay", path: "//StripeApplePay"), + .project(target: "Stripe3DS2", path: "//Stripe3DS2"), + .project(target: "StripePayments", path: "//StripePayments"), + .project(target: "StripePaymentsUI", path: "//StripePaymentsUI"), + .project(target: "StripeiOS", path: "//Stripe"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/LocalizationTester" + ) + ), + Target( + name: "LocalizationTesterUITests", + platform: .iOS, + product: .uiTests, + bundleId: "com.stripe.LocalizationTesterUITests", + infoPlist: "LocalizationTesterUITests/Info.plist", + sources: "LocalizationTesterUITests/*.m", + dependencies: [ + .target(name: "LocalizationTester"), + ], + settings: .stripeTargetSettings( + baseXcconfigFilePath: "BuildConfigurations/LocalizationTesterUITests" + ) + ), + ], + schemes: [ + Scheme( + name: "LocalizationTester", + buildAction: .buildAction(targets: ["LocalizationTester"]), + testAction: .targets(["LocalizationTesterUITests"]) + ) + ] +) diff --git a/Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingAmex_LoadingAmex@3x.png b/Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingAmex_LoadingAmex@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..c67bd1a7dbe5c8ee16abe83ffdb83bd5e29639a6 GIT binary patch literal 65952 zcmeIbXH*nf)GiDNiU~wiKtNEGAOeze7!Xj&NmN2B3?L$)o?V!FFdowVb#_t{kwpsTIEf6vi96ciNu zFPuN8PeDO#MM1Iq0qst3<=rV<5%{2V)>l`ic;CP_4t{u8UA|zgrA2WXe5a+LraVeP zL%Ie0DNwTh^<9mUmtqHWor;3uu`LBP`5tZXN&43b{z!e`&mFHQ$#;Wmuc)@~rnY*u zWBdE=2c&Mt2X9n@kKMP=UvUP%q)301s^P-dz(qFOb2^6L6HG|@NBtT6hZp`NeGk4u zYs~eSfTJt(I-h4+IUPz$fe>}2ZI-{;+Ow(lL6(p?HlDr(vToZDYKm?D={ z@Be-UZsNy!Q2paZa9N3y6H7hDz5DOp@V&2tIQ|-M`wKPIYt6e3Fa9+f7-0FI^CQE; zv`1)*NCF}Wf0+wJ9T0Uu)B#b4Z8$-K9EeRoh=AAx#3mp%0oDRU5)es1Bmv1MAW0RH z79g1=ga~kI5s?H$5)et)PVgg!5%CV>NC7d7h+#wwBVrhV79d1Gi14q2c*Hv(-U0Cr zh+#wwBVrhl!Y!nFjTR~40|k%>5fCE4HM58$Ad-Mc!e6NaL>&-yK-2+I2cQKA5fCE$ z>$xJtJ0RWx@eYV#L<}Qh7?FoVsgNgRK?w>%1cV51;Q=BE|EDFv%(p;i`&|I!>M!!i zCW6cnWR4(n1eqhq96{y?GDkouNed7>h7bWk=6@YzAnJgq!~a)xkXoGC(NK_H&h)W! z@8a8>uc6fkS&wRYFP?1dd@Wpk!{TZ6TfWhic-r&NxjCs`-#h>E{4SdPoPl>a?-??T zm^%>4mdvl0EhsL{METI!G}QG*$*y4to42K$8)9?Yy9e@@HoQldt~|V}TP^-qiR$*3 zw@OO929(98|MOxtWtNVA27dtdzM`T`)T9|pKe^p|`&j^5E7Ki+sQ~$l{~qcGB8OjP z{P#U>m^=Ib!qD4aP9HdcHN5-&;_uLs)P^kjpIksFy)7}&(J>+(hl>? zGK+uf<%dqnQPm}l@GZJ=cXd-_yu=wv@s+;yM zlHE&d^*}^9%B@@_KNxDCVy8^3>%U`k8nSuJ;deoAE(}Y%z|a>++F$X5$jq!cSoySv7mN0kvOSrc#dj8MCqz?(YiEFFH~9k_rkFm3qLG-Q`cko{{={{sH%& z{~R~N2Dg`i_4R+@hqkL508gJb+-|@J4fxg&gq(a8Sm@qLL3s2b)DGzOCND5||D>~x zCP@(Oc{#z#z+}IwTTepm*%34kM7&ro&%!I^1=Iu7vF3FTY=i;>|Cxgaur9`aGOVQA z$8^cGOO(vAhN;OwOKYWe7oP$5&jXYIBh=mK)50EyxEaUAi5ZVAZ_$VPTaf!#Nq#hd zUx2;?^xt`RRsyDt2AMYD?y<#?k5%#l?cGTnc@S+qP06%bR;1ESfT*Rf#ET2-n@J|^ z{#745y=F<@%Wf4&^A^kR>RJ<6Ghj~dI}PuDXPK5ate7q&(U>f5-OWJaJ=cswJCv2gF~K{!4EkpW z55U9}W;_6>|3Jjjtt9OUG=5$%nBTrwS%tLQS0rWt@@Wcf?fuaU?Z_BhDeERS#E|ap zz6ftWuT3CL7$&$T*sZ>~RVbU_j^WH9?p-8v?`2^@*a@gz04z@cy$JF&C@_qAmPOOw!-^4 zdkM7XytqUUk@CiIxczD`r>`o+y<#BwxHs&Rc@Xh($;`Lu%e|@rwX3Os-5m|Y!h7L5 z1QVaDG{8F!+P%vwK%E`3T44~W*U0^s`Z^k5=IjHzXVLsdfHjL5NFvEF2!Cug`~w=l z8wdx^n*Fsjw3!%KcTyw?J~mpU_A&uLyy;E%MW~sZ+^prGRu3=85@;if$}J-jZz%lz z;pyv?+#fGN6DlnMX(}#sjAJ2f-{l!h-0@eemki(q@d9?L?batt!b!5~o^*dkAPFOd ze*@UCi*<#qIMhFi-2X#N_c+Y%<6uLN?hbQ7th(k%W`3DZ1RtbYw0Q}DJR7U$om)WxqNvjKAd3yfE<5c09Y=xp%)t%hQk;Q`y4mY`hVV z_Jy!;hjEOFiY&|tV?dkYVy`$hh?0Rymb}DJe7!bf#J&xBJS{{2V%&JX?sfbQdb+i| ztfLj&WuvSHI0L#e#kjc)t1p|rJigZ_Lw2=v6=t1BttUJjU)n42X4m6JiD6uS*yfco zTXmVSiHGAtIx+FS!mb<7CIjh@Y;-Yy`)Ze1m(A+~tLl^y@IvMzMp6*f!RHg}t36YE>dSCf2hexvg0R&=lH zk1Y4>vq-Fa_QnTtIJ7Rnqow4oYS@uB`$~fbn^=b$W)P}~Ran0^9Jtorn$kaYftT^! zz{bMdd_HSg#t0Jk@n)}BC>P0 zW4g4;Sx0)s9SyFQI;hVsh$;H{eTts;$r^g>;e(G|^?WK(ccrY%QA{VpGq90?6*C=~q7Z zsu%N^9I=0jm&H3=e0s59w##}W*Q0N7KIRdjKMtiHwS%2sV&)qzQ(~!2Qel@wFr9Lg z|9q(qYymWY4w!EwibE=%M5W40zk(^4>Rjmiq|kHAK5VdT zX_&^1fIY6p<~~9()@Rdrv%7zgID+S4ck)}U^lN+{dKuJx(`IQV%>K{=UCYFT}kljz+Qc;yZ#9!NAUW!?9!rD zt8bgF*|#)Ub?y51fjC*O%2y}UzLieC^WX8pjn-<#}U@H60Z#t#O31O%q&8epvg<49{ z;FvbB!ka?xGxM0ZwmBBcz)auc*U{cKTeGIXf6=o)*V4 z4ZI6_6+;`6Y(h#MY`crS#Ppiq&k>apH8D#eY>U0|smkKVl%v!bvS1^G2kt>C38R->teP`%^jSB0FmN3iFz z8AB~x)N}bXgAF2%etDGmK;$ug;pW9u1F^Ib=Um+swoOb08<)`u5A^rhjUyc2a5=sS z?)-t4*}9{ve3Lj<=O_A7Ux}<0@&X%wTKN6af1fpruYP{cFS6s&N<$`pi(ZGo1%|ih z&^q6f610n~RJ-%%v@Lh@V|GmU{tgstARt{*`F_^UjROTl#z zJ>^F9M1*BV)8$Us@T#Br+%q;i)0bp%R9(_%_?|T1YGGG1GgeMy*X>Z=hqr&Oe~Nrv z@YXLddR(LaWErI7)G`KO=}{XgZP3!Ks3zyy8%CzzT0R{gax@JGo_n*(W{aC}@lX#> z%~TYl^DEtT!4yvRNcGlpEWzrz*~9#3Y7K8iH^D%~Ro2wARqj}Wi1@9x3*&imR3|5R z@4W)d*>c&8m7Bg{R?HnLXS)!I>2U3m=XyInqcQR;b#@(iOCS5kZ(f@{)boCC#LH-+ zS3{>>wRFNG&@BCEVYtJ)ED!ci8t7fgXV>R+j->AIIrdhdmCYa_@B`|0U9!uj zOfLt3JdA@ZR^2wn;>Pe<{i_MF;G3j&&#wa^mr-x-XiPDGI%we1uNz%#5dXPV%5~faUw2Wm zv9nVIV|z)bdGS*`J@$HIHJkO<=3A>R>csP5o$psuG>$C>Y@LDdDisUrGoCXH%qw7hUzvmKcHe#)v8W>0+OUVI@4Q_l!fY+JeV$3qcb97o!QHcu{}2*4a59w zU^wo}>fj)JBTF+Fy5`51xpL4C6QO?hkd03l;ZkZu_>m%?ttIO>UPRiMx#lxxz+O!H zUyZR=n1;tUW$!fz65-P^^Ssk9vi8EuxWi5T=*;|^6PnCZXffp|8#aaGanDl!JX|96 z@YA)#y0wdmnwrAJ*J!~9|5MMvG|M{pAz2NhThNOy0ue5*clD@SPCdZz#d|!s@@sPvitE_zoxl9Aq zr;ZuY9f^-pbXV(-O7j+rxny{zat$ZaIy1rS;)0!;TY1UWf1Jx$3gi={G04qM zrnRy-UB^SjM7}PK{5&6lzS=+xi8u5TQgc7|>Y)Gk_y;1Y@~S3}=6cUy&?@~Yo?HA( zZz}40%oOEAFYUpYdzRXb-%xeJ^wC~`j zA>0LYvc|DnICrsdCOhoc^HEY3)6rkD%=8OY45#W2?G;jVcjr(oQ;s?su>}WpA*2xO z&q7-uIHdO>okbpf@*y`D&!ZHa1nD;(O0EzEBF5#za!oIM8skv z@-abCQ2xxZl?DEbCie74uzBe=Qa){GFabYK-3w}qaZ6Dlwr0$=CgR!Uh2vhT@2Xl6 zI|kUrOIT)&NU34#tSD(qU`v?x9dPWp+#f5K`L2{sr_1N9VhtuaGTM+0+`6op`&>HM z6`(jRGO>vyVt3eFg|bCvrw?%HhZOl<@YIZdfm?pOq>HL)Z`cwFJ$>cnjv%R>do|w2 zXG@eV4%=!?uAT2+xG~p~neSvFhP}>)s`d$NLk|!P?GwmRD8Ne&Y6E{2! zZSyoShq)eE>@j{v$ymavWmX_AKI3*c!OO=y6h9mjvA~z%OtvB^tmJerm{r2c;DH*&Du|eLruc9CeE6>7b z@L=bC`3n5IsPXqjF*jYsABp4)>3$SDCaGnT(BFN)P3#dP=&WZ=Eyodb*JcTm>11Ll z*6>OCS75%G!?)udF?09Is|a7DQjF}o^saKIRs*kHhvjNh9X(DrrjIWXqWwFBMqq zZ7WeT%scVq+Q@QC_u1LUt6mN9FJ~J5r~#bEuyVA2ZonJ zS~$)}eIrD_IpvA6g-mlT(Iv@AX|`XkWh`E9kT(P%h}ojcLnA{>^*-OuV`x)=#J(?R zn$1BkWz>YHye#9(T4S8t+BfpivZ1<|J=5Z(c2HA5w$0l_%~--p#T6sT6X{ZpiFLZ3 zpKRbfh8IBL-MOf|K$2_m)a1P9-?{O2S!GQcJ^h@}x6*Xhf-}5&I@9vO_q4)y=k4ZN zBQ~RMSO}k3C5s535VUhey%xW&iR)A zMxUJgSXWp2TgwDC5AWf7MYj6pdr51;6bWY?cdq~H%6DYYXOy7?yOzZvaK2Vz>b!8~ zna}aBLuidGynf}IM86X>b@(xpP&nEwhO)oR&wCFOlj6wi#LK9vdYfsXT1HmYWbg_v zj=IkTb{Hx^@7Y`QqA!r5w?2UbxNFw<=X^O@u5uQ&qxC(Lsnzf5d#oBSm!HxyEtM8% zs0d{csbcV37BZ_yBCP3EW7pNa-|fy7aU_~zSQ|5(q(`^{`TVT=qo?x)vRM@w6P3)Q zS6rL#Rf}K~Sf}t+MSabiQlGDXFWw~HXb*QPvA8o_O^lCW+F>4{p7`}VW(A$Br{`A` z@5B*TbpwruV>rxJ|Q6!@0~; z{>wWyFem{Ho&GY3?*j?4{CyD}D&zTj#tKS|UNFo##h8ujSE6E@H^ zL0^w=cm65AVZu+JkxjSx%RW~kIn2Q{dM2{$&Q}`-uHf(yJsEz<8D_mJ!mmf4*&S(f zvp>CxuXrDcidhwVagPfl{UiP1_!GHRZnbaw@CUH_)N5^Eli>>XG%?i%8F1=HXMTm1 zGPc<1%%FlK3u+a9O+3sW7g7;S-mAczSXa^*8?~upPB@h!5Io!&jdx=YFO2RNB0O?g z&59u0LA&E0dRtx}Iq@t2Ul=PR-zVjIV=pDW3mpS?9e;SQKJ{(wN3GJfG0a z6v+YsW~2ifWH_+vD*UTOKvc4QLvLXDabCyL?00|c4bxr9EL%Uw_KE@6D;?C0-H^Qk zNYdJc>TxrzKylf=L{0iFm7!J$RZas1vhO%`^c-n|GU%8k$cXtQX1vPpdaNj^Z(ar< zjhUBP2}GJya6c*2uhTcD4X5f`!4*Mj2+lR_BCoQ%y)bq^)LBQ}6!t&78e ztu*Ndm*0G3^er;w9EdA1E4&H?mAAv|8IS{s5p9 z9u6lzfye+Q>ob!axs21#0*}1w3U9aX>N=iDUU<{LHr7<1sOj=4_N56fRVXe3#F%%+ zpCkxqPZlaP9hb-X)SG^Eliiw`ykrA0f*qXqj5megZjp#ECg|@#Z}qy66g0{#gpb&^ zyb$PXL$kX{?CluVwSKDm?n|+jGsH~|kjygc&e48Kk`@__R};F{Z7FfKb00EodtVED z@zlIpEMDbqEV;7z?qyF)$~66=>(~4A3XyYut~Js1vbfffo{5RrA`6qN<#*JhqbmH? zrh>;)##vj$89UzaS7+Aa;xDD<5=^h`buahDeQ=p~)xh16Jfp?bSHi7@Di@!=#jAMQ zBqnu2ti5?kj_b_TQeXA%_IJHv4MBDAv-qKeJOo@-IBXapxVSd(*0FJLKxF8d7j57MU8K1C17!3i(P)E zC>9;XsZE!;`dVB&rE0<(wN!6Aei&rrg&b#>J8DPY3fh^QBK)& zc3+;!;L!BrL-{-b9hOW1Kbh%9TPQsx_e1Z4Kr2HwJU0(fX zu^z3ILoGJWxASE}b)BFE0`m_}4blla1Yo|Tu_{N6Ra;Yj^J<8Wnu#t+dmrH^=Ah-- z7O;?Hyg52`WqhVDp$DhStsJaA{A;i>gXvA=QKLLQwe-9_aywW1)*7N-&O{9;idcb& zlbv2JvOH`Dh&=Tww3e0ZdHc6=*$!5Ty_YJ$>rP@!)udZbD|Adq-%D{OT#b^re4}V| z%nx?;q+^#h`B%P>U3f;*Er3CPDNKDs=r1^7CTZnUTT?G8kwSz1**W+m`^S9Gr4$>E zHV!Gd6QOrk3Tv6>eP$$y5^t79vy<44t&dBlq-5~ShhDVZXLZcIX?ecdAhjdqe3e+* z;OtMi!!{L+smV3N0}-`eL_QpDKl=JlsiXH_`_LatPzX~WHhs~NC_UZ5-vY9VXQ1D9uDk}w9{5haRySYg)J!n@Bgp^Q(U9+y8z!fW&IA2Fyl zFVcn`i%WG9_mbnT*s9`ZN_olZPNP*=-yPZid{QuhsEd6vZV?uK>oE2Z`vjaxGz7*p z?c)wZIESzNs!us;$?Qot9QJ?o^tc(+GSsJrW?FgXRZ{=KNd+55|8$T&KarGNyXlY@3kS8 zHgPs-0rcA4Tl#FuhIj+>7~jmHsyp}DlIKlFyj-T>uP1u^>Kon{0>v+3YkkClb(CaqBJfsZ_TH9&2l3P9y?dHXUla{p8bM>(mxSFx5KJF!})!S zYS z5ARx14$KX;mulDY6~23G=Q!oz((0;lbMK_u+EJA#Ykb>O+2t(mdr4Bh&s1U~Mivhz zJT*%-kLze%DdZ45kHXrO9}2xcSI}FtVR5B+bu-`g!m&Pm1;MqxiTReHwc01HUgnHe z!_P97edW|yYSdZKW%0C@gO`haOP-5ZX)3}+8GC?jJUo~Ir@szSO-tyf(C*vmb?gkL zE6V+-3~_Pwp(N?)$G8JYgP##P1JlKn!p=8!Pg<#)aVzR>Khl;@r^HqU8~m0 z`^+x+9X{n{nbqZK%1o?F*OJ9WIN#Rq zZ|0@CfBDJMd}#?TWcAITtC}Rr9si<4sQO$KG0JzoDkn9uZf{5wraVF=$ca^*3lreB z;k5c_z5r*vkKZtW=6U1yPj&Z8bf&6pCvhefqNO77?(<(=)`M#wh*VXP&lCO!E5IBz zo3j_+UT{4mGjf;b*Rf#f9cRv#xYpbs??G>1Y}ooMd@o9$N85jq=p5m{uA>qaS>U4A z|Ju`}Ke|Nf5i3^ixX{7%O}YHjt0(E_(`3Q2jpNUrs)`ofv2uu@9urPDC|cf5L9u`T zg>!!x_BRys-tM2UAD2aI%yb@GQ$-)rpf+lhvFI3zT9NLa&E8mJx=2?t7M50`PN6F8 zoD@_V)+$RB`;ZtuTVC4G_&Wbfk8t{pT=*zU>6!~*deUT?7(~%*b*kwj*q}c(rYN4A zNxCzQapE*sXIl_6F-{T2bn#?G%|-60>2MPWjC&eb6Gk8REIy_%!gp<46emd>EX=*6 z;Iiv=weG0!t`H4J1y?oujhB(}^KVTZn&Z0{dkeGP_QaR;CIa&oe=ERDFsrQ*fKe9XGhaX4W_~tN1YW=U*Lky`0YR z8uTAryP~dn-e$zrVerZA6YbVrsbVKa_7B8|`zjRqu}3+@S+Zcyl}V29T^zC1UW=1@ zQ&8nzq;-E|{b?Eyii@~di|0Q(m3!eFKdqq<@CoJgc~F2ro7Xr0<~gu4G;WsBTIh*- z4a>NQfy}f_D<{okMGRbKft90tXgfSO=jbl9axtaz62+i5jd|V>2FlV2=_Qtn)$Rv0fatgAN zoM%C?NR;sPOHj~p;D$hx1DDk%uMq88A=>Pv4oae8#B!^2+9|J0D%`R2c{!#q#@EI6 zqV5Ahp5DAO_TTO5z6y)#2(PxDB2FmBbh7ZaoAHI;W|`JaDK&FDL+yRR_V|w*2Dkdy zah}*ubpu;VQ!WFa>t`p+fwv9#py0h38?JWUW4JLQ*^6oFG=C5YtrTP!OihV34Sk+s zuq}^k;m#dYY>QOq+=1%n47 z^rO05YQ?2ep=^A9OQhqQia3;F_epIzZW>%jA^-SD#r{T)FOd1(^Op*I$ zO824o%jXI_O7Q?grV6wxUMaG*k;%TEjvJc0@l3_HSgKFPS!MMH+If{K=EOQ5zxI{l zHwEkq<>-0!2S-#t5($d22}iOf2j+?Z*fQw9!&nm7cVhj&J@@9*^pVmpY2I7EZ>5Rgq%zOiW&MikL!6Df~y0Rej8<9aa z2?tUAl3jd7Cv;c?W1>3rmzNA3%BZ8i%m?Vh=f<42jRP< zYnn5O8~$`hK>U0gZ!1F*DVI>C!pA^%RBZ&8>(l20o{pwm9(ETCY2IUH{k}8WVzq68 zA!wN;n8=bLVsXzI1CvRQJa*@bxSCrn26EQv^^f$~foAXW|}ohLWXTca)2%?t-JDkJ_rM`L&Nd zA#Ku6ihSpa=T~}n3CUUOg9;EnTYb9MY*0XPS7`w-dSXp!FUOs>{QhBK=@#Y#|K70}KQjd7xg2+eijmyvh(}A&_fYp-ouboLDr+)}YbCFiZ z?#C(%t%vjMEda)|zk9>gutA`p0;<>CSi1<+L^^oC5E zT3Kx~c<=I{eY%l~D+P#h@_Hb4H|!Mz3IodY>T*Ee%<8kSQp!0p_n z;5InvxD({tNc+Fv&#eGoDF(E~xtdKpfbxTkfDxqpAWwf$H*A{JNX4j8363zr*CR__ zk`q7Q1Bm!87~sW{iZv{u43-JGe_?-L1C+(0-ABqGc2+w=T3Q(ihzS+5mh>4ysWR$r zz)qZmS>kbM{eT&e>_u$R+@681WB~S#eF6Rq-n`*LX2Gy6P9D$bCqz&5LCidGy);gX{eR;1n**m26vFkuM z>D|i>phB=kGI6J!6>q{2jF}%O&gBakk0Da$fq0ulJ^_aV6|mx(krIt9A+A>;Qe7bv zFL&lj<|&A~NkElY_N!XKdtulE6Q7~~Tsc(wOf91esN)}(@*V2$L+-yeV+ZFksds|i z@8cd`A~h>r+Xqvxj=A?nI-Fdx2f|^SOV`W>ZAOb+Ya6pv4%@YU;GO2(wqzmveS?wQ z%q^K@4KGL-Xk*avf^?YpN>oEkju!|rcHz73m-+5ruQ|N8rBu9USMi}TIAcN^lnCo&o- zR!&GSFneXo7x;Pqvf6DW@}(1B-XJGKMGTAD1=$vuNbuy9%{0DF^TzY{{=F7TD$%4M z4k}1oV3mZ)K~1F=wY#b8JM+upItInX}ksmfx2F(Myx_ z8YYUOPXj`pzmFdz;=A*=&TvOYT4pP5r6t%D|2}h4P{Qw>k!2r1sQn-5Mug;dl_6<4 zA|zys=s?w&pqLOB7gv8w&SQDCW7)&I;XZ88Idu=6#U3&VgA?bmuPUpms-}K^5wcz) zY^}6p%@)my(~~Wxl2#?Jft@Dws1WDv*Hk+3a%E!GXF^1W?2eJ8(LegGUP^mpDfIKl zIhuxsa&uX1P!<|;L%@dJ1h)37#p<+fQNbJMrt!ph9_9gqEJUsJ)^?rUVmQprQ6C|lnC^N58XI# zn^7j!xzhM3!dChAo62J0k>;e_%tukKjiQfU+N(tge+%j`XZv%M!;vUwd~EvZHi7n2 z2Z^w9uE38^-K}(>8p@)n-xX@K#m@CD#m~Z;BdN|KGb7&S&w1l0x5;jI2>eh|^?(Hz zND|rMVJaU{4Q*V#6fFESp~oe%=%ywM%B#mR><{bVqfzqPZlwmuKbuOI9gF}N4>LO^ zmq=BHe*7LU&Ba0`p^M;BAzqZ>yL^{=tN6GM0)m#aAj<} z*&mky)h#c0u|qNeguwF9m8I(9+8y;qVDS-p)-iur_edU7XqJhCk1lAZ^eTCC)irg< zP~zQ@PHVO+l6ALau~S3h#;Bp(ZOUu_@3%NKb_HI)e<7`@`$=ipHP7iaTu_#P!uz$W zPa8)p$+B3P2y9a`4+dYi_IB{L-(()hT{joc*!1f|g+(idZf(17 zIsrhWylgyN{XyM-pwlH1{p-iiHw5-A(}k|Cu3O%|>qj|+fY1#QGt?rh8d?4n%vt4t z7k%vnkeYM9%;9o?*y75RFLld4F$&cLGd9#EpIgtm3~>bbp-Jk0&D6f9)IM@$uD0Uc zM!zcxEbnFzOM>XPcLqc>dF(x4>_ZdgVX#&&>s{L?I@uq&)ZJELPNRhtFcCPUF|eL@(PDBsmsW!BMx26D-*$LR1>^!UMj_;RjiFHv0Wd zh!miTntgXW$b=BwJw?>Xogx+qKAczF=BGS~pLfUjw&jt09mw(?Aj^k|YcOB@C8^8T zW=gtJ6MQAsmWNRF3hTcjvV1ps9##0Rta?>1h2W)HhXw}++fdg%S0@shHdhy7HbNxV z`{p~A<7dl;q~*3}SOcbP$^hpK2MmmdJXYspx*B~Kg>pfWP^#U=(MI8TP-=v4OlSn$ zwit=odhe<7!!>~wT(8}>huK1alI17m;b#)1^!!5=R+sF8g*m)`g$moqb(C}1*w}O& z`*T#K-a~NPG**@aaa?;bF9&TB7(U-soL_$ruPAB0m5MPjj!W-}1E4s1n>aqZ0dY=^ zqoJi&1^|j^=Xuybp&unx2cWKLOcNulxws?0IwG`7{5r_3CBPK86%ym%p(^<)9p@)& zwq0L#41lMSk^^LIJ43t7lf!h@`#ib5Qx_=Xam;|)_Wj#9xHA>>ONfq#L&*al!z*he zglvS&O-(1Ik5sHY=J36|j^ZG%fV!U#&`8$k@mYAgVl>sv#FBxH>x)lO-coBTja#mZ z&FUPD$K*ZpM5`qSyhYbG2wQe;Yl}9yCGLs|8w**e`f59mZQIj-3Jh1$`sfTi95qdK zLQoN!sE7&`wtRMFJ-_y>=*}qN>N8u#?gT&U&EdM;n|GyQhgJFo*dzCkY|Sts*933h zxg%V1XK3`zaqBx679hJlHS0Rx&V-5#ZEY>rcs+`;|6>C_8dv&p4fMU=>}dh3(2vvp zh5JQ_cdTQUB3b+nTDLLhE=zx@Gs;{(N;dPFV41@CWk=wjzph@x{b5~NQ#a`KDK^1R zw!|4v?C>kLUf&%vJGqxQ@@=pVDV({I|44M*{&loz9AsuXx z?y0BV@S)#c)xIMf@ob`)p`W1+>sY6c|~8AcEFJ* z4{vror)dAW`>f9Q-ioasEzG%64MC)?Uez(Hf}v+KHV4j%8WU0flc50qUgCb;a>j*P z!YSva8OM$gks-UMp|kxWmbb5ne?8;Za5k40Pd2(gB1yLYrkB9>;w`TgO`xtsSELb^ z3Cli~l~;Uw%YAI7c}2?$*3Z_RdAjUJrmPtw@Z5I6-{2$Teo=qn?Df@-t(?V#vi?7x zv79V)@F{?7_Clw1WRW|eV#B#B%XaEd z30%3$v&-GZH4 zPJuRq2WAKLqspP0&@4793HCp$oz2`aER8we&pP}1D)|2GM1PP3kI{=PR^3#V9#_0Y z2Uco^>ir_Nx+XJ{7lpAwc#bc19tH!m-nA9gilNiwW2^&G;eZ;KTg>51MeN&3kI?Xu z>(-?!gmk~f)zhzif<=bJtIraDv;ppih*&;D&kj}@F?hqM=>TW8G1#NIv^@0CG5D!{ zZQUqk_LwM`+Z{dSjESn)WDctK`nJrk;moi_-c$%5*kejT2b>I{b~_^Vl{eR!dEhU* zavzuv`X}+wL;SP{q)IC@O%m!AR)(vwsQ*1WbQmblb$Z64QokI%jW1qtU&Ew{bHg|b z7~c|izY>yU5Vu3?R-i!n)x%`jKm99JaRWWg>%6sjpV8kJz?-O;IYpj zEGX%?ISRY?`fYCO0;z008U|}sYd4cT@%=``~$+kTiHSI7>kjTm& z_HFyTJ^CSVxvKq7Qi>Ip9{9@~5Ge15blZ1rPZ|g=TiA(gOX~LMXv!qba^+pycWqx* z1($QgqqgDFwyP?=tH+H>+_8Pv_T|?A>32rgk$-M4M#;RAH!Q1(^52&M2sF5*WewYd zzt+wvbPe;}cno^L{I|8gLdcDf`!`WRq?;U`|E;lzF+q&U?;ZfL-H5CF+d3e~1VJXh zTL)?c2qL)qH-L@cZY0e44PVnDQ6&<@|CUief_Nln@_PaYNl_sws=sn}pzajO2qFpC z--6A5RFM3A9Z69kDXQOtP$Wf#q^SP34oHd$Nm2c79gq|iay0y#bx=Z5R7i>nNm0RN z6-b>4QfIPVU_Q&5PSl3tRA)OsVO^}iczq}Cg$_5QsS1$l4;c~0lIS`_55DC8-$-%C-Dr_hjx z{(gHh5ea#akmvu&kOv8KkT3@cb6^S}^@7Or@xL2sA&iw!FDz^qg*l`pT z6rB5r1W%dpR!YqF>zN>Fo1%#oS=)X1x0#?oB7{miYUt*F-jU%&nOf(oO!FJIBz5#p zx@$1{@jpi_mFAUvxe2((nHhuw^sd#!m4V{uahS9i{e2S%qZ$M--4{ z|N9*y2(=L*`P+XWDv4N<-wZEexBvZ?D#YC&&i(Hb6$FzY2=H&@i9jg?N+D2+biRmq zNyJMcUXlc)k%R-1aQM5T8p%o_Il#YDrihnByd>f!5if}xg8Y_p1mOeXB@r))cu7(w m0Xa_nr)BuRa|-NFL8Yqdq%>S}3!H~jTu{|M_g?whz5fN?s2*Ve literal 0 HcmV?d00001 diff --git a/Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingDiscover_LoadingDiscover@3x.png b/Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingDiscover_LoadingDiscover@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f160db261529d0786bf9ad1fcc7495d86e5f23ba GIT binary patch literal 93956 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 mf#KBOI>Uig^*DRUDdlC=_w7%4=9 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 literal 0 HcmV?d00001 diff --git a/Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingVisa_LoadingVisa@3x.png b/Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testLoadingVisa_LoadingVisa@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..afbd80ebeb3589b70d77e038cba5d15e8262d0ef GIT binary patch literal 62454 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 literal 0 HcmV?d00001 diff --git a/Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifySingleSelectDesign_SingleSelectResponse@3x.png b/Tests/ReferenceImages_64/STDSChallengeResponseViewControllerSnapshotTests/testVerifySingleSelectDesign_SingleSelectResponse@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a8e759a029a5863b180b1fb3ef4821672ff4660b GIT binary patch literal 136220 zcmeFZWn9$jyFN-uNOy;l(jX!YN{N&s-7T%sUD7SmF(BO~-Q5z>At9a8UFVs#_TI~V z{_C7~=hgY~0S9N8Z`{uv*L~gBGr?~Zq%j|oJ%odU!<2a?@fHpa$pj7#%?}kBJX1tJ zRtFy7?cPeigew`M*aH7?Hc^*(Cod1j41Pz2LxLxRdjR_r@FN0G{y)DUw;jr`-<@2e~o1F74g4+NArWd?a{JXD|kTr z_)5bL{ErXz11}lJr4OE@FqcqN29Mx`urH)`@DJ19kKlKBD0ER*=M@~B7@Um63uR~c zT`0;=f@gQ#gk9`3s>-aU4|X4rho~!*r+jMi#@q>}bbElV%7>mB6r1540=_cTAxP-V zL<-7plsgy7*7hsThjkf}zZ<_Z<*sN@6iGXW&OCXtXw2RBw2$K$RRE6${$IcMk=75X z9wXBI`>S|31SaaJue_1|<(mctfxyJpdx%EnUtjjlz!-o-`}}X;t76_6a#$mzbpQVH zn-~Mqf4^EE3e-0-eeeRl{|}cN!p(|ECx-AZ-=7iTL%8|HOh5n2Yp^#!0!;q>E|6?# z#2^ePn;2jI%?92`O#NjT|9X?3#jwDOt8ma4U;fPopW!4)V>8pQT zF}$x#9o+wVlVS+`IA58f5$%y>{>=trV7=6l|79h?o&RSsVaxlU#r#iXf}Hf9$o&62 z&3=7^)_ApDm?0fWl_4I8m7!Jhez}h^&FU4F9M2zBLCh1DLwiymMgNsUS0(f}N76IQ z$8ro)UDnZVbR1_)_`8DI{>-pEk3psnPuP)riZ+hsqbPc-+;}o7yWECCO@N4kMc{FL z#%4|Jyadl>(2m4qxBgu~=1FuE1AI(!7qOlYP4_FCcg>gU_#`jHrTv!Eo$WCdC?oY4#+vQj_UED>Fb7-WyJ_#r| z5lFgjd(Ujz9uNnePU*GWSPfuRna`Ez2-*zsZv+M7GYSN>4s1hP=baWQH68gha~5Rb z#{M{c*P}O18Q;OVaAv1@9cJ4j*eXX}E_)+l;Y5nw)n2SbiiSkng`uJGkoY`bbXT(9 zoh~ofaN8-aA^OmGDCHYvWb1(Ne8Jhsj9=jPWb9PyBKd#SGVVuW5UC1A9EOpis!2`5 z(JYxnVvh}*1|qpTGn!|VRee^_1WGg85$ zk$MM9%iPl*YOkX19rg3Ov$+q3=krcA-IDuqJ(u&@vc&NBTV&C#U4k{a zF3rBD7!~{jJ-#*rpACM}->a}lYMKJkqxZ>w1n)0~D*)Xj*>AbO>yD^!$10p}zt6*} z{p8=^Ah8s$=ZTw;h)px7xO(xc{!AWD3H=IVcM!t?)EsPZSSMU zML*aC9X2sMFMb7f4H>_SX#uS$`LfP>`S--t93&cVe z-+J|R0d;kLtMPaJPSG%>R6f*k)_f?yb&V&MK|V?Swlj}H0PiFH=kw!VWQw|fI4a#6 zcd*Ehk2axB3%H@|^?6lKYgWI=c9We^;Zi6@i#>uJ^{3;Ub@8xvB$Y58S34>nf4}^q zV711xSsrh*YEHLwdchPxfDK#{-p+|=gAN0uG}jg{l%7|U@iF@8&X}So z+xqv!Xp8z|Pm#Cs7{auFpv2x-U<{O-GWqhuZgO%#yUl4zkCPu*%|UN-x3Z!Y@b+e_ zDz4}SL%`uH`A$Z}Whv49sMklf)UB%~io7b`4L)p`cg3Pbx4L@?H$rLUo=~z6u6*h3 z^e_Ik7$u40^}%q8&u6K^ZXrxI2JL=m2(-*rO5Zu#(agQQ-xm8W*}~GCNt{MEiD}}8 z!K7#SAZQz%ulH(pCsYQQJHESxQ;4L~lOk4l(($3NM!7h08@Z-_9-G zsoDttmgbl1XnPkfFJwMjnSXJ6zKD-fF~HuSJ{H?45))}_AiI0AH709fd$|^0lY{1h z5|{j;xvmzJi>@%zr&bFp6oF;w@#vS=DRx8owIbVaalG;8J9A}jI%(*rhUalRQTNX}yDmIgR)g@xuP=P9YBVD=jacJDCRThEQuFOdSIV{v z3gbFlcFTJ@4MW-9H7a1EK)sZt?*}+q2&Ac8vYrlKt|u#MyKZGae*KeK`t3{`6QccQ zyTn7`g`?-4dFKmmiid3OQ~uOaL~J!bZ53{Cu(ipnUaRjfG(m5p&7WFx88Tv`l(((6 z2q8bB%fANM>cOsL;@xr#cG}uYMV5=*#^a%(H9gx7M^I^4(Oj2s)@a@poEKa>-!0c; z@=mvI>m}&14@;(rcocckE-*ll+dn5U)J0y&IA{n_OXgQh*xRQ46L_y^s6jAO)ET)3 zSyk@LaU!;3g9Xi#C!6P(`w)gh!e!|9tXdsw+Hs%CZP%b_*b!lj#_G;tclw93mhuML zSmseh+dM|;95?80HN*Pxwu(H%j_qTj+M4$gdwA*^3 zY0+T^4^@#EeviKc3C){C?SwqIYjztc=RAzrN^>P$^IX|@_DTDK^XW5CMLdS{d}MkmMT~8P>AxSrpNt_#*DrjVP13$IWZ{KMJ|>QH-5;IR4qMj{FNjV&EWrl#p;IU zU7JW)YFuqg&9ou9(S;;|iQ~M()X2&EmfN#sfHQb=7z=$}V$riu&fbm^7#q*{v_A0t z!JuXjL3Vhw`@XNz&pMQ;pCEmRcTF(z&w_J7F9zw3a#HV^;DK&@^~L(;NJL{r;W%xu z9L$)?RLqOikxe4QZPHJ`^>In8yq~#HeP6Q2sQ2@uZuK;WNsY|Gy$Jk*LHrCdS8;uF)aqMxSs5x;A5{61rv#>Q#UPoPJkWeRl&`;-(G z$|73!DV#Q}*+)I7GSiOC#E-@9i)#E&p{+;Yt`>9I@#D)VLg8A=#) z3n)UaU*6tBP3ycpa-U7AcW9QhBAOsL5cHo(Q+p^gN0uGh{qiT43hCfYR+1z(G3Fns z!Rf16aJ7W*Xm^e?5JVm>`mJr5#Iqg(zDFnT=K=nx`WGLXKX+l-2PZm*&HIlXTM-7SO%62Lmx;m@Tl zcbZo9TRD>#gJ`a#EkdrB<_iI-o((fqTcFS|LWP94IMce;5NlVFf))rvyDD=>Z*|l8!rV5>HuAxw4qGrcj`=X(3I><;ERQg0_F~S_ z5_5loklfB?Z^IC8c6iU9e8mmmK2}=E3mN@q*jkS|3*3(S7>g;tYJF%@X&SG;2TO>? zT3Y1TyeeYVIjueYkP+bDfW7Kg8#(jO2Kick(2rhCvN&&P{dgcTV%fVL6_b`p(+0`)zVd339_} z(lhQd+0ny8-zU4cJ#f2y-oI$>Adu}PQ_azQVQAGc!rjDFIA>KMZ+?PzH0Ynq7U2?y zP9luOLaaV9NXNHn{^E+uRpRJJ4QG3CgC?#C=d%%B*EfpMR}H8c7|YS7(Bh+||09`6 ze3TAE8M8i72)n^_<4j=xDuBvd25)c``pq=s%9lRYgzt)I;AJvJ&V#L~{zdg{y8cJM zacEYBx6fJ;u`!y2i;g$z5yr!xFPLFybt8^BYX1aC&HNOFRznVpHo=(hiuX5OYXV-z z^&>Cw%BOXlo8{ynz~kU#&}Z1BA802?i> z{Qz5ydPmsyjbHFX-UdQfKh9GL`P}AvaKD>1Bwm4+h}Yx{Qx&F)mec#q*Cks-J6vIM zWrwZ(stl$LR2cd-^bzRzDrJW9G3X78Jty?fJQKL%y17Tbu^RAjFKSjM3M4~ASwAjBa{ql`_=NJ;AZ ziBp*36Uk*@?9NOl%t%#BbUk2^O}z2bp%~-gC2x5^tj)=s7jn!gV*QZ32NZoRn9?+_3VF{=7xLe6EIQ>AIOOP|n@RMp$K zXGrqD%{$HogK(LieI%~kA=Te{7BtAoh2c9(p~~~khD6k}aj*KwCOPjf>{n_tQx4ME z;4)uwnLeILjsny|UNFJxTOULDy%nnsh0=<>=}Mq|r$cUvZOAj>D%SoyiqEF%cpg(a zPT@^i^-0f}u&Y(vK+C}Sy|`OxKF}kjNaqJ=?rK%SS-vnut3h=zMHgiMSc=bBpdNTR ze4ZGJ7!W}sW%bzIZob-Pu>r0Yk3>wO>3~MNox}-2KKyiHc!b#f!g}npRrOPvhqYn$ z<-rfDX!^s*pAYp8baI9pl{Q~lNFK_BQVRwAQq>aLk&O8P?|IOMVt8@zE4$Jt_KDV& ze2;-;*DAO?1LR~bJZ4K!^%>qbWgIhqVe+kAgZyi;;*umKS@fSLB}O?!WU-u%tLAmU z(utG|=H?8tJl+AdpHqq&N--v!z`ndZibr@v^5m)g<{P6~d7)804lQJeH3E!tA40f!xo4)e`!k2Cb3dE@SvA~o zLDit?=dqrxo4M>4MMb$eP2Wv=p#H5PpxaQCa{-ltRcGJ(|;UQaLz^DF{OP1sjX znymxi4NFNCzs~Yq|u(3R@PS9i>EjC7%15qI{T&4ps_HWR1Y;?mVF4XnuNhp1eW7=>N&}I>+UBeR2rJO1rk+0=V2pSBRu5 z3TjJf<59mY4``=p%NmQe>dzOwTHJNU6*Qr_LK2C?qW3=&JUM+RA5pWjc?PjalG;Ut zlRfKC8U{5*yGtHiNEv;3p^i)5Icm0VDW-l?N%;oT9fv$XNG336jPbf*p`~wz{o{*L;O9P(mfHB z0}xVf*|@DWezKT zr>Ps4wOF+Ie%bR((bWhYDbY zJDx1RBJCXhcX*NYy-Badb8@Ih99x)xg~wjbBv*2=9z+&mGa&w2F2LH!9?k#&82*cf z%|`n#Gm>VFRnzT()|2JkU=ksUWQOI~a$su(fe9xWt1L0^;2LNfN|-mxCSt5IMS-tX zmqDnt0dHHbLE-e%CPO}%7oj?1Qqz*Hd_BoB1R!Sdn-%K&yn~(0ND=NybkqiwLRG@4 zKuTxOSQmM=wQ$C-+ocCY$1*AH9sjBrQg!+Gf9qL)75{QyR#wS#iHvD`$X@UL*ef}# zVHWQiV7%bJ=qp=7lO<6pxL&@zxrX2MvNwQl%m7^#;Rfy*V23P1QxBcNoi$1%y8W)p z{p7pqu;8*mI!57$gU}AFpm*h4jCvVp#1Ky;dI8O5iatdRr;XriPr}ZL?T}-&?x_Y? zzHkv7ss6B9XrK%5p~Z*(kRyON0c$eW2IH;7!eUJ{=TkqnqY>8J0BW_{a?QhL`)L?& z^m!sc^DHQ%?(75~Bvmuy$c6(;1+>=MJpO14ecS=nDU&E@Rh1w>$v4^J<&`^fknI4t zj;brfmgOLBH9e22AEk)cLT`is-`j0B_o1apNqZu6bX#bRz8}W-wZ|bB%{~R~*0Z|w zYZyVrQe62ZY7a|rSHE$J$PsUjbRvY?V4x10ocBA)eI*ta8BcF7<{DLIoPIo-lG`$0 zP$X!Q;wJPiZdaof$(p`bXy1S~-tdPcaaH$qFKr}G_l!NK+^#FAAo4XN546hK7k@YG zzi*Tl<#WIIXnB*ZcO|^N&y$8ev1lQYSd@mX=TP16d;RBh_7XXKf5&q zQEUiubLehoC$7nXzmU~<_%2EQoYwm~dfvoJ0Y#T!?pGg&Q-zCnqrC7L6~b0OnNwF! z6tzzChO>e2*00Kto3134^ST67A1yy!6P#zqW{D=%sfXO29c2_J=s(J5-X;5A1=8{_w9A$H2=JCc{4ugJdDV0s=t4s1ss^6gb z3W@mcwCKSIdTqz@jHZP9pL z*ZkJ;)N-Sqkn8;xy|1*1aSedjeAyvQagajke$bX3A=;iM;7}kYvP9~Ki66$xw_DZ$ zqqT^(h^6fO>R@n~Npb=m6fZ(w6l@|Kq(=caz^;Z@CtJ&4p^3=f*BY2zl{WkqupEV` z<*zMPwty4F9l>Q34rQroS@da;7f(&D5Y?wm6gi_$p7gD0JV{RgcZqx-@V#^Y|a3kz@&nl zHUyd0hO=LMpEc2QMb-%~UUlQi2MDrxPd~4Wzy(7pUjT%1Q$4V*^5Rh#sB-q>nNsST z=JHB0FUVl9ue^^TnJ-pDn7yRs5mD>c;=+MU?cUm%xYv&Ig`Si-K?W9TG1uoU_c|(6 ztW77Q%OII?pe49ctnQcbWnF6L{Zgjwzi<|DAOF`XEA_J{jFcA8>dg{RQj%3aS)~{s zFBr>e>^=hj$zY6*9atP!f;5X-$xb_`xi=!)x?$ucdTdUV1ebg$b$h;Qj1M)Z)vh77 zM2?^}Ajn$3?E#P?X@aT)<;kF(JrztxPu4ub*1DR^XW6pvalDn_-eu#*` z?@nXagL49#s~9g$Oa{N)Xo8JRJFrDDIvIdP#ec_ZTI7#JOn}Ns79^fRZSIg7Lf7AW zBEIXZzsCIlBMh5w3GNWo!M-_YH2@X*=E2SQi%t zEg@MLY*crecVKC+5!O25%gHeCrzbH~;1=kPqoH1FC*qB(2)t#Ek9tZ%is*Atw~<=m zvSEMIeEl0=eN@=Wf?Czp*BjA|r=U<8B9+5YxIw!kpw*qG^=B=+fz4H;srxrSFS;Mg zb6Jct*>qq&4=OCFFQ_yO*XCll`fXogHeX*=B_0}uTD@jHhSqfE@gndpJ6@Mr-g+A} zYRWZ%uEYU$Szeru*+@)y5eltBVWC$u4Z#As1 zOoo)HqN*WT`C+k{?lC1m^w|(z^AZe`*Gj2t2!&7EyiY*g_GgX8v4`~NOERExkyyv% z_KunF=9DGjEFX-Ll|rL zLFS$7UvGJb2HrALWYqZ&Hg8P?1cRw^mB%k7MPYjV^A3i7fRw1Jpkm#rFfxBT2ySOr zpkI!`{~v1qB>)g;K1$fR`a1~K^hwVw-w_(?n@u~o{B+fC=Yc_MF$g#lyTuTv?mu_) z8588KnU8~mY9!a%py!YsAgQsKV78AX;I}|#IUV_%@4aAb6_^vX3wZTU-IIJQ2FZC< z7xhvblsT-OAd)BTd2_thvmdKs2x`aBVeatirMH74o<(EeKNqo= zq6!VHf2{nq9PLd^e#H&8KDWPrgNfUp<_8{cG7$I_c*+q;h)1-!a!H3 z@r#>85s&&>Fv^hx^4n{SYhGd`JvEKE0Ch9krM2O&>hcib>AUYZl!A_|_fXKAsxF4SG1a8) z!3XZ<|M*Sesbq>k`I}bp$4Z4RxL@c}AN$nPegx<&e$LP=KAik{$?s8h4zvP6$h(ux zAFwWf{oVsi0#r5#J25AQ-S(TNwl@GV%m}8gsYiODL~NZPW12OIgyWCp$m6T&x@1qk zOSbNO$Wla;#A~gI)dDyj!@a60q8qKmzn#ZlBRp0EPt9oq_ys8-_phC1W@ zw>qJ1IW2AH6i`*Cku0j3gOnJF1X1pY8#D()@3Xz#=-%8TDF|$3iMd$;KJzqflT6-V zKA4-Ow9)qKfjm^8YP+ayL{7!be6lEULNVy^cGa{OAg+t2)a(!pe)pTho(#*W5<{4>4X~hn#>)M$84#fnXj|dS7hHFOJPaKv9P<16sUk4`)o15>mj*U;s0&xtNsd$ zj{J$nJl^@nG$ae)dx^7sY$4oOE`-uCQ44J&?}>hcMSntyJ1N~x0d8;^C}p^3!!7}N z&LO1o8!C7gl$N=zQ-)hK*l!B7#Jei$9vI3N7to}XqR$CvTo zs<(6&Y#bK;EGsey<}jK7SyI&VO^nS_ibRaf0q+lbsDQ&mR2HB{$*KiYpOl-cgAQz2 zY?n{R6!bl|Dm8Lu?VDT1=PS{0j?D6VW25AhMAF9 zyW$`=BMfl@jCX*H2Md)OM@`rLP%@CMJ{185AeAxCp=F@_-fG7BBDyMS2w4!d&|2s|EWjUVhjVt!0}AvYr*9}Q)8f&glQ4~5;xvn zo#Mk(T4K=DfR3lnVFFRJk*{x?Jb=>#1F@Wf5a8&2oPyX`^&H+36n<#Atybnp7iqsn z*-GTI$!L8w${A=1H|7zDLHc+|V29P_Y{oPcSiZTFZdWAU&OE-D33)ihCI zF@vb*-KFW_h&Xm^Y7|hFDt*O>B;k4~2h!1rd-89Yl>}L6&>70CR2h7bZ7{Z3M<6yw zQ{-rn_^iqIXB^+yL)ooH?&^TKWF0b!$RTRW9wmYlN^@}RdoSm)rxrEhdn%8A#<5qb zya~)`nyUGr2mc6e@7f0uC1fMjO<}3Au<*1x6?^@gke=P(vur0})m0BLPxoKYeP9>D zT|&=szXQ}Kt1l=Z>p=F3iAn;~HHxFYkN=98H|skC?*8ZdFqa9y`cR`vV~$mO_0h*m z1bjjk?j+V(h1^<=W(9AKW`}yeSm6wOt=qK!!RuOUdac_|^!6lL9W2ejU2C&K!pEq0 zH{rOiFPC7{ssgz>O!@>v(m{j|b=e14E96?!fa;QQ96QL<8KRFAmn4042dfb5jR!A( zF>6!VedmI|r&;c@nS0-0y>tf%v?*snB;sc!X0;vZv?v|Z>c8ZKBRzPI#_Tn?DzhZljzqBwyfX+1PnDf$$X^mo`IaH z?D*qH(9TFgz`-Y1a)&Hd>?H*{qrsiloKILwN zktVyp4Sx7l>Zn75s!=8Gx`?#CYc^LedR~87N}|)%h~=7U?5$@F;A#teR3sHb2syp! z{xEK?&LqC~{c5xGoeot+za8`$5=$fXNtCUCWhEO8&&#i&wpFu}$89%2H%5#?<@~iu zC^Ll`s0aVzfsD=|sRKSXxy&%h*8!nqOx;mG3nB+0$z}LlpW~~N-i&hpp;qR?BD|m$ zUGtq5x6^IHf)X$^+=jo`by*{fUyUuT0}?jG^A9!ij%#*T3Pguf9lgsnLz`QvElpj zq@A+PqOt!3aXBjLUaV&vC7E(WW#S4WSD*j<=-Vh9TU@LVrnR`TqMZUk(TMwd4Q9DF zfldUK@XN#%IyL2LU}}+IIS4$~V{MaLz?B7f8mnCPdrVh`S#V4kY7L{Qe;ckOvSB(|4MKu*5{QH#9i*)$0@O4flOy@*6Op!{@<9_%(--Y2ks>NWq zT<#iQQOJN2g3$6tiW5Qls_;GT8H|-^dT8Y_F2kUjkdx7k8?HJRM5@gwXvWZnx6eA4 z_lUv^5EcmLytlpeR*588mqk1Kim}DkizX7q!LhEa3LZY!BT-yyDnOko8HhzG0pM7d zz)q17>i|H2HDvZG*Es^XnNLrCs0CRn-@1*wK;ifJJWwB2w=Owp@*{?eG1b{{$wh5| zZuU_g?I{+!)b$Iq-f#HH4ldsXhUqQGZK@;T^X@wqUO0cy*DM~K(1fj10^FN{vU=>) zoFfby7nmeI&Qy!)$e9}!AGIJp+VV&+N>!<)cBR9aY+e~I;eE%y+b%5a_qvK7JY4CC zAMV@XF%W7E+9w{8G$$2^ z`yX;kQP{_u+?Aj@``0iITj$z+f+$TEB7@n0L{CsrFYr5?{UE*Lpz2d2ND6KB(c6M56l$1;1 z5oCG{#ySMB4FwvV-Q(gyZe_v&-HAzF2@E0KNrMJKb$2B`c@M8;%;W~r@0e&4j$97A zh}B|ne@60c4oO3^DrPMTi;;42yy5wpK+VcFdvsS8?+3xH7xS&hrhP~ET!;lHVy#kI zj>}K}p&TS`s&`L{+&YU<@L*1QW|TDRwkUT-0kt*w0ynqWyO=+5pZf#nGOnYKJqkI0 zf^K^ClaIqd%apH|v{|Fe*q*bVob z9x;E1@HQ#8?P~8s-EZ^3SJDwY?Y&$=_dS$O+I10~JQ6w|JIA|tv?teoNT>RC0QoVJ zguDh(xuhV%*t=GI?O$b3(5Y-SrB9XC>P}{7hsJtUje{ghu}*g4ibgH=NT@x<+kF_M zv{D3W3r%ewOZHB8~@%^JewoA=U0jhekKl0*3UynXZ!vqW(` zagHAwAxUIByx98ZQr);P%1nYxvg_c(DV06boAP7|)vs?$F?Y=J&W(CoT&b=66SOA} zpZh1CaY3VY2pD*9RHQbMk|@adU~pJF6pNyn&!4|>8bUSBc`*0R>S-x)RoJ5IPH}w5 zg`wecX!-(QoOy>VIfs3+xDj4PZX=bJJ(HEfzPF#w&TN^qdh>E*S;*P$+-O8MmsOP? zzg(2MMSeEIWepgc#R@WBHF1*Vtv^d0VEToNX{D3U)yok*P_OW<{2{sg<)|!&io4in z44Ul(3AaRERN*7dx+(|0kCBnzOpHFCRj`vPk12fithHJhCkFDE*ED)GLURio+*YU` zxUtKDs^4KPzo6O`%GBX47E-O1;EP)SD}Wq%*?)t|S}FM$(ye{mZmQv@UJ$Czlw9@; zZ~cw*_IaOBJs660ymt_ZcW^n0+IUs8(AOiK3?%+sF~0ej<={o~{rv1|-O2BdtkU=w%@U3 z;PCx?{exwoO0r;X-d)+*EHmgpvO-Ya`NCVx`AICCyf)p?(PqBE3HxX0B7+l9q9d0? zOKHeY74)1u+A7m55u^rn@;j)Ly$%oYo2l|IO`jSDN5s2Q61axZ*w|e3e^s;=4;)!N za)%ft2$H#J@atj7hpzyb^tScARE#)f!TQtY@m`LIt0q?zI#~!q=mqiN%=0zMZ8vvG zJDajPf2^-bffpH8wh2`5;y;hDl@hfnR6`-Rf$9df8dD%CJAaU>gGWS0T8^v~`}`?t zpED5mIjk{W(iP%h*eC=k+4!)imxsZcvG-c1#%5L>$Soac6h|0BZ1cuw7J9!$;_6l7 zW9yL^vxI*aX9D6 zq`8A(1#4vU5e3U$zWbp=!V<=Oa<~x`AC8B}}WJL76uNF3^@?7Z8 z$C!t?Dc+CKzB$hbWA!tCe@tXD0@ulD>%o`I7S7oi63Y+vD5UmwXXl&ITU%{8^696~ zPqdX4Tul(ZZrqX;VQndNl;fOW?l&liy)tY)5K-C~mA=VbPU?1nMhy@!#Be!mGjFpbKWVm!xHQabS&I6g4sGvBm;0KTv0f!_ zJRwM<5yGv}*%CC|{AAyX_QvWmKNnr^a@1aZTbGTRv&iyqle1GZ(J&Mq_K3v!JK2!P z-ETIxgv+p!t{}BE_k$OJ9tKfCX;pC1)Oe_%N#^t)! zUiePzk8=l9L;Eh7jY?d8Rj_W;hLkOvQaAzeKN5+rlO}YUbs)1;C{UQc3M1nKZqF~@ za@UqETJ7S>Q+Lk$9??78r3d1RHYp-s7zd9i7^xa3!$IHP!mM5O>Eq0>R!o!z`pR3u z-7@i_3-PelDZ=T}j}9_qS_vz#wk>`opcEUTM}B%?586t1(Ib=Z30zn7*^3tih3n)2 z=>hy<7jH@fTeAhzfPW7G|7Nmyh(A;qW|e74^Kna@t|N}{c{ZkJ9xn$CuOWNW?;}@8 zU~zwT4_DuZG>p@3u62iDsNfX;?A2=_#oK3HgR3W4uYewc=#XQ(qI82YbvW*LM*FL6UQ0ZGZCjDD-B6d{IW473QJZJb@_S4>F zjVSXTUKzm`O^XhTDyZIGoa2RY(#akIQ)Pv93Z?kC9Md}?D>Pv{V>qWz=0pY(EOjrK zLrEOc*Pr(b#XX5w;Z%`(4wn+g6s_WN61$Ob73dVuPqHQukqr1WZ)cACEDw%}NKG@~ zyAinGE#^pma?LVDbf9WHYbi@pb&0^o*4>fv&iJnPK$)Wq(h~Z(zn8UJ{J1wH@4r6_ z!0Bo$H(nJdD5OCMJ1Prwr=y`G)?d1b!o2&-%DO1VYu}H2eE}~jw~Tf(u9gj;P{m8% zQEB>w^}FjZFEe8$f&8c6f?2uwQq+!z&-@9Ywx{)A@GZk(XkCsFu#HV-Q$MgHiMisS zA@G-}cSAaD>LE(WxN=R1Ut*b}C2vBnc6VF?aXn>z!sr3#N$p(GIzNBpnk$OH2^5V9 znV{UEhXH~*P!TdYGTrccJ?bv~Z+a^gR$Ca~oK=+>WM`R~==wTYJQEKh&VZ-0Mli&Haz1dH7b+Z zcJfu5+0}aJ*22`^xvbUMhB>jQrVNO@1-2>gKm}dt_Mei*&vOH~*^PBxb&&dD*_A$l zd<>+5G?M^qUMm?jBjIV6J2slAq;TC#-`?xKr3+{4e1VA~PQ}F`I7H3rSLoTAQQMd9 zlU+i9uye_q8~J+L{dh1u{wl163*ia%cy6knyg_?aL0dx^aob3`IHC)I6H}qwJ3vAp z-05$r&aa(j@Om6huBZ z;GYs(RkUt0H&6DEKG`Ib9&>PoqT28Tk6BX~`ioCovcghAA*&(t*DKGLRE##D#d2>= z`ybQJ#R@J5(SBJ9Z_Fi{brnh28J2&$pw6Z2!9L1797WoPZupl`Wk0Fzgj8O={aLC1 zTZC+$)2eV*7eYOf$G->i03b`yl@TnQWzIoyR(QRk zCSBgHb;r?ZzAS@}ME4%R$5UCRWsb8SN9&zF)0#1=3&)i+ikOrRaF0ynxOgpr5cVqTey{h8}IQ3>z@Y zt|eDC<;JOvd9uN>sbXkNvzc_#+Dwd>P+SUZi=HD)-P_lp-3hiR)4$2j_+&lv&1921 z3K-7SNUOLv`u7L00mH%;;kw>OYHr|Vm67*l_r<8CZS%^95b@a_{na-nAClX%6m&kB z+;Wn0HMyQXyl@$OHbob52DVR-ADDvu#l;7?M7raIQI32|(dnh#fbJYYJ4aeHjWb4eeEJ`eouW!iK-8 zU?OtbyQqGI+JgW-THw=Cdn9&h2ipax#HQWPu39P)h+Zu@YVQg))579omb=aD1B@GW zZI>yj-5|Q232rDxo=ZxlFanqKDdV1k)$H02wbV4%?R$ z@od0S_iSQgt>b!G8ow2S>0M$-6LUBX@|x>+-^D~}HT`<8Wkbh|cBTAmY&=ZU86urM zX1~BFt`~09ggCmHA*VcV!c2U{CA`nM#t}T0`>gTm$$| zkL(Eq2csd2#Mo;Ro#>n<`X+@=ly7tjdh0})Q_33^d&{t7mm#uE!1{$R>}AXv+#IVw zxp^E&c32G&%<);YQ5i>Be+A@9Q}&UUXgxvuyoBTJJl$g|CH z2#R02<3uX4V-Z+`)s9gh^xt)WqS@!+F6jKwweP_82c#h|nHKn{dmANvGjUKcJGG%5 zNi8aZL*QA+0Z&qjVaJ)2r<+!Zn>8H$eDFc3Kd}P|%N&0ihR3srQ><5DV~(W9*=gfb z`NN7>u2VkMMWwVE02A|aWv?6ds5WtLB} z8!Fg`WtMy0?!eZOFmahYa6*|$wu?a08~Mlmn^I+89BC-N<+`JVp%w;&pH3txBgO-6 zF|75#J$ZokuDUkM#rCw)%I9c`XhcDfefS{#55Var+6V5ptvfmobreI%Y zqYP6i=)TJcGhPSO&?0LMNHeC1Q3C#GnD7qUUk1?O>@p{8W9$7!ZddE=Q|kw-HWn z$UbGKivDFUiZMpW-72+eV)zct>uu{rp#i&}7td!;0S{!`h?)_0_pt=1i2pLyTK1Z6 zg!N*xM=|kE1_tvwQ(%ZDC7uuvHlexW4$f{BvcPt+XVW|~%-@>G<=r~$XSs6~`gS2~ zF`fs9&hNhkW@Km-(nd7>FM2hAL>lqD3Fu59H4lc29(Dq@NACYnv>;E+&FJ3UpQvUDo=V3FrB z&v!eyU%FQ1T?jUA_qXSWH5Y&34A6R<=@aQX{~A@Uf}o}L{TO*`wCXdE+>f_ zWt0qc`YdyiL|KG^V1#XV2$-axKq}W)OCDS%{V^eye+4tY)bY+)sc~8kLeiS|d*6pH zaZWDP60w2zKt0r*PO?cUkQc$barNcf{0G5^D5~vo3XJk9wri_najKpef?LZc0ray! zXDv%9^ZX8%ZEe7oYvU!6Y1$yLF?$%0kScfAK+*g7Lm+ce$cs@`EGds(;yyrr5N~0# z_tM@e;1(Wb)Y)x3bpQ2PXq6xb?17Jqd=WJzXj!cvDSS44l6z87|cYplbK;gdMvlCZZS-T`s zGt@}Q2pkSo$h0IwZr0%oEK6eOUo!)^A||vF!Ywn0hRPCQXKe&F*URdwNL>czJCtBO z4s%!3FI2>}J(X?(Ao>@FRF0H9uIlZGnu0HsG5T2LZ~6ntl+~_eoqF~u6Se^sb+i@B zVD^vT!Fr*qemjo`Ib}`_!OwG03tWuIPW4z|h+3rreTm4aUmfg0Ky3UaO$P8wjgYD^ zP$FSrgwpiWBmo->sgtlB0|dsGwd57QBpZ77S-jI5UN^bpOQ;3?L*IIK1-*LQYB_EH zEZ8{A5KZnKz+)t~QxkObTXy!+i-ykPS3R?l z-+Uzez2Llp>66`OQagm)YoN$U4dFM=vsbw>jerWfio3s^Cj{A0}R!jGd^ueQl!uC0QCrVD6JG) zsdT_y;;O~S%qobf+oV`}q?5k^pMDT+#|bp8E=!~^O&4^(N+)kB_~=ry&dDZ$tQKtS zM_Ha|aQd)P+}saq1ldF5wQXg*@zrZUtr#cmLPeQq3jkZizuh9fkggGpmty4Ifk8yB z{zf3UfNw72Utb;e1^F&7B+GtfzY`CmY=My7H}z5%eog)QZ9~YX;Yny zz}0;;AQG@o8p$;@qZdeaPOlBKa0a~5>z5JkWowg_bOj-j)B;cZu};b6M5N?otr1whjWAyC- zaw{%fuMkM79e|cyrb1yd-7Z3 zwg#vA;03-lrrh9^^n}>zBrz4|Ol@fYhug-;qfOf3sFG*}fhVm*j|b(S&u206ACP|v z6M4DFus;44kp9O&XwTJ3ZZgT!{_24U82x&~<%l2>m?*#Pn$2Ze0bz}6f}`S5lI=di zJ7bIwZ}R|~JZ3k|^GXJ^jL#85o=T8oRESG!=yKFJ^BX9?P8cKf{23ZgstVuAJ+|pC ze!#^)9rZ(S^dhN#OhGVK75YN*7JTXu>UYr|R5bTzZ*$Ebu{KJSyPHr14tdLE)>k=5 zSb1ItwKPlY#c91a4^=4WIb3^XLVFI0TNar1hJ+)@wj6M`ZL^zw{+g0*024W&7g1z- zS+`jzQoA3#FdI?FdvnEBLy{DR+y*{Ah^7pIxKq||rckZaR@#0g{CSBwWfs6$*a6LC zJ+3HOM3SV`!=7daQwrNID7e^4Tx)i4282))AW{+;p zHvr}(Cea9TdxMfm>pzt4Uh`Ev;2d|GWebQderqlCl=Ed^yi_a%Yu>emR8rRd(1*v* zAx_2HHNhYg(<6pWSj2{eM#o059r%E91mrKqpv}Vjn^iws&h#(znxs;kGcHZYGd{M` zo@;*0+^OIT^${S}w!Kl+^Emx-=vwKILyh_(K_F;DTZaqMEvxrTJ~A`%FIHjTvAVur zW%Fo?vFV&HObHOC5yXAK2ci?W0alPtVR5x)-R|quWb0~;eC$tm-d6kRVfrW8x&h_A zNK(J&{^rS~wN&hj$HGE!^Hj+h7p(dc2vIRwv?7ED(;=eUB<}j>hQpd~wgGtt<1by{Dcq<3}>q%>| z1Oe$f+pb_jxS^r80b*y(?T>GwbxxVFl z>dYPoE}c!Nc;g-stTe|q5}sv>Q?)KI<$|(b$%1ZWVZU8nDFug6|rPB@!&Da!YPk zcqK+@#iW9iW#RXJ#S!u~n~}#lUv+d2s$wX6r38*QuwwG4P})ASS&Ii9`k{*OQo=%RgAP1Ea}vSxQ1!BpyC*39FRG!oeL{ zWk~3Iz_M(mi+e0BEtS&cukgh#q%?_FdZB1o{pSwj1V86{r7l)EUA(UGTTyYRwVvo# zlpPKooiD0wLIdU7vV|gAaliv(_5sE(;w~8m0|f4nm5{oRiH& zTm6l)Ges`ptd!I5tB&!5ZDiXyQ+U)xQC5l16Sa2U7*UK#Db=G|U|Yo;rM2FG{2=#{ z@!Q6dmf#EF*>lz$AIVoM_5YZ-GWtrUU7GZy32$UUHobW$yTe=E)~QLrf?yfCeI0z_ z0c4L*iUq4dlN1GCRPqsGttmh{eTymarJZAQFpg57jQ^7ixLMzKxE+Y;ar5iTW&Gn% zS#?QN<;Fv)O4EeP6dCRS=m{A~+99E-h2jq=9PPhtw9@J1sf>OT5h zzU<{AED1ipds=BtqbJ;4zhp}A61X~`%WDk8mO?iUtGlxmzMuUtQCQD{6|njJCnk$D zGZ0bjr(r)r(Y~rY(=pVlFW${&T=^EC<`!2{y;63gYAYai$r7=|ihx3S`tjZG6bC>{ zj0=#Qt`qk-b;001_JGSa$d1D{st~-hGFvb^yVK( zOt}$8NzWIFl>4Kb%1dhCO*&<}BRlCOLNY8r42_X7kJ$g#+9A+U$a z)Dby6{i)J>zaKaDP=v*HbdPSGQ<+InrRB+_=OWdIvUA1JGF29T;Uv2Sh)s;J2Rj%c z4^GhAR(X*e@wI5BNep+5-PsiIo8#e31Ub;2{hEJ-kNlD1fsWu#|2-hHUc9Kp0E~S- zvc39_xfaRThk*B>Cgfa%i&3di7^rLfQYO6~k@dB>t!fEi<5ftBo*yg-ycfa6rTu|a zxPoOq0N!^LUX z_L|@Ws#Yx$=-isz3r=Gn>XAqp^?WF)-$f8O_+v{Q6a=Npc40 zRLU%yKo&*x;eWlY&*N}q3SWK-AN~!1psKC)JgfbD4V>%;eph0gCxG-~1*g;y_R>mK z-5~+JxYl{Y?^qjJe5y|^d>`XtXkHwH%H1Hn<~7h&_)Oso#e-d2wW`e4FXHLH_rN6a^wdDdOC62`r24CT*8oRhqPRSHi|`tLa#sTJ^l4!LbuGj} z<$Ze`jL-W%y&hnxeuiLDb^?4N6I=&m;73+B_`ciN-#?sxHKV=H)(bcj?^~3fl$qf$ zLjwPEPwB%w9Dt17`Mcd;^8OC?6TGYDEXa@K;EY}b(y}dJL~qCx0UG5bd$|1HY#{Kj z|N27+uFb@tK`1pqMgQyH{{6%MeeJ*30zjMp|GZYDSQqALp44y+&d&@VL;qj9NrwFJ zqAo^hRY(hNijODgZ@&SG(lijSkpK*}P5`^14th?Y5@_E%@sH}Ifj6vX`$ZH15?ll$ z)1*6cz0F~@i=cFc9E+C37sN!d{Y-sF0Aj1u{05g%%2cELxsg*bqNYZP#WTmuk<K@KIt@J*E6Z%VL6`@M*h~TFd(U}Fn9{ADNL=Q6@o3fwy(Ev!Yo;bz$;n1)&rfeZ;@L_$%7La>Gx{N186 zOCJz__BX>-Lr`mUL>Y?9U#DaHDjWe?<&FzS89lbo_fdeRHCibM)!*>~+=ZW@^q{uW z6Dzb5*`pn+1ymUxL0a7}57brfmxDcM@xYzDv$xlGO zU=aoc!o26jcxDQp)+M>*eIPY|W~R2>#<#XvJ|J_QqfalmhPEdD1^F(>Og9a&-cMposO}Rmg9d?35wn_ z*wA)8LH0`n)bc0+t9zMz{2JL9fT|I)C`_d#7BW>U zfwsdZ0N_#I14>e_bg%*1{oAqjyenXVOrn3KSBVLxtpXaMp+KpZ)1f$wu`m63;ra=% z1o>|Yi}(uZ`h=a9A?%d{pmwXj0t7tj{EG0*CJ|307BDQih*(D*&Z*Y-p_ho{GKVlgS`4SH}uE}$UL1KxqF=JF2k zt{Cvj^-s@w(vCZ#g>~{i9~jV(i^Ug`Ozhm++3A8>Vt|sa)JX)X$l@O!vjKbupoW<+BkAv7_cLDAgFa|3AB&yG_UAB zWzl{K(1tCjvY;C4#U_FX(9z83aT};|3oDhiPhY{ImuFe}UkR|g{hcM#qx-FDh)3!l zlUsg__$F;QzqK8uGZdqnR&7I#9CrCxG#*YvkV)`zr+g3SAy4^2jWQxvbx<4@Rt=XS;IfLgx3EhiQvcg z>H6X+d_YDfbf65+3xnc~6cu>DzfajJ+&r&p}asN!U-Mvx}fjRkF3bGOkf?~Gj_Op+Lw?4kbfJV_) zozx9f&$MTM^c(;Wo~wJlr1w&F>bk0fzCbpF;@6B%^fVCUSwYJ}f zLA{wW-ka7Pn_3RT{|PEqUW$u0kc}OBw71x)CC@;g)_xHwaDV~6Jl)J^-py~0oli+U zFbLiydQa&(Mu^_Q6@d`Os?R!$qRMBM~66pB#c183?gLAO7iguaK{#;!f3> zCVFjN>w37D=wa3u{G_esfH-JGhD+phiIsiM0|08s>S5*;M!`bJ>g=#E_ zLNBt{?dGDV)ufvc1e&X$h*Bdu!%@Qi4wWM@zB-k7JIyv(L&*9>q{Owc*Z$?{&mP>? z?T;ln4H|v)J5nBkuNS84?3YFba1LYto5Tyms)vIQz?j3pmGT?)=p z;;(xEF^G`r*-$rOYv%2#nccQAuezPP{w2#;)$Ih^WT})CjTxtX`6oDy~O|#KO4{`l4)dm!ul zl>bu8WrsW+uFLQc7X!c08IV2D|1`jbWlM>u;E|~HozX-YxT&<^ZFUGt<$wrcrYkQwetUd)AL_B6=*mtZ zCgeQ};AjXculg%LfnSnv?z3s^#gg~EsJ5E7%?-T7J!636w&M(kl3(dg4}ty(PQ5)) zUqNYV_Ba4H`*Zw(AW?!1GN0G;I)FX$Xt}_lOV~zO@8fddP?1%R^2HbKkR?#quNYU6 zeLU*Fi7@<;M8R81H;`SZ6eD56gAbU+xoqKeW%5OpDrQ3)nyK<|;c_-i;T^226zALr>g>~-di&$-_iHgpa}j!y zlUsP14nvXN1Y7XKPn>rFp{SzPDxC)r}PDzZKU$N28G-IFi0nTMaC`wJ>eq)y-SnSwTRGVc3th9=tgUN#xhQR>MlMhxA^qu_(5-@eO_+V%@t7o z%sPsq>`V8zCPW=+c5@ub5Pv!X0>=uFnffRv^M6u%#jwBYC2FbgNRaHO^K)z@t=C8nD8?P?9 z>3KA!vQTdZju0OHh@oSyhwx5*RX9*km_HA& zO)|^nm@)K6MYtqOWv-28Jy(&R0}aAlcfIR~?J#a-!gWFeZ~3CccKdN0AmN`iV&KLa zQAt`S7CsUVXGf92c4#FCc$Rcv1Tyq}x?snBs}pzb>j%D56q!q}e}f2xy|0Ak^>h9) zr0V#vFbPcx)7DTnUlI4wj_UIqkNCJ`%n((e(;Nl*1?{1Xa;rir%a%R9)jv4aM*wAq zes=g{+w1aoTKPBmkM#05aJIELazqf_x78*OH3+{_PZLh}GC=KNH zQyFhu*lp)={Xs7Oid0uJ5nh*-lTk6i$8R_S5HR{ym@A$mDI23Y-unZf8y0Hq@VzGH z7wJ4)|Ew*SlK3B9!t>lea`*k|l&vA#EJB?OR@yy4k>io2WaBY{tgb=XD?L!M?XMQ3&w;;pHU8wKIhQ~T&zbPzX$?t@i>c3HwoMxR4fB5 zS830q`6#|&0J-JhpH;c_Gpv}>caIC=q(DE0Sls?O#u*c5HP>VD-jWlya0fCyeMa{n z%3c8xD1*Gn7mCrh3?*u8#;*o%#gop_@?JpRqn-9mY(BrqeZo+xt_Ng%#%jR*5brR( zC3e?tgvK7En=B$YN1KDB6`8IG# z1TJXs2N%S%Ga@-cb>Cxt-BRUdJ3&EUM0})`3R!RjM)?lOhPJ!B$<)y@7RHNe+)0E` zC?`-`{!<+>PlQrNlE4E)Y0Py}%Uqp`1&w3=+j*=!rqpdV^}QzbBNGapVpVc(sU_B2JEfB#xhWUsJjVg*<4)#GFw?(HAbIY z3S-Ldeb>76k71P6Gr>hG-|BA>d%$vNStg{-f49PEw5i;7$LgA%?S>>Jy$u>z*ZvH! zu2^)ZQd=}swuNbvX;}nSU(f|>5S?ceA$0uJ@iOSo_GK^cB1jC4>bm&zh}Ht}*T>qu zBINLD0bj2GL-OoTy6!fyHti9$dB6GeQ-{P*zaY|5_0^C_8k_!r2Dn07W(F>XSgkxWfPrN~VoCxje@=v|yb`*37 zb^C=^R%Xe9ct4d*S3F1?2vH_HO^roC23K9M8RO1~XUt|__j#P#zwYu;2?Y&WKJK*|m#-KonI^K)l zOE}po`BBn+^6V_Qrp~iPr=4#1Ly~h!1m~NCYWN-Ku@P3X@Wo|Gp>nlW6J!LmSIhK$ zHsGT7#rp}U3@;1@nm*<)i-hZ~pl4Bz<7lkumBs~Zx5JCLkM|TM8py?i0C7MWJ0z{w zXzi27C*v>{QD)-@w?EV#jGYB?3Y=e`;TFIDJw^<~yVeCITaD{;!vH6zA3@i4?1S7@ zIGuK>i{sf1n<@X>&(X)-R&rL0{V>i`bfaxz1-;nz&k#?$JCVC%bOQNRZoqJkrf0XE zHlF4q>}4(m3AV5Mu|VG|ThV;VN>+B3f%dOea@c+O^wj|o3cmO>haI>@z1wIAnNU5Xf1_T6W@YbAAe8 z9-tyJ7*?1(w~0S=G6*+Kt+(4HACzP$YE*W?4~W7tHT8naD;QR1T!$y6D!O@&UWPP_ z9B^BHgp!bZVtl^`eNqXjhot3eJ%+tMxl?dcagMdd#sFIN547%@HcxA6#%ftcn_KTj zr}gBqB|C^ex8@3N>kZ&(Qf%{k9LQNTHFFU?U3`Dr57V>! z8E}=g-~9N^5v$CC^G&0 z%$?qELAAUG5(J9CgEfwDfEASYs(FXub#13fVe*H z_`<4RSTMp0qYbn&d>b(!jK#VHlsn7mcj28l5VDoRAJ`|Tsz-9np^4C_Lvv}=Iml8? z>flL=zM9ne=Z(xb^=S*0-C+_TX#I<^6E6IR1&j9B#SY@5mv8vWzY557jGZEFhmA$< z&DIoge4!AwhF*67tjM88+B&Bh8$-?cxcT=UZyJO{W+9tUGSvYNN;$JxEI*?p5Z8m_GRRV6FPzs$j59x!OI>PfwF;=I{OpuuBQ zeZRG*+my!q%0g>dK9y!Zw@J&FEi^Gr;BV6dY^ow2LZGgO?c%o5Rc$vXQ)-v{GzhPL z4Y7&$4W(3bj|p7O)l2rOPMgJWvF(7hMW)W%u%876w70$T*Rc?=ZS1#8lPXzY&#W<4 zWlQ+4kI4niVdxW zUKej~*L`AdT`XzsFQ6;?5!o;~Q%EY)pDXL#|E{&?4DR!ADCK)}IW+CKetA4)#-}DQx^u;SSC8q7F5Bu5fTe&z(=6IDehYB@&Tm zxHlyOYd_iBjT8&O#I&EOk)B(GZw~<}RbSIM0jv$e zp4YLfj^7_Xjb&CQ3OedI1N~|BpIE9|{vV4@D&urio5xKwQxwjhuIsu^#CmQgB-sVf z5OtR0AyQ7VqkZ*zJW`Yo+`6Fv3PRB~IwcSJbUW`^s{4VKLY5putr7Ppn*k?oHxNa? z%=BuStkP;33meEM8P(0MES!pfi$ACx7w>ogD<2j85|p=zxucy-%%(bDE*hxqnz$%i zUzR_dl{6wQ|OtCBCe+Z0dCz- zN-*N77yF&^lepr$8hjSifiIHM$OgPC;o8cXpFf_zD*pJQ+bHqfx#UxnKaCxn09>R) zqtvE&?+LFB-O3cHqPL5dVo|MHatsxB_ioyUJlR6bqC_(B$X|n}g%7ZGB+K6Ya){rY zIQ)5*K!wI2DAPKf3yhx`YyfrNZ|F3$a^R!RrxXDPAR>gfZ0;;|kk7qxiMn`uwe zu~PdHextgr(D(hu%|E$TQa}Ic`>KlVHDbS%NutraO%<8%EU@;7Iirz0zpoMm&#~3V zVx5w3<9#(?GF7T&b26gc>@2}$B44o{U_Rp(EYHr8X;#(hfiX%X0{6oHeSv$AClpWr z8GGtBzRJ$}_@uSCUov;& zQR<%+XlMpu31YZTOGnFAuIf)?$5^r>OBX8JhorEU7dL@)wQ=w1?OW|!JHS-%5uw(R zo|tq9X<8(c`gVR2WCFb!8B4jeSN#UjZ?t2Re}3L-X_}ZMoRV0A9o=2!|Iti&_{S3C z;Ka7Dxt5XUzgI?Mh3aD zc~?c|w=pR?^Yf2|+YLZexbHZ;>JgliFsRUC7lN-^>LGytvPP-9;{rpJO(Df5V4 zzTWzuD~AJl&#>1s55QXplMUxN`tqoz;ibq#gUc#1WV)p2rKK3FISHL9KpoS!>upjB zH2kd+U+~P^H&~bX?uMH9F7o5N(-+4%gg;REH4BAMbkhQ9vlNv(@M5SGc&Zb?5(-0u zIo`&$3$Z>gVhN7Kd^@^M*Z2KE{vZ3h?t2R&ZzvfpV+nIVsfMsB@$*Th${vdKQ-E2Z zOOsla(TfB_Vvz854UA&q={)=Jb`%%Xb-LR{TErMr?Xeb#LjBU z?wIhq@p0A+5NtKUm>I>m{K%984zzljMi?ftR-@Gt zrNe4Gr{I)e<2pIwN0S_pcus)MvSUq_7DppAxIbi(i zRM^{bXlVan|6pOr)xNFFO)#eEaN%HYz|ro~MTCb#0Mxt)79P?ls#MRzob_85n)9b@ zZ5O!5P8H?`Clyx>oqcWZEvLhiophwV=NeUg+P*bKdXiAku0EY`S#&dRy3&n02=u6% zQ+#~P!dvwOQeAq%RENsh{n-Zma@+e*TsIa^$XCfTZr;=2wA+GIb(E@S@^#&ni@#6A zW8te|)F6-3v-$5!Iz?Qy(^K(MNf| zF81gOCm3Ta^vjzZ5VmSkm%S5K2~3yE_oV4`;I?+(gejmyVry*FrJQ0xk`ibN#bYE&_KZlj(9H+!y`v>xaeX=;sTBD~^QMU-iza z64#*&YE9F_DtVhih>&7ad*MlX+A2^mkyI!L)%AJZk`=}IxsotEVnTKriM^Q@6Y^X!B9Y4;6n>*$+&jR-Yht zn_pW}w~7+Fc)z6Jc?aIBD6y_qx$EfFy&b>7?Fyc1|BK69zxQ`uBl{PpEWD?P5YCZ( zFq93m;&$<}HGz-T5pd!pCl`Pi{tABMwe|=$l1>PCPA06imi^i}LVHUuyc@R(z3i3I zu(Wxp8D=oU#z!iOjA`@9;;5giR}>*JX=pa+d(~;7#Yxi$d+nUz=iT078{ZF+@^{%b ztj9-JTEw`VXBViPTt?F)LSF9+kVjTY&hq!WLTR%o)>$eQCU*7?mt@2eG4|6J123iv zrBTZwZk9_z+~@gIyrMeS6ECz!_93=e*|z4WeE}A$+3dM3sWo>Qtvcc!3gVLMvyFp`yWF}|>@klk^ zKVTBMX7&2CeaoeDXDH>>0*G}61={Or7#3RdFTM9QSYKKGk&ORfP2f$TwII{42oJck zh2Yg~@954p78kYlD|BDrY{I++oWu!I4D!v&zqodKCqh;ry-?MJRS z&|FuXE;TX)?J=lq;`PpBZ_IFku7xoiuY65?5 z3ZQQ{W%xJdL4{%iDDZIeOTXWQot$oWU52EY&n`*UCDcU3)b6J-yjt+2QzN2@~=oRxIZfxJIUz8p`$7Mis1E&gXXdKyN=bf+m zv0uk&cOdSGpvLtiy$Dcly+}KVT+L&Aid=$i)jfe1>cv+JnaqOf_K-7ezaDJ)#<6-6fz${Q&N2Ao^;qfC_BuhKcje829r5OyxQG91nngLO8BPCMndK4 zoqOkUwA*Q2J%tWkZmwvM-2B-K^F#_N3^uaU!zZ0-x+kE|PS$1U4?&}S;`TD_{+7ns zd4aBvDa|jz?TgM57@?MTtW|eY;1}an#?0e=d4Q6HuOp_RLo!$~dcZ6JZ+<(vmE`f+ zoltq7sGg60l1(95jWwUdHYOg1%}woA8N_|^hIwW`6C=0^ns)6I9*T#hkoBGFHqTFh^iONvmr zXMGk67`89pbyZKDjEjuBTF<17RYuLUx{eH+P41Q`?Po%rp^M^5UH49BlS?(v`nK>K zFMpSyJWsKylf8ESL7JK2vEs*mm#qk|fi&$UA2KNYjz9E6VYX;BPcs#I6EN=p`ksH@ zG^js?&6b8a!uXe|2kqgCY(#_m8S73NTf-A$`(aSqdmv3>OP57$H#tw?7Sl-Yb=7YW zxt6ocmh@*rQQ)B7#Iym3&J7t*UD$gD-6Bi%!=Huck|S^P`W3S*;4p@1PflDf*ooZx zRlQL%J6Y@PY7=VIIjl|}0DWHKf=$pJG$V0ai)NIN>d3p*$KAIR0-ymR>DoNlEBg=q z#i`UuBK?!^Tp!8G+8xrwEf8N2OrjqBOADYH$d%=l%zhju#m(C{LuCZ5VH2s2TpO+P zuj55|V=bPsy9D$_YgR& z@xg&Zwu}_@h4n8ne%#i@6;h{Rzr4tI*qCXv))ydWg4-7r2i!1Xc|4V*rFKOvbSy6~ zH=6c=s#Pm}OxViml#ciA)OwtTcCQ69nlpKI+vFUC>&1_>aSppXq@|3WrKI|CyD4F` zm%P6^2Nza1%Va#yQCi(qOizDdMAfeiCuHe7%R@yUMUIC`&v-0!SNgHjUs5OAV9n&t z((dE&mcXa*b!q1hs6X$^9{}xc)Beq2!o0`e;&zv&EXgu5ND?7uveYMg4B6*C+fqnP zt}b1I8PF_U->%Ed(k!GBCk4#KuTGmp$q&ALSe)%#Q)VV}$I?hRng3<8I@>4jz{9k^ zK$@5*hFOqbsH=d{O(CSF*}F+8?ie&6CUri^v^(>BtpZ|ii9i>T&*6%~UX6=3t1-6a zFxK-M(~W>ofb!z7n%>Sg*L&uhszR4(0DhwA<~`RH1cUfglixffAm*7jF=;YX;Axds zL0NCna&mW@>zT7DO=Z{Sks!K($lVCo!^A!63Y#Hb3jM-nH;a-Y$y#M~)h$Z=Ax#pz|LbIeItekd9f#PZdkog+)eM&NYJK+MvW33T! z=AD7xn+-bPU184KB#g|YZ9x#{ro+!h+I4NaS%_Z;)oFt!%{8`NF^aRuqA)2`&*R;c zi%ZZKU&zMCjC>Gk1J#qGC(Z_(t|EeAZ?^ z29w?%y=d;T4ghIHk9go%sSdhUg9qa2uLUD+c+#wOAWtA?d>Rn#?8YF* z21*!%UFd}TwR0v}L#X3LqCx}nCPSMd_g7tfZ*`kyrW((Mj8CmEHUHWGi*)M$rwxd| ztkOHpOdBko(wPNEcKdIDanrlivRQ-DxAppCK~8+AM|*>Ti^H%pTaG~s*ZfaU5jxr| z|5j*legEuc(sz|F5?y-b(-5bOymV3BKIrGIFc9LAJ+r&&;Ie7i%Yx=v&?d@f01HV) z`<8_ABmUL)NK2KX3pML-y!N5t0}6*mT6C$ zNo-nP(DPbZ(5KU1tT_g`eT4hUorU|0yb7;REgG7_l-`lNL14PrnBbq5G;$Nas${2V-^&S$yDvM%) zFMv3&94tz4+Y(&}p+=0@HjM?*gNyBK9ULp+LD@_`HLr`RG%hbKjY~1uXxSD0ZP<^` zVgxl29?m*@jJ|kt+y`0AJ+r7kf4SI4n?N!Og7cGbJD|i3Nk3~SQ8n=2%1WvgI6S$-qs}X0L^4jWUi3pFWH@%?NNmY z0l>|``16S(I@y@$wtWg;#K-&dB!*t84&K)F@d|2lIq)E^tp~Yca!gN=^W_LrThM!} z>91)o0$dWt9Oe0!2G!2NXB7^sCEh3`c5B786(2gS+p5m|U2XT4A<4@_5JabrI*1p- zOagD}y!QIBK3D9|MI2%#zl-mtm}8igsuh$3HUXU79DA-1Zi#o|Qi+{g|LwPU&jFWR z<+Zf@Qz{PLLixRcW2!Tp6$A8Ev-SZR3757*orMAe-b!X%B@D z;(~s+utVihywRo6IY4ak#Eex=al$G!OcL>0h*vEuV#uE}$(-^7ft#>Ntpap_Fm|Mo z@JA+c4A6TU>(M2*^V+d1HPUzUbM2dxzs}JXr=6HsIQ*H7Y*IzlHl>}aFL&MCsFv62sO;3Hs)k}7aq4sk6;^@6jjbv&PhL>fMt`!9hA!u z?=Bb>-a z^eX9S0k&APTj##lb@`^rw*GK)L7&Dpdmk4S1aV5X#kQ|<6m|?IU9EMs`metQ@tVzD zufc50S{5s>=DOMEa{h+VwQm5q zoFs!`wn2?Sc%oCo8v^G`I?o2nMa+ekH{#l}3&!<5F8q4ZY41`P^TP_L&nL2LuTQ8X zAHV1vJr;Ltv1p4=2;#@(bBo+~36t$cTFBMtP+1A;l}IQ(FqoY>+x;3@_w2-C`kU94 ze3PWBv-Ou2)9X}aba_~))ODFCFx-$;n~=jZ_J~jqv>TI@^%t4MXW|({Po0@Fjeb8% z-_;fChS}x(TB6LToBE_0!hMkKu|J7=zMwt1$=S&^$MyVt=J^D(-NHwG1K-)FkexXv zBdgp;)e3}rBCr&i?eFzRKTxFo*x|DoQyDdJA0lFiKKS=vzS_?)VhbQuE@dj$lHL33 zndIots!ipATDqL6=ipR~Ijnfji0^;D<{=_f-X~qItVZ+qiPf7h5nOG@aJgh|rW&ee z%@#JYYT(4qp|(@+4Ia@fWeR1=)$0 zns#UE1I2=_GzqocVxW@V#XKkGpo#PEhyDALuQn2RVo8p89puL<0H2W3!%F4)=1VHg zf^!cu7&#rrWv8rZC(}#(pRZfQB%>V@u${r8PW_$WcJeik1dN-q=29|~V9}660jnObi5pJk+{nY>c2+csl&r&>ON3C+bit8m z=u<(N!MHt*QGv|w;%eVHk?sz6=g`*}sQ0OW{oLYD1w@wU!xR>;s<$vD1 zkK2qCw|L-i;@1Qr2v4YJ9f9i#Vn&z~2b*-A1NO*kW>2m0EdsgXQNN%YV-^WyO)IBX zkwJC@rK?)d4gDeF9gWgI?{&X@Jn$^`s>P}fb4S@#WRs#D@@bdPE*dgi1{vjDB2ARr4x7VDrx}s8fjdC;>GT!iovdw} zr(ZX9KNgB=>iE)@D%=E5r}sMGLrnO7`#c%|!+zZzf%pR9z5(RbKBb*o+wD4wv{ywl z5Gg1uC{laohBYilK*mmj%b>ktb?WCt7z=!PuPxV*I7sWpr;=FwxQOWrCu>es$M^b>*~afug~m8iscv zo>b!wjAy`!)oixi!w!2|n?P|&y44l%elXn(y5HY>lop$~6WA`47K2i;{wjXi=||5? z1CS|1tlk08__yohsfJqW)i%)B7$6URX^bXxrsN1pa>+oCp3GTjQQ}{_53eGu$*uwX zR5N_sR*6Zjv?n<;n359h0py*M>kj}ok`S*Q^tzl(iRm{0--U`q5AHp!!-c+o1}4hV1~n6-;N&bN2_VGCo~d z(?a$pSQd{t`Gkh3>V^6$9|UGQAvEDXzq^|FkrzQHVi3&6AaOJ3Uj(jQ0c|8NV^$V# z1WaDl=vTt4V}{-ZvUp@TV5PnKN?P)X4Kn_!UpUt=MklJwW1YckWcCgQ$}WkZ1zwam zEXOfuI_iZ_msM(ua^;QUWKAk7zzh-(d9$224J&AUD^wWpNRmkJ|8zGX6xzYAM~9h$ zZv;Dqv37WIuib0P<{VR;CuMGnufYVnOMrjha?NW6t zerOaygrt64K|XC5_GCWcQ)wBC@q+0Xe|kl+`zP{l30S0|)n^)8cZWmgUB8jRrajNj z1&yXn2bvB*0?Gw=dv&aZFMjM`N78bt$x`kUe=UVER=%-f?RBLuV%7rX#<2T^D=^&S zN>UDX19Yh(s+WMEd2GFhmb3hP`lS>&blD~sfFES_qCVnA_fOgO%hxv`M4j?-fS^`H z1@K1(-szXTc8|x2rGwhAG?lEj2EWj}yQphRv20VfH%)f(Dqc-#v!{WTkXp!qs7*9R z)YgxEN9uqC=@NWiHh*_(DGAxZ^^OaE0;ilrn^Oa*;ee3cdUa~F-oT?K9LoF+TwV?{ z+y*E(NEUXi9be?RXQ)&Ryr;!^v)|njvHJQAHgFZS1IZ41?KwGr3C5G7oq|~eRcvcNJoVa+oEX*%q$g3j1l*UGFw{ z+AMYKTp!*$7P&;qLMFNF+#SlUAkK4)+itq{)%B|}Uen4f>bz!(<6ilprVY`2N=kWdD6e_g+ zZE~sZ4-vSd)8HFHI0iQ2^tsWfQXcTr^=|Jc0yXD#QInRw@8_00+6Ppuh5BC;^E8AA zIoY>rsqh)njP<|$20dz;nd8U0z6L!*T)WEOof5gp$?OJ2MQUf~!JjL&fqIuuMgEBG zK%rwPrV73R^?ahQtNr`13Yk_Ej%r}_*~?E_OZ)Toy*{-p3+t;FFpK1%vEG^^8o0gMVi>O=4R-5{gU+FrIJtM5O}U~>S&?)dcMq< zKk-m%lp8*OV?(6vslT24PHWkw!%c7>mKABQs{OsGrmqf>;JCvF0B+z&auq+l+QKuP zm^#$MD{O%W((tILr!|wrpAg{^Fh+SEIqaO2@|APmM|fkEt&aso#p@*$ixJ#6If4N) z1M|h#fm%zx7x-m|(w>npH5WbD{wvr*3An+`il)N$E%P#-T|a!?abh#-A;a&rC1edD z1#?I2n>1HU)Nkhzf~KWk6L-J%F4HIw!g=A;_HI(&eZR+CO=xre@?2L)Vtzcr#67?E zqQ5YGJWm9+EtTRrXUk(k!#(NR7I_X_phACz-X_5go5`iodGQo_>BYyg<#*n&T?3+y z%6;~W<6VRMM%ivhkaeZgDJ7?eTU7%=J|6TK{s(5nKh}o5Gx;cQvm0o+=ihg{xl0lk z)pH$-QP71W*L$GX0+yrYO1?hT>^Fx6krybEQTqxMFczVvQs(A8$jSt4>1t(Rb`1yX}|EbP~eQz_YcGCqnm}Suhl*L*o))E}A zVmErSoK%!reW)Oyj?Tp!_`Y@}-cRP|lat-?+bhlboxwcNloGl~K)og$lQ$&O{n#@X z_FGn^HDk6PUB9r-pW04dHi_!pL)6QviuHIM>QWUKy~+a<`t6xt6mR5{k0wXAJJ7$j&c!!wx6tL8t4s zK_q^2q?hVGhGl?utd+Lj&)QeU-tE6``Ta(%zbuo8P zf?I;j7c`TY!R_AD&a#V<3&#OOpRZ7_snor77oEsz%-fxsXOw9R{nJ6|6#T9J1w95v z-G22HXK!Lj+lJ2@*(8ri<|c3*NFgv;wgkKoEZ^Ne4(AxMn32nO`4uEy6X@-i_9FIJ zk($#fQ%|%DVaHCcw8T>%blz`YkkvS=C{oA|%rY0y1nEgf5f;XrA8-Kpx~!=lY++yR z%#ZEwO5Sb0+W_OCN=M2~;dyd^D$xF8TuO%)TO7LNP_Dz<0pJzynwH5D2gE-YjSpMF?8>9(+ z;4(0FZzP?ydki^wIVWCIv$I`ScOl}vVm#F$3@=JkE?sFWimcQNt?X4EWO;>*vr0CV z?JB!kP{6aGR?!l0IRtGFUB*C=zMy?Q`26&IBjjeH50!H(y-;U;UFO-3`lk@dsa2JH zQPKI@G5s5OPRiKE44nw%V(uMl*^M{|KQFQOENZZueUH_$N%(UCMz1E2ZCeeLye9)lhpw8Ath|$kOu0-II!1y zlo^pG8Ex;1rc*Df{vY<a#~H^_=XdX4cddKZ`u;O()(mhy=l#6z-ur#_^E^AX!SVoV ziQ?NTPI{a$8R@ooGk9s|@GM2|iZIr-2f7Cf7<*-b@iS`{u?S#8h-^bOnw6IOC)}}K z92?c#Uz~fV#yTl?gB+UM%GyGgK5`t=;=|_ya?8t5DM@@hO}?RtCwJd@@iylQ_W69+ z?xp~R)r3uCl%#ERdV^oi8jRN)&+FJ8jLDN6#qFFaATPqISbUEA)PRrT@fzIOZd9#B zPs)*!Sq{DtUA0k>uDw<%Qf5c}03a_T>h{TwYRTYXSD_1$kv6O{3_p+-qifXd8D?wPP#$KAtwE5(p5SuTub3%vz zA(vAC9O!|b&OM3_fvY`ZYY(g(-R|O6o(dadeeU&6o`RJ4R2=(|3ovt+0wQ8V>!@1` zmCelQpXfb4M4Y{K`;8uL=Lo_`G1S_$`Kp>O{%0-5!Nbhkb8vhU6xQ~0Oo$M*FkogN zcP#cbQ(&1cA8^_N4v_OCq{dw-c~nB4$*N81b`DyTyE$*ebR0C|(y$|&X9uxoQ!Q3Z zRitq>Q(;b(3#OM7@SbV}(*+mL&Tv}pCOSAFg4H15FKpKa$Aebgg9z$BZpmtH?5u4E ze=c(y(refy&#ZQ>g;~=B=Mu~U6J}oUBZrs*h-w-3s~(tuDEfa<)xizWe?xE1ruDaVN)Oq@=Poq^ylua`@4KnAbXpPTB)hNEMM^v zky}SK-|Mf!^kZcj2yZjQAy?pO4-BYsOa^go^Gp2Ka?H_Em?)J_CQ009& zU8rWhEOat%UVB_~MoAr`AjNiGa)HKaX4bZkg$AX?o@CSe;tou@^HY?KmBlIYq3G zqz+u5oYdM{_DI%EbLBnT-e>U&u}J1FSy>(wR@T6n5nyWtjiBewcLZ&C-GBtCx?qc$ zULpTFL=>CM=C%7VrHsmFsnbFev;Cri)U3bA4ysL=C7&oFS~V)FoM^cPa?p6UE@d_N zi4BbcS%Wu{R{2)sAl%J|?-`|3Xud1+>jlH7nvEKF`>qRz+>iDjA8`1VlVPKgJ~H2d zh938nvMI()f}|UBqH&6suoWHbzE(LRC9E@;*k-T((lV8r*gs({NO)yMSpgS)?5Sy< zCDz!4?b}XD;>uDSYTKg;6h5tW){7^QxY5Fdg4?_zOOL#pW-BV#mCS{`VWFNxTrAy@e=+i*pLEW zU+<^ch;iSXelqX{xr>Yy0zg(eM#OaTW5MTR>}9z3Q;%;r-nrk&+pFD~J@VRfKc={poEYcS$9Nn$J zwH-UpLFFKuIdrAF_#WBW{)VC)mWH_^E)*g9dk#cyp}yE@4<*S%s4K#+@&wpP{m3e8@b@@6M6ejKC3hR4I!vd1BZds zEiQ)6X=|o`?%y+8k3INcU_S8Y7Y@g4wPdyKMj+Gx%5};fl?!Inxyi{|Iu*?` ze#NqaP}EXy)G3CNF`ZON-qw@}Ueol0*UbH*Ro{=b$8`bj{4!%AI|-l39WWsDFW%UN zrpHHDodtT#3XP#q`u)G&`UtlFgf}nepzxwqL%*K{38vc&=KMYr`g5AiXq7vqq3oik zHEm5A8;>1*fYR=?esNSrBfi0u8?CaNkO0Z?Zr$BAFK2u^p(mO0?eQ(Z_9O34qk#E? zhdsq8eesUTF{P;Z4Vwb-;M4LSfL_4}@`vFabm+Fi|DuO<>?Aj-_a?)EjU zos=NSYJ?&&Qa_lUH)tcAvgBwP~3DI?`_TB|#q+KN~ThwYj z2&19~)yls(3$1(p31u4_Yjfz@GIMxNA;svtcYDE&0OBEbo>oe30QTw!EK40Rrk5@8 zc=#DsTCLm*%Wv+GS~O=@?w@9pux5lavGv#Lh>;88vvI(v>~R92d& zSDb;~YJnMsdU#&B;=Wxl-TRUSR)D`UsynZAceConP9o_!Zah5ZRzS8y#4kCy&14FA zzz`|t#$3GP{cnyz0!E)qw@{J3J+d?J7)2jAf0E8)>P97jb}jwWi9CiEJ-{0@ab09M-I!N7)pQK_V?V!#O;pf|Y$DfxZKA)bzuie5I{*>12Av(2 zM6RmTGc9@lfrmQWCCHF8$W%$+=Ww_a!RefK5H@pW&cn+yZ$3|~0H-cFceHi`UNX;u zLbB_!{1{-6+wc9wPG!{(8Yzx81O|p&ADnhjkw$5NCuP)NK9NMl-z3<^?^jm zmu^J5mtVVfaZmzvxci)j(pO$}G}t+f*xeYc5Rrb-GSs^V0Yj=souc|&Nc)kbIJ;i< zR+tjn=RtZ6>3VGW@$L11N|92|kw|r+g6Y!ULr#<1aat1}x4bK{4sFPB>(|}IRL`wR zS8n#Nt&~^7b*=>_@tWH$Vn4*CpssYM1jqY(I9_teZqJ#-il)kV+zaM?1qF_2Y1mqR zqiCvyp@31^%S&b|shRGmh3~cVK9yD~<*%W3TiTA^fhC2|<1rrg_i&NP(UVrGkGWt403#=2$dlyw zuq3VWcE*;=4V#6bc!zZ$I`!M#JQ3~S`0+^haVC%Sl1Ar;3&+Wx+Ycw41=^Q;r{?Ue z9yw%xX2Q6w7GqJOjJTO7zQsHt&SDmxGfc`Im;pf7b0=yM7|H3D6(T`qBg<%mf#Sms z3^pvwFxNM3mUt^L3H)0{m8xgDTZKxU6-^sYqAP48^B-4KroX zCy6*@L-WABSby*M_1->0;|KXuqM<9{F=~$i&B)P{sy(?Sn?8Db>RYk~_hRyp_7b?Y zm2`g#Tt{9&VaMXBc?k7*;sbe7CF?XbmOyX)3a*Z8Ho4lJUp*$=s9M$;;C_Fv*}h;6 z5xNz+MVCbel>~wh4sx|0Dllkl3HmS^F-B{xNN)(7sLmhMGRrBx;Wx9|qq1<&u`hT& zyqoQb>7kc2YFdWS$Y5XS=@*?L-e8$d^kXyCP%ZBZkU{$`s}&C|o^vbZyF5fd-PH>C`5`ugS&>@LAK%ais^ zr@y|M+GUT2N=_!prNT{Y9&A4q{LzcZ%w%Ods;gZg!% zOjJoeR+u(DO^&p=3OfjR&)akS28FH!SDBTW_W&$b82U~x7k1oaIMzzlWAX_4-p0>q zU`0T6#xLH#ge)^hXakfgNuhuPh-=^#pFkh}5Ytd6($vzy{q9Nc1&$eu(TRk~%`3=I zS27XJWr7N&J{~D_+k!2)(wrA-J)!|Fy%@`=YIQX z9tIj5+)NYRi`&bSx|>ex{>+qMKS%MbskPX2}!YzNdOB2+9e-wyZ| zhCV|b<3e5=;79BQ2Z%h0bY&Cb%5a#HnnP>DcW`cc!bN8afn=bI>fvQ;W7BiMg^23UXH zs*Y6=pl_gw;{Qr3{feUQTHOn&@W^ycx(@QOi_dj|HVC@^9 z;aKi$L-FqQ%=BL5LhR}qc)o-%QW?yu-O{Nz6#^)ax~7-tOj)q~`Iwv}HM+&;fg}8~!<` zWFV79b>(n5QeM4#FyuqN6Kvlq!fD?3O1oOz{LQe(o?DWZ(yY3>nBGnf_BbgI16PR{ ztOjb?N-}z~xAW#LjY~Juipq(zWrhsA9X>iVoBJiwug{#aft_94VsKZCIdbF*28W@L z-MPe&#MkL=%sQ7;y+3MrE!YdBj14dkp$PT%PG!x*a?;bOewiwAZwv@kyY7?LKJD_M zkL@ctpRgL_fImHEc$sbCIX0z9;Ou23!5*{5C{f}_|9;HK7c}{rCW-yDG(1$dis;rx zZ_>owY1)_9dzH{h_PBWislfh{XsJiv7KTZ^|9f)GEH>5ypiqOU@b56y1FR|tQ#*7F zqiqKIE}?e&Z`l$c#k6%o>ZgYlZ!%|{2XYc{=IVL_Gt==z0)#u|Fbb9w*L$x+yJPPF z+VYS^hOb4!FlB}8c~1Su?a4Kf>9=a{2m2CC)oE`?sMt^6auRAv z^R>qUEuxNQq2lH;0krEb2dunbGd(-Vy^T7io_FoRx}J)+1*wDQR{(f^=$2_XQdUDSu0>N>^N zm8L5J?c|(8mC{p|JQZ#4+w1_ z0%?JJ%*b{r7$Gj-SY%}W`3;FncxoO%A!A0u5u<~p1*kn4WS45Y5u;z(*nxW3N?Wz~ z4|>j&ff}Fm7I=03MX&(WRda5LkCe|myd19fEdXbr5JsGl=+2^#sA}A1S6bv=50odn zjp8vs?Nd*8dKJI;7Vvhwa}F9=6H+;B_Z`8J6#- zL?PGx+yHBQcHla=+-V@!uc2oG2KC24d~GJZ)baduwURIK)GZb1eUZ>u8bO@H7s)a| zXB|M9_NA-+e5M@`t|(1-QBfXvQ|dhr6&3)NL(LUgmEpWtol7bLB~hwv7KM(GayROpgNeEqW|;3 z%tU%onbQjZl{Vt4`XBl1$Nh|s2K@`jpind>IuZ*S)Y3l48Uu>Y{H_NMb zsMFpB>s9O8ue1!E?2!@Ie%A}Bd^v9I2P(;?HutqPZZeqZN22cYBg4v1By$9zacT_4Dg?-270 z86m960|$YJ;^4u#8*plhhargtxe$2oOp30RhqHDsTzbg0Vx|hd^Z$NjhNsd|D$-|1 zzz3F^cwKJ;t$xF$D*b6IGGJF@Qbug^`nh-YT#*OX|DTy{5x94WajCn`Yob{lj&Zh+A{mWBc=x2-$Z7e~oTGeto#NS6AP+#%cv6mLUPq-~W@z5pSB zW|#D>nxQUKKLqGz`|9dg~J9GeZQ!1L-9x(Gw@UorYH4Fb#|yfUr}6W%ldvT6u>pJtyY zoTD}ds&+QTaE>?8fJz%dQ!5~Q;e%Y#Bx$5=*L9f)B=YNoK3iJ@g`KQ>#kk|&TrLmb zLh7s6f@3swGdXnBo{d9H5GjPiPO4}#*E>IPRUcZgvUS2VO5Cy<+Wa@D+p-JuNN1SreBe^#XnFIMZR2S{w5 zh1>-`+9ccEQ#!l<=HKr-kjV_+&%Y75N;Kln{<&{|3xb<$v{iEiy5!zb4!wBYjU>bg#zwU=Wo5s(od^2F3g%$5)K7Au%fJvEG%sqG z4zkC%euscgmjJ72%o=<5=cO~J!AojByCOgs}wM9XTTbXH7xrAkE^A9GX_ z*U11bY?vzW$^~KU_Mka4N0O8BiyLs`;K>U>(-FON0)XG_Sa&;ZV`SbK7%};fKkT0V znu3Jfpx0jW@hd=+yR^uo+k2m$(As8DS<;thp%tMM8J##={0@pMLvUNZoD_R)eo1qr zB&?QGjDh?9C-J1=Tbg?B-T`?ybYh6JBAirHlY5sv|3<0ppOgUe+c$TPnXREWTvUZyY$$ zv$)@MX5~!ScD#S_bt`5!hZi02DdwTtHchfxdB9+l^D~}jSfb3}w2 zC;ayzh7#74U>T5viG7QcvPdV1%u%j@c)+=fHXqDv@0$8e;|=S`NE&oKqLp_B_u6N4 zf7JR8n{?jD*T4vP#8t5sGBLimXCm7H+oAJ(Y%ze6q$?aYB0P2qj``>p zJaY;}41*q|=#Wbr?~(z1DDCS8jW?5CWt%q_g4j{7bf}ajU$oY6M&BcG)W5q@(_U9k z`^&QqpM`5B32z(1a5ai`nrM7d;1NbaC}R?47iG@x9k0bUDd)Zr0E&2ehm{)8p-@B6YwSgFkNb?{e5lRCU|?m$8SkBEjy-3ko4YsXNR6UvIN8d zneE^KplYY{E5|Me$8FOV!~iY3EkBDM&RN1TLh>}CAZ6l*D{G(d1AspMy(aN%2R3i2 zNVnR;wV99I#)9e-5L-WV*&u<<5Ca?!lxCaW6omR`V@ZQ7TN&`kQdT*0hfq9c-yVHs>9#nq*Gp6L(QAlwFA|5I{M^$r%mP2Y8J*8rwa zZR5=g8Ut)tboC+c9lc;f~7N3+H7B=D%a#c=74g0Rb}=>2chCE@y1QQwp@^l8!`>`^D8yz5C2q>ESG_l;DQ86?c_VgwCEe@8+kz2 zmHk7)(QZlAgAmQo_+{-hLKkq0tsg;R6oAXO>bTg#6MA_rT=OIw$A0KcTyq9Ap#bTF zJ`-1CIn4g+M}&O)hzQ`KuLb?_+R7alb>*2GjI+ABw6T)sfq9_}A9VN&;QLN>#xPRW zYO$SQWaEP)bu;6=e1zWsz3~ohF!41)T8-s~JZb)x*DX}recUCF>uKKc#3voEg@T$! zvO=w)?6YNwp?3tQfpl}hEs3V%7?)v0;h?=;b^q?wj4w&Etxt^I@?1a|Z zS&a$cgRT(E?P!4|5c?MwMlcpi{_;>S@?&pKTu)QvF07VRPtL&Clsq@ASx_d!$0CTH z(&%mAid3`*(-ly8{Br+Y{%h$;2t73*HPa9`C<`xM%{|zw5(%1_;)n(~fR=O$;U8Z# zoRYcFt}XrMP^)n;FU+?PEy(RzNQrMj#`ZDRvTPS2u^|+}Shl53@72JCi+c7JD?{P1 z^K5a*4nmtiX!yxPa0v=`g7B{uI*$L-;s3*P_#_oWFbzWz9R}(n8sd7PxmS|8p*_Mp zmL~#POZuoC+&qROpgkq*P+msNdjXA+X2(ZSKyFDAf2p+#8LKKK(%mWvK}%5)$;2h_ z(XzX+?$>oA+{o*ZAuC?T|i2w zah?;3p~+2=sOf`l$o}6nvAkHj4S&QjG!vm$MLs$%*ckobi_h|_CffR+Pq=tF$jodG zqPi}?`!^d)bPo`i;2=F69LhuaY(9PT;C{Y=dr5UZCcJ7hwsBk9h8u8n`|ho)-njA6 z=oxR1ceX*P`uJyg(#RxnPca?^RBv*l^)wI~y}Q0Cr{>4Xb_FBDkP!j!qZZDf-ghPk zsR-)|GRt;{NoKd^(?bI4H_VOL_goxi{LgT)99+)YaS+1DA^4!0L=+WAvJ$5&cd!n?6JZLrs z`z8<{iMc0*ps?1CMGdLbeN? zf<(>_P`H(0b(`x1x3ptmhp^a;PSTw=kffRN(6_>qVYD59H*O``y9#aQq(5W43d?Ur zuCKvW%D?!AxGAK_K$blFZqZ+Bg&IVXNyU&ffq1t2(`nkX`xlD#;@gA@sGPZd8-xiq z7LuMvFgo`h5%PIw6ALl~cT<}PC^}@lzNJaZseiTk0<)$2E(c{b*cm+3n74s;ZIBP% zqg`XkeU)G;AO^}KSvL#JSr*z~aHi!LSmTFKrbNu!jIF+YMO5yU%ow{;3 zoNcz%#DS3jJg%9Hq^>Lp62kt?QOdpW%h}D2ozE}f)42MT)pl1Jb|lM9Koc{7Wds-* z0>ZoNqtfq6hANoCd76~d8)olF*p7SpZao&k>eVVNqX8Y>&u+nD(usLvd1`b8>CbrT{4(}~~o z&X6j{A!ai+ywv^)7x;EoJk>zlmmypQ`o>?<_u&v4ah22y>NZk8--MB>@CLw<$xC19 ze)}CN6(md9XgB?;mxd3MJqw`|{VwX)&w;8%03r$6`jYz3!4`SI|9z?N#pnOt)IW&D z|F+-vJoo>dGv$}7n%c@?pcix3D=@Eb2R8e+Mdj(q3Dd_ta|NgDS<7*%w2;Li1~D*GbgQz4ZAR`a}xTYDNf)ij|7%_q_yAbv%V{ z@48X?FFxX73Pz`L0Tt$#Xc=D$W(2fFy-z9IIOqxEj6$cs2y?otq-c3$`7>pq6~4*U z|NTqfN=%|orBYX$L&=^EYI(*Al~e)f?1JFm|Mn&&@~hm5;T)^y^Vz|6d~ zij06?k{i6K^ic8It69{{@x!I2T3yKqF z`&peRd&NwS;#$;#os z&>kKaA4gIJQTX&0dEn_^E)P@)Xh2%fMd{Mm_ou&G$iC7RqsebF?|&_NycPbYqKY&T zW;IQ~(EJa&>Fc&F92-_6^RDK<7Sluwf-xvHXL6<0l?d)jhk;b_=(foY>-*@!MTk$;-B#K6r zZ|_d;^KlT7+kCghrT=B*l@Nv2FEF(@{A5IomqJRILX<8S-xMwL?;HLx5%4D`LOG9V z73>Sk4&e|(rf;j1%lAs7GS)6POu zbz(h&zv5{fX4@Lv5f?!{mq zyA|cOmB`^vF3lc7|K$~1jsG~e!bn$`Pq3WS^O*#(GVhw(>H86atS(kWtXcL&mU@Q_ zi`>5bny2Mah3L!eRWKO>)AFL~Uq^4s#B<;Ps@^}Uee#XJ#fL~!>DtTHqbD9Ospz_q zM+Y&&v(M0c1yWiB2vWMt0opanDemFY+nG^sh3P_;HMp3Ca0I-afOZnEYN{PO)fP;C zi~?}H4RNM1s@VXEGBg57_n?(PQ3%BuXqPkWO#Q33iiH_!9r4a=$AzI3X+GV~yANA<50`-2tJY*_{7gEBr7OM8BzAN(41>|A!n2u%mBf5RXwkSs$MYHv=pc6iEb<$^{qElkrr^d)OJ1~KyOAG1DBQk zg)2Q;{9>cl`+|~tLjjt@0V{Pfw*kye^x?5{hX%F5_pW8CJ;~MznRLg?WTq{07(F&& z_~XLw`5LeIFj{!CV_EcwCd2Kex%H(-=LV$p@Qn<$!j=)WJqdRrwiqBre)fr7Q1?h@ zW^S-|+$hC$mY^HCbB;@mFegP;oVjO+<;IZ=`Uj*hbOGMC$=>7Ar{$#UzHred>kR*_Zv2^?QHb z({kek(;a&`F)&JKb)L;J9ui=&Yd2#5gfQZ=XJC?B>lFf4LrZY@oG{xBwwz4cZf@*k zcjVt?`}VE)x3`7S=`KU}Dcp9u$xusUO+nO1&k`n+5gCE}+GPHOLv0^;*U~i8?Ih^( z9SvE0@$y+&NPjqmdx`45)pJH%0G@0 z6BE+WR+46yN-d4agdar!MZWnoSEtxYufYH|9z6J5RW&uOeJT&36BLGN`iZfWbCNLHM z2xuD9TZO}W07?yLD|;T#*#eNXG-S}@F0jb_v(rAyf`@%b?d>ru3*~D2?LU3-1mqC( z)CfA0mKu}vVjDjFU`tPvM-(D=W6b`a)90Cac-d9O2u)x5LU;4|E8EM1D2lpjbnl`S19DkeD zYq8Z|%3;zduUNy;2M8Cq+!qjHKban}xmWLQ^u}@Ay<$iapjrY{V5`i^M0-s1_8$SxlL$QdY@A0Te@hfz0Oe0F;3G~VB0tZo_N)WHrHjro z4(N~btTdy7w5<}>Ff81-g5a5#dC@F6EU}@sbS$b!=Uc3Bd81ld;qZtE5p?A0GkcHb z=G~PxnFcPhA4@F|EmK&Bmtrj&u$ETcH`OgPq&+DeNksPQ`D^YXwtN!>2T+k`gnw92 zO`Y{_0& zcz|v*g>9kM3EWU*dg6>@owlX?$wIEPmq4^GLR~&55pj-B_eT+tUMAjl2=$?gW=@!S zO{8~i-_e&BAuiS1Un31D0$sNZ8y=SZD*`Q+gU8P^uWN>i5LpM|MP{!w6>5K5E!<_4 zP6?TPFKx|?i2fd9Th%l))qUqEp@F1hdJZveA%P+68Xyj8g<04}mN2iRYkY^Fx9Jt; z&`LUVg$<$YGAZ{C^X0Te#O1U9YGS7sAWyeSMw;8(h-Af#v*CJDC>4z>5Y4ooE`uFS z;ZN#^f#3@veFG<%Z6w{DUn_ZI9Bu8jNPoFIZ?}RbIIbclZi$^nxpoM%Uiodi zW4_{WaAJ4)mbOJqI%t!G==-Ts=4+A%b;2S71ZUDGR>6Pdh;!kwH`ENOM$AF{|0EfZ zl!;J=Y)mkIcJ|liu2^`=)_=kieVU1ZW>i->NhXl5g2tb1-R@0>F2}WsEdT0tSHRL* z0E;0be(cZ>2EG}bwSIbg|A$CeS^F&8qZZ&jBS4O==7|RQ1Hj=pJBwIz9@waSyLEM> zqBm(zg)k=83;tLaH%8=O6$cOyhmhR#+%TMbDup_7HYCWJyaQn|AT;axlNYrp*UnXX z>}`!;nT?U?y7hk(nc;aHJj7PIR9QsQ54Wdc+ zwYB2ZLoSV!+sA+0yO@v_f_vJ1iHOOOM#n?JTx1%5J&#T&n8Nl{QB?swMljdtKXWfr z()^}>9Dt>*9?;28{ALtGT=VtGgnRt!#tXJBcVUl=*l9m?AVFf05%7(IEc752VQFd86I%VK3f0u&Cm(U?2{34@7=3BzK7vkXNqES`m1{NtVJnLGG1Bp9=$>BLB(O|K8zV=T-|_}XvS0eg07oY$RxcB5+*sLa%H7(F*A`w zgu|7pz<=sc6<)YGZW*7LaplMmlpuKtBM2rdI{|t%hr!=D^|hAEA=3`-nRnsy*m@%+ zznxeuUO|r({|azh=1It-s}-G24sL-^MjA5Ge7zG{%scq_vnNu$1djivPL;DXDSoZUk7gWcRtUsbpLP|ZI=?!c;KJS zNEMHStP&A3(^sGBY9!MRnnx}xVr`wuoSVbDqVVibP(QYOx%;IYFn8&P^c6zEbQ4%w zg!L69d^Q>qrmbL80ZQi~7b|VmkGqD7HIhK)*5u-8t=a+;oAWL|@Qo16S)kv#Num~- zxYAe|>n~T$7@t55`ogt zRp$D`o$6!l0YqRXON9dE?*~E-(=G;XP!38hAzTOB$zXf@|2*(;-S&^)cNCvTy0*_z z;;4m?l}bwIUr#rD@-l>wXU@fa9?&>tQTqzxtT<0AKpMJ}>k8shYi=M0$t?8&8O&xp z$nh>H=-=O__~#wQ=ixhxGH{OvZ`=$Or5)O4I(px{^C{7Y>0r!3jiqdMEfPRA;`t9C zss&l9F(9WfsC`A0eL=47%Sn`|50hXx!x4F*ue!4XY*fMV88+RlC;rVzQ|HsED zBOgOk9pm+wP>mto`g8T?NsV?s+yS+U{A_b%VTAAyuPNH|1wgMl$FvRE^IX$pxIsWu zNE?vLTHzW)qM?oo=SE!$G3bk;{LnvB36q+ zGS5(9r^ZmY^j6b+g}@R4Ba(R@QFFKQ1S8#M+nb-D$7YtBH_R59uD($s4@1y7va$=V z8Dc1Rzdi+eFh|3+hg?`q@3kMmd?p=I>L#&2i8Ge+e0KJDlzuF^-fmv)fLF;&`tXh% z6iOa8&G6}UXrq!J@n?8d0OZQ>K+#QxV(MTzMK03RvExD=I3OaVf^7LHgL z8Pq?iIqumAWUe9+ApEp?F?HIH!D`csDY&kzyy|Bl~M zRf*RgMtiSdeYjhk>5Zb6drs(fEm~MhC z{0O#x{aYE{4lM3r%<0WWfba!}@5~F8w2P`PHNE~bueUjs-YuQ^^&yXf8MTi|h*rG<|Ng+~ zYF%!oLiB$i&@+f@@x7!IVzGCXNJU#&Y-Lv-aWf^MGr9f)spp3-K#@t>5y}r7Y5w82 znl_Ahto;Aa4Ff~-yfyk(4v#Xk$o{FZngxL*u5=cr|G?{=;Y%raI*@T&dI@|9)>6!~ zxmxzevyv1G)4|{O{*>Fkhg{@EpO>e(A;T#0Phtdetb0>aDlhN(FLmgIgp`&fSp3Hc z6ouwNMPKMY4IU5ZOmHuR8?BNFcALBOsNq^wQ^Sh`qV#VGy83RQCH8jGCY==*Oh~>( zL4Z4df0Xn*=(=o{u=4&2VE^HH6xKE4{-_Gi&wB^n(*J(x?V2dCGGcPFe2Uhc8hBmf&xaSr#Cf+_xjkKi**Z**yw>z54##i8TEOeFj<}ioC zS#HLxS-+2N*Ey@M!g)yLmel(qrkO~ZgFUY!bIg0;GIJzakbbzqcu}W? z2v^UQZ=OxlgZjPS+J1>DBtjCSq@$F7Gm1pi*vWXg#%bfyl^XW&!PYnQWN?+-kt-*a}>-@bv*_evy#Y6vU(-tWs}dg>&aCnImGp1#vsokf0- zc$tVOj$D&KKJiI&hmZ?#9S?z>K3RTFpHbn`RgI(;y5E!A!F>q|5+d&p%T}^P_j4JQ za+?Mcc2jUyHi9e!y&=1t4^Tm=}q5h>D6SjeO#Y!GMM(3ukT#(ARjik zhB+vFy@$azM1=A~UCn#Z$e#*Ar1Xl{J}_a=fLq(5>l`-jULz-ZcU`ZnNbs(L!2=?c z)rA{EtDLLdzi+DXiyT&x5mUCPQmK`kYsW8p2EiT82yc55mP_X+S^;Z}{^ zuPpcLM}~(bv?w|%CdVl2Q8d=kh|%k6%-0wcyiSSg?MvGpRmgA4U-J+-Ue&aZYQ_pvRPMRfmInd%yCL-#$z|K|#1C*y>{84x_G2jyN5GslFcWjlwc# z5^m%(g=@*r{9r1M+9NG~Ds*0tKLi$>3BS!Jt7_uO8>{Iv3Ld@M@zDNW&42qh8glep7y*TY#^uo5O1E9Rxj{C=qvzhxnsE|k|HngJ#-kxaYpao2 zFc4fwJn@ns?5H8>qsTii7WC-CBYu4!;&(U>NOOghTe%kW95vh+6_C;XlAls9PPZk} zXZZOh2Z6)yUt&tkGw2v9piA>lT;B;m&nZ^M}{ZwHy%o{ZuT+y>5KM zwdSvwidEL2;EHx`<%-!F=IwtW!GXRKafkTW?_uww9v%%bI{G=;yi*%@gQnN1XF1Xn zxP>=N1V#@Nen0P<@^_N2M7Wr-3NK0CVXsnRj!=4(dgtX6t~VUF|KpT-9FS%T(Rl81 z%(#@hzN15EOt47JE5#^%beA#G6U*D%kZNMpK)`3RXG;p(L-P2e+e_&Q11)}HRN@!{K z3oBi^y!_Uhe7l6iIzvN+Xs)1#>rEFAKOW^)Uqc5NJzie11;JvQ1!}Lf$UZb|k{uMi z%l^i~G#F6qnr-328-(dB3S0Ty2#gV^rwFJOX<*a2Vgjvsr4vq#k~8QtwTPHx8Z6)K zH61bbof3!0Ly*xzv6ltsUS5`VcJV(}DQfZ02|ka)qdA3EfHX<2thGDUQ7$iB(ZynC zvgY)v8Qwdoxnd#x*Y-enyG`kJs_s%{D@tH)p0L$}^wJsI8LPt;qPO;$e zq+G1qbaOF#1ksC|0PrRYpi!{#%}^Q9r65MUXNb{>qJlz8#f5jeA2~Y)4GjBMOt!us zr`HTb=Y3Qryao*THJ-o1O$)AD5LXp#iVAKMdXcoF$V!kJ`oN$6Q znq9LO8B{BE)NZ-I0M*<99mUvNnkFf4S7frH5k2v=eVz+O?ZGlyy@pE!YoZ(lIZ1D| zw`ziS8VDKF_qN_eH+}m8;r1qj|9k;gT8`5REluUu!;UXbbwpEQj(TY@5Sc5+oLc|- zR4iI|YoIq3Q5!mY5`z45lWqe91mU~e&@WL^e(;v4%~%%1 ztyN8?fcyd587JlE`xFQzowYJqkEga0`wf_TG~8q3Hd>5RXSv_{1%gmDN6KVLEq;2X6>wdUjssxu$d`5}J#CTT{=Q(S$#! zY6?W@t_-%FI?ekZ>zoTHw!r7=eXU=^LdjBihwgmT0Fn2uq5grW`cQ&?8rF^82Wlz7 zw@&qFSjKX8+1KcT9dgKO;@E`uN&4FDr=rUVL#3@F(qc?7+_iqWpk31##37b7uUTq* zYHSdXg=vec0?q3T!3N2t4UH^n`G@~WSg$V}Ruc^=pPCp?XlZNXJ>!sfCFxEC#NY>N zY3F$-p;4y*^OlrB3G?iRu;m%@R0^>7nnq?*WIMQ+o3re|F3zruXtk_Dh+b)~BU~|- zuLYYMa1i#gvPKV&k_tIns@DR^$O~0K=m?#Sq7a0n1M0uqBg! zy)Uw73IAPA z!RxE4XV{8}CSScfo`o9&{l7=0RI23zoRZtTZJb$Ui?)$>z++^GDurRj=9$+*=RK zP@%c<+%gTcT{Ldct5-(ijg}?N=9uq?>@YT+fkisdp4L{_TLNiGwORTPk{t=D$)0Ch zr)xnwi=GC}DC>~Y`bJ2aaLWDi+kBc`m6 zGr#G9t!Z{VKpx;at2JU;DvS9#m<8rd{-FpaZptsyin>xs^DLO`81GA^d_*K`ppe_B8YrQ28mmlahw|vhK^O!3jXqbZL$=MAL zO6i7tFobD6lWXylxvdh6ndFS;b>W}_p zdrFcd-!{@Md*|)NhBPqEXn$f)I@yrkwk>P8AsC38LHIPcvf?(`D6Eu-6rU*p89c<)E79Op86f&91|uv4NrH*ZHjN(y{+OVxk@m#JROgp@Zi1EuE`v1sPJ zXieb~B1@$F>Q=^WMUgcvsu>`vD5AP?PuKX z8S*>kXyVtY%=Wu3lI|r0M!k7Z#b#+VvRYEASbEe2-i{u>RiO%=k}&Hu&TTZcut zwQb|u+MpnaARQ(l(%p!JN{iB^FobkBh$2XfATV?&h?F!^Bho_&L#I*$3^3Bn4DqeO z*jxAWe$Vm#^NZuy|8c<0eXqFImFGII@(D8`n8S@KfFD-wrdn^A_FTrAg|ukW#r(swof3y1D2Wh^dr&D&&3Z+-EL7PHSe9FJwD) zJ>e;D(Qc^WM#h4R5YcTs74L#a27S-R41+%sUUFdHvU!TX9xgAQr8Q!>R4XR`;Br-s zDtq2LnNexx+(?U_7o=+sBzj(CIfT3ugN3_~<+Khr&rWUQ`2^Uom*8AX7raYySYt3l zEs_J)TMOOzc1Be;jawK02vPV$Pq}9*YqhAKI=$^@e#7+mRVKK#7ko|4tc^hiY6x5j zUJ!JxdM8gc3-}c=C0}>tn+@XJ$G4#B%uq&_b@`3k$3l_S05u_Mw?@*0vtT3lA(qR1 zp^}XU*dkD2JQDjuMN0<{}i>?eX!eIwXE>I z8k$iu-OTGk2M3{zTNrIux)$iQH8arr68TJkof%NAY!`86Ef-ZR-$fpMiCn8tvVMtOnl zq2`T-O+)Ti8(J(#4B4woA2TU!Nvz@U>VJIq6w8F5ZI zJY8wy+`vNL&_(n5$0ry#Xfrt>oGn&@#BK^ii9c+TJYLPxL~?Di+@&pRi8J%M+;UoO z|ADBemcWHi5z;1~qTJrB`Vd?B0Ct)(J%}#gg2*xmdz59NTWSAgL%b*%gvT`&K*UOH)=2~pK{ypI$y@^*% zJw0}QGEjBYd`0vP0eQ_3b%%_?2x>MqTgok<<*Py$h9|h4i+$F^Nc`t3`47ks+VCy- z5O~(BoTyqx;LQ$toa4AL1zX6^nokm{UKj(cM5oMch~+NYTMEeq)ed`3m)&Ds$GiQW z6B+w2@wmnXw21*v?~rvCm-iPU7Ze%1BXDXgF1Sv0%~p1A+Y|8FKUpmAS)Nwc@p!ON z?5zXt_Kq&)Rt+|*WhH8|<2Qr~(biX~oUX*u*YPcM`LKHdI0enmhxSfFDb^8OtiRQU=Oek*GD_tq&)pp61Gm#rJdda2{dw?FrrV8#(%$aDH>a)d` zgvOiX4RIbc0Fr448|^o^cU;o5s{yiwj|x?~^_=SX!FKik!4BZqDQmkBrR5b9p@EkKb+b5<)-a%`}$r z*t#&Opy*EB@P~p`eg>P=HHVT2nM*aTxZT9b-7JfHE~)sgATI5tryx_SFRk|+_{N3h z2=a%wSMfd)%po?yHqza?lTyas zW7T-p6!c@XviQ-Gz}!7po!0tgpu@+x<=Vgb>-SPu0O?Ckm+Ly!a_5ACLLN_;9kB@( z@6@iy7_n-&ki+lo&(Caw;M+IZ1W!>#L)!A zOVL^~p+ZZ3xQ0n?(6D3{zVlvLfszbVzV`{n2Y{*HfM1t;KfE{6DL9&EOV@d{MHBT5 z4cyUpRhx~^ROF)7vYv%>f6oCL$K#c2QVbDkM2)k)B9yT#=H#Kzm@C<2AryW=X^gn# z(&Zp}$D5)cXv@aF2-ZA>@jdFip|_a;{5ZT)AAFC&N2TvRVbZ4XvBVc~#W>Dn+Hp1~ ziNHWxA%XG%OG{$NUD_p~C^o4+uf9#|Cp8k=Vysg%bBmzFdPKyRZQTZrWx{{boT`IdjJ`>>LTTr_-@-(+Ys&^f< z5~#6H+2O8h4`S)5w=ZGCMz>Y?2G0T;i22GYA9pojtzJ3Ls_C58HDbGv*iOk%O&e0b zordh~3j>#8+UAM3%8I7vhXbwiZ;uasoCUY|-E)T%eYeByyfeYLIcx)XmC3M2zlSS< zvT1AhJUa&|1SE2^UMofFevj$yrO+xk;@eA(uCC|}MH^&YugZtN1v z$ADoa1qPS9$tGN0!|kWEqM24iMYHNa!`D;DP+zHHHD*J+)A=#o>yo{91Kot0kX;81 zbja+`Mgt!IB*wMpK}y|TpwV?lJd5Nrg(O-gOlaa~+bqx=z{OK+*q0Debz!L5qZ?co zsH)nj@WWM5WcF=3KBV7c--UK=ENa233i8OdD3oQO7q3cw$0+#UKa2NJtRL{&xWU){ z_yX!f$N8Ly%|Ifj_4uf<{_Fy1DP=X@gvDQPif}`M8z}{Pnyd((s;E>R#?x?_C+>Sd zW~6d`Y>CwqHlLC)+*2@87#7?HTr3}#_W-St65fr=MuuXv^lZvvV*X$KT1FQ?Qa z@eSTI)*GMk0{eR)BH=gY-tzA2urpvv%JL?Fp@EBCQh3T}JyNHsoN4P_&}+a>Qei*Q zOsXpUC1B$Nfuw!awc)x`5ZYU(SGMQ%*mHy2C1ztZsz!DIoE({x{@KK|NH|sgLtN^V zLl2AOYOu>_B_O6-D=GD1icFrX^#H6fNqB?)aW;VWskS%hGjOO1Zs3D3<{?lCTvM=7 zc`t7cEAh~0gDG+2gA2XQoK>ke<7472CbSs3v*}9xHuDA;I^3u>FnnfZYjHI*S6m`& zK-xfga6M(a#@usauy(~o85tUTtp}|*F`lta7B8!In8A$~3j7>l!ZImi2B3_}im}%$ ztHyVxK!!Jd^=2R5F}DSm;bPmH!rdjE;c;55h_ePpFl&1M1$_QPYczEFqEVdOrN{V~ zKR3}F1boX6>3T?&ed$1p<Q0?h*^(p@dqD9<2!`q8K!&&6*0td>dJgcvX3bS# zL6FLurx80lisD;k0OYB3nt*XOMAFs}&_NAyq`u^Xokk<&&&zj@m_{r20+O+~3<1TG z1%NNSiFZ&9d}LGgla;6poYg%)9Ao6JwJ!Y}qA*6A4M3Ydo+%xjz+G>n7;Pm8D%u4Y z_c3SnbR`Y`y6?bA{|jV?nPah7DccfI6t!GPX1t%EOikW?yxKS(IHl!_8YWEVdLDlU zjOx}^dJc$pJ@Ry&mA9US`hfRXudjttf4Nc}++mp6odHtU6<6@NKPEOt4R~yuAztlQ z=yM(o-_4ZexvieNfbS$6LZWK4kwNuZL41l#V>GnOZ91y%FeBYVsDQsWw}2_;l>m1h zQmY*727;8wZ||ey2t6|7=-RQV|EJm-GUY3&FJ9AtFJvjnU&9J+kVlZ+Hn`O zaZX&-mK~$Ur+L^Iq0i{%ftKL|41*2}z$%-0&axYc_(UDlllt0Yea2!4AtOC0Mw1Fg zlsu)L`+))z3ZakiOhR(;@7!0XDE8`Q*`qCPkxx8T2ybsRFRF9Z2#bg@as@ZVY%5wf zwv(OZ>054W;K=f+@brBPkZK=1r1Uj)K8w+SE4l)3)Z}ymb@zH4v+JPZw`9U3mTCCF zV#7@1xMR0_GoRTt@=HE)>{;_}^MLCx!PA+eE3-$GN7rW-8*r(Ehb{1_opn8Vy-A(as|=fykdQY!#6L{HE#u2F&_CQa zre^PdOa}twV%}2E3Bs9$H%dUFtwYW;`$a$ZOFbxb*z!2ei>F&%j3tAIg^<;bM!r^z z%Q6R~j4mmrB#^>zp~zw6u$6O`CxEuQ-hE@i5si))vh~eulBUTf`~!$Vor`LDH)fF9 zVG-QlN}f28-oYP|0t+6{@Yov05sK(41GN6^-S#Z&eOtrK!Za08FG&DgMgY>vJKA-w zqoHXz(fc0*c=I0)|BTy-k6t2&kGUgfoa5j5*fgfmSw)U_l$W)78*s*-s0QiDERdeO zq}cPtqB<0}vu|VPHQMLrVlwo3cNe(Rycuq|vtP!uLBsnh1(~&pQctFK0XnuUos)n; zW@H0>u#ZOAHk({b9(yjRX9Saqw4ZZ>;S53~oges3@92X5!ia6y!QKYQsNa_l6;D_4 zv$`zvPM*a?w!l@RbjEXXM}&M*mXE%ezCz^_c!rcY7YMd&q3LvZ&#rs1HKbY!UbKGL0f_ZHv9sV+{+Y53?O_&h3rHdn%satppJd zvd>O!WAGdUwwZfyHC}fkodVhK+K}p2!qTIqTnHD!P*Db_k!SmmgS64lU(vUNlcrn3g{m=e3u|6`8Yq> zZTZj`JS^R5WT8?$GI4E*#TRWBqInjdOhd^)=PO!%W)99j`oMaYI!BH9>U;ouTo930 zib$3bbcA~_`8Xe_Awv#p$Zv0)$6|+!pPcT!0i2{N?n_n@H29oo_{2P`9 zE^Ry`1Fb#~(HYcP&M9lL7d?4pZe6^dmB=(BbJDBy1zST=4l$v#@_DRMNP0Lvhc|eF z4)grgIPQHQuXBw5!MEIb%+KZ80bk zHyv6iEppy73U35e)>DGuLy*VGARvFM{2AX3OcdNkMu3`^X#d%)dpF6Gi<_U19jr?o zL_av5qM}e_Dfgx*bAs?Oo>aaR2u(If6<)=YsA+_n`@EnBB?}FXhqT8sL0-egb3$`; zo#AKY=Z~ZJu5iCd@9>$9wv2n)j*AtUdf@;vvf|AY*2U7y@h9-0fG|dXa3P7s0Gwrw zGsD^{Ka1mo#I!c%85VA$pABbn~b_m zjrrl{!vG);;ZKb}`Q9d6qj3#(=LsZ%G;0y1byu>F) z=BfNwS63+_mGLDjOK@#Zc@lK~&Nc+y%s!VI*FUD zvH=w9=}k&YCX&xj{wcb}&~?N-_q*%)69r>>eC{4AxtI^aVDl1h)3kWzSc}q<-hR|; zYD+fi|1h@7<8ubAy$TN1n|x<)fow=_|n8l z)YAJ@F_*4GcG!ez&0i_3_?5=w7bff5KPU4e*Oc<1h6Hj{miVO4#%%kdOqlx&@*7Sp zUj;zS!g-NQS|P^FTb=I)J!WhFqA&R7lBUrgpYvgjzSq!H(dYIDy??VxcKBb&xzzBDCRljpyp0uw!}aH-J? zK&!u=&wO13xee}0<8g|*+K#vLjpEqtPzFQ^+FE&h0}P|ABd#%QaM$j5?kr^iEbWid z;SaaI7vL0~wXbXsJdQk3_S`g5uIb1v%7jMyJ}D_TaR!eCchUD-@#>}a?@I^1temS* zd1YmndQ?;NIa{s)vfQQG@j8~PJ|9+6q zt33c<*0Wj>89%*&ACG*P2dK+1+wl>;zZuYPT7#7bfI)-V6?*9b_TKthKky=*c%S?+OANVQ8+*M%UnR*plKOFPFUVB?fnpI;8uKv&47Ssk{;63?z zUV%T~^W#KcVLl(j<}l0p58xhQ80V4nj`@LniGME9S@JXRm`X>A)4$2&k>m1lkJQYZ zQ3EOeSR(0QFx%VuA|d}AL*~ERba<%$-KK9+`R{4^ey;vKP2bG+|FcR@Dc_cbg$39k zr7RP!gqvdY)z^G>f~FS)M#Enttp#H>F$qk>!XJ*1*grZ(|M?Gs??09}oL|YE-WOdd znfAq1hO%U>z@{a~VtQ*%Lu4K`DY75}gCd9wkE{OeU%vh5e?;ue_OyeMWa_a5083X= zQc}6%#5HyYE|M67;H~-c^9$b}HxxayjqG{MyfTO!wF}Y0YIEaPY^2U_oyYt)8V;xP&CJn!T%W42ExD6FA}$d;SL7~rFMhp zh1Yr_##oOJ+Cs43r<@i?(&*zo)*XrE2XVtozZ50a$wvR4_G1nIVH8imD3H^2zA@QR zry&_re_jZ-5vFnYWdZSHz#>1e67XH3fyYf^Px;XXQGe<~>oBb=%Os_2gHaa-Ct+ct~&rAMKPMiNG0`#9hd}ert+pj!e zdWnB@nseZG^U3>PS&nz`Ab)))w>H7lzTe%fC_)G`5H_L;`n=;LqBSD_5UVF{=T{Cc z5l}z11o<~0Mw?gG%j%g3RV3q`ep|f{-1N`rjVbW26cl&XXT22jyXYJt=^!V#2;P;m zmafFFLo0vPJh9jKpOg4XPyJLO9u(NdoP*SwZyCF@99b&*eFF3Z7fIh>?}B>PP-s}y z%yI4{@;_E8e;X8a%CRVdyFPD0v8AD?UA&H8HHF5xm~Ntt#B1r7x%wB2obizE&xQx_ zGVQ0U__n(mvqnY>{6juR{acT{mAoez{a-=;rx-{H%#TzPX;%Nly(C_w;@9WOVt5>* zdUAjN`=etoosGM4TAyp3k8${XZ|wuhZRFwJS)bpAJL_iL3WX;LamA3q2_gUWCDGb( zQbn2yi_iY9dg$jXj@{_GJ6Ge89;PPG+VJ~kp!Y?Z)4P&5o%;H6M5oPQ8 zg93k@EYJ&Tw+QBvLWn(1$j}fNULmdV&CVa->iO-!srmk|ULqdsf+4qZc@^=CNcsDU zanC40x)P~?um$k`Hd)~h{aa6R{=t??3i%y!^wL*%hp$F%v7spotw za~nca8|=(xd9JIyZ6f*6LbGe~K5xFggSz|}AE)5eEq@@y(^K)^*6Gv6+U&ue_ZElV zoEPi*cxK#drX;n4k~S{0Zl@ut+H!Pr=;4F#d1*vwe2Djj7>5fhW??`6xp+3hiy5I< zkuWYd?@bD^t#fkxbFic^Sr3)TYe>wFSc)JWv&S2bPjm!kyC8rkkfEWPvTgppY#dxh zl!hWvDaGpBR4VxGql;LHr0d{5{Ey^g99$2setoUh{IoLhyB?ArRgATH7&+za6~zj~ z&KVVksjeogC*s1dl8H^>eYoTk@VxsV)i8-Siy!{CnMmnsqSzux^ny*b^B_|Qe)jr2 zp2$-!Z&gG-0L}Pmg*Izx^6w`~T49h~Yf==NQf7&y$^_$58s;2(nY}(u#hwRt@vZQu z9yz68^Rw{EGj4p%-}J%!&Yjsbxn#Gyqq%Bx%heItKB{`LDu&`w1(guqy=A88g}_l3 z1XN4;l~IaBlw|d!yXQ!AK3B@%gaf!!xl|05g6YMkU^WNZo8=bP1-T3*8Bv~#2b&co z_50HAeAgYzGN{R&w<_o-7Mr~n5;=W8vC!{9a@rsSL@L0H?R_<0ceshSff0I#Z ztwAoo+Uk<~#mKYpC2gYH%q*cdVlnWS4BGBVLHTKEdV}qW4hPBJuSmaJe zvA!$9R99e7MuAnMV?3Og^YGMsQYFwept}1-EIo|KLCECWN%H?_6`Pt=d~MlN#(^jb zQDAXEtwH>HT$safr0!npee+KJ0tbnFU)bA$i*p#|$I#S%#wS-3rg+|%QH8Y_@|TED zpI~4jf{Z!yJGCOm@V@0IDT0vw0<8r;@R`*tfVrgK6LT;Q1&*7VAVCPH;l-HXI^8at zHA403IyEzLxc5TZYDR{VkE?Qi=9gNkYl@Sijyfanw}#XL&bKq0l^X{`NpU6)t!qi0 z&As7e`xdm>7BAN$bSDMEH`nTGL)uGPm|~^MV>rn7CS+02C6>pD%?lHLoClJL=q0Pr z_JsVw-1QURv|HMHu*6pQC6;I9n?BliWODaW%b#>4_QrP^SgRfdt1)j0F;22AmI^X1 zc%Zfu#d>U5*I(F0z7|`7(wNE)mrFi0BYg3aLwAxwndzXd89YuLjQNIi;Q$E`=zk)i=G$ZXLwZl>PGNR}-Wp zadOcLuj<@CubnrKHtHBd2J5ybZ7-F3rdyj)%skUXy)WKej zu(Zd5W>b5?R(O#!YSQda5k;#nDgjD7$G2=wOro70I)o-?tbzLLFjdhSjppG*x%CJ_ z3huw%fP%$FY{|Hl69mmBY2$sUyDk11p>fS>%<=-dYlG11@}O6hk9j%c0&`4oR8&aT zX)6wA(N$LY>mli{>9Xwxu&I{iyI9;gJEyqmxYrpM-WB2$*EO%pjh=zuZ8^xmu0yeS z?WT5`fc9WZYuOE$tgMBmx6x_>Dl&_=B!JUiYo9iMG>a!Dc)7-}8x#b-@~g;!S(3vW z&kV^S5?vQ-d?Tyf%@kA281~INLgY2CUR7{DzMIbEN_hr?qJ%pey3z0z#vi)>(iJ2W zd*cPY=6|=1YVON-DBz7xdr4KUk*KNcY4|X4f{O?^u4{(K>tza=TVg&s3Q}@n4r^0b zUID}TvPFGiSe;ppXp(2y?K+9qhqZ3!ab5=fTKElKZhA|ufL5iCe*iy1 z64U9QK?HS8S6XVYOCXN+>GL38=*TrIm(-~#6~2sdvDwd9fR!^TI$?q-C6={?P~FT% zDVmwW0(vmDED4<1l6M5dp^9)`l-@_XoI5mKHe8xw64V{Y#y0%6RDomC=zJEQw-r8+ zuS7dIdM#$y>$-yitZ3iYbJM@JStBg3&$cRi>&<}fTMAiff&kbsB)3YUl z42pvjf_%?KzPt$jxbH}*KjC>fyV-^aB9EfB%rk=J8sV2_7D%{f=C||x!;6*vQl^-l zuB0CWI@8olz|FVFtS@06_4A+Mb7o1LMLlgQ*`F^RuYuD^EY`)Y;3CK5L#Ay z^Uk^v8ERS4J!zr_Fbv#*FO9M97+4_xFQRH2+g13_=s$Dwc33dw8;d@@zXR;oo^#s# z)ayhwv;Gn8VJdzaW--_bxM#35%2Ws)E(E=!c%TzC8n`OIMR^l8Y@o<$Z}0|gOqJNp zpm8}_idvPNoKLUK8}r$(^I$`{xmTc~Yj+>-2+>YHG)fto3$N(b-v?IHyx-EkM{*~x z#Ph>R7W~9Bm!q{_q%gY|F+@50jZRY)l`Z&7Ez(D z^6|yZ4R*6Yr6NBgtFshkx^ZZ;flJKs_Ev&YA3#jsi`H#IPyH7@fUwyC;Q**wK zuwf;Skp2AW;X@$wYoVv)twS~qw&U7L+qjxF23GBe)%V`oH20cs)2aGhCDeWZHS_tf zLK2vfx6L(6L$K|Uq zU$prE)wjXK`vJ|ApZ^cd#G9zb%o*qhr1d!&oh22#rkJvH%z$p;O+Q5>|2VFDV13M4 z!2y*Z)X(^oR!`7r_*fU~N;Pv}U!9%z+-{F25~EjI_jUZ;z=0BrhIsD`GXQ&ee?5%V z{mn?6*DA_8)(L??RG*mvY8WUn3d7tE!IFsH+%XxV}gkawg=^%uUg6y^heqdAGTbbmj#@*kB!>cIdh}m0zbQkEFdiswF-{pc|?sMEa)KkqDAd z(!KbBUH*p&T|!%a(_-Uc-*Ymj3QYhYs!uzhvqW<|6bbF3f6t+`k3#F5+guRAgA zuY3&N7}1>+l%ulkl)oGDr80D`TheRGtmy(`X2ujNZ6j5J2{D`|%N;^$0_;jq32iM0pC>h3VHlZQ528Q5&yxwG&97O&m=W~o<`L1ELolwZd# zb=CRf6>>|R`kS|OpwsGE(NwChD$pb1=P`x4?NGn4PGSYlYD-=@q6Ak%J2e#UwMErd zdD})uVTI8?xfFvci-91IK!(P2rj}5jyye3RpUDdIFtWq>&t)Hz^GnS=G_2Dy&w<3@ zjh`ohp|)2IYhaNfY@i6OslcIVB;`GP*D6UsFARQnE_9u$51Z-HR?%{&^dp;-$V=tD zZ}L0L@aE1R8h17EULnUO@x$6oq zCCR_Vc`qgM?@1o0|22femw^P@TZ#`9FYo=25wx`WC-v9e0lXwNw;A2fBKKLks7*S) zIrrb+6*KOC^#r#Z|NobeGJp?v5=8l35qtiR3@h*_+W(fdn|<-|`di6g zvJ!^^v*&hx?a^CRa2r8#x4|KD(*5|ixc=`?a(B}|6Hi;z09POxA`Ip}B$^YXG`>Fw z=4+<@HJJtZ`Lc*w3mG83{~;C1M-Wl%p0Nm30@+C?1Vc1Qjfd;!|M4JvPj;F)-eH|K zMjzBi{C40#s%Tbv=E%KNkT#V)VeS5=%Qu-G?&7G%wD{zkPWiFR(g#2Dw3J-^y3O?y zuqO<9*1x1fzpdF3`TMjWib}XvYv1m8a_Z4NreDrDUSIf6fb{i2=GXZ<0k;9vxiLbv zu-z10yL9Ns9jc_CS_R^0Od)R&LVqbM>Li32RM}}K9n)eKq}3@U@yhq_XJ4A@?`iBe z&xr~Kb+h7%_2Qyge%D4ZZQnBEuVkQa;=7rQFK6*GaKopLcm1LTz)0|Qh;0QM+V^T^ z*2AWr3z`Awr(Xx^53>V*|2XTDV-BfIhbeh|R`PSs_#(tYqOd*O{xj<_(%)9e-k6i5 zanENA89BxOB3~-3m+iyM>zXU*36mKK=cZ5n zzPQA2|4O4s+!ltv6I?XC>iXaTFN52vtml_llDz8-+T{%bzfF+dVorK2wZ+GCtgySn za^fkk&IwgOVDi2EMEAOlRr$9G01^6Le`4H5uDc{uq$|~ZyzwY;C0+?+B%)k}U3IWu zNm~$B<#dYO!%8oPueEK62>oNpl8-qUF>DVyq%v%eI!rQbPp*qRYeSOBK*dj^|Dr_x z0aoxo0>CT8gr%K7kv)F_9XtS5;opA(mGFNT;yYU9--Y;hA%0a9|4PKa67jD@{D01T z9*5Vl|KI}n0aN|ITKetkg)F`3|AeLic^_kjGjPJ!0gnH0SO6TO9$*vCq$x5IB#KXk z3;pgk#q=D(7s6>lD)Uzt7`*iiJ@7n^c+wz5ATMZt4I1zt`V;jC#LJgX&;E3qe}3MW zkc1Et_=mxo@X!pI-9MljX<^{c0ld9x|M({G5%L#s2;CHYM*tvoKwl!5V4)5A7eJkSq5|hy2O4dxu4 zf2^YMyZ^d1S0bM%Gp;r#{yro4{C|^&+OUNr-do}ST*W6Y|7~kHJ?O31o(WC-J|i{x z|0)j9e zr0-*SI`1;GiT&WdABf^7+2iHkqHuHlFJ+vnI%;7CEW7qInA4@K8pxE zP47KVtw7B7>B2AWq8*|YHZEQM`@kDpsBc<$e1Z?~smF`pme%*Kr(T-g+Y;l(6PBjz zV-TqY_0ADW$!a(!nWi#teO0Nw4rdr{+zyL8SE${NX~1M|kbHF&M!wh_z%_2Xzt}|= z>APXldr!;2$kQlrvw{Hsy*zBW!DgrbzR0)lLE;RczI&+2E(^Bk6MUh<&%vEuV1Fzb*m+-?*R17a|xMk z0tAK)tIp3`0&H?j01g|he6$q*_^C?w)q5OIpmL#ITM9n0c~5zth|oBrYB2qZ=jiR7 zM(I?y$JP}rtCwBl_uubKweKmTKHH60zh8B=o#=|ifv&y_RcdBU=a>=;-p@5hxiJ*J z$7nuk34LqZ2%8GALZ~b364>Tp1hNO)O*_ zwwtgw-U8lp6(KE$JNbL6{W$L`ovyF&cPFms`MvqS`*XfWFbV`ITJKni}k%y_OctG=U+B~_Ei z%oczTP0btBSrNEneuA6EG@EL21Y=`c&3ZyMCDVr^WI!*`3+Sy3udOei16w9I>0Jc# z{vwSAvB3sU%*p$igZm~CmW&;s6?XPR9z+&NAQ>DmTXt$hrh#^+hL+ReuoOw$@abMa z1{@7oUH1@xmS-^fJO`EuyKEP!D7IYM-iL*Oi|en^zHZgdAC3^XNsKgrrg<+ZuL=8L zkr|z69*Mm+uj}`y2s+gaq!}bUjf5*i|R|OP>wn%Ak^qqdCBE1y4ISh@oveLZdus* zPK(?qeE>>s)MitMD>7Wg);2SG%YDYVg#jit`^hZP=MuPAE(H}$(S2EhKx4l&V30<< zJ~b^xOdX;esvT6wqFs^9Rcc9eP3U5sA6z5l&R`E(61Q8kg3}(n61P#v6k#Z$e$F=8 zoi5)2wq47B07O*x0l~%T-io@idw_3vTltHV5GO_FC~94%dVNs;pl$;`=)NoNr=R4v z-(*k}W+Jh_-#Cfqk1uvzG4flaeE_)7Q)tuq>bR!HJI!l_0qd64CqH)NqOOn&WMX2n z@jdhJp`{b#Wy!lm@Gh6^ta)B8R+uC77Cage;MiCcqw6E zFxO}=!FfI%wlwl|2_()b^Y26pn6RI!7(^JZYwz0FSv&N)*ECM{?69Z?+#RQd#`Qo4JF+OizQttrPbqy4PiTFu8GlMu9ZENzT2N z90ySvcNOrw_2#=KuXJiRrnRY=3w=}RaLc+So@?(DK~4pfE(sxjQov=elo6RlNbSGU z<#uvvp;B|o*}2Lg_DpR~3x-t=8DNy7Qtg480#l{8W6*KXv9rZdp%!@#UmhX{_bI1LnDQT{4OjO6nDzx*SbN0;b*2a$E_}M%g=P=Q^cf z+#A>q+CtsxbvzRAYDny#)VX4XDU47`E%Xp5raWY6j zVp09+?(`Vb7sVRE0mWTLzje?#_Ly!84(D=>ICSuQSNNW*jUbZ0y;29-IN0&Gb!M*7A>5H-|o_sxdCh zN!%NnGXd=>HUQ(K$=hJ}jYP78(-Kq9GR?$A5tR`F1MUuX?SCD0HD zBC+1#q#@2S>3-vkP(@L)nRwM+O_9D;0j7B4d62ki2oiLIC<1&uOxfkOmk zc!J^=8BI!>1Vwga0j81GvKou-vR4w`ny;G{<`(XMjK!UeXq+}1-d&~TNXp>y*HFFi`d)@6smE! zx)C;@rQU3DntYE#*6$2nfU}V8i|km2t0QqsCD$>Z(DoO)+~N#en>M-;Ddi6tLWP57 zV3FHBLAuTN%M15hGp>%&)`n|x=_q!&*EoU)b0v;CZSte%HLmVUHn~A_hf#RvYXK9o z2swj%+Ptn+cxWPQ8I44dNkk9*J2Fx3Et4IfuSRVSOm4VLzb3_@Sx3Wfo$kQn%(}T> z5G^VzwdEtX`{~88A-h3ZR2$m199)wy#3vr@!S1^@oF?l?x=RfQgmX(pu)^`(Q)ayN zI0kqP$^e~H{RZExL?V-XEbrQ|mH5C5gRjk2rS!p}1xvVHlv`bi&3H}GzN=4gqnz$^ zxbJQd8*E}12lhPAy4!1Febkm+PZgMhOSb?iwFbf_)obPH0w6=x9hYoYwkw}_Unj^u zh?F{L${KyvRhC$08=}U-c{A}P`{R@_qpgvp3=!MUMi{u(U?-Em9>2L=`TmYL=Ul@R z>%Bvw<)liy0jQiTs2D;1*dw!!OuIK|AG_?>O$z@7(C^q#OVxp#Qs{#mj_)QDmVuLh z#mK~nhNVxm%{D2U3bs8O{MO!TZdn8PC9%j2LaISS9AN#GXaA&${CYi!Dj^w$-Q0$h z*Wn45hD+9O)ig`7W~|R@wp{O-Y!|9sfDy$lY!^M}GKYDbUKOxl`;)NhmRFBlDiG6U(y&AhziI+Cd&3s)yPA1CKK zT^4fZBG1pDKpeF1_q3g)H|T8uQ8IT|H^PqP?Z^Dq(XU@YBN9$$u5NCb84I5{xAI|= z_$Q)V6kruG+pi}tG#nwI*KZM$nQ--2(p2bymlip#X80{`;Iv!e0T%4^FeFk?%+{w;T&5V9z?%UhL7?+M8st_i2F%Ae+~p0G|$^qJ@^Qg?R30h-V3+!k3tFj+&o%6dzE z_|JtK_dY(osIs?{r}1sEsA=A5xB~99QB;x*<<7p}*2=C?$duZFdq$?rGKx3Zl& zj~0*KD5}b;&h|8`dfWYFy}_e132K--F%DYU81&b55p7`3TE z0H^UcB>k^DlB9Bd^--fqU7On6NVe)4?-V*8J-+s+ZT?oCNB)|p&%lopL+)BG!ucJh z`Z|own!|*M_R{Un$-G3ev&Zy|-+uDv>BaZlz0!G|D;e+F+v>jhthJeoX&O~Uf2^_4 z5IX0zw~F49dzP|B;fKUN2Q7JPQr55+M*}^-&h)B_@EA4WPOvEBT-qnnEPxQMEKY4xSu`fz;q8;$i+qpJu|ZT4&uw9QU5&iX7xbNJbP%YF z&YCw9zPM$+I2)q?i?sT@Su-D7E|cx?ZPrp^ujgaHQ!f0pTQK@MTi#UJ%FlMPmYj6% zp{n_T?IcZ@^M0jbl4ZEAe z@WDdu8a$VLb7u60-AO8aRO$GFK7Q^c<8Q4@C*n0+F>LPq-Kv&IqEzGw-0r=t$vEB{ zf8w+!%@WZpT_;=(cJ{}C7*w>Id(0ZN$B&xA>^AKn!vjmpGj0`DUhrVYkJ7!sc}-K3 zKS+O|1ijpx_oO6GZEhdObX&i4(RJo2kreyJ`sXJmuucSLR6#_K)R+67o&rBu@C2}bhsD~KP+6F6|&WLtYLT2C`N937{2Q^f*km; z@tIa4Q)Z|iwlMk0+!!8#7!077>51k9U+Ngvb%)pGLuXsPDo~z>>yUW_@I9szs~SBF zh3;rX`CLWN|0M*3D|T$&^Kxq60xN6Ogk$xk+uCqD>wM#;t$e1#{zg6Z$MX8{NxMku-i$}W|}^qCC;#r zZD*;O0X9*~N@2aKQZZUl=k7+iq~S`wNvkxi6G9`%PN4(a2aGb%hfjH3FI_;LRPKy0 zuO>=r=Dd{%2H(j`Yh*cqC>KNXG2zEAG4nh%JJxQ(b+Hc`_CzNjMP#5l?5saRv~j9#f5%mmV8A~*8?)&p zHhOO^nb%W1pXLqQPU}ceP4{xqZ56TQj=tGa4U)P%jZM5+Xa8yE8CF$!?U!HO+1S{IxaH(pn9Gk!bCK;74x@) zwEZV5L{8`adCNy?%{N#}yfK44eL01Yi3@xt@>&@@B)yk=i)CoMo;TzbiI3!vN__0I zu0++QgcLc>9thMvyA*?|c;d?W4o(bN64MVnEmmNeoTVd*t|20qFWwIwQW4pCmr`!$ zk%~DyJI!=}#Xyb?UFr2>CBcy?#YIEaW;YFGP#*Bab#av|bRCqJ|9lsGZJ-0*U< z(fhvW23b2cp-~%9$p_)97?O)7=MJk$B$rDg8LUmhRcX2a?E?-`d8wzj)MlSk@cOfq zj~1L-XrEMIKufmcCZh+x#t_W<9}xobcqNFp%IU#k-vZRXqXTLuBJfEI@(J>kH=0>l zSzl?X!pJe~nM%z2KQ{#EBp;rsM{-gkH) zQuRmx7CBkrl)lj5S(98)Scl)G-09U$A>^xAhlz3~&-weoo>ePVbmZ+{m%q$JAH)o$ zB-&O96iImCGSJvk5F&_@*gl%5JBJHShBs6p&JLr%fAl<7X(6 z(V^D7{l2F{poHE7J+SjCiIs(zA6P#&o*2wj=(!&DLQ?`>yBeNq%GOVioMC?*P1a0> zTO{hG zrk2O=CB$Uf@!M)QVm{ylw;l7< z~I0hazu9pm|+z7O$_u0odB28A; z+6$HXN}2<1k8-6lE)_isAvVrayFF{X&rbv?A9t;8+~^ixmw8C@>SZX(T=JVm1XRRt z484=7MkM^sordUcF4Dq>RE@9dO0_WJaE+@QLnf-1BUr%vJ@jJ@3?+Zs!e*9PS&{o` zJ%6N!nQ*HekCg9775C6JJHI}l=XBEaRE!tU&wKHszIy}D4E=mGr>0nQSK_W=E{@NH0<(AWgaiNGu3KA{Z&5qaq*)MOrAK{7z72GWxD}*7x80 zt#$ulWs%%-?>TpuXYc)-vxmmc>eyw48|3(9;OoPUc6(jbNuR z+oh4^{u$<#-fhJ=e;b-Lj*2NWPY*;F#$@qIX1bj()Nl4eU?k;n!!@75^R0T&vpMzODMdODh-pU2z0IY67*9c%vyeBj9IPX`Yj^FI_GgNmO zL$!6q`cw^7srLS5BK#@c7JCeWM^>F^P%k z_$Z<4l;5A0oyyBIkHoeB9RH_tGPen7cYK8lv&-Dv5znAc3t$uHZ-RP%;!&ZWXNElcY#{O-0| z#moB3b7RunabTN1wRlisLVh&zPWy+pXX@ZQ{Rl6C+!8iQpJ#EJW6a5!+_VLY?HM|< z>ReGRw%4hA0Q)=vaOs$`eg`wYa#?A*zK!rPjGyq8zY`o4i&`_AtF^7}->EBF zqeJ%XO{1i4n53hzAga>PM}lMi7Y?!B&mXc3Y3Owe+Lf1_!MzLZ*-~WM;n=fQpT0En zXg<}uQ=YZAYAh$YgC`Vi>G|!JR{JQw9ze3}0wz6aC?1^rpV?SS@}Sw4)2%Rm`M z@yKELG_ItSKRaOII}gv4qe&_-%#D8wsHPg%tuoM0!TXiuGwP(j2Kz|~q4(3f(y0|z z{i~PKjY3(tc01yaQm;*WAFC(NpR>la08slH{>Evv$0+s>c=b_W)W-~j%dSnAS{#)A zL;7x_+*Dnt3OfJLGZRWT8+=^L@ZMmVm@`V(U#a5aM5(iEu1(<5L;Nx=&RYDp`k-^J8oU z3*CGB>!d)#sJfj*P)4ze^G!*nj=#Fmi83(FFiaDtDsFp&Zlm?9(Z&;x#hzpI0u52l z;BCbfMdyy=UJus+KbFz=z7HL1b27?l;qkTQQUH9@uy;bG3jIWPH|LJewH{aeP#zOe zFgVYiTpl!1@BL}W>^5;YzcwHRxa$bqUDNBouv~b=3w$;2ukd}M7D+sBzNi#WoPYmB zxj4o^3r=etaC({DqjTH&o>368St3(Wz&Ov^BHAvmwWI)8>2hzwUn zCp$VWw&%`D->@-1A1^8!`f15x2VABYjm{N`MZ0t{8k3J0PtWusMcXuLU5v%5>|BSC zZ~R>Th$WOZD~Ol-uU!Ej*Y?c!{3*;q3}MnWS!gft#7^GnsCdO%ajG;Tg$kh1wDRK7 zVyV`si~^uEB2gYdVD;{T+Wc_+$pUYu5idS{VQ@Wn0-j9%h@^TOXR~yy zn}hxYwKqZJB>29t9zB75^ZI3#tky9g2{h8oADBOD+nKG4vkxTKJ{T@6`DM;V zPc~ZS?hrU--Fm$>7ya1VLn+nF#Jn@Y)$)z4xkU~RrQD1r~^6_8z$?WG+=K)y*D z2-_~3>)mo+KDDfzpS#brzoN7$fKgu<r(fcNR$3KSwBO0)RHNPq4RrZo@ z`0pPN2GhdwTY87gqcraOJ>vW8_M6{lZ&Bk?<9cuK)AKPfZQTzNItE_^j81gwGDm)Y z?7wf38~U%8{(isX%5Q3t^ zqY$Y0r~ml>3>&lUTLv*1C+LmU=diYN>%!!P>iZu|1YbPn%iaFB>Te+ZR9O&oWPDW( z(J>{ae0dx%L<~}1xw_?rPFQo?4NTc~rQx%_m*^w|e58SkM7CeHigb`52%2i!_t?<3f(dAQF3 zDzRsv^N^ca8YgBb;Lc_kmZ1|SR=!W%I*tdAPhQ~TtPqW>;BC$=p=AqP9v;rn0kkQ# z#7btTdK97_{opS9^p z#Euy98~1Z630$433+mg2X5m*p^6Iq-U*W3WE&{te8qThY<2c9yR3C!7Xk5 zD-8Wi6Q`@ff>*D6)lW;|#ebo=!w%k%=C`*}HqVIUX7Sr?a1wUURE?{uRA0o1wvJ+j zCzm1>;Q{-vfz%#H2p;gN_Vr&I5=|U!-7B&tw>-qJ|0h1nvxsR6rKGOl#w^Qbq@RBW zXvJz8R6ORY9|F=r zF~^Bx%+Bq!%duyY-l#(1S0Z-y33=b;Z2qEBMN8FXpSI%669m&*X8^C++D9|8=+8D2 z**6Z4*`A=qxj7ofqh;I%sCuJ#kb)GD90ck3FETbF@WzuVmYW#_v%Nq>WOn@0qnU9! zTrV|=7mrU_+K0f)-W9`aXho^7dlYM_3~c0GYL)`Ty-u$S7Qt2-oa6)^pn zz-6DZH*bryYv1CReuT=gawYSYfC6=L;8fibAuA?2Mk@w$Tw!&tEECkTB>mQwIJ36x z+$T34)@q>D*t$5auSvA>M0&NzXJyW|u4~V|Q)eemMH_ZserS2Gwd0|Ieq8nXT39CN z^L~_DekSruDXu7&NCq@|!xLXEOD~(Zcg)A6@z=0`@=GR0tWe#KMpAL;DJLdJcMw4K z)o*p)oB;YV^QZbx`Vw-_jS_37bQ7iOCOp0lAIrD4y3W$?dkrUArK!*fpCjcL=PBKq zAe><=uoorH&+1KLahUqv4*Z>*WLlnSyo`g?7)`$EnH?JqO!SrV?9`xZ}O*Uxd)kg!*Ov3Cjk#l|*K+DyOPg|NMyh1C4Ks-*57f`>5pwKDCzA`xTEfAG ziMslQX$84{ud*{kfnB|MgZu$koy(U-26a>QXM?8vdo@70;Toyd5f`B{i%BapVPN1D zIID5${O~brn@%U|yVHw9`dXl&x9tcfXjE}9JX&#*o$&Hjy78s;S<35y^=8ol zK)_dl@P?PbQuF5BORQv}O6%GmziKrVOW@t*w>4bet!%+Q&DSTRCIblbaK;wJvX}e) z)A#)Tg>CO!Qy*bZa$!(Z`@7020WzXr_MzN`JlMkWY6a0w3$%W$o>eHHoF@(*d=Im5 z#7V1YJ2~WwWTowkt6(1)Me`i89w>#|Xi_Jtux$Yrp)a$p4cHZ9Qe=DCkm-9bgLc|q z@CGlBN!OVopIE~>QI5?$>jlWOy+tx2NqYL~@8z2Y8p{W%^JGrY=8&<4np(;0n?5%A zyJwxk)QD~?BCzO)uzfSvrUPKv)!Z%?j0|zzhp(md6j(^KC5mxjC{2xi@71^p5o;^@ znOhi{e&=R6obvTFYT5aZSl_Y7P4^m%BzT0Usj{7B(mhvSeXgt@9Gib57~?@=8nWd* zs_5M&S=Aa)y#Ab>tJGcnLe^K?$`R%du3#6QfdzW)V@)ft7Pp8bx*QgaFyJ18TN{*~9-ZfJ3sJkNMXf9op*wrVf zte7>}C1vDcdq;To)Z7y2dz@Z_v?vm{w}{8-Til%nor`71Q54w61oOBN|5OnxwDiO3 zbw}!bV1CppbSkt@X&!csrnh#|x7fAVW5gTC!q%O{RfqySz! zg*>@WG36P#i0VwTMOXv*9ZcCrRr=c356jPvxSNkx_VUe3I8erY=Y2co{~U^3SzBn7TO9Nq zg?Zqf$4l3=%mh~5VCkRVJ$Nst$Q&`?i^wjy_6eTr6ca6tJbbU@#(wl~*W9dlEzMs(h zSgXCSddlv&1JGmELSDqm#Y;7N7#y4vuhq0!AJ$3e+I66wN_oy`>oKZpY29OwO7*e3 zR72^u$L8D^Bo#fprZ|UIcNxD|4kt@{`}QIR(}i+~Fv&8z;h3{orwok;NBrif0QMOX z;d13eOD)ROzV@*S7jBk5w$)Eddq~3LxE^uYz9GjU;)&X`$&F!U&E`G|^7}Bs+`clLeKl60GtzfWiWERLSk&UID zHxqQlbSqA4xGeX6&L5?g2)eQ!4j&#w4Bp6t?{$l@-diqQOSn+GOt?^O&WL%^d%t>> zwDqyOCVm)RN9^D0LzGp@IO^h86Is!6@l~{LYG=wi=;x~IoIYZ-XgeTqNsk{(Q>yX#j$lLWD-LS<-h`#DAb*;{@yonV4s=rRPxp%4m#C6v5){+U+ol{tI%5A8 zy{!TFp~B5-zhO+f;5S71yqG2rnl5L&=()}}Ty5Tzh7%`tH#_urwknAeB-+db%=>Ry zfdwYWIJ|q5Hhd)|%nl(|-^+{bVb!9RG%9yyxDXztQcmpQmiuEsFWz+3e!zK!j6|t% zv9>#j)pYMaDF!y+&Voos&I|kJ&V^57ZPpbmWh-8%Z!}bvpen%7b+-Bs=4+60(da0+ zu2Y~Z;-TVbN{~uuZ%RYFv}bA&ZQg94%eOHKNmP(oEO4|3#ZR7*`HFQ4W)CYo$s1LM zn=7mu5u(5lGmp1nDFKuzKdTz^P(Q5hg!{B+ngd+?!Qd-v8-ul2m2dNZgrL>Gz7d*F zed2D;705iL_crwPy9|E{%fOYiSS$6!rU$4$;)u;d7eL$x7|!FU_(iiY%4+rK{r(sl zwHL720Ce1sNGb+|7MK z>+0bREs~8a`7!31?%GyCb6$taUgV;<61Qi^csn3{%&x9XAO5}aRbNi+LKuIb#-$(y zz-g0oQn__zIHyEYChZnF*BgOiFG{YeTb`s*nVo09eiXFmL6}RCX8=%lFpGw@I3fx! zyA<;_KVveaD72|@*|d~WM5jCz-*h>mQhAzX-2#==`U*I`$4XEO8?Si>98}E*T;m75 zt)&*QUpNRdVh`lk!FG$T_dd^@McSUN_Gi(kdK0Iiq>eLbcD7TVUWol<5#vnJbB8oCMl2DqddUfiS&Ow>`)+5wlaXMTH1eR zWZBnd+>Lu!(|5B*d;!!^^I&(Awi#0VmF}A%=gOECIuJ=Y;}c(WapFK`Bi@2-@hJ|M zbMvFS_twh-l)Bx{_A$p40&piZR+r7fNS2JfNxdq5a~0teS7qH_Y~%bRuC2*Ht5*Wv zJhyDNZ=}+$Zk-V0bEmz_8t{rHF)6+y-Qg~-V7F^DZ@gK{z0-UhPpxY*U>lP%Jw4*3 zd7Z@*vskAsJmj<MOpL&c3k4y2+x% z1nKBdrC+`Bsjdi3ZL;enxpJz9@PmxxgfW?6>Zm5@Jj4oB@^6d93u5qvqa5t=Toj1GU zX}P>$qcZO*O=XJ*9^T1uutT)o%BF``?%OQH?R}8dE7rfiIb)gjmpEzOa6nDil(j~m z_$0R@o@7UK=9~5RUWyFDxB6m9)&~q1+LgXLuyo+S?gQtsSJIm_hgY>50la+9SC3k? z2K9u?E;n%!_E|dLb9j0naPeMC20r_&5y$Lg)!^DKZbh+qk}Ypfba=(2lHH@HfR?s* zfK$n*kMA}SA#58rR@SO_dv5WvCw5P8QrnlhhCE4><2>P&|J3SGy~q1B4_mqN{N2rq z9(M6{xGBx+k>$hHH#haWefa%+xTU+iuueA(gNgy}Sl!3{w^5_AR5w<*diVFRUt-rw zK$Hy6h-8XG4nG`M9f^{&BW~qFACtWSo<0li#F7qL(~A-u2#Zp7g0NHSJwCbQ$ZnY3 zCcl_e?l@Z$FaoB*#(K~trZuys+^SMCZ3OJ#*NIJTmbfgOHNh?UDZBnS%y+nhm6{zo zN#h*1y-kv>xrn}|(q_#mx?H=DVV-Q>!0lAPB?=<{i(H#8#t}{&FQW-psnuV?rI5CV z@9~6fr#-X4ThGL;NtrM7I!l*Qb{hQ!F%2-ZH=>pZ$Dy4<@cD^|H(uUvKeBN(mb%Hs z62diDZOcAh!nQKQWu|ECV9BXloM`sUyrp@s2j95Ca>MRrG&ms-aungnb5+}slgnAB zR3}Qw8p6^+YcF&2$^1$xq)Q`cUFM5;m-j|F??(V#@c~C0FLG|m5T%`Ln%>PQ)f;m> zX0(i_$9M<49EnMJ4ga`oL6fqazojgi9VFV+#As0WCV41ECF9+S<8YJxqYUSD9ibg(lj$ZFx7esc8B7uZ?>=Fd>ZHB0dg`g3OxBUU(oqIu%xMb4y-%^ZAxkk}1Nto>i#s3D4aI>85;CwdY{e9@&1I?xO6U47SKP_#@@DMUo4?+4ZZe@PP3RyIxPB zcA%TUhSAkL%%@eN;LyY)3G!s&wX|~6TN2ZLL&T4-PJb>^bde9Byd6A7+eY)f9Qf!q z5Mc|!$7e!@b*bIbG%i|B=}$%XgCLDqFksOB zsMJwqc4RNsY_i^G{ubOz3hbX`W#%7e(gmUB@QFf-#)EREy1Ih$!H&B@OT(r~79hBs zh2_CK##A*2 zl`3mlg-&xcpDvB4C9&m=ruj=Ec!4>)k`XD6drNw;f;n^dVhbl$97Hy0QZZ$RsQ2wO zL(-h zi>AL~<@mBw0jCqgAMn*(9kD0gKq!s26<*h+K3mp#uDhsa(u9AmyTY{s2`^Uf&3q9C z_J}j0kln5|{Bx06Mu1K3@;>z#>H0n6ILGvS%Z{eQ>qjgw0gpWe4L{y*Xgy9&UdcI^;hbyi+ipX=@Uwbd8fjM;C6M(9&r_cv$Kazh05EkV8FJIC6E_9 zM7>0`Jn%ucpnpdta3hD0C5Yh{n3?Bef}b6`gXyuAa_r`Dt37MCP@9RfUv9uUZfxrK z4s*Z;r5qo3*L`P1rfSf3r~%%ro$$5ZuD~S#xX$sa%)NUR&J+Wv@4g)dox#=H`2)^m zi|N=g9tkXd5!^9xI_kBF&Js|0ZGqbjvF~iXhFs)q=Bv>GNMrvLpIUx+sMNH=p8dQQ z{!j2|a#1qKLN^Gghidq}k8EJRGb%Fkq$VdVaCym(Gp}IUqns~lrwk~0g-gA$)HhLA zbW2-QOb4{yF`RjAka;o9_rl9}H^)}2Yf}Dby~A`EOL{_J?H3vvGU|^O1BleGDyLk^ zeN_i0_EwR>TP%Q-H)^4fV?}K8nplTrvm8QzQy~DWVTm!r;C-PMEm6x1dtilkfJYRir(O4k2N-mmFXI-#N^Bo5p z_yeCEd}iYk&(zalWOp7z%ag4-p5uOX*y&OKv%WjER}Lg{Nux;uJ%v?k6$5onAV~@m z-;*&TVx^d)dgNE;dlwW3a&}SEIh*TyADi+<_!%Zd>uwWLFnRl^J*D#D0(Y_24P*@0 ztV3PIB@x_(G>`R815B*=_sDjN#%osv2gqr#))y7YDPZ9k zO{KUgv%y>yx~y61s`oqXzkcz+d=41f9I$EU{Pr*mjPMOc=f@(xjivteLa;&T&KfDP zaWkQ!@5QD%9Kb@sJKfpt4|v}-*tpby#y+)r`0)<>6Z7|!bqz>a?`rKzU^hHvf8B^B=zgoY*z>=#4t%78Wl= zapXP#hDJvt#7zv?w~#U-BShkwG!-{zPz03!8AJAOo7~>-zJeCes4@VEu!Xr_R?=4C zz413;qW^jj)Y;XA)w%yF>~4!lAoDE+Yy(2rez9Q`>U!n0(sI0|n*#^&1wtG)%if?tHai1m?U zXH0**kbx0N{MSnjTQJEUhE?sNKaT$FUn#?rNePm?V@H3y@WLaSxc>`fxVal)q(_r| zx_7hj(G<4w_^DIgG{z7x# zN4Ekc-CfOhLw_K4(6G<0=QI^mL+IiYqP_P1c%j4wVc@@CdU$xe=Ez}h?fxG}56=Hr zB6(3bSKGa!A1`EJS}yw6OS4mua>LoKd6qxw-qnBAy#GC=T~lFTU|3(jtkD^^d2sr8 zPYEl-L6%=6DTC6i+QDYmovbd0#OE7z;+0#NSR|e^F#hAua~nq7hoJ3MRdrk!g10d3 zr~C7PYZp9#c`5eN5C0Dic^)jx5m|KmXy!kLqK$m8`L@&*;eXx&{Qnmwjl>IHvgcXh zKaREKoL1~P^`Gv25RCLoR({5R80)rFW+Zp>57S^^4B2u{Xg`eA_~)@yV}FCU8~kHx zw5Rx$<+jv|FIRH^!&sS-U^lGPk4vR`K{a-VmZ^Hj&tvU^YjDZN{&V@jJ+?At>PVou zpZq*lu&`irZpKf`w`>0{_;o^u!G9P_gX^5u&&&7yRfInIc`WEv(7zApRs5iNkXF!J zDab(mU{E0gMei^mUqNq6X&?b|+jLM0a@+K_l(sMsf}#V`5SXR6rL={Cz${&G0mT(R z#z9bsM+erS5RX17L0cFo+NKBVP~wBmmeLjmN_^0Rbtv&cXG>`d10_D_!8(-qptq#} zh(L)Cdaw>9KIm;Jl=%3;)k296dRq!5K7MeuP~wB$mO_b-A6zYz_<#~08?il<4y5y| zkXAri0ci!DLTq>qNGl+%fV2YAij4>ZiYuVFV#6FlGy{lc0Og>d9Mpz6geYkcB@L=q zK=lfmIfSZs^av5s3P>v;t=LE((EWk50@4adE9ewrBbJ1;0@4adDq4PU90VVW%J9 z0+h0$GmVg+pj!-@pg<`bx-12hvY}fHASh7EhR&lxDI2=Q_+L%g{L-BuR{x%};wdQI PGMv@a(fFu+HguD}HEHmr3)?4fS_11f`gv86qz31$+&n}-`h&gRx zy!oeHKdo7_W;5c{39B`0HXzrm5x?={58z6n!ka4avKDP+{M(x1R+(||pDW072oH1f zH3z}_AJ=SHyKBux(Gc*hzjpVR_b1mLShN1q^>u63-11tp;h!-U;8pb13%*64`TKSK z!?pj62G<_0`#gFB^5Oc=@5OJ3KDPJW#i!s!{L(3VH2B{!(f8WllMY`17iGLoSe^y1 z;DMsA4bQ=k1Ao7Q_iMc^QbO_^*Q_yIgE(>g?3J}sO!3O2cJ_*w)|INSPZrx4y%qWN zszl3)ttU>LIeE!(%bBNt1pK;1?#~0)n)OR5drW$RPwk6_Tt)1;p%A@g-v;cSf_)dx zt@{;Y|3X58*I*HGcD|=8$S-0sl1XkQX5{)Wa`c^S*ufSVi=B+Ft{py(KW^D$cy-O% zbsN6Ck*I$9QetUW(fxm275(~Qe8Ow-FXKMH@!4`e!G3+Ujnsc{1VPSyd*4svpYGZK zL3UsDOZ@u0f9`|W8S(FVfa_0wSc@QNJaka_?|lrdPRjrHaX%IwH?;ED{N5Jv-}~H8 zcrEsMwqKt6ecJ!s-|y7^&Lsbm1>cY4cS-V(V)!DrCwE+7Fb2CTVeMk1A+c`Zbj3y> zQhURr)uZ?{)=t*>rKdOa?=Qw~itY!J-rFZ&o+!*`T0BUCu~)x6LRK(9+mlF<@I%uyngk~Gd;q?&$vc{Pw{-LH4bjs@;6a_8g#xb z($%4B5j$r)QoYX0-%rSk{8%UjCQ0?M^ZJ{@^!LX_ygl;GGmq%kA2@6P2+gm^+qLb- zAO9xGMt}9+0g+GFUCp|C#jEvbk>n}rS%Yv}aWF|_SwZ>V6!w@CY2)aCZ=ShR-X-Bd z#?`ErmHxB$e%i3%6H&<5$oPGL$d8=?3)CL<{KNwJ^7;iEz$8oiY|j5p;Ul3UtK@0r zH_yBqr*6_>2^4%JD*xohb$=7Z;TgkpD0|9OESY|9hhX_)Irt1DZEopB-lT( z-REb1XS?rg_nqy&OS|vV?z@uxu4F$e_U}seyKVQ~w)^f<{D01+kZk10ufCN}CN~H; z%fBf#!lfQ9|AEWMhoQ>Ns57CR&UwY57A%=F@ zuFFwPxzVhYo7z#!O(YHk(}n)wBfA&PuW*+jzdO(UZ-+)()GCkc*LG~=ZbTcIHZkb& z?$ShFu3u4E%0P1|_OFnIvJ9r~e4ZsLePvWp%QCG0O)^_=Cd6DyEu`MbVp=f-Jyp`A zX&JTjhD_BTQ?m3*=eKxjs)tZaNfVt(mab!uGh_SDW4f7Y`^ieY9Id*%kZE)VBQ=CY zaKJTR$qJWqz|a@!-fbiH9!wdlTNzUy>Sw(y?VFaiIQEFY+#p;YBn9^vu$Mo3_7B{w zpz`<2<@3t})MoW(E5h{Hspy4>JqcG*d+Mf;>WtgZVlrZA%#hz|3KQr)E{oMYD7rOF z%Zo@bh7^;LJN(O9>>8H39MFX6Qt1L-e@j4hTyRffRkOn&H>qgS$7Q*{i0dE8O9`7a z;kW2m30s0nYkiGKWF4Y6nOsNb!iW?u+5lOWidn9q(QB0_=?mq=Hk6Kwk30=lI*8ec zu1QSzkL%3Z{&f2!&hpIa^vtTCa$fv}LG$yFxABdqu(F(agk@-lt<*juO#_$WsW)lw z5EBnk!0th~LZoj#vb$1TvXIoO6k!Z+1b`>^4vYe3W_ULQI8A89nUkCI*#bC z{rFOS@L*U6LJ_49T3STtM6SaH5<1;?AAwJFtG8vFL0#=FYUqSRIpGty(UwilAFd5* zP;$+#l+x{;NgDI|tOsrjPQnF$A!bqoWu+utgbCZuxKJ$I@desIn@}OG3VX31Q+=>1 zF^PzuQ^UCwIy#+~TJ#|O*OcCL7)NYh2y?bczG2(U5rb0$mMV1Ko!KKoMWuj&fF@ML zU$|0^`h=_u?B3U9YgVAwnVWcps_ls6vaotzvsa zRCre*I{m^L+aNPBa1(1(F>%L zvK(2ueK%WVUAv(+r2_+&b=)fx8A~K$o0v7CBTIr)>V`$O1{LpB`Va8bqH(`s-eirX ztAaSzEUSM%0`{yqejfo+$4i?TNWS5|59I%rBKg#XrQk)8uZ2L6if?otcuLy>|G zD811}S`lJKdP|d3qtp$)qJ=F=O1O_HSw{Mgn^7qVh<6GlF!b%l3Qc_ynX^?T#GDFs z#>mscGj~s-4G=L9IL!Z4YMW0#3~>XZl)&+lr-dE~Zr0{jw24c4k1)}gh* za1e@^If|=5qXk+Q3z7p<1}JD$pdvb{QRrs{6;D*jWe%z|gwZF<>Sgj$;pebN;7!go z5zH(zmKVq8$PNS(dx=UK6YAo7==_8K0t?ZbJ;b{a>7zel&7e{%j4U(gM#3)&XK=%V zKP>2``15sn7>D#QtP%L@q5<5I`q zR0t2RLNfz4X2|6#mAXI@;c&o3SSY@w+~UqNvOH;}znDI}B$T1FO2IxTcCOgik0)6JFjx zbXTY-;d+p+ICl%E76-;#(#8AK6b^VS2VV5o=a@(xpgF0e^o-8tAqbsy5fMqR>sYgn z)_Aj2Zr+7yb?34)gdFl(uV2)1f7Os$gi*++0Bh(v^eHMNUEwWu!*AFf1WQN`89{&? z<~kN5j+VQWQ5+#9+9fdYKWo)WNcZCGJ*0ktpU=8C9-_7gHkY+8L`D8Rb;dd0}D4|>4l(NgGm9i*RvC7+BjWGIE0bXXqj?~QVJ-~`rY0mZ190DzB(&CB*Kru z?!RHuowCe?|30m_H=zeSJ^W)rm63jLj8VD|zT`nK1&xK(krShSY_SFKE6KdTwO~Vk z%(GNKoJ@1po){cvUpt^7-|Q-Ou2}=|r*4Mydyl~Th~rRw!d>^Bgj1IzxKUK(|4LQ1 z#`mbnDZR09$0kttDC`s^>wq!Com=h;Czv5qN+SrvNY|toE0O}uhpZITvfz0Q7etOD zkHOZO>hbyu6{V{a+DMSYU4X2ea7IFqdk8@$+ZTJ9=@ZWFhxod7GjpajTjp2u7Zcec z&Kw@vxDaXuEl~|PD*jjF0z^HKVNP|oh?fkO@{v~OZDTu1ldbhS$H1T81~W11oOQx(SDB zZd72rsjpW}aW|D~tAl=V0OM#P zr{COrtuzER!WvR1t(vAW$gr})mgCjzKtxsNVfk>R9t{h#_t430MggUEt|G`E2ebF< z?t}hST1N;wMGc?v@&0f4$8h%zc3?`3vDP10iWPJZg6bYPTO3^HGbuDnhMh5~Rx)CaPpg+vPAE&4bD+rnd5CzzyyDyVEHkO2gyC|U4{c1?sU-baraFb=qv+1T zm?NkV3QqiVO+Ci`4w(}V>w6``8mRNwm$<=#q{z@D6~08y%nLVt4#h;*r6+hbgeF`` zTSlC7kG#L%R!UmB4Q;*;GJCA#P*3B>1j<0BfZFPM4MKSUIaiw6D9}`6MFNo=1~K0q zRaRI?bkLOVgv4Ma{rY`a+xS-xGLqem9rVcrJ9mfD=}yl8W{3*SG}V7bF$P<8O6oAe zWK36^Af_4_;Wc{zKOI_@4m69pj)+KfOSY*~bZ*ukQzy&l=1gSv=x-Y8}LQhE<}u zfa!UYWWMfzJl5S03$eheR*`t=g$*?;wQAyc$Zy*-OsiUU0J%uo&%5et9M)+jb%IbM zbI}UQi1$fK;lx=^s3?t0n$liL#dYlkK`&#Sg0X9cySK0}rNo@T!Vss+huF@wbjZPs z4#?Zrf-I%^wiAlD1hZ1?`)0^q8udn2TFa=WI1X~g3KI~RFs1@UT0y0YWu7yfY<<$X zoHKAvXkfXee$08t$n>@o2j-~|l{Qa@GCg?K6?=YyDIb!_UFifmw~op1wT#_GZS)IZ zG6T`I4IgZ|>Y@;%%GTaVaJrPS_fM_cCw|>gdQs{P+Q8*Fb*nm9>+QxDnp<(_(j^Z` zvC(whJ#C5@&nm?K++|TKmbEQ{1R9sO_B2)EFCseJaio;ewe-Q_~-Qk)(sTp2vcD z;WgR@)-SbIcry!F{J8UxohE?_h&yHvq~7yl%%HzApQapS3>Xp4o}gT1UqI@O~kKYi~Trbuz5|EyOZ=iUqdSHO?INIC&87QB)1TXTVu#_<*6APmaI>~+Frn=Mw zM6Ic>S)o}iO+%>oO7VDn)k&&*Wc;~axmoPF)cqG>J*QkDKv3}wkfo^*l++~p?5UI% zuMwZ_GuQ+#nnE9rLkU-mt6-$@f5YnELB#61U=t9fiZq(;0Y*Cdbp`EwA~^ACiJ`$n zd;i5rQ|6L~EFlURIdW>JG4)sYSV^ARrQMZ2P%y{(oKZa&vnVt=bf#$RJ4D(d9E zo8cP|NT=y0`9MwKX4*8052L9}76Gk5B$3kd9H{K}A(b+7k~V{i5EYUAha2kX1A7n;!hd}odGDBfWw~N&+X&oS zAwYYPaRQ;Aig4X;+&enkqRvf*?C(dC$uV6(HonGIJ!=o&KUO*b2`)8f26AB7CzJ)q zaa>b>kh{eF8}#-bJU1D*MWKKy1*1XsC*@4_U^9OqSX=uBJ9UC+uTO9^gt@-mUBFTY zrn72aaf=RYs5w=EOp8sRXd+uXi;QdT!UwgjaxUFJ<7*4T*k#@piAviZxNUJLw1#ft zn^;N7ph|&UP>56fBcAfxv?nayGD_+L?nesc5|24+mI~`@Mq%aQzZ`2*FIEOjM96Zt zw-1(^R8yX$H13OeWEKcpJ6^0cb_7m=KqtKwkMzA-2;;y?|y3eiXVD|rIbEr`hO?$uq-fpsSYv`n! zlC?j>&WTsG@dIJqudN*ST)zAjPRO8+$_OQ9_Y{|0)_N{xau)2?n) zA8gZx#Z$C_VM;BZG{Y)LlT_5j??W_TX8;`+kG!R9I56o;J}h1T((*+=GB+F=ji?-D zA7LPa4PF&y^Td?`zfum!re;#}KG273fI7NmHZMs4Mk~Y! zqNj%e7$iP-=b66vpW&rAinY`ZKE%7k47f!S`z@*l)RfCE;$bu@GR@vn|4%A6@T0$! z7L7`xHA9HZSK)z4NR?tDvvt6OkPXm=*8tC{VZ6~N`=)V1YsPL->73b)#Rq|+{094n zH?z!k4@qs3HoEohvX)2puUZa@11r$K{TBeVC*kRUJ~A zeH1x-eBpqd=J5$_8@)@9b%CV+X`{CZ^|ITIWky^<%aR8c_UHAxu4Pgn+rygeJ5^uCexWExwx~S6%Pw(paT|j0 z{P@Wddr{&`KHMhftl^p|F+(|BlV!v4Ff%w%Ih`sX;i5R{mCe{v#P3!)toX9QYEx<_ zW5K4!@ypmRlH^~rc)KUFw-DsOcyy&6v_80J&BFRUl5*J*59jo9WWXA|w}X@)JJXT; zKtcUJC2L-@y+7E;3Dk1FkJ^{96VXOv;vgyIz`thkZ%MFa&GOp&VsRb%Ur!&%{wc@~ zu&Ii4iBHH287(AFV`1~8h%SvCU&hWqeZ&R(ci@+Q&Ei<|0ZnC)8Dp=JOHKIc$E$)h z&DV{+*MeWoL>~;u75JDOC6Um!Ck9{0Ed^!YB?w6mw zorRK&`!6YpAW5b$*&1oGal_NdHKWfm%Ow-)n-YMkGNg<0bG*GAZHkBNfQKLlpDe1$ zGOI(m1kpEs9((o+cYHgGUnF3+=_WuM+tTx3+3VI_Fj&JKKGQE|GUP_x3dFkyNYx3b zI9hzLXGR$d(}+u*?{>1v86**_SzpHH%N;wL4&>IK|C+_W&(zwrPvqBxd^o^apFMMU zOq3~9_Af^IR-B-}jJ1)JIcNze_uIc_@tvK&JyhS>`I|%aot?i+XZ_RPrSo^`{N332 zR?UAmHoldM-;Is$w)1z}`MWFlA5iGKEBOD&6|_SGe^pe7Au2ri6zaVP96_H(viE>Zs5?DoeVF4{^$C{ z-*9PH>c2++xaC|XaGiI}7A61Z`eQp#>@rCDzJTvL@R=jOv(WcL{FxX27HZM|?~_9G zd?E95FM#hN^=~EcT_^mbBfl%Pf2@)3O6{{C`@d0Yixc@nv$4TP7b~0ek~5a8GJK{3 z@ij+@QG&@uZyR5&e>B2B{B^EvehHJ-e~qLT;5RbB=*AT8~YJ+7Q`rw;q1C6o78KcREcuAO<$E$2&Rtjq|9R< zD%FJ#ub02Lx*R2(F_qTkz|hO0yzcBf1MdULHB3%Yb#|=$%CMMLD8pyy7|Je8@^sYK zyVoclx|8)OW1IC%GV()r{5E*C>ul)UYvY;6!*F(L*^qYiWcV^;s6KO&k?^N%)XMDj zm_H#qOyZI#TleEZO1Pa`fqBa*s;|jpPmQc7T2z+|g5&>CtQQq+4?$kL{PFEA$?4H3 z;bK%2ugE{br%5GhW--$LlGBcck1tc=qE<$9NX6#o+mB@MTb_j~#&DmC>0i2x9^xjE z@5;%(fw~7OD;+V(f2sy*#iw9TUVeST<8v1@5d=lux8lmuKfu)+Egb9lbbn2|dTydv zPtYBQ0ar!avUr-PBwzE~4CHj6--8m`AGc&lfgt9CFrLX zs1o|w#vMm*$pkhJO9;0b%arU_O_gp_gGy8j*%z^Jm+5e}j(U-h4wBhfIz#+cYChY? z$*JJw@-4a0i@XNmqR=l^XS$Nra-_}ILWffhb=j8k;$^I05cNBX9L#7<`nrhT%h7!h z*DTkHU@`BgH+VwNb^+b^OuV1!*vaj>caKWU@&{A>-QVmT| zz17JV-q!DGdT->jK09HOH5Ha zRFKv3CS!H(S=uUOEr~a2NZU1CGbHds-}7;FyCh4lqJso#-=w%P89jDJR3r{!KCZyN zWpDPXT-X3A3Dlih(p5a0A}uu;-6wr&>KGW(SMTF#&Zd@wO1wPFhf>v-iFj!J`PBiJa9qlOd*0AC;+2C--crm1ukRkXaH+3Bz-Z75sj8^GbU+E0p^~xuX}kXT zKTN1k0SPkK)sN!q=d#6cipFvwqgk4Kd=wx53<-T}%|*B0QC^+PHDIQOO;Qm_hID!&$qYP`1bhVle zWQ&7~SNMc=Ms|Hr7VV=$*RD+kiFE!#1eDfR02 z|AR&v%t{-)cAT)n_Y&mLZtR3Q8myV=u%-Ou41_IP;QC$>aBpB)qsjSArXsnZctwdL+6Z zXp7VDd_@!P{@4OjLO&N*RAKIHZbevZ&_(9DceSB_qzRV$!!J4Y#xX?f%8ko4xU-=t zC#YijAEI9eUETyaQ|`;}sb8pA+!i*MDPLD^wp@(_`O*gc>>9FN<@0R|s#?L*LBuds z)t(4*ieN|W@W$n&<$M0&nN?JqVp!#Xr~ql1nly-5mn8_9dC8%)jx^~nlyv-Fq+(a? zCImX}%At}cl@WXc$`h^n*?ZR~2WcJ(5yy;Q4hUBl{nbEmlElKDVh5?Kh}#gtnNTIK z8W|f5FJ-9q;_iM<70qe7Bb?*oqRhPOTqP5L3-Gk>D0W(HM`1Jh3gsL*J?joRxD@MF zO|S8!xcSiRzU}le^~E{(Yi7-s=Kic;@YD$Y-+HF4&H1PFN^3Y~kOzZ@q~#*PXOmbW}37@XNWEi*c4&Zrvw@$Pi1+2X3?%2Uas z{Ql?dV~OB2Qa79lws%`ZCs?-9PY2pptPgto=MD)u*$(DSb2DmcP`CYcQ~;mmQqKpP z!1;L@u_gb;?|Jj}e->39A-Mq+-Xz&wzHKE%js0VQ&<%Io*jk~`2(H_Y`!a(aHiC#EeuqTSM;djyTS zhLuf#1e?_NC%}XsB!!2{sS$CK9789Lw;f|?;x~#W%GHVmG}AOSGuBx!VK;N+Ko#$W z!O9C$hN8=@K8my~vA?8E-0N04I$z(j{>+4+`^tvsJ}B~4YjyyaqPQbqOnUecI@X=Nzu~X4DXi?<)Vo0! z#T1O|2F5Ldy}3T7sB7;TL#qqju{}m|-1|@iX}!7r)HRy(4naHnqj#P6sF#RGyRIw| zg-hKS_Q2u3`j@8TaAe@+laXt4!svY8o81{MkH?cxGYvBlGY$hcJ{fGofq>OkFE((E zBx?m6e|bj>sQ{f2`wF*)i`Yhn|H>=>qmrTR*OPPgI9?8lH&>ZM0w${z*loiLAZLr> zhj&`|Ums@a(x5v04_+oPTcHt3Yyv;qWhomf9@p*he&J8`@VBtih`23B9>?RvgeZl~>ZiQPSLBPcHK z`fir^SCd6-4`3!Uv+01iu%D-Y9y@_oz)zhm*UwW%0u;I31uwMYob_Yh$mJ85-GQ^3>}jPs zcd^LXd5#eNcG|+(BzOva*$VR*?-V$Vg{1YPWU8H#4h-B82|Mw^CcWtZIvyB8NOuPV zUOIaHX8W;O89mLpC6)3lPGDrx%1`a3rjfg}8*&m)OtoW1Q_mFC{{Y8GJcd}KJ4POv z#x9v)y)OzvR+KD5sO>beoVr&WB>Uzd4PF)4x?JwPJ93g7>2qm!w_c8f-vh<3nnC93 z(?T3f(y~*c<1%$^A`9vTqZ5I2t0MxZm1BdpzqbYD|H>^Zfj_#>yh? z^B#p9?tEH!k;fGFgg4_P%@2LKuhjHao=wBW%PEWjkGbY56)oe@B9qf&7prXWB@3rI zJg0uFS21w0K5r}3O>&WT!1UcX9Mp#ix%=7JxcW5urxtCcBcvl}7QwT4j;1(J5P6NC zif*-ET1u67y_h=!EEsl2&(C_56Ob1O?afZM9K*56b8vQR0xbuETm=U!wEdXzw!2RH ze2S$+WQBsFA9I}68!MpuVaiZNfnD4VPrQQ6Vsc-;e(IuKWJlc`7Q*NvM$SLeFPmCH za7yj$*>wrTXNivbLVlYT|Mu(l-b0uF#|oGAdauDZVPGOj0>Mm_kczh3e9tRyD1V`u zc%ew!Dt8h`JiEC|QT#O$Z~m(_9))lEW-}j)HuD+fwV0948YAQC^2Y_S<%mGn_oWlL z_sXox(@gb455m5E)YG_+9rhr!FCojU{vd4b$e6)$nSsvvI<|q3e_i0}{oK3D z#E#R;exHZMX$9jmcz=$bihopJH}&{Vod+pjlI`PdO6DZ8QzD&KB1`< z^sBX@*x0P8(QDsW)tn_hx1)z9OmD27WD6DU+r%lOYW&)<FNU6 zrMh;i_h-=t)d6E;XK3I1krYtzbWRTK&iNTkztfswgL z{3GI_oHWy@lhri?Hpcmd+KO-T7tSS}8ZSoAMp_)KpAz7kk_1v+(7Snef<730@%f|E zwmgWig0lC0jF;!fKa;&03^f1s*q-X{iXU9G5_&&A-%)?)W3r7g>1V%2Vc0uhmtZ5XOL`@F_~TNPgC z-|je_qN-z};1aUyUgtlPrO&GB+ z;cx}{%zsQNOKPK%fvRq~8?V_|KTru-ZvmT2UV+TFk7Wq?8DcK@F+r!Lpp!&2V#GJ0 z{Sp8{WgoA&c1AmDg7Q!Fxt}?X5`v?bCszA=>M>95-Hc5-wxz5V(-j-hx)U}Q2uk-Q zx<_ou)mt%SqJx;>7?c3^d$wiJ5PrdYPq0_GvVxEiKkI~bs;j(rC#oE!p|WsZgORF8X+I<9%=nGoY~Hm7@ZBS9g#I9BQJ`1 zPboW??&uD=gu}x63L!2@e5Y{}yIm_WZyyn}k!+Z;E$0;yENYziyQ*K$#vP7N%BN>5 zfiqfpE__HB_R{yUBpd%%jRTl=ZehG z>k;f)UaLcO@1unWupE)yEbl0Ewem>pD_vZT*4I3mqxSpkp0Av^{+Gx5l%z9XNa*-p zQXJkd&u@;rYrw}Dz|XA$Gi`_%zWg+ws3`Nk^?7MegQ&5B9kYf>k$pUUO-ogY$Hg~< zKS{e8Ye=yeh0z|Ras33jgMj6PF_z)39j+qZD0}`ClWS^Zgs*ee?7YPrObvzeM{#2G zX$-kW)oCi9#NcF^MdpXuyU^XN8zcxOph4fwq~+UowXS(DPKQlltURn=b!H!sgM6{l zFI`>N1wo3Cu+7sqMh9e=rkL`Zm~)X!xlz>)mm8J~BHtn}62!P4^K#Rxhcri{(*~j^ ziZ8su!r%ri?J=kEg6eJq!5f3kB-FU&?qEHW8DQlJfluvJ{lK{@wG#7qW@T7%^#aj% zG2_#$?PNE07O_j0`N*QZWvOiUKBNtUg8>J)YG?mo7%=H+n&kH-spyLrs}$2NcXS|s zu4wX8L~0_6XzFV}qsFs1m1!PYm+P4-^U;JkoKmzp}4egn&An*EF``umGnE z2%hP1uP%70=i@Xb6IRNTqzOus!RqXF4}R4I5^sYdGZ2JS|BK$c z)eB6Q&siMPFCRdgCML_Q`=)tElX4R2N98)q4rf+7ae|Q zu71T_h5cXz=wy-RTa!rZ7cuf}&BID%6P|4~4Uch+jMI!&aEwgJ$vTly;7A7VCYQZq z>$2h3BRH|(KvRF`h=`iH*wKkAkw_aoMr%P_#XH$nFu{K7^9XG}lV&@m<=BcuyFQjr z08Pz^*vH9g$+??HGt)i!#ljyp+?a1d4F_&CN&-H5KU)XhH%mo!_3TccFZ8?@>gl-% zz~X_9pn)k5t=$mC}U9sPvwPZ#bZDR4>eWv$nK#^hnG%O4c<+Wvy;@wsC*B83_?e5?7)t>m}$FqqEF-;;=GF#_Z-z*;p(PlQq4Cb$6HOx5WmW`hV7+M%AS`e1+f zAi!(r$%s&L6gIBB&w601{8vC~YFRfy+paJusL&o4{d5fZ6` z2d;~=>0~l8o5R~=s(?4w+&%FE_1l=2W!QPdHZnCFz!|>9V30&IQv_f-cIT6Henk*O z{U0vX@MvzRj({iY(iE}3I0uc=+uNEww;FK*4q;&_hjK8#G8MiE$tP~>x)hLsH;%`q zUksiy@fWoSA^j=<$l1iOgjwwE-c~z_K#Le3r^)lC z8pcGT1f~shrpyUWzi68{m_+DKi(_wZJVTGT+lx?5C&#!?YbfeTEWVuW@g9GzdJTVx zmJhK_B2y!67_xV>%wmU4ofx6&gM$DJoU#r65Gi9T8-(sEa1I)KZTw~W63;`geHA=w ze>{s%i0R7Dxb8IYmLkMgwIGw#BgRb`uJyo6)v1&Yswi+Og3r|QPU3?_c)C%;_5@Do zn6eAJ^6sZyamV3cLSUTtk2d3xsAF@zybR%r-#mu1nlHONP12kCL()f0q@ft`nR@AS zS&Btw&F=QOse#mv9`&$GIQq?{OFhaiZ%wcV#cv_;sg=u7D{;b-Qp?ficpDdG$1aT6 zeo#gy3w#*m$@}aE&?7@-e{ZOY%Y5}RbEZCUC%maWpLRM-22gaAZQ-H5)~KA5=&A4$WKG){_OCuGOp%;quT>z5Ar5&LF(U zxOLm%%g={ZMnZdP28UxWZZF5_oMvtw7zNMZiAv~ZVuJnRgMRJGZ`c#J&IbB7(%rY$KiK1yA22EL7O*HF&dyyP zJ=wY`AaghKF(vj){oqlO9^YLEqC1mR)ZZfeCT2RY@pt)@9ZcwV&odli%)ih%&xX!S*qi=di=I9LEx zf}fvOu~0Sjm&~c>!vIDY7;d{np6qQ!VIDd!_xHqV&Ra|y2HBCuL5~Nz?|XOpomP?1 zthQlvExYL~z^QHl%cSL~`u?M1rFk9&OPA`4=L#B@3dG!#Mp^crX&NS)-I&Zx?|%Uu zpN{-M=8M3-+)-{#)Vy6(Mdk?oZ3AObOP~&Tx=V#tn8q|r*p~+p=i;OLj zp97bmWAxf+ZyXFR`Lf;O_~LBMz?hm?OR9^6{XFj_bH1oL1I>^DP~Pv1G7)QS^8zM?7E1-Ix#BTe#;d#9*y0^@5CBcy~Sd?yj9O(!4UQHlx-o|IGhA8-OY_x!*;=m)vm`-y zP+ndy-ruKdkmYl21`xHT%O#{Ci({+ykT+@pL6%mEVy$%Gq*!iS#F3^s9CQEBHy$-E zbqBrTENtus^+cs#apwf%4gRi5Vt-!B$C3){O%AEWmxZ5~z@6w1u!$&KmC zwOx62MB;rx5VP9%6Sme$#-4bQpHb7$NB8Tl1@YT+A=jpg5n)j}sGfR{_ZUzz&f&J{ zEe=2pVw|uSTHCyVt-7eD9c5OtGR?vCX95I&F?gTS8@0s?_wqPP17H7+L@y#b9|zMB zuVNx2X79N8wt|pt(Tfjpy4+@#rEtzNCH2F6uUi~5bY*CjGeoL6HKwz!ATsZOF+P0K zVQ3;@u%(7SpSq%LS6_@p$LInJ!>81GXtlc4!hb%8V2)Tfy5ojun^1zE-i*i#KNc-o zWBLsMelmTu=cKB7L+fSG@=fDYTxwL&pep3)dbxJp57Cmo>D+|eqrl3x;*rR8s1Lc_ zTKW6Lo*aJFx&A57>a(dGT>0C^*~wQOo(uVhHGUr}hATCg-7z%~oM z>w7PK9uGDyACw(}HrQ;Z@zf|!dl)p%>75k*qFUwfwUG5@kD1V91l8=~DfO?h0>cZI z;2~3atkM#B~naU}&C`wsBBCBg#os{P0>gU$xTV4W zGx`7K102Y&fhXu9ucU9MFZnmo%{^*V3q@tHpUuHAbC5bfta!j-N*ypiGyt4A+6bzE7s>mPACdmh%eOPbsVLe?WP+5g#t;t@TTpJ%E!3oGmKM`mv zD83~h`SIu);=a#H5@^e(HvyG>&t30Lg+)t7eSAR|i5OP%{t2?lz_X?Q6J^y{XPkoUqf4^xt1C|h5lyC86QUAC+uK?YB!=?KS zzb^OFZ!W}w{X_fO1bsU_(SB))Ixmc*H2?7R`24Nr(SWB2ZUy<$-%w6;t0%MIPP>Or zX#V%_ygU#k)yg>7q7L)W;@_L}|HG|#C>L!R$;Ht{!RgS0g*i5x&SoS~ zQUoBB?JLUPDVT_T$lX9v{!kJZQCRg-)vshGv~jDkZ}3)8V~l^u*Q@y9tz=Xszsp6? z#S%r0d2R*^ZuF8Sxtf`(w0bwSnm7MT(z1D2ozt&=Zwb`heAGZOKt(i(s^@F`2?05x@=Y z4V@Vk;3ffJ(k5SM;~@F@cs>1j<0^xNUH;-ggd0YS^0u@N>#gh-R>)vdl*komLNWh89kK`qUdKG z{}QX02+|KQ*(br2o_jx%-r$juz!znq4NTaQ`)BA(W{g}-6o|Ihgn%D9(LJWlEAMt_ zi7b=_Cj$V4{F0e9<;nn0Q&)-n;^w*6EyZr^-y`~Fct2d-A-mC6sgaLOqydls{ zvUYWzIHSs*04+XyO}kfX4M_{oCu_wJ!-lU)u9wHymNjkko_5pdiHHk!NU^+Nw_zIK zZVRl&A)#Q%U}-JCGoaBCW0&0io8pfknj=cE@{N%73TV<7vL{U_jV$FI!PRfll105j z>7pR|ba44^%l#n#X@;@nP1!J#?}8=%RdKV5-qU2F4*W!R7?D27OUz8G7UkL0jj<U~Zos$6k`)o(*#vBQ({R>f6nxKCV z+rKZ*w7xrODs1WZFhNt)N)t+Tbr%R$*Y|*+EUI3OoJM;3 zo4g`gM(xUC{bF5R4=Dmdh9m6973QZF%4A-GcC``tb7MZriua3v?Iu|&nwMCJb&+4( zPn`oz-o?vuoMO$Cr?14#WQ|*pTE$8Q%!l?+WT_jIdAwC%@bS9A#X$E)j5^58I4{C+ zNaWh7=9&aB98xw{-s7rM5Asu#9RmKyW9u(g)dfKU>_Xw(=KWzrj^AWZF*>c|{mw^d+{8cg`udl3*?kE#Kg64mo)CbL=uvdTDF{G_s~-3z)sJI_^L?^3*}nFG0BH>T?E zB?3@UX-(s+iw#jcE%1*{1IcfwhrShja!+e|)t9{Eh7|7>3;jhDWX0{?rJS z6%QF3d&=P$EpK2MF14d2ehumb$;1^#d+<4YJt*_Th2t2&YiEaD}%BN2Zrt zp`3diRQuuirX6>tdXJS(S4~B3;~7?n^7tGwYTu)-uQ*TJ3lV zecPdmmrZq)n&REjzJs`#KyPhtS6Hj4v;7X`-n4dL!pX>1xXX1yASFvT24Cnl+ng{R zss{enmA}BMD<9G>Y6b2rs3FQ%XJq8aRbQ5t4-o)2^~l-F+>u3q<%Tj+iAV1_aW(S& zA_B`zv8M2ymzS?lww~{M8{@N_4B2`l#y$xCYlLgp5`%5Ku{8BQUoncSxY$)t9 zGGfE8JV~R8QV!>wU9bm+TDjI3#U?DLSZ6FaGmbMFrixAiQD*t^iWg460(zI9;~%ta zwPc^t*>|rR@7vp68GkHwl=JRPH)nx;W7UXVrt|iObg~E-uB#>yX`HAfOJN>-JPT){ zNwo7&WR#MJTMcU9t23-p$?h;M%ES;qZD^c6S&d4$lHoEu75Q-~sxNHQ6U1$F)b3#N z=Iwj7tlNP9J;{Ky;YaxWVF|HKQWy3<*#fz8^~t&W3QvEKaxWP!-Qpg99n$-(&+t<4 zt(Oxte+zHW!N)s=P)rDB6;CD?gjE-qPUlBfPvqt2E)0gvoNziVIPlIjA^5!Z(f1Q9 zA2JhT%1f@)$4vD$qVK5JUwIeVFHc#^vGN}Ic|O;#dOT+-g3pLt=Ip-agO?dU;XvAZ z#PRCW2JyKBD;BUEO=}ya9_%Xdx%I}_fhxVY!~5th{Urb{$J)EbC`fsgJwMfSH2ZFO zV`OG?gxcleZ1trJ{})?d9T4T)tZn@a1Pf6@Kt!4aSr!mbKoF4bEU#SOf-{RMJe01#ik(O#-3ny~Bii$`wbjYc!$s-`^M9<6K3$IfqeFHMxO2R^8$OB(s=`?9w?eZgRJj}>rwF1kr&0!Yp zgIv~(HW!pC(Hc}!iuN2=L!YrWhwiM=04y=~1FEPKl{Uqi6t9GCVYX>Ho;b_HL@Efm zoKRn7kOaU^A2x7>kYe~ zE}zj#T}z{k&Uv%gQ>m<{=HK0w?IzUoY-^UoG%u})RUuAlA#3j4#T!@QJUej)Q#+^r zx>Zq$CLa#w9^X)YTvWe_me`HBr{~bu;%3NiUBA(m%Fe5s5AC7j&u6&88zR8!6=B$z z>WEc{yD-eDu@_suRY2iI^7g|01uveQ4KMoE$)wYJH0wzV59e{C@{Wg%6+Sgp9NMy(W6#%l7~7|^P|R3Q1e=8 zrk&RA7?j!q=8etg=kyG-pblk-W`*auJK3|v&wMkGSnocyt!I$0VDZIBEC3R|{&$7N zPiNh}lR@%q@H`8QpYvOi3(+D9EN~d+E7>h=w+Wbs6GBej&WL9Nq@~UBe9O zrmb#4Di{WLV^pJdvFTFmO3w&|fVO=u{84HjC33ecVOZT#x(Fi^Vmn&h*Lj;Qj4USl z&Bx5ClHsj5=(<4W(#hUb@!4^o!5p@sc&lJeAg*mai>rKhFr;bJ-s?JY^qQ1?oW~q* zy(7*%yH=y?v+Y1W6k~@kszZGDitA^QNNkrjT}&!Q^|jX}j%Koq9X_=rsz+*D79Qrg zanL8O*DNFr>ok|-)#iOv?M7&I3!fd6Y-H>8Ud=ZN8LiJzGO=c??s3o=?QjgO`=_p- zlOa8EbuLTKvSor)P>2=ZSy5e2;Zb;6*WCYmfi4TA!jp+ zv%_erLMQa#m;dPzvZV74)c-yWXjH7~!a-u=K{CU*1r;C`U3 z*RU8f=R_VVS2^0}sj;4=26g_SUgQak#msu5UkOUr)p0Kh@3fQ|!)xHNqxRjcZZqj> z`Bz#41Th6PgX6l>q>Jemi0Xz#l}=(#Sh|R}$zZNMus3b5ml#L^ zt=ruob`7K!>l*8vSCruoS0~P<<4r%ivQ?W7GeJ_li^+NPb?c38dK<-+A;oVywHxoI z*Ox8FyD40JUzxPbJm#go1RVpDm7UGh2&i?XWc5vDoFOh8t^!EU{5VDpl1a0BBysqtV`LS>k{YdrE7JjNip>l*TvUK3P*MW8F8WUtJ`GWXX4 zM^FEvOk9u>Q~$Jl-I`asRT57`oLWpq=Wj`69_S+9xOKf6c1TS_uR>oR-3)|noZkH` zZ`?WwiR#J;!&jCb?G$?@zN$izFFV8ekpkoOXnn=#e1RTwJ9U|e{^jugeEAP|Z4ml{ zBAxby=#u*1s~$}p_w>HQhIPg`sopfIm>TU2X(-I<1v-bUnbc_LyJUXrZD_o&h0M~4 zf~sL6*h5|R;tJoWHCakmImSDfDoAnNkBC%$Reg~~88tt|={sdLxno5U!^l@^@(LZA zDE!J~&L1VPOrFKh;#y$fR*sJE<>o?{N*@@&N4O^SnojdNRrx9&aAM5)b9C0NweZdz z3^5r(lpxlfk_6IjiE|8drF^*i_C!vQ!8O?X{e24OZCte3(Vot zobV-gf=Av6d2p{n?U$JOoYyNwbN+We9=Ee&9~Zq&0Eevwb-<$@^ws1et7xUh!b)78 z$yX(!OD8Z$`A5OskvF8aIep=Cabyv^vQuA6hDkMk4gR(p?QqtK8;H1q*C0`&FtblI z=^i=K{*-Lep&z1+SNLIFIod{&Cu}beF_sdYt-j7nLB%V{%l!BpEjQYU2~dpN}Xr9u}T?F(9@8` zLmAdVDQSCx>1ju2Y%tq3#0uP-(JM3GYdVpERH!z~j_Ns%GAR8hjh?~1MOrbguWgC< zh}qGv*5Up5?Pl9wHg3~MaV>RULY|D-BjqceVLjF#dx>(WYpJuGMBX=0v_QbYcw3 zS~d-#yibDNVWMIw5{dGzXUAH+!5A#3g|D$DL>ty5hL*$Gm+NcLO{rr3ypJWRAH^u) zw$-fj7Y_$+7|>x0k&iM^ee#Cl6Mj^P&+T67OvPrOi<;7qYP`O>R8-n_F$*x<42NC> zb(-RjMk-8qGE4tTk+gZR(d=kUnd_%=6^Yx~p%H@day|1MQD6tc9XdW4+z(Q9C6|9kfw23d>K*?VPZQ z4o=n1o>&=&hsNz>ng&*zZ0bMOolgpI%+s_Q}*-MlX8} z3Q7xu;S?G_^$ zC^s6snkj)qAB&>zouwyNPz5F5W4UaSh#Ynm%0Tu|1#C3`_7%hNhMwAspINpH&Lvd+ zqn{rF(eiehQ8`xQr+9*#Awmwi$8+I!2b|*gXF@+Oiru%vLC4y%Z>Crk?H9%4U%q0o zpYqr{(0X;kc_hwzCP3rR`y$sfzD6ml$Rgv1oXjMaz_oyt-cIE@q4-oqxBXa!zYkb9-XQ&Z~+f#U@brx&S9) z)M(rE90>imFoK+2YaUZcp*$9=hkZ4dMcCOOt16zbnO1!r+g7p@$>p;Nn_{b5Sp;jS z&4t9beZ)6N5_aK^pZdd*bd%7#NYC`Ie&I-B$ias2VO+P)V8_o4Dg)N^e~kY<3jn8$ zDflfBLK$_Heo(8^RcJjadb-;Dc;k~-!okO$iUK)`DS1Vla!TjRyY(z$DTql?i~ylK z(}sQkLd5%iDasp_&s62ik|aJx4T;NuU(<}_pS)9;`DwL zUW|jV#SREVLg!G4fd;;}JQP_*{oK^fkds_>z^eDw0ExPCRjn`FAtX31=GWT1a3<=F)T!r~K@TN*Uv- z)J_E%_;|U=sDzY^e*?#A)usGkVwu=9zXqGFhsCz*_KdzA0D)L@+8|*iv*Zg=f&h$Gp}lR*MNS|7LD%b)hi3KI`D16O5vkCo$JFvntKgvlX>%zEeLRMIgWVBuB4;r_}->(rq<0K7L;l%L9&!y}- zwbx+CC(e^NRjI9hpBIGKmK);9OFc}Imok*IBCWOJy+Tj^I3-r0rgXY*8iNNR7c|~x zBv$FL%s9;sOhfGT>c(gJyAajC{HTJ37`5-`-N@~MLb~&!pp@sGW;g@{qGA@xkBUgB znm(lK-5ZBXxvf@cXg{e~<(hD?ywrgNnXv0414`aqj6^jE4#AMYj*r!tspr_}QOb>h=rx>6W=>F)X;ZpNmVIWu z86zrw3ZaZ<_BieQP@Z|`v_BKZ&=J6t^ts)pOy-{+0er#Br{>VN51HY4CyTz-GD%`gmm72NBdm5fl^QGDCNA}G0|iw;6O6m;YoKR=1vn2uNM9iEMpg-UgOT5-0BdXGG$ z(ez6_Z-@;mHAy!nDRl&I<4T8E#@hP4lS#=&L5rf*-@mw!k~3g+mxr;`69cKz)%(eO zJZ96>K)0_hbm%EIPE@5HDs3M(u<~fM*R~4IL8UPyO|hywmnCIh)PEpzUYCkjS+~Z# zPm&%}v!gU{s#n#)7(dvod_}X2QZ7~zjS32Kk(QG_n z11l}Wv_j8r>$l&FHi%9=)6lgQf0Q7{HvyaNawt<~^kcs!+EJsa&UG8FCnHm7a9`D6 zAb2R-*RVLItInfnrG%_TDN{L%6t3laTs5bpHlo&87gxA~9yft!p!g9_=`v-R&|}eZ zlYJHU)7^6>@B&V;*q`4%Oz5$IbKXZMas+uc zCi=rJ=6BtzF_EwSz6&rM%c}s>^(1@m3ep|Kt8@;tVgF#;ngc1pm=}^Pi1Lbb$5`7F zwL(-MZ#}~OTW9%3T2qFEUrzxQ$a9}VaC6e>JX+nu8jSJt|M<(+Fm9aGZf6N|Rh zvK}F1Y=P6GXyvR|F84b=E&B*wN1UDPDLktLZVJ1VJ&~oGy&GN^nHjyL!{i%h`S_W& zdiKsI<+g~QBMO&XrCGQ^JX-rD?1`>bNh?k}y6B72eyVwGq5Jj;O9-_8Xw)>hVp}HO z`?fY|(FEyZUX@r zE;Z?JK$+v_joU|e#;p7SRj&J$Po#-c>Rod-b zRX#I~x8_anONL>);4#rAd$p*N<$W6fluDG%Sv4XDJ8Qy@gQ6DHXA3r;-aRx`B$}t4~9`e@~p;(?olgTERy21vBQRN2@

*Rg{Dq)p?#Q| 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 - - - -@interface STPGenericStripeObjectTest : XCTestCase - -@end - -@implementation STPGenericStripeObjectTest - -- (void)testDecodedObject { - XCTAssertNil([STPGenericStripeObject decodedObjectFromAPIResponse:@{}]); - - STPGenericStripeObject *obj = [STPGenericStripeObject decodedObjectFromAPIResponse:@{@"id": @"card_XYZ"}]; - XCTAssertNotNil(obj); - XCTAssertEqualObjects(obj.stripeId, @"card_XYZ"); -} - -@end diff --git a/Tests/Tests/STPLocalizationUtils+STPTestAdditions.h b/Tests/Tests/STPLocalizationUtils+STPTestAdditions.h deleted file mode 100644 index 08314af461b..00000000000 --- a/Tests/Tests/STPLocalizationUtils+STPTestAdditions.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// STPLocalizationUtils+STPTestAdditions.h -// Stripe -// -// Created by Brian Dorfman on 10/31/16. -// Copyright © 2016 Stripe, Inc. All rights reserved. -// - - - -@interface STPLocalizationUtils (TestAdditions) -+ (void)overrideLanguageTo:(nullable NSString *)string; -@end diff --git a/Tests/Tests/STPLocalizationUtils+STPTestAdditions.m b/Tests/Tests/STPLocalizationUtils+STPTestAdditions.m deleted file mode 100644 index 50955ca9552..00000000000 --- a/Tests/Tests/STPLocalizationUtils+STPTestAdditions.m +++ /dev/null @@ -1,42 +0,0 @@ -// -// STPLocalizationUtils+STPTestAdditions.m -// Stripe -// -// Created by Brian Dorfman on 10/31/16. -// Copyright © 2016 Stripe, Inc. All rights reserved. -// - -#import "STPLocalizationUtils+STPTestAdditions.h" - - -@implementation STPLocalizationUtils (TestAdditions) - -static NSString *languageOverride = nil; - -+ (void)overrideLanguageTo:(NSString *)string { - languageOverride = string; -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation" - - -/** - Clobber the real implementation with this one that lets us change - the lproj - */ -+ (NSString *)localizedStripeStringForKey:(NSString *)key { - NSBundle *bundle = [STPBundleLocator stripeResourcesBundle]; - - if (languageOverride) { - - NSString *lprojPath = [bundle pathForResource:languageOverride ofType:@"lproj"]; - if (lprojPath) { - bundle = [NSBundle bundleWithPath:lprojPath]; - } - } - return [bundle localizedStringForKey:key value:nil table:nil]; -} -#pragma clang diagnostic pop - -@end diff --git a/Tests/Tests/STPPaymentContextApplePayTest.m b/Tests/Tests/STPPaymentContextApplePayTest.m deleted file mode 100644 index 4135bb46716..00000000000 --- a/Tests/Tests/STPPaymentContextApplePayTest.m +++ /dev/null @@ -1,198 +0,0 @@ -// -// STPPaymentContextApplePayTest.m -// Stripe -// -// Created by Brian Dorfman on 8/1/16. -// Copyright © 2016 Stripe, Inc. All rights reserved. -// - -#import -#import - -#import "STPFixtures.h" -#import "STPMocks.h" - - -@interface STPPaymentContext (Testing) -@property (nonatomic) PKShippingMethod *selectedShippingMethod; -- (PKPaymentRequest *)buildPaymentRequest; -@end - -/** - These tests cover STPPaymentContext's Apple Pay specific behavior: - - building a PKPaymentRequest - - determining paymentSummaryItems - */ -@interface STPPaymentContextApplePayTest : XCTestCase -@end - -@implementation STPPaymentContextApplePayTest - -- (STPPaymentContext *)buildPaymentContext { - STPPaymentConfiguration *config = [STPFixtures paymentConfiguration]; - config.appleMerchantIdentifier = @"fake_merchant_id"; - STPTheme *theme = [STPTheme defaultTheme]; - STPCustomerContext *customerContext = [STPMocks staticCustomerContext]; - STPPaymentContext *paymentContext = [[STPPaymentContext alloc] initWithCustomerContext:customerContext - configuration:config - theme:theme]; - return paymentContext; -} - -#pragma mark - buildPaymentRequest - -- (void)testBuildPaymentRequest_totalAmount { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentAmount = 150; - PKPaymentRequest *request = [context buildPaymentRequest]; - - XCTAssertTrue([[request.paymentSummaryItems lastObject].amount isEqual:[NSDecimalNumber decimalNumberWithString:@"1.50"]], - @"PKPayment total is not equal to STPPaymentContext amount"); -} - -- (void)testBuildPaymentRequest_USDDefault { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentAmount = 100; - PKPaymentRequest *request = [context buildPaymentRequest]; - - XCTAssertTrue([request.currencyCode isEqualToString:@"USD"], - @"Default PKPaymentRequest currency code is not USD"); -} - -- (void)testBuildPaymentRequest_currency { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentAmount = 100; - context.paymentCurrency = @"GBP"; - PKPaymentRequest *request = [context buildPaymentRequest]; - - XCTAssertTrue([request.currencyCode isEqualToString:@"GBP"], - @"PKPaymentRequest currency code is not equal to STPPaymentContext currency"); -} - -- (void)testBuildPaymentRequest_uppercaseCurrency { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentAmount = 100; - context.paymentCurrency = @"eur"; - PKPaymentRequest *request = [context buildPaymentRequest]; - - XCTAssertTrue([request.currencyCode isEqualToString:@"EUR"], - @"PKPaymentRequest currency code is not uppercased"); -} - -- (NSArray *)testSummaryItems { - return @[[PKPaymentSummaryItem summaryItemWithLabel:@"First item" - amount:[NSDecimalNumber decimalNumberWithMantissa:20 exponent:0 isNegative:NO]], - [PKPaymentSummaryItem summaryItemWithLabel:@"Second item" - amount:[NSDecimalNumber decimalNumberWithMantissa:90 exponent:0 isNegative:NO]], - [PKPaymentSummaryItem summaryItemWithLabel:@"Discount" - amount:[NSDecimalNumber decimalNumberWithMantissa:10 exponent:0 isNegative:YES]], - [PKPaymentSummaryItem summaryItemWithLabel:@"Total" - amount:[NSDecimalNumber decimalNumberWithMantissa:100 exponent:0 isNegative:NO]] - ]; -} - -- (void)testBuildPaymentRequest_summaryItems { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentSummaryItems = [self testSummaryItems]; - PKPaymentRequest *request = [context buildPaymentRequest]; - - XCTAssertTrue([request.paymentSummaryItems isEqualToArray:context.paymentSummaryItems]); -} - -#pragma mark - paymentSummaryItems - -- (void)testSetPaymentAmount_generateSummaryItems { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentAmount = 10000; - context.paymentCurrency = @"USD"; - NSDecimalNumber *itemTotalAmount = context.paymentSummaryItems.lastObject.amount; - NSDecimalNumber *correctTotalAmount = [NSDecimalNumber stp_decimalNumberWithAmount:context.paymentAmount - currency:context.paymentCurrency]; - - XCTAssertTrue([itemTotalAmount isEqualToNumber:correctTotalAmount]); -} - -- (void)testSetPaymentAmount_generateSummaryItemsShippingMethod { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentAmount = 100; - context.configuration.companyName = @"Foo Company"; - PKShippingMethod *method = [PKShippingMethod new]; - method.amount = [NSDecimalNumber decimalNumberWithString:@"5.99"]; - method.label = @"FedEx"; - method.detail = @"foo"; - method.identifier = @"123"; - context.selectedShippingMethod = method; - - NSArray *items = [context paymentSummaryItems]; - XCTAssertEqual((int)[items count], 2); - PKPaymentSummaryItem *item1 = items[0]; - XCTAssertEqualObjects(item1.label, @"FedEx"); - XCTAssertEqualObjects(item1.amount, [NSDecimalNumber decimalNumberWithString:@"5.99"]); - PKPaymentSummaryItem *item2 = items[1]; - XCTAssertEqualObjects(item2.label, @"Foo Company"); - XCTAssertEqualObjects(item2.amount, [NSDecimalNumber decimalNumberWithString:@"6.99"]); -} - -- (void)testSummaryItemsToSummaryItems_shippingMethod { - STPPaymentContext *context = [self buildPaymentContext]; - PKPaymentSummaryItem *item1 = [PKPaymentSummaryItem new]; - item1.amount = [NSDecimalNumber decimalNumberWithString:@"1.00"]; - item1.label = @"foo"; - PKPaymentSummaryItem *item2 = [PKPaymentSummaryItem new]; - item2.amount = [NSDecimalNumber decimalNumberWithString:@"9.00"]; - item2.label = @"bar"; - PKPaymentSummaryItem *item3 = [PKPaymentSummaryItem new]; - item3.amount = [NSDecimalNumber decimalNumberWithString:@"10.00"]; - item3.label = @"baz"; - context.paymentSummaryItems = @[item1, item2, item3]; - PKShippingMethod *method = [PKShippingMethod new]; - method.amount = [NSDecimalNumber decimalNumberWithString:@"5.99"]; - method.label = @"FedEx"; - method.detail = @"foo"; - method.identifier = @"123"; - context.selectedShippingMethod = method; - - NSArray *items = [context paymentSummaryItems]; - XCTAssertEqual((int)[items count], 4); - PKPaymentSummaryItem *resultItem1 = items[0]; - XCTAssertEqualObjects(resultItem1.label, @"foo"); - XCTAssertEqualObjects(resultItem1.amount, [NSDecimalNumber decimalNumberWithString:@"1.00"]); - PKPaymentSummaryItem *resultItem2 = items[1]; - XCTAssertEqualObjects(resultItem2.label, @"bar"); - XCTAssertEqualObjects(resultItem2.amount, [NSDecimalNumber decimalNumberWithString:@"9.00"]); - PKPaymentSummaryItem *resultItem3 = items[2]; - XCTAssertEqualObjects(resultItem3.label, @"FedEx"); - XCTAssertEqualObjects(resultItem3.amount, [NSDecimalNumber decimalNumberWithString:@"5.99"]); - PKPaymentSummaryItem *resultItem4 = items[3]; - XCTAssertEqualObjects(resultItem4.label, @"baz"); - XCTAssertEqualObjects(resultItem4.amount, [NSDecimalNumber decimalNumberWithString:@"15.99"]); -} - -- (void)testAmountToAmount_shippingMethod_usd { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentAmount = 100; - PKShippingMethod *method = [PKShippingMethod new]; - method.amount = [NSDecimalNumber decimalNumberWithString:@"5.99"]; - method.label = @"FedEx"; - method.detail = @"foo"; - method.identifier = @"123"; - context.selectedShippingMethod = method; - NSInteger amount = context.paymentAmount; - XCTAssertEqual(amount, 699); -} - -- (void)testSummaryItems_generateAmountDecimalCurrency { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentSummaryItems = [self testSummaryItems]; - context.paymentCurrency = @"USD"; - XCTAssertTrue(context.paymentAmount == 10000); -} - -- (void)testSummaryItems_generateAmountNoDecimalCurrency { - STPPaymentContext *context = [self buildPaymentContext]; - context.paymentSummaryItems = [self testSummaryItems]; - context.paymentCurrency = @"JPY"; - XCTAssertTrue(context.paymentAmount == 100); -} - -@end diff --git a/Tests/Tests/STPPaymentHandlerStubbedMockedFilesTests.swift b/Tests/Tests/STPPaymentHandlerStubbedMockedFilesTests.swift deleted file mode 100644 index 8ca3f67f364..00000000000 --- a/Tests/Tests/STPPaymentHandlerStubbedMockedFilesTests.swift +++ /dev/null @@ -1,562 +0,0 @@ -// -// STPPaymentHandlerStubbedMockedFilesTests.swift -// StripeiOS Tests -// -// Copyright © 2022 Stripe, Inc. All rights reserved. -// - -import OHHTTPStubs -import OHHTTPStubsSwift -import StripeCoreTestUtils -import XCTest - -@testable@_spi(STP) import Stripe -@testable@_spi(STP) import StripeApplePay -@testable@_spi(STP) import StripeCore -@testable@_spi(STP) import StripePaymentSheet -@testable@_spi(STP) import StripePayments -@testable@_spi(STP) import StripePaymentsUI - -class STPPaymentHandlerStubbedMockedFilesTests: APIStubbedTestCase, STPAuthenticationContext { - func testCallConfirmAfterpay_Redirect_thenCanceled() { - let nextActionData = """ - { - "redirect_to_url": { - "return_url": "payments-example://stripe-redirect", - "url": "https://hooks.stripe.com/afterpay_clearpay/acct_123/pa_nonce_321/redirect" - }, - "type": "redirect_to_url" - } - """ - let paymentMethod = """ - { - "id": "pm_123123123123123", - "object": "payment_method", - "afterpay_clearpay": {}, - "billing_details": { - "address": { - "city": "San Francisco", - "country": "AT", - "line1": "510 Townsend St.", - "line2": "", - "postal_code": "94102", - "state": null - }, - "email": "foo@bar.com", - "name": "Jane Doe", - "phone": null - }, - "created": 1658187899, - "customer": null, - "livemode": false, - "type": "afterpay_clearpay" - } - """ - let paymentHandler = stubbedPaymentHandler(formSpecProvider: formSpecProvider()) - stubConfirm( - fileMock: .paymentIntentResponse, - responseCallback: { data in - self.replaceData( - data: data, - variables: [ - "": nextActionData, - "": paymentMethod, - "": "\"requires_action\"", - ] - ) - } - ) - - let paymentIntentParams = STPPaymentIntentParams(clientSecret: "pi_123456_secret_654321") - paymentIntentParams.returnURL = "payments-example://stripe-redirect" - paymentIntentParams.paymentMethodParams = STPPaymentMethodParams( - afterpayClearpay: STPPaymentMethodAfterpayClearpayParams(), - billingDetails: STPPaymentMethodBillingDetails(), - metadata: nil - ) - paymentIntentParams.paymentMethodParams?.afterpayClearpay = - STPPaymentMethodAfterpayClearpayParams() - let didRedirect = expectation(description: "didRedirect") - paymentHandler._redirectShim = { redirectTo, returnToURL, isStandardRedirect in - XCTAssertEqual( - redirectTo.absoluteString, - "https://hooks.stripe.com/afterpay_clearpay/acct_123/pa_nonce_321/redirect" - ) - XCTAssertEqual(returnToURL?.absoluteString, "payments-example://stripe-redirect") - XCTAssert(isStandardRedirect) - didRedirect.fulfill() - } - let expectConfirmWasCanceled = expectation(description: "didCancel") - paymentHandler.confirmPayment(paymentIntentParams, with: self) { - status, - paymentIntent, - error in - if case .canceled = status { - expectConfirmWasCanceled.fulfill() - } - } - guard XCTWaiter.wait(for: [didRedirect], timeout: 2.0) != .timedOut else { - XCTFail("Unable to redirect") - return - } - - //Test the cancel case - stubRetrievePaymentIntent( - fileMock: .paymentIntentResponse, - responseCallback: { data in - self.replaceData( - data: data, - variables: [ - "": nextActionData, - "": paymentMethod, - "": "\"requires_action\"", - ] - ) - } - ) - paymentHandler._retrieveAndCheckIntentForCurrentAction() - wait(for: [expectConfirmWasCanceled], timeout: 2.0) - } - - func testCallConfirmAfterpay_Redirect_thenSucceeded() { - let nextActionData = """ - { - "redirect_to_url": { - "return_url": "payments-example://stripe-redirect", - "url": "https://hooks.stripe.com/afterpay_clearpay/acct_123/pa_nonce_321/redirect" - }, - "type": "redirect_to_url" - } - """ - let paymentMethodData = """ - { - "id": "pm_123123123123123", - "object": "payment_method", - "afterpay_clearpay": {}, - "billing_details": { - "address": { - "city": "San Francisco", - "country": "AT", - "line1": "510 Townsend St.", - "line2": "", - "postal_code": "94102", - "state": null - }, - "email": "foo@bar.com", - "name": "Jane Doe", - "phone": null - }, - "created": 1658187899, - "customer": null, - "livemode": false, - "type": "afterpay_clearpay" - } - """ - let paymentHandler = stubbedPaymentHandler(formSpecProvider: formSpecProvider()) - stubConfirm( - fileMock: .paymentIntentResponse, - responseCallback: { data in - self.replaceData( - data: data, - variables: [ - "": nextActionData, - "": paymentMethodData, - "": "\"requires_action\"", - ] - ) - } - ) - - let paymentIntentParams = STPPaymentIntentParams(clientSecret: "pi_123456_secret_654321") - paymentIntentParams.returnURL = "payments-example://stripe-redirect" - paymentIntentParams.paymentMethodParams = STPPaymentMethodParams( - afterpayClearpay: STPPaymentMethodAfterpayClearpayParams(), - billingDetails: STPPaymentMethodBillingDetails(), - metadata: nil - ) - paymentIntentParams.paymentMethodParams?.afterpayClearpay = - STPPaymentMethodAfterpayClearpayParams() - let didRedirect = expectation(description: "didRedirect") - paymentHandler._redirectShim = { redirectTo, returnToURL, isStandardRedirect in - XCTAssertEqual( - redirectTo.absoluteString, - "https://hooks.stripe.com/afterpay_clearpay/acct_123/pa_nonce_321/redirect" - ) - XCTAssertEqual(returnToURL?.absoluteString, "payments-example://stripe-redirect") - XCTAssert(isStandardRedirect) - didRedirect.fulfill() - } - confirmPaymentWithSucceed(nextActionData: nextActionData, - paymentMethodData: paymentMethodData, - didRedirect: didRedirect, - paymentHandler: paymentHandler, - paymentIntentParams: paymentIntentParams) - } - - func testRedirectStrategy_external_browser() { - let nextActionData = """ - { - "redirect_to_url": { - "return_url": "payments-example://stripe-redirect", - "url": "https://hooks.stripe.com/affirm/acct_123/pa_nonce_321/redirect" - }, - "type": "redirect_to_url" - } - """ - let paymentMethodData = """ - { - "id": "pm_123123123123123", - "object": "payment_method", - "affirm": {}, - "created": 1658187899, - "customer": null, - "livemode": false, - "type": "affirm" - } - """ - - let formSpecProvider = formSpecProvider() - let paymentHandler = stubbedPaymentHandler(formSpecProvider: formSpecProvider) - stubConfirm( - fileMock: .paymentIntentResponse, - responseCallback: { data in - self.replaceData( - data: data, - variables: [ - "": nextActionData, - "": paymentMethodData, - "": "\"requires_action\"", - ] - ) - } - ) - XCTAssertTrue(formSpecProvider.loadFrom(affirmSpec(redirectStrategy: "external_browser"))) - let paymentIntentParams = STPPaymentIntentParams(clientSecret: "pi_123456_secret_654321") - paymentIntentParams.returnURL = "payments-example://stripe-redirect" - paymentIntentParams.paymentMethodParams = STPPaymentMethodParams(affirm: STPPaymentMethodAffirmParams(), - metadata: nil) - let didRedirect = expectation(description: "didRedirect") - paymentHandler._redirectShim = { redirectTo, returnToURL, isStandardRedirect in - XCTAssertEqual( - redirectTo.absoluteString, - "https://hooks.stripe.com/affirm/acct_123/pa_nonce_321/redirect" - ) - XCTAssertEqual(returnToURL?.absoluteString, "payments-example://stripe-redirect") - XCTAssertFalse(isStandardRedirect) - didRedirect.fulfill() - } - confirmPaymentWithSucceed(nextActionData: nextActionData, - paymentMethodData: paymentMethodData, - didRedirect: didRedirect, - paymentHandler: paymentHandler, - paymentIntentParams: paymentIntentParams) - } - - - func testRedirectStrategy_follow_redirects() { - let nextActionData = """ - { - "redirect_to_url": { - "return_url": "payments-example://stripe-redirect", - "url": "https://hooks.stripe.com/affirm/acct_123/pa_nonce_321/redirect" - }, - "type": "redirect_to_url" - } - """ - let paymentMethodData = """ - { - "id": "pm_123123123123123", - "object": "payment_method", - "affirm": {}, - "created": 1658187899, - "customer": null, - "livemode": false, - "type": "affirm" - } - """ - let formSpecProvider = formSpecProvider() - let paymentHandler = stubbedPaymentHandler(formSpecProvider: formSpecProvider) - stubConfirm( - fileMock: .paymentIntentResponse, - responseCallback: { data in - self.replaceData( - data: data, - variables: [ - "": nextActionData, - "": paymentMethodData, - "": "\"requires_action\"", - ] - ) - } - ) - stub { urlRequest in - return urlRequest.url?.absoluteString.contains("/affirm/acct_123") ?? false - } response: { urlRequest in - let data = "<>".data(using: .utf8)! - return HTTPStubsResponse(data: data, statusCode: 302, headers: ["Location": "https://www.financial-partner.com/"]) - } - stub { urlRequest in - return urlRequest.url?.absoluteString.contains("financial-partner.com") ?? false - } response: { urlRequest in - let data = "".data(using: .utf8)! - return HTTPStubsResponse(data: data, statusCode: 200, headers: nil) - } - - XCTAssertTrue(formSpecProvider.loadFrom(affirmSpec(redirectStrategy: "follow_redirects"))) - let paymentIntentParams = STPPaymentIntentParams(clientSecret: "pi_123456_secret_654321") - paymentIntentParams.returnURL = "payments-example://stripe-redirect" - paymentIntentParams.paymentMethodParams = STPPaymentMethodParams(affirm: STPPaymentMethodAffirmParams(), - metadata: nil) - let didRedirect = expectation(description: "didRedirect") - paymentHandler._redirectShim = { redirectTo, returnToURL, isStandardRedirect in - XCTAssertEqual(redirectTo.absoluteString, "https://www.financial-partner.com/") - XCTAssertEqual(returnToURL?.absoluteString, "payments-example://stripe-redirect") - XCTAssert(isStandardRedirect) - didRedirect.fulfill() - } - confirmPaymentWithSucceed(nextActionData: nextActionData, - paymentMethodData: paymentMethodData, - didRedirect: didRedirect, - paymentHandler: paymentHandler, - paymentIntentParams: paymentIntentParams) - } - - func testCallConfirmAfterpay_Redirect_thenSucceeded_withoutNextActionSpec() { - let formSpecProvider = formSpecProvider() - let paymentHandler = stubbedPaymentHandler(formSpecProvider: formSpecProvider) - // Validate affirm is read in with next action spec - guard let affirm = formSpecProvider.formSpec(for: "affirm"), - affirm.fields.count == 1, - affirm.fields.first == .affirm_header, - case .redirect_to_url = affirm.nextActionSpec?.confirmResponseStatusSpecs[ - "requires_action" - ]?.type, - case .finished = affirm.nextActionSpec?.postConfirmHandlingPiStatusSpecs?["succeeded"]? - .type, - case .canceled = affirm.nextActionSpec?.postConfirmHandlingPiStatusSpecs?[ - "requires_action" - ]?.type - else { - XCTFail() - return - } - // Override it with a spec that doesn't define a next action so that we force the SDK to default behavior - let updatedSpecJson = - """ - [{ - "type": "affirm", - "async": false, - "fields": [ - { - "type": "name" - } - ] - }] - """.data(using: .utf8)! - let formSpec = try! JSONSerialization.jsonObject(with: updatedSpecJson) as! [NSDictionary] - XCTAssert(formSpecProvider.loadFrom(formSpec)) - guard let affirmUpdated = formSpecProvider.formSpec(for: "affirm") else { - XCTFail() - return - } - XCTAssertNil(affirmUpdated.nextActionSpec) - - let nextActionData = """ - { - "redirect_to_url": { - "return_url": "payments-example://stripe-redirect", - "url": "https://hooks.stripe.com/affirm/acct_123/pa_nonce_321/redirect" - }, - "type": "redirect_to_url" - } - """ - let paymentMethodData = """ - { - "id": "pm_123123123123123", - "object": "payment_method", - "afterpay_clearpay": {}, - "billing_details": { - "address": { - "city": "San Francisco", - "country": "AT", - "line1": "510 Townsend St.", - "line2": "", - "postal_code": "94102", - "state": null - }, - "email": "foo@bar.com", - "name": "Jane Doe", - "phone": null - }, - "created": 1658187899, - "customer": null, - "livemode": false, - "type": "afterpay_clearpay" - } - """ - stubConfirm( - fileMock: .paymentIntentResponse, - responseCallback: { data in - self.replaceData( - data: data, - variables: [ - "": nextActionData, - "": paymentMethodData, - "": "\"requires_action\"", - ] - ) - } - ) - - let paymentIntentParams = STPPaymentIntentParams(clientSecret: "pi_123456_secret_654321") - paymentIntentParams.returnURL = "payments-example://stripe-redirect" - paymentIntentParams.paymentMethodParams = STPPaymentMethodParams( - afterpayClearpay: STPPaymentMethodAfterpayClearpayParams(), - billingDetails: STPPaymentMethodBillingDetails(), - metadata: nil - ) - paymentIntentParams.paymentMethodParams?.afterpayClearpay = - STPPaymentMethodAfterpayClearpayParams() - let didRedirect = expectation(description: "didRedirect") - paymentHandler._redirectShim = { redirectTo, returnToURL, isStandardRedirect in - XCTAssertEqual( - redirectTo.absoluteString, - "https://hooks.stripe.com/affirm/acct_123/pa_nonce_321/redirect" - ) - XCTAssertEqual(returnToURL?.absoluteString, "payments-example://stripe-redirect") - XCTAssert(isStandardRedirect) - didRedirect.fulfill() - } - confirmPaymentWithSucceed(nextActionData: nextActionData, - paymentMethodData: paymentMethodData, - didRedirect: didRedirect, - paymentHandler: paymentHandler, - paymentIntentParams: paymentIntentParams) - } - private func confirmPaymentWithSucceed(nextActionData: String, - paymentMethodData: String, - didRedirect: XCTestExpectation, - paymentHandler: STPPaymentHandler, - paymentIntentParams: STPPaymentIntentParams) { - let expectConfirmSucceeded = expectation(description: "didSucceed") - paymentHandler.confirmPayment(paymentIntentParams, with: self) { - status, - paymentIntent, - error in - if case .succeeded = status { - expectConfirmSucceeded.fulfill() - } - } - guard XCTWaiter.wait(for: [didRedirect], timeout: 2.0) != .timedOut else { - XCTFail("Unable to redirect") - return - } - - // Test status as succeeded - stubRetrievePaymentIntent( - fileMock: .paymentIntentResponse, - responseCallback: { data in - self.replaceData( - data: data, - variables: [ - "": nextActionData, - "": paymentMethodData, - "": "\"succeeded\"", - ] - ) - } - ) - paymentHandler._retrieveAndCheckIntentForCurrentAction() - wait(for: [expectConfirmSucceeded], timeout: 2.0) - } - - private func formSpecProvider() -> FormSpecProvider { - let expectation = expectation(description: "Load Specs") - let formSpecProvider = FormSpecProvider() - formSpecProvider.load { success in - expectation.fulfill() - } - wait(for: [expectation], timeout: 5.0) - return formSpecProvider - } - - private func stubbedPaymentHandler(formSpecProvider: FormSpecProvider) -> STPPaymentHandler { - let stubbedAPIClient = stubbedAPIClient() - let paymentSheetFormSpecHandler = PaymentSheetFormSpecPaymentHandler(urlSession: stubbedAPIClient.urlSession, - formSpecProvider: formSpecProvider) - return STPPaymentHandler(apiClient: stubbedAPIClient, - formSpecPaymentHandler: paymentSheetFormSpecHandler) - } - - private func replaceData(data: Data, variables: [String: String]) -> Data { - var template = String(data: data, encoding: .utf8)! - for (templateKey, templateValue) in variables { - let translated = template.replacingOccurrences(of: templateKey, with: templateValue) - template = translated - } - return template.data(using: .utf8)! - } - - private func stubConfirm(fileMock: FileMock, responseCallback: ((Data) -> Data)? = nil) { - stub { urlRequest in - return urlRequest.url?.absoluteString.contains("/confirm") ?? false - } response: { urlRequest in - let mockResponseData = try! fileMock.data() - let data = responseCallback?(mockResponseData) ?? mockResponseData - return HTTPStubsResponse(data: data, statusCode: 200, headers: nil) - } - } - private func stubRetrievePaymentIntent( - fileMock: FileMock, - responseCallback: ((Data) -> Data)? = nil - ) { - stub { urlRequest in - return urlRequest.url?.absoluteString.contains("/payment_intents") ?? false - } response: { urlRequest in - let mockResponseData = try! fileMock.data() - let data = responseCallback?(mockResponseData) ?? mockResponseData - return HTTPStubsResponse(data: data, statusCode: 200, headers: nil) - } - } - private func affirmSpec(redirectStrategy: String) -> [NSDictionary] { - let formSpec = - """ - [{ - "type": "affirm", - "async": false, - "fields": [ - { - "type": "affirm_header" - } - ], - "next_action_spec": { - "confirm_response_status_specs": { - "requires_action": { - "type": "redirect_to_url", - "native_mobile_redirect_strategy": "\(redirectStrategy)" - } - }, - "post_confirm_handling_pi_status_specs": { - "succeeded": { - "type": "finished" - } - } - } - }] - """.data(using: .utf8)! - return try! JSONSerialization.jsonObject(with: formSpec) as! [NSDictionary] - } -} -extension STPPaymentHandlerStubbedMockedFilesTests { - func authenticationPresentingViewController() -> UIViewController { - return UIViewController() - } -} - -public class ClassForBundle {} -@_spi(STP) public enum FileMock: String, MockData { - public typealias ResponseType = StripeFile - public var bundle: Bundle { return Bundle(for: ClassForBundle.self) } - - case paymentIntentResponse = "MockFiles/paymentIntentResponse" -} diff --git a/Tests/installation_tests/cocoapods/with_frameworks_objc/CocoapodsTest.xcodeproj/project.pbxproj b/Tests/installation_tests/cocoapods/with_frameworks_objc/CocoapodsTest.xcodeproj/project.pbxproj index 55b08dee1c1..c6494841b46 100644 --- a/Tests/installation_tests/cocoapods/with_frameworks_objc/CocoapodsTest.xcodeproj/project.pbxproj +++ b/Tests/installation_tests/cocoapods/with_frameworks_objc/CocoapodsTest.xcodeproj/project.pbxproj @@ -10,6 +10,8 @@ 317C500327604CBF003771D7 /* PodAnalyticsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 317C500227604CBF003771D7 /* PodAnalyticsTests.swift */; }; 3B3F019D274448A400C53D34 /* StripeUICoreAssetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B3F019C274448A400C53D34 /* StripeUICoreAssetTests.swift */; }; 3BD97FCA2741556900B09BCD /* ModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BD97FC92741556900B09BCD /* ModelTests.swift */; }; + 517AA996F29C470A3BA7BE39 /* Pods_CocoapodsTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C6B28CED06BCA245328274DF /* Pods_CocoapodsTest.framework */; }; + A8183D73F116EC2F0E0AF52D /* Pods_CocoapodsTestTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555387A38B3DF1A80708C252 /* Pods_CocoapodsTestTests.framework */; }; C176898820616C7E003DE895 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = C176898720616C7E003DE895 /* AppDelegate.m */; }; C176898B20616C7E003DE895 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C176898A20616C7E003DE895 /* ViewController.m */; }; C176898E20616C7E003DE895 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C176898C20616C7E003DE895 /* Main.storyboard */; }; @@ -29,11 +31,16 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 190C82347DE2B84435E9DEC1 /* Pods-CocoapodsTestTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CocoapodsTestTests.debug.xcconfig"; path = "Target Support Files/Pods-CocoapodsTestTests/Pods-CocoapodsTestTests.debug.xcconfig"; sourceTree = ""; }; 317C500227604CBF003771D7 /* PodAnalyticsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = PodAnalyticsTests.swift; path = ../../../shared_unit_tests/StripeCore/PodAnalyticsTests.swift; sourceTree = ""; }; 3B3F019C274448A400C53D34 /* StripeUICoreAssetTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = StripeUICoreAssetTests.swift; path = ../../../shared_unit_tests/StripeUICore/StripeUICoreAssetTests.swift; sourceTree = ""; }; 3BD97FA12741546D00B09BCD /* CocoapodsTestTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CocoapodsTestTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3BD97FA52741546D00B09BCD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 3BD97FC92741556900B09BCD /* ModelTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ModelTests.swift; path = ../../../shared_unit_tests/StripeCardScan/ModelTests.swift; sourceTree = ""; }; + 4D027CC9491E435DB33D4756 /* Pods-CocoapodsTest.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CocoapodsTest.debug.xcconfig"; path = "Target Support Files/Pods-CocoapodsTest/Pods-CocoapodsTest.debug.xcconfig"; sourceTree = ""; }; + 555387A38B3DF1A80708C252 /* Pods_CocoapodsTestTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CocoapodsTestTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6BD0CBD63F73D9C005879178 /* Pods-CocoapodsTest.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CocoapodsTest.release.xcconfig"; path = "Target Support Files/Pods-CocoapodsTest/Pods-CocoapodsTest.release.xcconfig"; sourceTree = ""; }; + BB305E1990F1896514D96A9A /* Pods-CocoapodsTestTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CocoapodsTestTests.release.xcconfig"; path = "Target Support Files/Pods-CocoapodsTestTests/Pods-CocoapodsTestTests.release.xcconfig"; sourceTree = ""; }; C176898320616C7E003DE895 /* CocoapodsTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CocoapodsTest.app; sourceTree = BUILT_PRODUCTS_DIR; }; C176898620616C7E003DE895 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; C176898720616C7E003DE895 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; @@ -44,6 +51,7 @@ C176899220616C7E003DE895 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; C176899420616C7E003DE895 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; C176899520616C7E003DE895 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + C6B28CED06BCA245328274DF /* Pods_CocoapodsTest.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CocoapodsTest.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -51,6 +59,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A8183D73F116EC2F0E0AF52D /* Pods_CocoapodsTestTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -58,6 +67,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 517AA996F29C470A3BA7BE39 /* Pods_CocoapodsTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -67,6 +77,10 @@ 03A7DE744B445718F8055721 /* Pods */ = { isa = PBXGroup; children = ( + 4D027CC9491E435DB33D4756 /* Pods-CocoapodsTest.debug.xcconfig */, + 6BD0CBD63F73D9C005879178 /* Pods-CocoapodsTest.release.xcconfig */, + 190C82347DE2B84435E9DEC1 /* Pods-CocoapodsTestTests.debug.xcconfig */, + BB305E1990F1896514D96A9A /* Pods-CocoapodsTestTests.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -82,6 +96,15 @@ path = CocoapodsTestTests; sourceTree = ""; }; + 45651E34982B17BF9AA4A994 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C6B28CED06BCA245328274DF /* Pods_CocoapodsTest.framework */, + 555387A38B3DF1A80708C252 /* Pods_CocoapodsTestTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; C176897A20616C7E003DE895 = { isa = PBXGroup; children = ( @@ -89,6 +112,7 @@ 3BD97FA22741546D00B09BCD /* CocoapodsTestTests */, C176898420616C7E003DE895 /* Products */, 03A7DE744B445718F8055721 /* Pods */, + 45651E34982B17BF9AA4A994 /* Frameworks */, ); sourceTree = ""; }; @@ -124,6 +148,7 @@ isa = PBXNativeTarget; buildConfigurationList = 3BD97FAA2741546D00B09BCD /* Build configuration list for PBXNativeTarget "CocoapodsTestTests" */; buildPhases = ( + 27A67B4044D4E8612C20F063 /* [CP] Check Pods Manifest.lock */, 3BD97F9D2741546D00B09BCD /* Sources */, 3BD97F9E2741546D00B09BCD /* Frameworks */, 3BD97F9F2741546D00B09BCD /* Resources */, @@ -142,9 +167,11 @@ isa = PBXNativeTarget; buildConfigurationList = C176899920616C7E003DE895 /* Build configuration list for PBXNativeTarget "CocoapodsTest" */; buildPhases = ( + F36252C763CF58108471C18F /* [CP] Check Pods Manifest.lock */, C176897F20616C7E003DE895 /* Sources */, C176898020616C7E003DE895 /* Frameworks */, C176898120616C7E003DE895 /* Resources */, + 5B537F335F241F66E087D042 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,6 +242,85 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 27A67B4044D4E8612C20F063 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-CocoapodsTestTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 5B537F335F241F66E087D042 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-CocoapodsTest/Pods-CocoapodsTest-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Stripe/Stripe.framework", + "${BUILT_PRODUCTS_DIR}/StripeApplePay/StripeApplePay.framework", + "${BUILT_PRODUCTS_DIR}/StripeCardScan/StripeCardScan.framework", + "${BUILT_PRODUCTS_DIR}/StripeCore/StripeCore.framework", + "${BUILT_PRODUCTS_DIR}/StripePaymentSheet/StripePaymentSheet.framework", + "${BUILT_PRODUCTS_DIR}/StripePayments/StripePayments.framework", + "${BUILT_PRODUCTS_DIR}/StripePaymentsUI/StripePaymentsUI.framework", + "${BUILT_PRODUCTS_DIR}/StripeUICore/StripeUICore.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Stripe.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeApplePay.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeCardScan.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeCore.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripePaymentSheet.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripePayments.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripePaymentsUI.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/StripeUICore.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CocoapodsTest/Pods-CocoapodsTest-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + F36252C763CF58108471C18F /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-CocoapodsTest-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 3BD97F9D2741546D00B09BCD /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -268,6 +374,7 @@ /* Begin XCBuildConfiguration section */ 3BD97FA82741546D00B09BCD /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 190C82347DE2B84435E9DEC1 /* Pods-CocoapodsTestTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -292,6 +399,7 @@ }; 3BD97FA92741546D00B09BCD /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BB305E1990F1896514D96A9A /* Pods-CocoapodsTestTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -418,6 +526,7 @@ }; C176899A20616C7E003DE895 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 4D027CC9491E435DB33D4756 /* Pods-CocoapodsTest.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; @@ -432,6 +541,7 @@ }; C176899B20616C7E003DE895 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 6BD0CBD63F73D9C005879178 /* Pods-CocoapodsTest.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; diff --git a/Tuist/ProjectDescriptionHelpers/Tuist+Stripe.swift b/Tuist/ProjectDescriptionHelpers/Tuist+Stripe.swift new file mode 100644 index 00000000000..79b1c7f218c --- /dev/null +++ b/Tuist/ProjectDescriptionHelpers/Tuist+Stripe.swift @@ -0,0 +1,440 @@ +import Foundation +import ProjectDescription + +extension Project { + /// Options for test targets inside Stripe frameworks. + public struct TestOptions { + public var resources: ResourceFileElements? = nil + public var dependencies: [TargetDependency] = [] + public var settings: Settings = .stripeTargetSettings( + baseXcconfigFilePath: "//BuildConfigurations/StripeiOS Tests" + ) + public var includesSnapshots: Bool = false + public var usesMocks: Bool = false + public var usesStubs: Bool = false + + /// Creates a `TestOptions` instance. + /// + /// - Parameters: + /// - resources: The resources for the target, can be `nil` if no resources needed. + /// - dependencies: Any dependencies necessary, + /// the target being tested will be added automatically. + /// - settings: Settings for the target, defaults to base settings for all tests, + /// only override if you need to specify custom settings. + /// - includesSnapshots: Whether this target includes snapshot tests. + /// If `true`, the iOSSnapshotTestCase package will be linked and an environment + /// variable to the default location of reference images will be added. + /// - usesMocks: Whether the tests in this target use mocks. + /// If `true`, the OCMock package will be linked. + /// - usesStubs: Whether the tests in this target use stubs. + /// If `true`, the OHHTTPStubs package will be linked. + /// - Returns: A `TestOptions` instance. + public static func testOptions( + resources: ResourceFileElements? = nil, + dependencies: [TargetDependency] = [], + settings: Settings = .stripeTargetSettings( + baseXcconfigFilePath: "//BuildConfigurations/StripeiOS Tests" + ), + includesSnapshots: Bool = false, + usesMocks: Bool = false, + usesStubs: Bool = false + ) -> TestOptions { + return TestOptions( + resources: resources, + dependencies: dependencies, + settings: settings, + includesSnapshots: includesSnapshots, + usesMocks: usesMocks, + usesStubs: usesStubs + ) + } + } + + /// Utility to create a `Project` that follows the conventions of all Stripe frameworks. + /// + /// The `Project` will include: + /// - A framework `Target` with same name as the project. + /// - A framework `Target` if `testUtilsOptions` is included, named (`name`)TestUtils. + /// - A unit tests `Target` if `unitTestOptions` is included, named (`name`)Tests. + /// - A ui tests `Target` if `uiTestOptions` is included, named (`name`)UITests. + /// + /// The files for each target **must** be in specific locations: + /// - Info.plist: targetName/Info.plist + /// - Sources: + /// - Main target: targetName/Source/ + /// - Test targets: targetName/ + /// - Public header: targetName/targetName.h + /// + /// A `Scheme` with the same name as the `Project` will be created, it will include the + /// main target in the build action and the test targets in the test action. + /// If `testUtilsOptions` is included, a second `Scheme` will be included, with only the + /// test utils target in the build action. + /// + /// - Parameters: + /// - name: The name that will be used for the `Project`, main `Target` and `Scheme`. + /// - packages: Any SPM packages needed in this project. + /// Note that the iOSSnapshotTestCase, OCMock and OHHTTPStubs packages will be added + /// automatically if they are required by any tests, so they shouldn't be included. + /// - projectSettings: Settings used at project level. Only specify if you need to provide + /// specific properties for this and only this project, if you need to add/change a setting + /// check if it makes sense to change it for all frameworks too. + /// - targetSettings: Settings used at target level. Only specify if you need to provide + /// specific properties for this and only this target, if you need to add/change a setting + /// check if it makes sense to change it for all frameworks too. + /// - resources: Any resources needed by the framework. + /// - dependencies: Any dependencies required by the main target. + /// - testUtilsOptions: Options for the test utils target if one is needed. + /// - unitTestOptions: Options for the unit tests target if one is needed. + /// - uiTestOptions: Options for the ui tests target if one is needed. + /// - Returns: A `Project` configured for a Stripe framework. + public static func stripeFramework( + name: String, + packages: [Package] = [], + projectSettings: Settings = .settings( + configurations: [ + .debug( + name: "Debug", + xcconfig: "//BuildConfigurations/Project-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "//BuildConfigurations/Project-Release.xcconfig" + ), + ], + defaultSettings: .none + ), + targetSettings: Settings = .stripeTargetSettings( + baseXcconfigFilePath: "//BuildConfigurations/StripeiOS" + ), + resources: ResourceFileElements? = nil, + dependencies: [TargetDependency] = [], + testUtilsOptions: TestOptions? = nil, + unitTestOptions: TestOptions? = nil, + uiTestOptions: TestOptions? = nil + ) -> Project { + return Project( + name: name, + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + packages: makePackages( + testUtilsOptions: testUtilsOptions, + unitTestOptions: unitTestOptions, + uiTestOptions: uiTestOptions + ) + packages, + settings: projectSettings, + targets: makeTargets( + name: name, + targetSettings: targetSettings, + dependencies: dependencies, + resources: resources, + testUtilsOptions: testUtilsOptions, + unitTestOptions: unitTestOptions, + uiTestOptions: uiTestOptions + ), + schemes: makeSchemes( + name: name, + testUtilsOptions: testUtilsOptions, + unitTestOptions: unitTestOptions, + uiTestOptions: uiTestOptions + ) + ) + } + + private static func makePackages( + testUtilsOptions: TestOptions?, + unitTestOptions: TestOptions?, + uiTestOptions: TestOptions? + ) -> [Package] { + var packages = [Package]() + if testUtilsOptions?.includesSnapshots ?? false + || unitTestOptions?.includesSnapshots ?? false + || uiTestOptions?.includesSnapshots ?? false + { + packages.append( + .remote( + url: "https://github.com/uber/ios-snapshot-test-case", + requirement: .upToNextMajor(from: "8.0.0") + ) + ) + } + if testUtilsOptions?.usesMocks ?? false + || unitTestOptions?.usesMocks ?? false + || uiTestOptions?.usesMocks ?? false + { + packages.append( + .remote(url: "https://github.com/erikdoe/ocmock", requirement: .branch("master")) + ) + } + if testUtilsOptions?.usesStubs ?? false + || unitTestOptions?.usesStubs ?? false + || uiTestOptions?.usesStubs ?? false + { + packages.append( + .remote( + url: "https://github.com/eurias-stripe/OHHTTPStubs", + requirement: .branch("master") + ) + ) + } + return packages + } + + private static func makeTargets( + name: String, + targetSettings: Settings, + dependencies: [TargetDependency], + resources: ResourceFileElements?, + testUtilsOptions: TestOptions?, + unitTestOptions: TestOptions?, + uiTestOptions: TestOptions? + ) -> [Target] { + var targets = [Target]() + targets.append( + Target( + name: name, + platform: .iOS, + product: .framework, + bundleId: "com.stripe.\(name.casedToDashed)", + infoPlist: "\(name)/Info.plist", + sources: "\(name)/Source/**/*.swift", + resources: resources, + headers: .headers( + public: "\(name)/\(name).h" + ), + dependencies: dependencies, + settings: targetSettings + ) + ) + if let testUtilsOptions = testUtilsOptions { + targets.append( + Target( + name: "\(name)TestUtils", + platform: .iOS, + product: .framework, + bundleId: "com.stripe.\(name)TestUtils", + infoPlist: "\(name)TestUtils/Info.plist", + sources: "\(name)TestUtils/**/*.swift", + resources: testUtilsOptions.resources, + headers: .headers( + public: "\(name)TestUtils/\(name)TestUtils.h" + ), + dependencies: makeTestDependencies(name: name, testOptions: testUtilsOptions), + settings: testUtilsOptions.settings + ) + ) + } + if let unitTestOptions = unitTestOptions { + targets.append( + Target( + name: "\(name)Tests", + platform: .iOS, + product: .unitTests, + bundleId: "com.stripe.\(name)Tests", + infoPlist: "\(name)Tests/Info.plist", + sources: "\(name)Tests/**/*.swift", + resources: unitTestOptions.resources, + headers: .headers( + public: "\(name)Tests/\(name)Tests.h" + ), + dependencies: makeTestDependencies( + name: name, + includeUtils: testUtilsOptions != nil, + testOptions: unitTestOptions + ), + settings: unitTestOptions.settings + ) + ) + } + if let uiTestOptions = uiTestOptions { + targets.append( + Target( + name: "\(name)UITests", + platform: .iOS, + product: .uiTests, + bundleId: "com.stripe.\(name)UITests", + infoPlist: "\(name)UITests/Info.plist", + sources: "\(name)UITests/**/*.swift", + resources: uiTestOptions.resources, + headers: .headers( + public: "\(name)UITests/\(name)UITests.h" + ), + dependencies: makeTestDependencies( + name: name, + includeUtils: testUtilsOptions != nil, + testOptions: uiTestOptions + ), + settings: uiTestOptions.settings + ) + ) + } + return targets + } + + private static func makeTestDependencies( + name: String, + includeUtils: Bool = false, + testOptions: TestOptions + ) -> [TargetDependency] { + var dependencies: [TargetDependency] = [ + .xctest, + .target(name: name), + ] + + if includeUtils { + dependencies.append(.target(name: "\(name)TestUtils")) + } + if testOptions.includesSnapshots { + dependencies.append(.package(product: "iOSSnapshotTestCase")) + } + if testOptions.usesMocks { + dependencies.append(.package(product: "OCMock")) + } + if testOptions.usesStubs { + dependencies += [ + .package(product: "OHHTTPStubs"), + .package(product: "OHHTTPStubsSwift"), + ] + } + return dependencies + testOptions.dependencies + } + + private static func makeSchemes( + name: String, + testUtilsOptions: TestOptions?, + unitTestOptions: TestOptions?, + uiTestOptions: TestOptions? + ) -> [Scheme] { + var schemes = [Scheme]() + schemes.append( + Scheme( + name: name, + buildAction: .buildAction(targets: ["\(name)"]), + testAction: .targets( + makeTestActionTargets( + name: name, + unitTestOptions: unitTestOptions, + uiTestOptions: uiTestOptions + ), + arguments: unitTestOptions?.includesSnapshots ?? false + || uiTestOptions?.includesSnapshots ?? false + ? Arguments( + environment: [ + "FB_REFERENCE_IMAGE_DIR": + "$(SRCROOT)/../Tests/ReferenceImages" + ] + ) : nil, + expandVariableFromTarget: "\(name)" + ) + ) + ) + if testUtilsOptions != nil { + schemes.append( + Scheme( + name: "\(name)TestUtils", + buildAction: .buildAction(targets: ["\(name)TestUtils"]) + ) + ) + } + return schemes + } + + private static func makeTestActionTargets( + name: String, + unitTestOptions: TestOptions?, + uiTestOptions: TestOptions? + ) -> [TestableTarget] { + var targets = [TestableTarget]() + if unitTestOptions != nil { + targets.append("\(name)Tests") + } + if uiTestOptions != nil { + targets.append("\(name)UITests") + } + return targets + } +} + +extension Settings { + enum BuildSetting: String { + case codeSignIdentity = "CODE_SIGN_IDENTITY" + case developmentTeam = "DEVELOPMENT_TEAM" + } + + /// Utility to generate settings for a Stripe target. + /// + /// It will add the `CODE_SIGN_IDENTITY` and `DEVELOPMENT_TEAM` build settings to the target + /// based on the `TUIST_CODE_SIGN_IDENTITY` and `TUIST_DEVELOPMENT_TEAM` environment variables. + /// This is so these settings don't have to be specified on config files, but can be easily + /// added at generation time during development. + /// It will also generate the configuration from xcconfig files according to the base file path + /// given, with this format: + /// + /// `\(baseXcconfigFilePath)-\(configuration).xcconfig` + /// i.e. + /// `\(baseXcconfiFilePath)-Debug.xcconfig` + /// + /// - Note: Don't use for project level settings. + /// + /// - Parameters: + /// - base: Any base settings. Use sparringly, prefer to use an xcconfig file. + /// - baseXcconfigFilePath: The xcconfig file path prefix. The final file paths will be + /// generated as follows: + /// `\(baseXcconfigFilePath)-\(configuration).xcconfig` + /// i.e. + /// `\(baseXcconfiFilePath)-Debug.xcconfig` + /// - Returns: `Settings` for a Stripe target. + public static func stripeTargetSettings( + base: SettingsDictionary = [:], + baseXcconfigFilePath: String + ) -> Settings { + var baseSettings = base + if case let .string(codeSignIdentity) = Environment.codeSignIdentity { + baseSettings[BuildSetting.codeSignIdentity.rawValue] = .string(codeSignIdentity) + } + if case let .string(developmentTeam) = Environment.developmentTeam { + baseSettings[BuildSetting.developmentTeam.rawValue] = .string(developmentTeam) + } + + return .settings( + base: baseSettings, + configurations: [ + .debug( + name: "Debug", + xcconfig: "\(baseXcconfigFilePath)-Debug.xcconfig" + ), + .release( + name: "Release", + xcconfig: "\(baseXcconfigFilePath)-Release.xcconfig" + ), + ], + defaultSettings: .none + ) + } +} + +extension String { + // Based on https://gist.github.com/dmsl1805/ad9a14b127d0409cf9621dc13d237457. + var casedToDashed: String { + let acronymPattern = "([A-Z]+)([A-Z][a-z]|[0-9])" + let normalPattern = "([a-z0-9])([A-Z])" + return processRegex(pattern: acronymPattern)? + .processRegex(pattern: normalPattern)? + .lowercased() + ?? self.lowercased() + } + + func processRegex(pattern: String) -> String? { + let regex = try? NSRegularExpression(pattern: pattern, options: []) + let range = NSRange(location: 0, length: count) + return regex?.stringByReplacingMatches( + in: self, + options: [], + range: range, + withTemplate: "$1-$2" + ) + } +} + diff --git a/Workspace.swift b/Workspace.swift new file mode 100644 index 00000000000..289d1cea817 --- /dev/null +++ b/Workspace.swift @@ -0,0 +1,67 @@ +import ProjectDescription + +let workspace = Workspace( + name: "Stripe", + projects: [ + "Stripe", + "Stripe3DS2", + "StripeApplePay", + "StripeCameraCore", + "StripeCardScan", + "StripeCore", + "StripeFinancialConnections", + "StripeIdentity", + "StripePayments", + "StripePaymentsUI", + "StripePaymentSheet", + "StripeUICore", + "Testers/IntegrationTester", + "Testers/LocalizationTester", + "Example/UI Examples", + "Example/FinancialConnections Example", + "Example/CardImageVerification Example", + "Example/IdentityVerification Example", + "Example/Non-Card Payment Examples", + "Example/Basic Integration", + "Example/PaymentSheet Example", + "Example/AppClipExample", + ], + schemes: [ + Scheme( + name: "AllStripeFrameworks", + buildAction: .buildAction(targets: [ + .project(path: "Stripe", target: "StripeiOS"), + .project(path: "StripeApplePay", target: "StripeApplePay"), + .project(path: "StripeCameraCore", target: "StripeCameraCore"), + .project(path: "StripeCardScan", target: "StripeCardScan"), + .project(path: "StripeCore", target: "StripeCore"), + .project(path: "StripePayments", target: "StripePayments"), + .project(path: "StripePaymentsUI", target: "StripePaymentsUI"), + .project(path: "StripePaymentSheet", target: "StripePaymentSheet"), + .project(path: "StripeUICore", target: "StripeUICore"), + .project(path: "StripeIdentity", target: "StripeIdentity"), + .project(path: "StripeFinancialConnections", target: "StripeFinancialConnections"), + .project(path: "Stripe3DS2", target: "Stripe3DS2"), + ]) + ), + Scheme( + name: "AllStripeFrameworksCatalyst", + buildAction: .buildAction(targets: [ + .project(path: "Stripe", target: "StripeiOS"), + .project(path: "StripeApplePay", target: "StripeApplePay"), + .project(path: "StripeCore", target: "StripeCore"), + .project(path: "StripePayments", target: "StripePayments"), + .project(path: "StripePaymentsUI", target: "StripePaymentsUI"), + .project(path: "StripePaymentSheet", target: "StripePaymentSheet"), + .project(path: "StripeUICore", target: "StripeUICore"), + .project(path: "Stripe3DS2", target: "Stripe3DS2"), + ]) + ), + ], + additionalFiles: [ + "Package.swift", + ], + generationOptions: .options( + autogeneratedWorkspaceSchemes: .disabled + ) +) diff --git a/ci_scripts/test.rb b/ci_scripts/test.rb index 4772fa123ac..73d2b29a6c0 100755 --- a/ci_scripts/test.rb +++ b/ci_scripts/test.rb @@ -100,10 +100,10 @@ def discover_snapshot_tests if skip_snapshot_tests skip_tests += [ # Subset of tests that don't end with 'Snapshot(Test|Tests)'. - 'StripeiOS Tests/STPAddCardViewControllerLocalizationTests', - 'StripeiOS Tests/STPPaymentOptionsViewControllerLocalizationTests', - 'StripeiOS Tests/STPShippingAddressViewControllerLocalizationTests', - 'StripeiOS Tests/STPShippingMethodsViewControllerLocalizationTests' + 'StripeiOSTests/STPAddCardViewControllerLocalizationTests', + 'StripeiOSTests/STPPaymentOptionsViewControllerLocalizationTests', + 'StripeiOSTests/STPShippingAddressViewControllerLocalizationTests', + 'StripeiOSTests/STPShippingMethodsViewControllerLocalizationTests' ] skip_tests += discover_snapshot_tests() diff --git a/modules.yaml b/modules.yaml index 7af592d2b0b..bff969709c0 100644 --- a/modules.yaml +++ b/modules.yaml @@ -71,8 +71,8 @@ modules: - podspec: Stripe.podspec scheme: StripeiOS framework_name: Stripe - localization_dir: Stripe - custom_string_convertible_dir: Stripe + localization_dir: Stripe/StripeiOS + custom_string_convertible_dir: Stripe/StripeiOS/Source supports_catalyst: true docs: output: docs/docs diff --git a/stripe3ds2-support/ci_scripts/run_tests.sh b/stripe3ds2-support/ci_scripts/run_tests.sh index 494c52b82ca..b8d1a7f0d39 100755 --- a/stripe3ds2-support/ci_scripts/run_tests.sh +++ b/stripe3ds2-support/ci_scripts/run_tests.sh @@ -15,7 +15,7 @@ info "Executing tests (iPhone 12 mini @ iOS 16.1)..." xcodebuild clean test \ -quiet \ -project "Stripe3DS2/Stripe3DS2.xcodeproj" \ - -scheme "Stripe3DS2Tests" \ + -scheme "Stripe3DS2" \ -sdk "iphonesimulator" \ -destination "platform=iOS Simulator,name=iPhone 12 mini,OS=16.1"