Repository: urbanairship/ios-library
Branch: main
Commit: 60e0385d882f
Files: 1418
Total size: 10.7 MB
Directory structure:
gitextract_2xh8r30o/
├── .github/
│ ├── CODEOWNERS
│ ├── CONTRIBUTING.md
│ ├── ISSUE_TEMPLATE.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── workflows/
│ ├── check-cert.yml
│ ├── check_framework_size.yml
│ ├── ci.yml
│ ├── deploy_docC.yml
│ ├── merge.yml
│ ├── pr-review.yml
│ └── release.yml
├── .gitignore
├── .gitmodules
├── .ruby-version
├── .swift-format.json
├── .swiftpm/
│ └── xcode/
│ └── package.xcworkspace/
│ └── contents.xcworkspacedata
├── .whitesource
├── Airship/
│ ├── Airship.xcodeproj/
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcshareddata/
│ │ └── xcschemes/
│ │ ├── AirshipAutomation.xcscheme
│ │ ├── AirshipBasement.xcscheme
│ │ ├── AirshipCore.xcscheme
│ │ ├── AirshipDebug.xcscheme
│ │ ├── AirshipFeatureFlags.xcscheme
│ │ ├── AirshipMessageCenter.xcscheme
│ │ ├── AirshipObjectiveC.xcscheme
│ │ └── AirshipPreferenceCenter.xcscheme
│ ├── AirshipAutomation/
│ │ ├── Info.plist
│ │ ├── Resources/
│ │ │ ├── AirshipAutomation.xcdatamodeld/
│ │ │ │ ├── .xccurrentversion
│ │ │ │ ├── AirshipAutomation 2.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── AirshipAutomation 3.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ └── AirshipAutomation.xcdatamodel/
│ │ │ │ └── contents
│ │ │ ├── UAAutomation.xcdatamodeld/
│ │ │ │ ├── .xccurrentversion
│ │ │ │ ├── UAAutomation 10.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 11.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 12.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 13.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 2.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 3.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 4.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 5.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 6.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 7.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 8.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAAutomation 9.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ └── UAAutomation.xcdatamodel/
│ │ │ │ └── contents
│ │ │ └── UAFrequencyLimits.xcdatamodeld/
│ │ │ └── UAFrequencyLimits.xcdatamodel/
│ │ │ └── contents
│ │ ├── Source/
│ │ │ ├── ActionAutomation/
│ │ │ │ ├── ActionAutomationExecutor.swift
│ │ │ │ └── ActionAutomationPreparer.swift
│ │ │ ├── Actions/
│ │ │ │ ├── CancelSchedulesAction.swift
│ │ │ │ ├── LandingPageAction.swift
│ │ │ │ └── ScheduleAction.swift
│ │ │ ├── AirshipAutomationResources.swift
│ │ │ ├── AudienceCheck/
│ │ │ │ ├── AdditionalAudienceCheckerApiClient.swift
│ │ │ │ └── AdditionalAudienceCheckerResolver.swift
│ │ │ ├── Automation/
│ │ │ │ ├── ApplicationMetrics.swift
│ │ │ │ ├── AutomationAudience.swift
│ │ │ │ ├── AutomationCompoundAudience.swift
│ │ │ │ ├── AutomationDelay.swift
│ │ │ │ ├── AutomationSchedule.swift
│ │ │ │ ├── AutomationTrigger.swift
│ │ │ │ ├── DeferredAutomationData.swift
│ │ │ │ ├── Engine/
│ │ │ │ │ ├── AutomationDelayProcessor.swift
│ │ │ │ │ ├── AutomationEngine.swift
│ │ │ │ │ ├── AutomationEventFeed.swift
│ │ │ │ │ ├── AutomationEventsHistory.swift
│ │ │ │ │ ├── AutomationExecutor.swift
│ │ │ │ │ ├── AutomationPreparer.swift
│ │ │ │ │ ├── AutomationScheduleData.swift
│ │ │ │ │ ├── AutomationScheduleState.swift
│ │ │ │ │ ├── AutomationStore.swift
│ │ │ │ │ ├── ExecutionWindowProcessor.swift
│ │ │ │ │ ├── LegacyAutomationStore.swift
│ │ │ │ │ ├── PreparedSchedule.swift
│ │ │ │ │ ├── ScheduleExecuteResult.swift
│ │ │ │ │ ├── SchedulePrepareResult.swift
│ │ │ │ │ ├── ScheduleReadyResult.swift
│ │ │ │ │ ├── TriggerProcessor/
│ │ │ │ │ │ ├── AutomationTriggerProcessor.swift
│ │ │ │ │ │ ├── PreparedTrigger.swift
│ │ │ │ │ │ └── TriggerData.swift
│ │ │ │ │ └── TriggeringInfo.swift
│ │ │ │ └── ExecutionWindow.swift
│ │ │ ├── AutomationSDKModule.swift
│ │ │ ├── InAppAutomation.swift
│ │ │ ├── InAppAutomationComponent.swift
│ │ │ ├── InAppAutomationUpdateStatus.swift
│ │ │ ├── InAppMessage/
│ │ │ │ ├── Analytics/
│ │ │ │ │ ├── InAppDisplayImpressionRuleProvider.swift
│ │ │ │ │ ├── InAppMessageAnalytics.swift
│ │ │ │ │ └── InAppMessageAnalyticsFactory.swift
│ │ │ │ ├── Assets/
│ │ │ │ │ ├── AirshipCachedAssets.swift
│ │ │ │ │ ├── AssetCacheManager.swift
│ │ │ │ │ ├── DefaultAssetDownloader.swift
│ │ │ │ │ └── DefaultAssetFileManager.swift
│ │ │ │ ├── Display Adapter/
│ │ │ │ │ ├── AirshipLayoutDisplayAdapter.swift
│ │ │ │ │ ├── CustomDisplayAdapter.swift
│ │ │ │ │ ├── CustomDisplayAdapterWrapper.swift
│ │ │ │ │ ├── DisplayAdapter.swift
│ │ │ │ │ ├── DisplayAdapterFactory.swift
│ │ │ │ │ └── InAppMessageDisplayListener.swift
│ │ │ │ ├── Display Coordinators/
│ │ │ │ │ ├── DefaultDisplayCoordinator.swift
│ │ │ │ │ ├── DisplayCoordinator.swift
│ │ │ │ │ ├── DisplayCoordinatorManager.swift
│ │ │ │ │ └── ImmediateDisplayCoordinator.swift
│ │ │ │ ├── InAppActionRunner.swift
│ │ │ │ ├── InAppMessage.swift
│ │ │ │ ├── InAppMessageAutomationExecutor.swift
│ │ │ │ ├── InAppMessageAutomationPreparer.swift
│ │ │ │ ├── InAppMessageColor.swift
│ │ │ │ ├── InAppMessageDisplayContent.swift
│ │ │ │ ├── InAppMessageDisplayDelegate.swift
│ │ │ │ ├── InAppMessageEnvironment.swift
│ │ │ │ ├── InAppMessageSceneDelegate.swift
│ │ │ │ ├── InAppMessageSceneManager.swift
│ │ │ │ ├── InAppMessageValidation.swift
│ │ │ │ ├── InAppMessageViewDelegate.swift
│ │ │ │ ├── InAppMessaging.swift
│ │ │ │ ├── Info/
│ │ │ │ │ ├── InAppMessageButtonInfo.swift
│ │ │ │ │ ├── InAppMessageButtonLayoutType.swift
│ │ │ │ │ ├── InAppMessageMediaInfo.swift
│ │ │ │ │ └── InAppMessageTextInfo.swift
│ │ │ │ ├── Legacy/
│ │ │ │ │ ├── LegacyInAppAnalytics.swift
│ │ │ │ │ ├── LegacyInAppMessage.swift
│ │ │ │ │ └── LegacyInAppMessaging.swift
│ │ │ │ └── View/
│ │ │ │ ├── BeveledLoadingView.swift
│ │ │ │ ├── ButtonGroup.swift
│ │ │ │ ├── CloseButton.swift
│ │ │ │ ├── FullscreenView.swift
│ │ │ │ ├── HTMLView.swift
│ │ │ │ ├── InAppMessageBannerView.swift
│ │ │ │ ├── InAppMessageExtensions.swift
│ │ │ │ ├── InAppMessageHostingController.swift
│ │ │ │ ├── InAppMessageModalView.swift
│ │ │ │ ├── InAppMessageNativeBridgeExtension.swift
│ │ │ │ ├── InAppMessageRootView.swift
│ │ │ │ ├── InAppMessageViewUtils.swift
│ │ │ │ ├── InAppMessageWebView.swift
│ │ │ │ ├── MediaView.swift
│ │ │ │ ├── TextView.swift
│ │ │ │ └── Theme/
│ │ │ │ ├── InAppMessageTheme.swift
│ │ │ │ ├── InAppMessageThemeAdditionalPadding.swift
│ │ │ │ ├── InAppMessageThemeBanner.swift
│ │ │ │ ├── InAppMessageThemeButton.swift
│ │ │ │ ├── InAppMessageThemeFullscreen.swift
│ │ │ │ ├── InAppMessageThemeHTML.swift
│ │ │ │ ├── InAppMessageThemeManager.swift
│ │ │ │ ├── InAppMessageThemeMedia.swift
│ │ │ │ ├── InAppMessageThemeModal.swift
│ │ │ │ ├── InAppMessageThemeShadow.swift
│ │ │ │ ├── InAppMessageThemeText.swift
│ │ │ │ └── ThemeExtensions.swift
│ │ │ ├── Limits/
│ │ │ │ ├── FrequencyChecker.swift
│ │ │ │ ├── FrequencyConstraint.swift
│ │ │ │ ├── FrequencyLimitManager.swift
│ │ │ │ ├── FrequencyLimitStore.swift
│ │ │ │ └── Occurrence.swift
│ │ │ ├── RemoteData/
│ │ │ │ ├── AutomationRemoteDataAccess.swift
│ │ │ │ ├── AutomationRemoteDataSubscriber.swift
│ │ │ │ ├── AutomationSourceInfoStore.swift
│ │ │ │ └── DeferredScheduleResult.swift
│ │ │ └── Utils/
│ │ │ ├── ActiveTimer.swift
│ │ │ ├── AirshipAsyncSemaphore.swift
│ │ │ ├── AutomationActionRunner.swift
│ │ │ ├── RetryingQueue.swift
│ │ │ └── ScheduleConditionsChangedNotifier.swift
│ │ └── Tests/
│ │ ├── Action Automation/
│ │ │ ├── ActionAutomationExecutorTest.swift
│ │ │ └── ActionAutomationPreparerTest.swift
│ │ ├── Actions/
│ │ │ ├── CancelSchedulesActionTest.swift
│ │ │ ├── LandingPageActionTest.swift
│ │ │ └── ScheduleActionTest.swift
│ │ ├── Automation/
│ │ │ ├── ApplicationMetricsTest.swift
│ │ │ ├── AudienceCheck/
│ │ │ │ └── AdditionalAudienceCheckerResolverTest.swift
│ │ │ ├── AutomationScheduleDataTest.swift
│ │ │ ├── AutomationScheduleTest.swift
│ │ │ └── Engine/
│ │ │ ├── AutomationDelayProcessorTest.swift
│ │ │ ├── AutomationEngineTest.swift
│ │ │ ├── AutomationEventFeedTest.swift
│ │ │ ├── AutomationEventsHistoryTest.swift
│ │ │ ├── AutomationExecutorTest.swift
│ │ │ ├── AutomationPreparerTest.swift
│ │ │ ├── AutomationStoreTest.swift
│ │ │ ├── AutomationTriggerProcessorTest.swift
│ │ │ ├── ExecutionWindowProcessorTest.swift
│ │ │ ├── PreparedScheduleInfoTest.swift
│ │ │ └── PreparedTriggerTest.swift
│ │ ├── ExecutionWindowTest.swift
│ │ ├── InAppMessage/
│ │ │ ├── Analytics/
│ │ │ │ ├── DefaultInAppDisplayImpressionRuleProviderTest.swift
│ │ │ │ └── InAppMessageAnalyticsTest.swift
│ │ │ ├── Assets/
│ │ │ │ ├── AssetCacheManagerTest.swift
│ │ │ │ ├── DefaultAssetDownloaderTest.swift
│ │ │ │ └── DefaultAssetFileManagerTest.swift
│ │ │ ├── DefaultInAppActionRunnerTest.swift
│ │ │ ├── Display Adapter/
│ │ │ │ ├── AirshipLayoutDisplayAdapterTest.swift
│ │ │ │ ├── CustomDisplayAdapterWrapperTest.swift
│ │ │ │ ├── DisplayAdapterFactoryTest.swift
│ │ │ │ └── InAppMessageDisplayListenerTest.swift
│ │ │ ├── Display Coordinators/
│ │ │ │ ├── DefaultDisplayCoordinatorTest.swift
│ │ │ │ ├── DisplayCoordinatorManagerTest.swift
│ │ │ │ └── ImmediateDisplayCoordinatorTest.swift
│ │ │ ├── InAppMessageAutomationExecutorTest.swift
│ │ │ ├── InAppMessageAutomationPreparerTest.swift
│ │ │ ├── InAppMessageContentValidationTest.swift
│ │ │ ├── InAppMessageTest.swift
│ │ │ ├── InAppMessageThemeTest.swift
│ │ │ └── View/
│ │ │ └── InAppMessageNativeBridgeExtensionTest.swift
│ │ ├── InAppMessaging/
│ │ │ ├── Invalid-UAInAppMessageBannerStyle.plist
│ │ │ ├── Invalid-UAInAppMessageFullScreenStyle.plist
│ │ │ ├── Invalid-UAInAppMessageModalStyle.plist
│ │ │ ├── Valid-UAInAppMessageBannerStyle.plist
│ │ │ ├── Valid-UAInAppMessageFullScreenStyle.plist
│ │ │ ├── Valid-UAInAppMessageHTMLStyle.plist
│ │ │ └── Valid-UAInAppMessageModalStyle.plist
│ │ ├── Legacy/
│ │ │ ├── LegacyInAppAnalyticsTest.swift
│ │ │ ├── LegacyInAppMessageTest.swift
│ │ │ └── LegacyInAppMessagingTest.swift
│ │ ├── Limits/
│ │ │ └── FrequencyLimitManagerTest.swift
│ │ ├── RemoteData/
│ │ │ ├── AutomationRemoteDataAccessTest.swift
│ │ │ ├── AutomationRemoteDataSubscriberTest.swift
│ │ │ └── AutomationSourceInfoStoreTest.swift
│ │ ├── Test Utils/
│ │ │ ├── TestActionRunner.swift
│ │ │ ├── TestActiveTimer.swift
│ │ │ ├── TestAutomationEngine.swift
│ │ │ ├── TestCachedAssets.swift
│ │ │ ├── TestDisplayAdapter.swift
│ │ │ ├── TestDisplayCoordinator.swift
│ │ │ ├── TestFrequencyLimitsManager.swift
│ │ │ ├── TestInAppMessageAnalytics.swift
│ │ │ ├── TestInAppMessageAutomationExecutor.swift
│ │ │ └── TestRemoteDataAccess.swift
│ │ └── Utils/
│ │ ├── ActiveTimerTest.swift
│ │ ├── AirshipAsyncSemaphoreTest.swift
│ │ └── RetryingQueueTests.swift
│ ├── AirshipBasement/
│ │ ├── Info.plist
│ │ └── Source/
│ │ ├── AirshipLogHandler.swift
│ │ ├── AirshipLogPrivacyLevel.swift
│ │ ├── AirshipLogger.swift
│ │ ├── DefaultLogHandler.swift
│ │ └── LogLevel.swift
│ ├── AirshipConfig.xcconfig
│ ├── AirshipCore/
│ │ ├── Info.plist
│ │ ├── Resources/
│ │ │ ├── PrivacyInfo.xcprivacy
│ │ │ ├── UAEvents.xcdatamodeld/
│ │ │ │ └── UAEvents.xcdatamodel/
│ │ │ │ └── contents
│ │ │ ├── UAMeteredUsage.xcdatamodeld/
│ │ │ │ └── UAMeteredUsage.xcdatamodel/
│ │ │ │ └── contents
│ │ │ ├── UANativeBridge
│ │ │ ├── UANotificationCategories.plist
│ │ │ ├── UARemoteData.xcdatamodeld/
│ │ │ │ ├── .xccurrentversion
│ │ │ │ ├── UARemoteData 2.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UARemoteData 3.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UARemoteData 4.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ └── UARemoteData.xcdatamodel/
│ │ │ │ └── contents
│ │ │ ├── UARemoteDataMappingV1toV4.xcmappingmodel/
│ │ │ │ └── xcmapping.xml
│ │ │ ├── UARemoteDataMappingV2toV4.xcmappingmodel/
│ │ │ │ └── xcmapping.xml
│ │ │ ├── UARemoteDataMappingV3toV4.xcmappingmodel/
│ │ │ │ └── xcmapping.xml
│ │ │ ├── UAirshipCache.xcdatamodeld/
│ │ │ │ └── UAAirshipCache.xcdatamodel/
│ │ │ │ └── contents
│ │ │ ├── af.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── am.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── ar.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── bg.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── ca.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── cs.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── da.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── de.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── el.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── en.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── es-419.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── es.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── et.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── fa.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── fi.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── fr-CA.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── fr.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── hi.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── hr.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── hu.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── id.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── it.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── iw.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── ja.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── ko.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── lt.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── lv.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── ms.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── nl.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── no.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── pl.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── pt-PT.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── pt.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── ro.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── ru.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── sk.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── sl.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── sr.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── sv.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── sw.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── th.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── tr.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── uk.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── vi.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── zh-HK.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── zh-Hans.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ ├── zh-Hant.lproj/
│ │ │ │ └── UrbanAirship.strings
│ │ │ └── zu.lproj/
│ │ │ └── UrbanAirship.strings
│ │ ├── Source/
│ │ │ ├── APNSEnvironment.swift
│ │ │ ├── APNSRegistrar.swift
│ │ │ ├── APNSRegistrationResult.swift
│ │ │ ├── AccountEventTemplate.swift
│ │ │ ├── ActionArguments.swift
│ │ │ ├── ActionRegistry.swift
│ │ │ ├── ActionResult.swift
│ │ │ ├── ActionRunner.swift
│ │ │ ├── ActivityViewController.swift
│ │ │ ├── AddCustomEventAction.swift
│ │ │ ├── AddTagsAction.swift
│ │ │ ├── Airship.swift
│ │ │ ├── AirshipAction.swift
│ │ │ ├── AirshipActorValue.swift
│ │ │ ├── AirshipAnalytics.swift
│ │ │ ├── AirshipAnalyticsFeed.swift
│ │ │ ├── AirshipAppCredentials.swift
│ │ │ ├── AirshipApptimizeIntegration.swift
│ │ │ ├── AirshipAsyncChannel.swift
│ │ │ ├── AirshipAsyncImage.swift
│ │ │ ├── AirshipAuthorizedNotificationSettings.swift
│ │ │ ├── AirshipBase64.swift
│ │ │ ├── AirshipButton.swift
│ │ │ ├── AirshipCache.swift
│ │ │ ├── AirshipCancellable.swift
│ │ │ ├── AirshipChannel.swift
│ │ │ ├── AirshipCheckboxToggleStyle.swift
│ │ │ ├── AirshipColor.swift
│ │ │ ├── AirshipComponent.swift
│ │ │ ├── AirshipConfig.swift
│ │ │ ├── AirshipContact.swift
│ │ │ ├── AirshipCoreDataPredicate.swift
│ │ │ ├── AirshipCoreResources.swift
│ │ │ ├── AirshipDate.swift
│ │ │ ├── AirshipDateFormatter.swift
│ │ │ ├── AirshipDevice.swift
│ │ │ ├── AirshipDeviceAudienceResult.swift
│ │ │ ├── AirshipDeviceID.swift
│ │ │ ├── AirshipDisplayTarget.swift
│ │ │ ├── AirshipEmbeddedInfo.swift
│ │ │ ├── AirshipEmbeddedObserver.swift
│ │ │ ├── AirshipEmbeddedSize.swift
│ │ │ ├── AirshipEmbeddedView.swift
│ │ │ ├── AirshipEmbeddedViewManager.swift
│ │ │ ├── AirshipErrors.swift
│ │ │ ├── AirshipEvent.swift
│ │ │ ├── AirshipEventData.swift
│ │ │ ├── AirshipEventType.swift
│ │ │ ├── AirshipEvents.swift
│ │ │ ├── AirshipFont.swift
│ │ │ ├── AirshipImageLoader.swift
│ │ │ ├── AirshipImageProvider.swift
│ │ │ ├── AirshipInputValidator.swift
│ │ │ ├── AirshipInstance.swift
│ │ │ ├── AirshipIvyVersionMatcher.swift
│ │ │ ├── AirshipJSON.swift
│ │ │ ├── AirshipJSONUtils.swift
│ │ │ ├── AirshipKeychainAccess.swift
│ │ │ ├── AirshipLayout.swift
│ │ │ ├── AirshipLocalizationUtils.swift
│ │ │ ├── AirshipLock.swift
│ │ │ ├── AirshipMeteredUsage.swift
│ │ │ ├── AirshipMeteredUsageEvent.swift
│ │ │ ├── AirshipNativePlatform.swift
│ │ │ ├── AirshipNetworkChecker.swift
│ │ │ ├── AirshipNotificationCenter.swift
│ │ │ ├── AirshipNotificationStatus.swift
│ │ │ ├── AirshipPasteboard.swift
│ │ │ ├── AirshipPrivacyManager.swift
│ │ │ ├── AirshipProgressView.swift
│ │ │ ├── AirshipPush.swift
│ │ │ ├── AirshipPushableComponent.swift
│ │ │ ├── AirshipRequest.swift
│ │ │ ├── AirshipRequestSession.swift
│ │ │ ├── AirshipResources.swift
│ │ │ ├── AirshipResponse.swift
│ │ │ ├── AirshipSDKExtension.swift
│ │ │ ├── AirshipSDKModule.swift
│ │ │ ├── AirshipSceneController.swift
│ │ │ ├── AirshipSceneManager.swift
│ │ │ ├── AirshipSimpleLayoutView.swift
│ │ │ ├── AirshipSimpleLayoutViewModel.swift
│ │ │ ├── AirshipStateOverrides.swift
│ │ │ ├── AirshipSwitchToggleStyle.swift
│ │ │ ├── AirshipSwizzler.swift
│ │ │ ├── AirshipTaskSleeper.swift
│ │ │ ├── AirshipTimeCriteria.swift
│ │ │ ├── AirshipTimerProtocol.swift
│ │ │ ├── AirshipToggle.swift
│ │ │ ├── AirshipUnsafeSendableWrapper.swift
│ │ │ ├── AirshipUtils.swift
│ │ │ ├── AirshipVersion.swift
│ │ │ ├── AirshipViewSizeReader.swift
│ │ │ ├── AirshipViewUtils.swift
│ │ │ ├── AirshipWeakValueHolder.swift
│ │ │ ├── AirshipWebview.swift
│ │ │ ├── AirshipWindowFactory.swift
│ │ │ ├── AirshipWorkManager.swift
│ │ │ ├── AirshipWorkManagerProtocol.swift
│ │ │ ├── AirshipWorkRequest.swift
│ │ │ ├── AirshipWorkResult.swift
│ │ │ ├── AirsihpTriggerContext.swift
│ │ │ ├── AnonContactData.swift
│ │ │ ├── AppIntegration.swift
│ │ │ ├── AppRemoteDataProviderDelegate.swift
│ │ │ ├── AppStateTracker.swift
│ │ │ ├── AppStateTrackerAdapter.swift
│ │ │ ├── ApplicationState.swift
│ │ │ ├── ArishipCustomViewManager.swift
│ │ │ ├── AssociatedIdentifiers.swift
│ │ │ ├── AsyncSerialQueue.swift
│ │ │ ├── AsyncStream.swift
│ │ │ ├── Atomic.swift
│ │ │ ├── AttributePendingMutations.swift
│ │ │ ├── AttributeUpdate.swift
│ │ │ ├── Attributes.swift
│ │ │ ├── AttributesEditor.swift
│ │ │ ├── AudienceDeviceInfoProvider.swift
│ │ │ ├── AudienceHashSelector.swift
│ │ │ ├── AudienceOverridesProvider.swift
│ │ │ ├── AudienceUtils.swift
│ │ │ ├── AuthToken.swift
│ │ │ ├── AutoIntegration.swift
│ │ │ ├── BackgroundColorViewModifier.swift
│ │ │ ├── Badger.swift
│ │ │ ├── BannerView.swift
│ │ │ ├── BaseCachingRemoteDataProvider.swift
│ │ │ ├── BasementImport.swift
│ │ │ ├── BasicToggleLayout.swift
│ │ │ ├── BlockAction.swift
│ │ │ ├── BundleExtensions.swift
│ │ │ ├── ButtonLayout.swift
│ │ │ ├── ButtonState.swift
│ │ │ ├── CachedList.swift
│ │ │ ├── CachedValue.swift
│ │ │ ├── CachingSMSValidatorAPIClient.swift
│ │ │ ├── CancellableValueHolder.swift
│ │ │ ├── ChallengeResolver.swift
│ │ │ ├── ChannelAPIClient.swift
│ │ │ ├── ChannelAudienceManager.swift
│ │ │ ├── ChannelAuthTokenAPIClient.swift
│ │ │ ├── ChannelAuthTokenProvider.swift
│ │ │ ├── ChannelBulkUpdateAPIClient.swift
│ │ │ ├── ChannelCapture.swift
│ │ │ ├── ChannelRegistrar.swift
│ │ │ ├── ChannelRegistrationPayload.swift
│ │ │ ├── ChannelScope.swift
│ │ │ ├── ChannelSubscriptionListProvider.swift
│ │ │ ├── ChannelType.swift
│ │ │ ├── Checkbox.swift
│ │ │ ├── CheckboxController.swift
│ │ │ ├── CheckboxState.swift
│ │ │ ├── CheckboxToggleLayout.swift
│ │ │ ├── CircularRegion.swift
│ │ │ ├── CloudSite.swift
│ │ │ ├── CompoundDeviceAudienceSelector.swift
│ │ │ ├── ContactAPIClient.swift
│ │ │ ├── ContactChannel.swift
│ │ │ ├── ContactChannelsAPIClient.swift
│ │ │ ├── ContactChannelsProvider.swift
│ │ │ ├── ContactConflictEvent.swift
│ │ │ ├── ContactManager.swift
│ │ │ ├── ContactManagerProtocol.swift
│ │ │ ├── ContactOperation.swift
│ │ │ ├── ContactRemoteDataProviderDelegate.swift
│ │ │ ├── ContactSubscriptionListClient.swift
│ │ │ ├── Container.swift
│ │ │ ├── CustomEvent.swift
│ │ │ ├── CustomView.swift
│ │ │ ├── DeepLinkAction.swift
│ │ │ ├── DeepLinkDelegate.swift
│ │ │ ├── DefaultAirshipAnalytics.swift
│ │ │ ├── DefaultAirshipChannel.swift
│ │ │ ├── DefaultAirshipContact.swift
│ │ │ ├── DefaultAirshipPush.swift
│ │ │ ├── DefaultAppIntegrationDelegate.swift
│ │ │ ├── DeferredAPIClient.swift
│ │ │ ├── DeferredResolver.swift
│ │ │ ├── DeviceAudienceChecker.swift
│ │ │ ├── DeviceAudienceSelector.swift
│ │ │ ├── DeviceTagSelector.swift
│ │ │ ├── Dispatcher.swift
│ │ │ ├── EmailRegistrationOptions.swift
│ │ │ ├── EmbeddedView.swift
│ │ │ ├── EmbeddedViewSelector.swift
│ │ │ ├── EmptyAction.swift
│ │ │ ├── EmptyView.swift
│ │ │ ├── EnableBehaviorModifiers.swift
│ │ │ ├── EnableFeatureAction.swift
│ │ │ ├── EnvironmentValues.swift
│ │ │ ├── EventAPIClient.swift
│ │ │ ├── EventHandlerViewModifier.swift
│ │ │ ├── EventManager.swift
│ │ │ ├── EventStore.swift
│ │ │ ├── EventUploadScheduler.swift
│ │ │ ├── EventUploadTuningInfo.swift
│ │ │ ├── EventUtils.swift
│ │ │ ├── Experiment.swift
│ │ │ ├── ExperimentDataProvider.swift
│ │ │ ├── ExperimentManager.swift
│ │ │ ├── ExternalURLProcessor.swift
│ │ │ ├── FarmHashFingerprint64.swift
│ │ │ ├── FetchDeviceInfoAction.swift
│ │ │ ├── FontViewModifier.swift
│ │ │ ├── FormController.swift
│ │ │ ├── FormInputViewModifier.swift
│ │ │ ├── HashChecker.swift
│ │ │ ├── IconView.swift
│ │ │ ├── Icons.swift
│ │ │ ├── Image.swift
│ │ │ ├── ImageButton.swift
│ │ │ ├── JSONMatcher.swift
│ │ │ ├── JSONPredicate.swift
│ │ │ ├── JSONValueMatcher.swift
│ │ │ ├── JSONValueMatcherPredicates.swift
│ │ │ ├── JSONValueTransformer.swift
│ │ │ ├── JavaScriptCommand.swift
│ │ │ ├── JavaScriptCommandDelegate.swift
│ │ │ ├── JavaScriptEnvironment.swift
│ │ │ ├── Label.swift
│ │ │ ├── LabelButton.swift
│ │ │ ├── LayoutState.swift
│ │ │ ├── LinearLayout.swift
│ │ │ ├── LiveActivity.swift
│ │ │ ├── LiveActivityRegistrationStatus.swift
│ │ │ ├── LiveActivityRegistrationStatusUpdates.swift
│ │ │ ├── LiveActivityRegistry.swift
│ │ │ ├── LiveActivityRestorer.swift
│ │ │ ├── LiveActivityUpdate.swift
│ │ │ ├── LocaleManager.swift
│ │ │ ├── Media.swift
│ │ │ ├── MediaEventTemplate.swift
│ │ │ ├── MessageCriteria.swift
│ │ │ ├── MessageDisplayHistory.swift
│ │ │ ├── MeteredUsageAPIClient.swift
│ │ │ ├── MeteredUsageStore.swift
│ │ │ ├── ModalView.swift
│ │ │ ├── ModifyAttributesAction.swift
│ │ │ ├── ModifyTagsAction.swift
│ │ │ ├── ModuleLoader.swift
│ │ │ ├── NativeBridge.swift
│ │ │ ├── NativeBridgeActionHandler.swift
│ │ │ ├── NativeBridgeActionRunner.swift
│ │ │ ├── NativeBridgeDelegate.swift
│ │ │ ├── NativeBridgeExtensionDelegate.swift
│ │ │ ├── NativeVideoPlayer.swift
│ │ │ ├── NotificationCategories.swift
│ │ │ ├── NotificationPermissionDelegate.swift
│ │ │ ├── NotificationRegistrar.swift
│ │ │ ├── NotificationRegistrationResult.swift
│ │ │ ├── OpenExternalURLAction.swift
│ │ │ ├── OpenRegistrationOptions.swift
│ │ │ ├── Pager.swift
│ │ │ ├── PagerController.swift
│ │ │ ├── PagerGestureMap.swift
│ │ │ ├── PagerIndicator.swift
│ │ │ ├── PagerState.swift
│ │ │ ├── PagerSwipeDirection.swift
│ │ │ ├── PagerUtils.swift
│ │ │ ├── PasteboardAction.swift
│ │ │ ├── Permission.swift
│ │ │ ├── PermissionDelegate.swift
│ │ │ ├── PermissionPrompter.swift
│ │ │ ├── PermissionStatus.swift
│ │ │ ├── PermissionsManager.swift
│ │ │ ├── PreferenceDataStore.swift
│ │ │ ├── PromptPermissionAction.swift
│ │ │ ├── ProximityRegion.swift
│ │ │ ├── PushNotificationDelegate.swift
│ │ │ ├── RadioInput.swift
│ │ │ ├── RadioInputController.swift
│ │ │ ├── RadioInputState.swift
│ │ │ ├── RadioInputToggleLayout.swift
│ │ │ ├── RateAppAction.swift
│ │ │ ├── RegionEvent.swift
│ │ │ ├── RegistrationDelegate.swift
│ │ │ ├── RemoteConfig.swift
│ │ │ ├── RemoteConfigCache.swift
│ │ │ ├── RemoteConfigManager.swift
│ │ │ ├── RemoteData.swift
│ │ │ ├── RemoteDataAPIClient.swift
│ │ │ ├── RemoteDataInfo.swift
│ │ │ ├── RemoteDataPayload.swift
│ │ │ ├── RemoteDataProtocol.swift
│ │ │ ├── RemoteDataProvider.swift
│ │ │ ├── RemoteDataProviderDelegate.swift
│ │ │ ├── RemoteDataProviderProtocol.swift
│ │ │ ├── RemoteDataSource.swift
│ │ │ ├── RemoteDataSourceStatus.swift
│ │ │ ├── RemoteDataStore.swift
│ │ │ ├── RemoteDataStorePayload.swift
│ │ │ ├── RemoteDataURLFactory.swift
│ │ │ ├── RemoveTagsAction.swift
│ │ │ ├── RetailEventTemplate.swift
│ │ │ ├── RootView.swift
│ │ │ ├── RuntimeConfig.swift
│ │ │ ├── SMSRegistrationOptions.swift
│ │ │ ├── SMSValidatorAPIClient.swift
│ │ │ ├── ScopedSubscriptionListEdit.swift
│ │ │ ├── ScopedSubscriptionListEditor.swift
│ │ │ ├── ScopedSubscriptionListUpdate.swift
│ │ │ ├── Score.swift
│ │ │ ├── ScoreController.swift
│ │ │ ├── ScoreState.swift
│ │ │ ├── ScoreToggleLayout.swift
│ │ │ ├── ScrollLayout.swift
│ │ │ ├── SearchEventTemplate.swift
│ │ │ ├── SerialQueue.swift
│ │ │ ├── SessionEvent.swift
│ │ │ ├── SessionEventFactory.swift
│ │ │ ├── SessionState.swift
│ │ │ ├── SessionTracker.swift
│ │ │ ├── Shapes.swift
│ │ │ ├── ShareAction.swift
│ │ │ ├── SmsLocalePicker.swift
│ │ │ ├── StackImageButton.swift
│ │ │ ├── StateController.swift
│ │ │ ├── StateSubscriptionsModifier.swift
│ │ │ ├── StoryIndicator.swift
│ │ │ ├── SubjectExtension.swift
│ │ │ ├── SubscriptionListAPIClient.swift
│ │ │ ├── SubscriptionListAction.swift
│ │ │ ├── SubscriptionListEdit.swift
│ │ │ ├── SubscriptionListEditor.swift
│ │ │ ├── SubscriptionListProvider.swift
│ │ │ ├── SubscriptionListUpdate.swift
│ │ │ ├── TagActionMutation.swift
│ │ │ ├── TagEditor.swift
│ │ │ ├── TagGroupMutations.swift
│ │ │ ├── TagGroupUpdate.swift
│ │ │ ├── TagGroupsEditor.swift
│ │ │ ├── TagsActionArgs.swift
│ │ │ ├── TextInput.swift
│ │ │ ├── Thomas.swift
│ │ │ ├── ThomasAccessibilityAction.swift
│ │ │ ├── ThomasAccessibleInfo.swift
│ │ │ ├── ThomasActionsPayload.swift
│ │ │ ├── ThomasAssociatedLabelResolver.swift
│ │ │ ├── ThomasAsyncImage.swift
│ │ │ ├── ThomasAttributeName.swift
│ │ │ ├── ThomasAttributeValue.swift
│ │ │ ├── ThomasAutomatedAccessibilityAction.swift
│ │ │ ├── ThomasAutomatedAction.swift
│ │ │ ├── ThomasBorder.swift
│ │ │ ├── ThomasButtonClickBehavior.swift
│ │ │ ├── ThomasButtonTapEffect.swift
│ │ │ ├── ThomasColor.swift
│ │ │ ├── ThomasConstants.swift
│ │ │ ├── ThomasConstrainedSize.swift
│ │ │ ├── ThomasDelegate.swift
│ │ │ ├── ThomasDirection.swift
│ │ │ ├── ThomasDisplayListener.swift
│ │ │ ├── ThomasEmailRegistrationOptions.swift
│ │ │ ├── ThomasEnableBehavior.swift
│ │ │ ├── ThomasEnvironment.swift
│ │ │ ├── ThomasEvent.swift
│ │ │ ├── ThomasEventHandler.swift
│ │ │ ├── ThomasFormDataCollector.swift
│ │ │ ├── ThomasFormField.swift
│ │ │ ├── ThomasFormFieldProcessor.swift
│ │ │ ├── ThomasFormPayloadGenerator.swift
│ │ │ ├── ThomasFormResult.swift
│ │ │ ├── ThomasFormState.swift
│ │ │ ├── ThomasFormStatus.swift
│ │ │ ├── ThomasFormSubmitBehavior.swift
│ │ │ ├── ThomasFormValidationMode.swift
│ │ │ ├── ThomasIcon.swift
│ │ │ ├── ThomasLayoutButtonTapEvent.swift
│ │ │ ├── ThomasLayoutContext.swift
│ │ │ ├── ThomasLayoutDisplayEvent.swift
│ │ │ ├── ThomasLayoutEvent.swift
│ │ │ ├── ThomasLayoutEventContext.swift
│ │ │ ├── ThomasLayoutEventMessageID.swift
│ │ │ ├── ThomasLayoutEventRecorder.swift
│ │ │ ├── ThomasLayoutEventSource.swift
│ │ │ ├── ThomasLayoutFormDisplayEvent.swift
│ │ │ ├── ThomasLayoutFormResultEvent.swift
│ │ │ ├── ThomasLayoutGestureEvent.swift
│ │ │ ├── ThomasLayoutPageActionEvent.swift
│ │ │ ├── ThomasLayoutPageSwipeEvent.swift
│ │ │ ├── ThomasLayoutPageViewEvent.swift
│ │ │ ├── ThomasLayoutPagerCompletedEvent.swift
│ │ │ ├── ThomasLayoutPagerSummaryEvent.swift
│ │ │ ├── ThomasLayoutPermissionResultEvent.swift
│ │ │ ├── ThomasLayoutResolutionEvent.swift
│ │ │ ├── ThomasMargin.swift
│ │ │ ├── ThomasMarkdownOptions.swift
│ │ │ ├── ThomasMediaFit.swift
│ │ │ ├── ThomasOrientation.swift
│ │ │ ├── ThomasPagerControllerBranching.swift
│ │ │ ├── ThomasPagerTracker.swift
│ │ │ ├── ThomasPlatform.swift
│ │ │ ├── ThomasPosition.swift
│ │ │ ├── ThomasPresentationInfo.swift
│ │ │ ├── ThomasPropertyOverride.swift
│ │ │ ├── ThomasSerializable.swift
│ │ │ ├── ThomasShadow.swift
│ │ │ ├── ThomasShapeInfo.swift
│ │ │ ├── ThomasSize.swift
│ │ │ ├── ThomasSizeConstraint.swift
│ │ │ ├── ThomasSmsLocale.swift
│ │ │ ├── ThomasState.swift
│ │ │ ├── ThomasStateAction.swift
│ │ │ ├── ThomasStateStorage.swift
│ │ │ ├── ThomasStateTrigger.swift
│ │ │ ├── ThomasTextAppearance.swift
│ │ │ ├── ThomasToggleStyleInfo.swift
│ │ │ ├── ThomasValidationInfo.swift
│ │ │ ├── ThomasViewController.swift
│ │ │ ├── ThomasViewInfo.swift
│ │ │ ├── ThomasViewedPageInfo.swift
│ │ │ ├── ThomasVisibilityInfo.swift
│ │ │ ├── ThomasWindowSize.swift
│ │ │ ├── ToggleLayout.swift
│ │ │ ├── TouchViewModifier.swift
│ │ │ ├── UAAppIntegrationDelegate.swift
│ │ │ ├── UACoreData.swift
│ │ │ ├── UARemoteDataMapping.swift
│ │ │ ├── UNNotificationRegistrar.swift
│ │ │ ├── URLAllowList.swift
│ │ │ ├── UrlInfo.swift
│ │ │ ├── ValidatableHelper.swift
│ │ │ ├── VideoController.swift
│ │ │ ├── VideoGroupState.swift
│ │ │ ├── VideoMediaNativeView.swift
│ │ │ ├── VideoMediaWebView.swift
│ │ │ ├── VideoState.swift
│ │ │ ├── ViewConstraints.swift
│ │ │ ├── ViewExtensions.swift
│ │ │ ├── ViewFactory.swift
│ │ │ ├── VisibilityViewModifier.swift
│ │ │ ├── WorkBackgroundTasks.swift
│ │ │ ├── WorkConditionsMonitor.swift
│ │ │ ├── WorkRateLimiterActor.swift
│ │ │ ├── Worker.swift
│ │ │ └── WrappingLayout.swift
│ │ └── Tests/
│ │ ├── APNSEnvironmentTest.swift
│ │ ├── AccountEventTemplateTest.swift
│ │ ├── ActionArgumentsTest.swift
│ │ ├── ActionRegistryTest.swift
│ │ ├── AddCustomEventActionTest.swift
│ │ ├── AddTagsActionTest.swift
│ │ ├── AirshipAnalyticFeedTest.swift
│ │ ├── AirshipAsyncChannelTest.swift
│ │ ├── AirshipBase64Test.swift
│ │ ├── AirshipBaseTest.swift
│ │ ├── AirshipCacheTest.swift
│ │ ├── AirshipColorTests.swift
│ │ ├── AirshipConfigTest.swift
│ │ ├── AirshipContactTest.swift
│ │ ├── AirshipDateFormatterTest.swift
│ │ ├── AirshipDeviceIDTest.swift
│ │ ├── AirshipEventsTest.swift
│ │ ├── AirshipHTTPResponseTest.swift
│ │ ├── AirshipIvyVersionMatcherTest.swift
│ │ ├── AirshipJSONTest.swift
│ │ ├── AirshipJSONUtilsTest.swift
│ │ ├── AirshipLocaleManagerTest.swift
│ │ ├── AirshipLocalizationUtilsTest.swift
│ │ ├── AirshipMeteredUsageTest.swift
│ │ ├── AirshipPrivacyManagerTest.swift
│ │ ├── AirshipPushTest.swift
│ │ ├── AirshipTest.swift
│ │ ├── AirshipURLAllowListTest.swift
│ │ ├── AirshipUtilsTest.swift
│ │ ├── AishipFontTests.swift
│ │ ├── Analytics/
│ │ │ ├── Events/
│ │ │ │ ├── ThomasLayoutButtonTapEventTest.swift
│ │ │ │ ├── ThomasLayoutDisplayEventTest.swift
│ │ │ │ ├── ThomasLayoutEventTestUtils.swift
│ │ │ │ ├── ThomasLayoutFormDisplayEventTest.swift
│ │ │ │ ├── ThomasLayoutFormResultEventTest.swift
│ │ │ │ ├── ThomasLayoutGestureEventTest.swift
│ │ │ │ ├── ThomasLayoutPageActionEventTest.swift
│ │ │ │ ├── ThomasLayoutPageSwipeEventAction.swift
│ │ │ │ ├── ThomasLayoutPageViewEventTest.swift
│ │ │ │ ├── ThomasLayoutPagerCompletedEventTest.swift
│ │ │ │ ├── ThomasLayoutPagerSummaryEventTest.swift
│ │ │ │ ├── ThomasLayoutPermissionResultEventTest.swift
│ │ │ │ └── ThomasLayoutResolutionEventTest.swift
│ │ │ ├── ThomasDisplayListenerTest.swift
│ │ │ ├── ThomasLayoutEventContextTest.swift
│ │ │ ├── ThomasLayoutEventMessageIDTest.swift
│ │ │ └── ThomasLayoutEventRecorderTest.swift
│ │ ├── AnalyticsTest.swift
│ │ ├── AppIntegrationTests.swift
│ │ ├── AppRemoteDataProviderDelegateTest.swift
│ │ ├── AppStateTrackerTest.swift
│ │ ├── AssociatedIdentifiersTest.swift
│ │ ├── AttributeEditorTest.swift
│ │ ├── AttributeUpdateTest.swift
│ │ ├── AudienceHashSelectorTest.swift
│ │ ├── AudienceUtilsTest.swift
│ │ ├── CachedListTest.swift
│ │ ├── CachedValueTest.swift
│ │ ├── ChallengeResolverTest.swift
│ │ ├── ChannelAPIClientTest.swift
│ │ ├── ChannelAudienceManagerTest.swift
│ │ ├── ChannelAuthTokenAPIClientTest.swift
│ │ ├── ChannelAuthTokenProviderTest.swift
│ │ ├── ChannelBulkUpdateAPIClientTest.swift
│ │ ├── ChannelCaptureTest.swift
│ │ ├── ChannelRegistrarTest.swift
│ │ ├── ChannelRegistrationPayloadTest.swift
│ │ ├── ChannelTest.swift
│ │ ├── CircularRegionTest.swift
│ │ ├── CompoundDeviceAudienceSelectorTest.swift
│ │ ├── ContactAPIClientTest.swift
│ │ ├── ContactChannelsProviderTest.swift
│ │ ├── ContactManagerTest.swift
│ │ ├── ContactOperationTest.swift
│ │ ├── ContactRemoteDataProviderTest.swift
│ │ ├── ContactSubscriptionListAPIClientTest.swift
│ │ ├── CustomEventTest.swift
│ │ ├── CustomNotificationCategories.plist
│ │ ├── DeepLinkActionTest.swift
│ │ ├── DeepLinkHandlerTest.swift
│ │ ├── DefaultAirshipRequestSessionTest.swift
│ │ ├── DefaultAppIntegrationDelegateTest.swift
│ │ ├── DefaultTaskSleeperTest.swift
│ │ ├── DeferredAPIClientTest.swift
│ │ ├── DeferredResolverTest.swift
│ │ ├── DeviceAudienceSelectorTest.swift
│ │ ├── DeviceTagSelectorTest.swift
│ │ ├── EnableFeatureActionTest.swift
│ │ ├── Environment/
│ │ │ ├── ThomasEnvironmentTest.swift
│ │ │ ├── ThomasFormDataCollectorTest.swift
│ │ │ ├── ThomasFormFieldProcessorTest.swift
│ │ │ ├── ThomasFormFieldTest.swift
│ │ │ ├── ThomasFormPayloadGeneratorTest.swift
│ │ │ ├── ThomasFormStateTest.swift
│ │ │ ├── ThomasPagerTrackerTest.swift
│ │ │ └── ThomasStateTest.swift
│ │ ├── EventAPIClientTest.swift
│ │ ├── EventManagerTest.swift
│ │ ├── EventSchedulerTest.swift
│ │ ├── EventStoreTest.swift
│ │ ├── EventTestUtils.swift
│ │ ├── ExperimentManagerTest.swift
│ │ ├── ExperimentTest.swift
│ │ ├── FarmHashFingerprint64Test.swift
│ │ ├── FetchDeviceInfoActionTest.swift
│ │ ├── HashCheckerTest.swift
│ │ ├── Info.plist
│ │ ├── Input Validation/
│ │ │ ├── AirshipInputValidationTest.swift
│ │ │ ├── CachingSMSValidatorAPIClientTest.swift
│ │ │ ├── SMSValidatorAPIClientTest.swift
│ │ │ └── TestSMSValidatorAPIClient.swift
│ │ ├── JSONPredicateTest.swift
│ │ ├── JavaScriptCommandTest.swift
│ │ ├── JsonMatcherTest.swift
│ │ ├── JsonValueMatcherTest.swift
│ │ ├── LayoutModelsTest.swift
│ │ ├── LiveActivityRegistryTest.swift
│ │ ├── MediaEventTemplateTest.swift
│ │ ├── MeteredUsageApiClientTest.swift
│ │ ├── ModifyAttributesActionTest.swift
│ │ ├── ModifyTagsActionTest.swift
│ │ ├── NativeBridgeActionHandlerTest.swift
│ │ ├── NotificationCategoriesTest.swift
│ │ ├── OpenExternalURLActionTest.swift
│ │ ├── PagerControllerTest.swift
│ │ ├── PasteboardActionTest.swift
│ │ ├── PermissionsManagerTests.swift
│ │ ├── PreferenceDataStoreTest.swift
│ │ ├── PromptPermissionActionTest.swift
│ │ ├── ProximityRegionTest.swift
│ │ ├── RateAppActionTest.swift
│ │ ├── RegionEventTest.swift
│ │ ├── RemoteConfigManagerTest.swift
│ │ ├── RemoteConfigTest.swift
│ │ ├── RemoteDataAPIClientTest.swift
│ │ ├── RemoteDataProviderTest.swift
│ │ ├── RemoteDataStoreTest.swift
│ │ ├── RemoteDataTest.swift
│ │ ├── RemoteDataTestUtils.swift
│ │ ├── RemoteDataURLFactoryTest.swift
│ │ ├── RemoveTagsActionTest.swift
│ │ ├── RetailEventTemplateTest.swift
│ │ ├── RuntimeConfig.swift
│ │ ├── RuntimeConfigTest.swift
│ │ ├── SearchEventTemplateTest.swift
│ │ ├── SessionTrackerTest.swift
│ │ ├── ShareActionTest.swift
│ │ ├── SubscriptionListAPIClientTest.swift
│ │ ├── SubscriptionListActionTest.swift
│ │ ├── Support/
│ │ │ ├── AirshipConfig-Valid-Legacy.plist
│ │ │ ├── AirshipConfig-Valid.plist
│ │ │ ├── TestAppStateTracker.swift
│ │ │ ├── airship.der
│ │ │ ├── development-embedded.mobileprovision
│ │ │ ├── production-embedded.mobileprovision
│ │ │ └── testMCColorsCatalog.xcassets/
│ │ │ ├── Contents.json
│ │ │ └── seapunkTestColor.colorset/
│ │ │ └── Contents.json
│ │ ├── TagEditorTest.swift
│ │ ├── TagGroupsEditorTest.swift
│ │ ├── TestAirshipInstance.swift
│ │ ├── TestAirshipRequestSession.swift
│ │ ├── TestAnalytics.swift
│ │ ├── TestAudienceChecker.swift
│ │ ├── TestCache.swift
│ │ ├── TestChannel.swift
│ │ ├── TestChannelAudienceManager.swift
│ │ ├── TestChannelAuthTokenAPIClient.swift
│ │ ├── TestChannelBulkUpdateAPIClient.swift
│ │ ├── TestChannelRegistrar.swift
│ │ ├── TestContact.swift
│ │ ├── TestContactAPIClient.swift
│ │ ├── TestContactSubscriptionListAPIClient.swift
│ │ ├── TestDate.swift
│ │ ├── TestDeferredResolver.swift
│ │ ├── TestDispatcher.swift
│ │ ├── TestExperimentDataProvider.swift
│ │ ├── TestKeychainAccess.swift
│ │ ├── TestLocaleManager.swift
│ │ ├── TestNetworkMonitor.swift
│ │ ├── TestPermissionPrompter.swift
│ │ ├── TestPrivacyManager.swift
│ │ ├── TestPush.swift
│ │ ├── TestRemoteData.swift
│ │ ├── TestRemoteDataAPIClient.swift
│ │ ├── TestSubscriptionListAPIClient.swift
│ │ ├── TestThomasLayoutEvent.swift
│ │ ├── TestURLAllowList.swift
│ │ ├── TestURLOpener.swift
│ │ ├── TestWorkManager.swift
│ │ ├── TestWorkRateLimiterActor.swift
│ │ ├── ThomasPresentationModelCodingTest.swift
│ │ ├── ThomasValidationTests.swift
│ │ ├── ThomasViewModelTest.swift
│ │ ├── Types/
│ │ │ ├── PagerDisableSwipeSelectorTest.swift
│ │ │ └── ThomasEmailRegistrationOptionsTest.swift
│ │ ├── VideoMediaWebViewTests.swift
│ │ └── WorkManager/
│ │ └── WorkRateLimiterTests.swift
│ ├── AirshipDebug/
│ │ ├── Info.plist
│ │ ├── Resources/
│ │ │ ├── AirshipDebugEventData.xcdatamodeld/
│ │ │ │ └── AirshipEventData.xcdatamodel/
│ │ │ │ └── contents
│ │ │ └── AirshipDebugPushData.xcdatamodeld/
│ │ │ └── AirshipDebugPushData.xcdatamodel/
│ │ │ └── contents
│ │ └── Source/
│ │ ├── AirshipDebugManager.swift
│ │ ├── AirshipDebugResources.swift
│ │ ├── DebugComponent.swift
│ │ ├── DebugSDKModule.swift
│ │ ├── Events/
│ │ │ ├── AirshipEvent.swift
│ │ │ ├── EventData.swift
│ │ │ └── EventDataManager.swift
│ │ ├── Push/
│ │ │ ├── PushData+CoreDataClass.swift
│ │ │ ├── PushData+CoreDataProperties.swift
│ │ │ ├── PushDataManager.swift
│ │ │ └── PushNotification.swift
│ │ ├── ShakeUtils.swift
│ │ └── View/
│ │ ├── AirshipDebugContentView.swift
│ │ ├── AirshipDebugRoute.swift
│ │ ├── AirshipDebugView.swift
│ │ ├── AirshipoDebugTriggers.swift
│ │ ├── Analytics/
│ │ │ ├── AirshipDebugAddEventView.swift
│ │ │ ├── AirshipDebugAnalyticIdentifierEditorView.swift
│ │ │ ├── AirshipDebugAnalyticsView.swift
│ │ │ ├── AirshipDebugEventDetailsView.swift
│ │ │ └── AirshipDebugEventsView.swift
│ │ ├── AppInfo/
│ │ │ └── AirshipDebugAppInfoView.swift
│ │ ├── Automations/
│ │ │ ├── AirshipDebugAutomationsView.swift
│ │ │ ├── AirshipDebugExperimentsView.swift
│ │ │ └── AirshipDebugInAppExperiencesView.swift
│ │ ├── Channel/
│ │ │ ├── AirshipDebugChannelSubscriptionsView.swift
│ │ │ ├── AirshipDebugChannelTagView.swift
│ │ │ └── AirshipDebugChannelView.swift
│ │ ├── Common/
│ │ │ ├── AirshipDebugAddPropertyView.swift
│ │ │ ├── AirshipDebugAddStringPropertyView.swift
│ │ │ ├── AirshipDebugAttributesEditorView.swift
│ │ │ ├── AirshipDebugAudienceSubject.swift
│ │ │ ├── AirshipDebugExtensions.swift
│ │ │ ├── AirshipDebugTagGroupsEditorView.swift
│ │ │ ├── AirshipJSONDetailsView.swift
│ │ │ ├── AirshipJSONView.swift
│ │ │ ├── AirshipToast.swift
│ │ │ └── Extensions.swift
│ │ ├── Contact/
│ │ │ ├── AirshipDebugAddEmailChannelView.swift
│ │ │ ├── AirshipDebugAddOpenChannelView.swift
│ │ │ ├── AirshipDebugAddSMSChannelView.swift
│ │ │ ├── AirshipDebugContactSubscriptionEditorView.swift
│ │ │ ├── AirshipDebugContactView.swift
│ │ │ └── AirshipDebugNamedUserView.swift
│ │ ├── FeatureFlags/
│ │ │ ├── AirshipDebugFeatureFlagDetailsView.swift
│ │ │ └── AirshipDebugFeatureFlagView.swift
│ │ ├── PreferenceCenter/
│ │ │ ├── AirshipDebugPreferencCenterItemView.swift
│ │ │ └── AirshipDebugPreferenceCenterView.swift
│ │ ├── PrivacyManager/
│ │ │ └── AirshipDebugPrivacyManagerView.swift
│ │ ├── Push/
│ │ │ ├── AirshipDebugPushDetailsView.swift
│ │ │ ├── AirshipDebugPushView.swift
│ │ │ └── AirshipDebugReceivedPushView.swift
│ │ └── TvOSComponents/
│ │ ├── TVDatePicker.swift
│ │ └── TVSlider.swift
│ ├── AirshipFeatureFlags/
│ │ ├── Info.plist
│ │ ├── Source/
│ │ │ ├── AirshipFeatureFlagsSDKModule.swift
│ │ │ ├── DeferredFlagResolver.swift
│ │ │ ├── FeatureFlag.swift
│ │ │ ├── FeatureFlagAnalytics.swift
│ │ │ ├── FeatureFlagComponent.swift
│ │ │ ├── FeatureFlagManager.swift
│ │ │ ├── FeatureFlagManagerProtocol.swift
│ │ │ ├── FeatureFlagPayload.swift
│ │ │ ├── FeatureFlagResultCache.swift
│ │ │ ├── FeatureFlagUpdateStatus.swift
│ │ │ └── FeatureFlagsRemoteDataAccess.swift
│ │ └── Tests/
│ │ ├── FeatureFlagAnalyticsTest.swift
│ │ ├── FeatureFlagDeferredResolverTest.swift
│ │ ├── FeatureFlagInfoTest.swift
│ │ ├── FeatureFlagManagerTest.swift
│ │ ├── FeatureFlagRemoteDataAccessTest.swift
│ │ ├── FeatureFlagResultCacheTest.swift
│ │ └── FeatureFlagVariablesTest.swift
│ ├── AirshipMessageCenter/
│ │ ├── Info.plist
│ │ ├── Resources/
│ │ │ ├── TestAssets.xcassets/
│ │ │ │ ├── Contents.json
│ │ │ │ └── testNamedColor.colorset/
│ │ │ │ └── Contents.json
│ │ │ ├── UAInbox.xcdatamodeld/
│ │ │ │ ├── .xccurrentversion
│ │ │ │ ├── UAInbox 2.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAInbox 3.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ ├── UAInbox 4.xcdatamodel/
│ │ │ │ │ └── contents
│ │ │ │ └── UAInbox.xcdatamodel/
│ │ │ │ └── contents
│ │ │ ├── UAInboxDataMappingV1toV4.xcmappingmodel/
│ │ │ │ └── xcmapping.xml
│ │ │ ├── UAInboxDataMappingV2toV4.xcmappingmodel/
│ │ │ │ └── xcmapping.xml
│ │ │ └── UAInboxDataMappingV3toV4.xcmappingmodel/
│ │ │ └── xcmapping.xml
│ │ ├── Source/
│ │ │ ├── AirshipMessageCenterResources.swift
│ │ │ ├── MessageCenter.swift
│ │ │ ├── MessageCenterAPIClient.swift
│ │ │ ├── MessageCenterAction.swift
│ │ │ ├── MessageCenterComponent.swift
│ │ │ ├── MessageCenterList.swift
│ │ │ ├── MessageCenterNativeBridgeExtension.swift
│ │ │ ├── MessageCenterPredicate.swift
│ │ │ ├── MessageCenterSDKModule.swift
│ │ │ ├── MessageCenterStore.swift
│ │ │ ├── MessageViewAnalytics.swift
│ │ │ ├── Model/
│ │ │ │ ├── InboxMessageData.swift
│ │ │ │ ├── MessageCenterMessage.swift
│ │ │ │ ├── MessageCenterUser.swift
│ │ │ │ └── UAInboxDataMapping.swift
│ │ │ ├── StateStore/
│ │ │ │ └── NativeLayoutPersistentDataStore.swift
│ │ │ ├── Theme/
│ │ │ │ ├── MessageCenterNavigationAppearance.swift
│ │ │ │ ├── MessageCenterTheme.swift
│ │ │ │ └── MessageCenterThemeLoader.swift
│ │ │ ├── ViewModel/
│ │ │ │ └── MessageCenterListItemViewModel.swift
│ │ │ └── Views/
│ │ │ ├── MessageCenter/
│ │ │ │ ├── MessageCenterContent.swift
│ │ │ │ ├── MessageCenterController.swift
│ │ │ │ ├── MessageCenterNavigationStack.swift
│ │ │ │ ├── MessageCenterSplitNavigationView.swift
│ │ │ │ ├── MessageCenterUIKitAppearance.swift
│ │ │ │ └── MessageCenterView.swift
│ │ │ ├── MessageCenterViewController.swift
│ │ │ ├── MessageList/
│ │ │ │ ├── MessageCenterListItemView.swift
│ │ │ │ ├── MessageCenterListView.swift
│ │ │ │ ├── MessageCenterListViewModel.swift
│ │ │ │ └── MessageCenterListViewWithNavigation.swift
│ │ │ ├── MessageView/
│ │ │ │ ├── MessageCenterMessageError.swift
│ │ │ │ ├── MessageCenterMessageView.swift
│ │ │ │ ├── MessageCenterMessageViewModel.swift
│ │ │ │ ├── MessageCenterMessageViewWithNavigation.swift
│ │ │ │ ├── MessageCenterThomasView.swift
│ │ │ │ └── MessageCenterWebView.swift
│ │ │ └── Shared/
│ │ │ └── MessageCenterBackButton.swift
│ │ └── Tests/
│ │ ├── MessageCenterAPIClientTest.swift
│ │ ├── MessageCenterListTests.swift
│ │ ├── MessageCenterMessageTest.swift
│ │ ├── MessageCenterStoreTest.swift
│ │ ├── MessageCenterThemeLoaderTest.swift
│ │ └── MessageViewAnalyticsTest.swift
│ ├── AirshipObjectiveC/
│ │ └── Source/
│ │ ├── Analytics/
│ │ │ ├── Events/
│ │ │ │ ├── Templates/
│ │ │ │ │ ├── UAAccountEventTemplate.swift
│ │ │ │ │ ├── UAMediaEventTemplate.swift
│ │ │ │ │ ├── UARetailEventTemplate.swift
│ │ │ │ │ └── UASearchEventTemplate.swift
│ │ │ │ └── UACustomEvent.swift
│ │ │ ├── UAAnalytics.swift
│ │ │ └── UAAssociatedIdentifiers.swift
│ │ ├── Automation/
│ │ │ ├── UAInAppAutomation.swift
│ │ │ └── UAInAppMessaging.swift
│ │ ├── Channel/
│ │ │ ├── UAAttributesEditor.swift
│ │ │ ├── UAChannel.swift
│ │ │ ├── UATagEditor.swift
│ │ │ └── UATagGroupsEditor.swift
│ │ ├── Contact/
│ │ │ └── UAContact.swift
│ │ ├── Embedded/
│ │ │ └── UAEmbeddedViewController.swift
│ │ ├── MessageCenter/
│ │ │ ├── UAMessageCenter.swift
│ │ │ ├── UAMessageCenterList.swift
│ │ │ ├── UAMessageCenterMessage.swift
│ │ │ ├── UAMessageCenterNativeBridge.swift
│ │ │ ├── UAMessageCenterTheme.swift
│ │ │ ├── UAMessageCenterUser.swift
│ │ │ └── UAMessageCenterViewController.swift
│ │ ├── PreferenceCenter/
│ │ │ ├── UAPreferenceCenter.swift
│ │ │ └── UAPreferenceCenterViewController.swift
│ │ ├── PrivacyManager/
│ │ │ └── UAPrivacyManager.swift
│ │ ├── Push/
│ │ │ ├── UAAuthorizedNotificationSettings.swift
│ │ │ ├── UANotificationCategories.swift
│ │ │ ├── UAPush.swift
│ │ │ ├── UAPushNotificationDelegate.swift
│ │ │ ├── UAPushNotificationStatus.swift
│ │ │ └── UARegistrationDelegate.swift
│ │ ├── Subscription Lists/
│ │ │ ├── UAScopedSubscriptionListEditor.swift
│ │ │ └── UASubscriptionListEditor.swift
│ │ ├── UAAppIntegration.swift
│ │ ├── UAConfig.swift
│ │ ├── UADeepLinkDelegate.swift
│ │ ├── UAFeature.swift
│ │ ├── UAPermission.swift
│ │ ├── UAPermissionsManager.swift
│ │ └── UAirship.swift
│ └── AirshipPreferenceCenter/
│ ├── Info.plist
│ ├── Source/
│ │ ├── AirshipPreferenceCenterResources.swift
│ │ ├── PreferenceCenter.swift
│ │ ├── PreferenceCenterComponent.swift
│ │ ├── PreferenceCenterSDKModule.swift
│ │ ├── data/
│ │ │ ├── PreferenceCenterConfig+ContactManagement.swift
│ │ │ ├── PreferenceCenterConfig.swift
│ │ │ ├── PreferenceCenterDecoder.swift
│ │ │ └── PreferenceCenterResponse.swift
│ │ ├── theme/
│ │ │ ├── PreferenceCenterTheme.swift
│ │ │ └── PreferenceCenterThemeLoader.swift
│ │ └── view/
│ │ ├── ChannelSubscriptionView.swift
│ │ ├── CommonSectionView.swift
│ │ ├── ConditionsMonitor.swift
│ │ ├── ConditionsViewModifier.swift
│ │ ├── Contact management/
│ │ │ ├── AddChannelPromptView.swift
│ │ │ ├── AddChannelPromptViewModel.swift
│ │ │ ├── ChannelListView.swift
│ │ │ ├── ChannelListViewCell.swift
│ │ │ ├── Component Views/
│ │ │ │ ├── BackgroundShape.swift
│ │ │ │ ├── ChannelTextField.swift
│ │ │ │ ├── EmptySectionLabel.swift
│ │ │ │ ├── ErrorLabel.swift
│ │ │ │ └── PreferenceCloseButton.swift
│ │ │ ├── ContactManagementView.swift
│ │ │ └── FooterView.swift
│ │ ├── ContactSubscriptionGroupView.swift
│ │ ├── ContactSubscriptionView.swift
│ │ ├── LabeledSectionBreakView.swift
│ │ ├── PreferenceCenterAlertView.swift
│ │ ├── PreferenceCenterContent.swift
│ │ ├── PreferenceCenterContentLoader.swift
│ │ ├── PreferenceCenterContentStyle.swift
│ │ ├── PreferenceCenterState.swift
│ │ ├── PreferenceCenterUtils.swift
│ │ ├── PreferenceCenterView.swift
│ │ ├── PreferenceCenterViewControllerFactory.swift
│ │ └── PreferenceCenterViewExtensions.swift
│ └── Tests/
│ ├── Info.plist
│ ├── PreferenceCenterTest.swift
│ ├── data/
│ │ └── PreferenceCenterConfigTest.swift
│ ├── test data/
│ │ ├── TestLegacyTheme.plist
│ │ ├── TestTheme.plist
│ │ ├── TestThemeEmpty.plist
│ │ └── TestThemeInvalid.plist
│ ├── theme/
│ │ └── PreferenceThemeLoaderTest.swift
│ └── view/
│ └── PreferenceCenterStateTest.swift
├── Airship.podspec
├── Airship.xcworkspace/
│ ├── contents.xcworkspacedata
│ └── xcshareddata/
│ ├── IDEWorkspaceChecks.plist
│ ├── WorkspaceSettings.xcsettings
│ └── swiftpm/
│ └── Package.resolved
├── AirshipExtensions/
│ ├── AirshipExtensions.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── xcshareddata/
│ │ └── xcschemes/
│ │ └── AirshipNotificationServiceExtension.xcscheme
│ └── AirshipNotificationServiceExtension/
│ ├── Info.plist
│ ├── Source/
│ │ ├── AirshipExtensionConfig.swift
│ │ ├── AirshipExtensionLogger.swift
│ │ ├── AirshipNotificationMutationProvider.swift
│ │ ├── ChallengeResolver.swift
│ │ ├── MediaAttachmentPayload.swift
│ │ └── UANotificationServiceExtension.swift
│ └── Tests/
│ ├── Info.plist
│ ├── MediaAttachmentPayloadTest.swift
│ └── UANotificationServiceExtensionTests.swift
├── AirshipServiceExtension.podspec
├── CHANGELOG.md
├── DevApp/
│ ├── AirshipConfig.plist.sample
│ ├── Dev App/
│ │ ├── AirshipConfig.plist.sample
│ │ ├── AppRouter.swift
│ │ ├── Assets.xcassets/
│ │ │ ├── AccentColor.colorset/
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ └── HomeHeroImage.imageset/
│ │ │ └── Contents.json
│ │ ├── DevApp.entitlements
│ │ ├── MainApp.swift
│ │ ├── Setup/
│ │ │ ├── AirshipInitializer.swift
│ │ │ ├── DeepLinkHandler.swift
│ │ │ ├── LiveActivityHandler.swift
│ │ │ └── PushNotificationHandler.swift
│ │ ├── Thomas/
│ │ │ ├── CustomView/
│ │ │ │ └── Examples/
│ │ │ │ ├── AdView.swift
│ │ │ │ ├── BiometricLoginView.swift
│ │ │ │ ├── CameraView.swift
│ │ │ │ ├── MapRouteView.swift
│ │ │ │ └── Weather/
│ │ │ │ ├── WeatherView.swift
│ │ │ │ └── WeatherViewModel.swift
│ │ │ ├── Embedded Playground View/
│ │ │ │ ├── EmbeddedPlaygroundMenuView.swift
│ │ │ │ ├── EmbeddedPlaygroundPicker.swift
│ │ │ │ ├── EmbeddedPlaygroundView.swift
│ │ │ │ ├── KeyView.swift
│ │ │ │ └── PlaceholderToggleView.swift
│ │ │ ├── JurassicPark.otf
│ │ │ ├── Layouts.swift
│ │ │ ├── LayoutsList.swift
│ │ │ ├── Resources/
│ │ │ │ ├── Messages/
│ │ │ │ │ ├── Banner/
│ │ │ │ │ │ ├── media-left-jurassic-park-bottom.json
│ │ │ │ │ │ ├── media-left.json
│ │ │ │ │ │ ├── media-right-jurassic-park-bottom.json
│ │ │ │ │ │ ├── media-right-jurassic-park-text-alignment-1.json
│ │ │ │ │ │ ├── media-right-jurassic-park-text-alignment-2.json
│ │ │ │ │ │ ├── media-right-jurassic-park-top.json
│ │ │ │ │ │ ├── media-right.json
│ │ │ │ │ │ └── small-banner.json
│ │ │ │ │ ├── Fullscreen/
│ │ │ │ │ │ ├── header-body-media-joined.json
│ │ │ │ │ │ ├── header-body-separate.json
│ │ │ │ │ │ └── media-header-body-stacked.json
│ │ │ │ │ ├── HTML/
│ │ │ │ │ │ ├── fullscreen-airship.json
│ │ │ │ │ │ ├── sized-airship.json
│ │ │ │ │ │ ├── sized-too-tall-airship.json
│ │ │ │ │ │ └── sized-too-wide-airship.json
│ │ │ │ │ └── Modal/
│ │ │ │ │ ├── a11y-test.json
│ │ │ │ │ ├── accessibility-modal.json
│ │ │ │ │ ├── header-body-media-joined.json
│ │ │ │ │ ├── header-body-media-stacked.json
│ │ │ │ │ ├── header-media-body-joined.json
│ │ │ │ │ ├── header-media-body-stacked.json
│ │ │ │ │ ├── media-header-body-joined.json
│ │ │ │ │ ├── media-header-body-separate-tall-image.json
│ │ │ │ │ ├── media-header-body-separate-wide-image.json
│ │ │ │ │ ├── media-header-body-separate.json
│ │ │ │ │ ├── media-header-body-stacked.json
│ │ │ │ │ ├── swipe-gesture-test.json
│ │ │ │ │ └── youtube-video-modal.json
│ │ │ │ ├── Scenes/
│ │ │ │ │ ├── Banner/
│ │ │ │ │ │ ├── banner-bottom.yml
│ │ │ │ │ │ ├── banner-safe-area-bottom.yml
│ │ │ │ │ │ ├── banner-safe-area-top.yml
│ │ │ │ │ │ ├── banner-top-old.yml
│ │ │ │ │ │ └── banner-top.yml
│ │ │ │ │ ├── Embedded/
│ │ │ │ │ │ ├── 100pct x 100pct.yml
│ │ │ │ │ │ ├── 100pct x auto.yml
│ │ │ │ │ │ ├── 50pct x 50pct.yml
│ │ │ │ │ │ ├── 75pct x 200pt.yml
│ │ │ │ │ │ ├── auto x 200.yml
│ │ │ │ │ │ ├── gif_and_vid.yml
│ │ │ │ │ │ ├── home_image.yml
│ │ │ │ │ │ ├── home_rating.yml
│ │ │ │ │ │ └── home_special_offer.yml
│ │ │ │ │ └── Modal/
│ │ │ │ │ ├── 1-pager-different-path.yml
│ │ │ │ │ ├── 1-pager-pranching-test.yml
│ │ │ │ │ ├── 1qa.yml
│ │ │ │ │ ├── MOBILE_4621.yml
│ │ │ │ │ ├── _a11y_focus.json
│ │ │ │ │ ├── _vimeo.ml
│ │ │ │ │ ├── a-gif-and-youtube.yml
│ │ │ │ │ ├── a-landscape-video.yml
│ │ │ │ │ ├── aaa-modal-bg-image.yaml
│ │ │ │ │ ├── aaa-modal.json
│ │ │ │ │ ├── accessibility-action-story.yml
│ │ │ │ │ ├── accessibility-actions-modal-pager-fullsize.yml
│ │ │ │ │ ├── accessibility-test-modal.json
│ │ │ │ │ ├── airship-quiz-1.yml
│ │ │ │ │ ├── async_view.yaml
│ │ │ │ │ ├── auto_height_modal.yml
│ │ │ │ │ ├── button_layout.yml
│ │ │ │ │ ├── container.yml
│ │ │ │ │ ├── containerception.yml
│ │ │ │ │ ├── custom-fonts.yml
│ │ │ │ │ ├── form-input-branching-child-form.yaml
│ │ │ │ │ ├── form-input-branching-on-demand.yml
│ │ │ │ │ ├── form_immediate_phone.yaml
│ │ │ │ │ ├── form_immediate_validation_email.yaml
│ │ │ │ │ ├── form_on_demand_validation_email.yaml
│ │ │ │ │ ├── form_single_page_on_demand.yml
│ │ │ │ │ ├── forms.yml
│ │ │ │ │ ├── image-pager-test.yml
│ │ │ │ │ ├── image_cropping.yml
│ │ │ │ │ ├── image_resizing.yml
│ │ │ │ │ ├── image_scaling.yml
│ │ │ │ │ ├── is-accessibility-alert-form.yml
│ │ │ │ │ ├── linear_layout_scroll.yml
│ │ │ │ │ ├── markdown.yml
│ │ │ │ │ ├── martin.json
│ │ │ │ │ ├── mobile-4599.yml
│ │ │ │ │ ├── mobile-5409-2.json
│ │ │ │ │ ├── mobile-5409.json
│ │ │ │ │ ├── mobile-5553-shape-corners.yml
│ │ │ │ │ ├── modal-buttons.yml
│ │ │ │ │ ├── modal-checkboxes-radios.yml
│ │ │ │ │ ├── modal-constrained.yml
│ │ │ │ │ ├── modal-custom-biometric-login.yml
│ │ │ │ │ ├── modal-custom-interstitial-banner-ad.yaml
│ │ │ │ │ ├── modal-custom-weather-and-map.yaml
│ │ │ │ │ ├── modal-day-night-colors.yml
│ │ │ │ │ ├── modal-disable-back-button.yml
│ │ │ │ │ ├── modal-labels.yml
│ │ │ │ │ ├── modal-linear-layout-horizontal.yml
│ │ │ │ │ ├── modal-linear-layout-vertical.yml
│ │ │ │ │ ├── modal-linear-layout-webview-emoji.yml
│ │ │ │ │ ├── modal-linear-layout.yml
│ │ │ │ │ ├── modal-media-header-body-stacked-buttons.yml
│ │ │ │ │ ├── modal-pager-fullsize.yml
│ │ │ │ │ ├── modal-pager-with-title-and-button.yml
│ │ │ │ │ ├── modal-placement-selectors.yml
│ │ │ │ │ ├── modal-responsive.yml
│ │ │ │ │ ├── modal-score.yml
│ │ │ │ │ ├── modal-transparancy.yml
│ │ │ │ │ ├── modal-video-cropping.yml
│ │ │ │ │ ├── modal-webview-full-size.yml
│ │ │ │ │ ├── modal-webview-with-buttons.yml
│ │ │ │ │ ├── model-custom-camera-view.yml
│ │ │ │ │ ├── multi-video-players.yml
│ │ │ │ │ ├── nps.yml
│ │ │ │ │ ├── pager-behaviors.yml
│ │ │ │ │ ├── portrait-video.yml
│ │ │ │ │ ├── qa-advseg-2998.yml
│ │ │ │ │ ├── qa-advseg-2999.yml
│ │ │ │ │ ├── safe-areas-linear-layout.yml
│ │ │ │ │ ├── safe-areas-pager.yml
│ │ │ │ │ ├── scene-scroll.yml
│ │ │ │ │ ├── story-one-screen.yml
│ │ │ │ │ ├── story-video-and-gif.yml
│ │ │ │ │ ├── story.yml
│ │ │ │ │ ├── tap-handler-visibility.yml
│ │ │ │ │ ├── textInput
│ │ │ │ │ ├── toggle-branching-simple-quiz.yml
│ │ │ │ │ ├── toggle-layout-types.yml
│ │ │ │ │ ├── toggle-rating-numbers.yaml
│ │ │ │ │ ├── toggle-rating-stars-small.yaml
│ │ │ │ │ ├── toggleLayout.yml
│ │ │ │ │ ├── tour-example.yml
│ │ │ │ │ ├── tour-no-safe-areas.yml
│ │ │ │ │ ├── tour-safe-areas.yml
│ │ │ │ │ ├── unsafe_areas.yml
│ │ │ │ │ ├── video-controls.yml
│ │ │ │ │ ├── video-qa.yaml
│ │ │ │ │ ├── video-story-multipage.yml
│ │ │ │ │ ├── video-story.yml
│ │ │ │ │ ├── video-test.yml
│ │ │ │ │ ├── video-youtube.yml
│ │ │ │ │ ├── video_cropping.yml
│ │ │ │ │ ├── view_overrides.yml
│ │ │ │ │ ├── wide-image-pager-test.yml
│ │ │ │ │ ├── wrapping-modal-score.yml
│ │ │ │ │ ├── wrapping-multi-page.yml
│ │ │ │ │ ├── wrapping-nps-test-2.yml
│ │ │ │ │ ├── wrapping-nps-test-3.yml
│ │ │ │ │ ├── wrapping-nps-test-4.yml
│ │ │ │ │ ├── wrapping-nps-test-5.yml
│ │ │ │ │ └── wrapping-nps-test.yml
│ │ │ │ └── SharedAssets.xcassets/
│ │ │ │ ├── 23GrandeAccentColor.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── 23GrandeAllFashion.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── 23GrandeAppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── 23GrandeArrival1.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── 23GrandeArrival2.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── 23GrandeHomeBanner.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ ├── ThomasLayoutListView.swift
│ │ │ └── ThomasLayoutViewModel.swift
│ │ ├── Toast.swift
│ │ └── View/
│ │ ├── AppView.swift
│ │ ├── HomeView.swift
│ │ ├── NamedUserView.swift
│ │ └── ToastView.swift
│ ├── Dev-App-Info.plist
│ ├── DevApp App Clip/
│ │ ├── Airship_Sample_App_Clip.entitlements
│ │ └── Info.plist
│ ├── DevApp Service Extension/
│ │ ├── Info.plist
│ │ └── NotificationService.swift
│ ├── DevApp.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── swiftpm/
│ │ └── Package.resolved
│ ├── LiveActivity/
│ │ ├── Assets.xcassets/
│ │ │ ├── 23Grande.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── AccentColor.colorset/
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ └── WidgetBackground.colorset/
│ │ │ └── Contents.json
│ │ ├── DeliveryActivityWidget.swift
│ │ ├── DeliveryAttributes.swift
│ │ ├── Info.plist
│ │ ├── LiveActivity.intentdefinition
│ │ └── Widgets.swift
│ └── Sample Plist/
│ └── AirshipConfig.plist.sample
├── DevApp watchOS/
│ ├── DevApp watchOS/
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets/
│ │ │ ├── AccentColor.colorset/
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── HomeView.swift
│ │ ├── MainApp.swift
│ │ ├── NamedUserView.swift
│ │ ├── Preview Content/
│ │ │ └── Preview Assets.xcassets/
│ │ │ ├── AccentColor.colorset/
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ └── PushNotificationPayload.apns
│ └── DevApp watchOS.xcodeproj/
│ ├── project.pbxproj
│ └── project.xcworkspace/
│ └── contents.xcworkspacedata
├── Documentation/
│ ├── .jazzy.json
│ ├── Migration/
│ │ ├── README.md
│ │ ├── migration-guide-16-17.md
│ │ ├── migration-guide-17-18.md
│ │ ├── migration-guide-18-19.md
│ │ └── migration-guide-19-20.md
│ ├── abstracts/
│ │ └── Guides.md
│ └── readme-for-jazzy.md
├── Gemfile
├── LICENSE
├── Makefile
├── Package.swift
├── README.md
└── scripts/
├── airship_version.sh
├── build_docCs.sh
├── build_sample.sh
├── build_sample_watchos.sh
├── build_xcframeworks.sh
├── check_size.sh
├── check_version.sh
├── check_xcbeautify.sh
├── gemini-review-prompt.md
├── get_xcode_path.sh
├── package.sh
├── package_xcframeworks.sh
├── pr-review.mjs
├── run_xcodebuild.sh
└── update_version.sh
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/CODEOWNERS
================================================
# https://help.github.com/en/articles/about-code-owners
* @urbanairship/mobile
================================================
FILE: .github/CONTRIBUTING.md
================================================
## Contributing Code
We accept pull requests! If you would like to submit a pull request, please fill out and submit our
[Contributor License Agreement](https://docs.google.com/forms/d/e/1FAIpQLScErfiz-fXSPpVZ9r8Di2Tr2xDFxt5MgzUel0__9vqUgvko7Q/viewform).
One of our engineers will verify receipt of the agreement before approving your pull request.
================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
❗For how-to inquiries involving Airship functionality or use cases, please
contact (support)[https://support.airship.com/].
# Preliminary Info
### What Airship dependencies are you using?
### What are the versions of any relevant development tools you are using?
# Report
### What unexpected behavior are you seeing?
### What is the expected behavior?
### What are the steps to reproduce the unexpected behavior?
### Do you have logging for the issue?
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
### What do these changes do?
### Why are these changes necessary?
### How did you verify these changes?
#### Verification Screenshots:
### Anything else a reviewer should know?
================================================
FILE: .github/workflows/check-cert.yml
================================================
name: Check Certificate Expiration
on:
workflow_dispatch:
jobs:
check-cert:
runs-on: macos-latest
steps:
- name: Check Certificate Details
env:
CERT_BASE64: ${{ secrets.CERTIFICATEXC }}
CERT_PASS: ${{ secrets.CERTIFICATEXC_PASS }}
run: |
# Decode the certificate from base64
echo "$CERT_BASE64" | base64 --decode > cert.p12
# Extract certificate info without importing to keychain
# This will show expiration date and other details
openssl pkcs12 -in cert.p12 -passin pass:"$CERT_PASS" -nokeys -clcerts | openssl x509 -noout -subject -issuer -dates -fingerprint
# Also show the certificate name as it appears for codesigning
openssl pkcs12 -in cert.p12 -passin pass:"$CERT_PASS" -nokeys -clcerts | openssl x509 -noout -subject | sed 's/subject=//'
# Clean up
rm cert.p12
================================================
FILE: .github/workflows/check_framework_size.yml
================================================
name: Check Framework Size
on:
workflow_dispatch:
env:
BUNDLE_PATH: vendor/bundle
jobs:
framework-size:
runs-on: macos-15-xlarge
steps:
- uses: actions/checkout@v4
- name: Restore Size
uses: actions/cache@v4
with:
path: build/previous-size.txt
key: size-cache-${{ github.head_ref }}
restore-keys: |
size-cache-
- name: Install Apple Certificate
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.CERTIFICATEXC }}
p12-password: ${{ secrets.CERTIFICATEXC_PASS }}
- name: Framework size
run: make compare-framework-size
- name: Save Size
uses: actions/cache@v4
with:
path: build/previous-size.txt
key: size-cache-${{ github.head_ref }}-${{ github.run_id }}
================================================
FILE: .github/workflows/ci.yml
================================================
name: CI Pull Request
on: [pull_request]
env:
BUNDLE_PATH: vendor/bundle
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
run-tests-core:
runs-on: macos-15-xlarge
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- name: Test
run: make test-core
run-tests-message-center:
runs-on: macos-15-xlarge
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- name: Test
run: make test-message-center
run-tests-preference-center:
runs-on: macos-15-xlarge
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- name: Test
run: make test-preference-center
run-tests-feature-flags:
runs-on: macos-15-xlarge
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- name: Test
run: make test-feature-flags
run-tests-automation:
runs-on: macos-15-xlarge
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- name: Test
run: make test-automation
run-tests-extensions:
runs-on: macos-15-xlarge
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- name: Test
run: make test-service-extension
build-airship-objectiveC:
runs-on: macos-15-xlarge
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Build AirshipObjectiveC target
run: make build-airship-objectiveC
build-samples:
runs-on: macos-15-xlarge
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Build samples
run: make build-samples
# run-tests-watchos:
# runs-on: macos-15-xlarge
# steps:
# - uses: actions/checkout@v4
# - uses: ruby/setup-ruby@v1
# with:
# bundler-cache: true
# - name: Install xcodegen
# run: brew install xcodegen
# - name: Install Apple Certificate
# uses: apple-actions/import-codesign-certs@v1
# with:
# p12-file-base64: ${{ secrets.CERTIFICATE_P12_BASE64 }}
# p12-password: ${{ secrets.CERTIFICATE_P12_PASSWORD }}
# - name: Install the provisioning profile
# env:
# PROVISIONING_APP_BASE64: ${{ secrets.PROVISIONING_PROFILE_APP_BASE64 }}
# PROVISIONING_EXT_BASE64: ${{ secrets.PROVISIONING_PROFILE_EXT_BASE64 }}
# run: |
# PP_APP_PATH=$RUNNER_TEMP/wkapp_prof.mobileprovision
# PP_EXT_PATH=$RUNNER_TEMP/wkext_prof.mobileprovision
# echo -n "$PROVISIONING_APP_BASE64" | base64 --decode > $PP_APP_PATH
# echo -n "$PROVISIONING_EXT_BASE64" | base64 --decode > $PP_EXT_PATH
# mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
# cp $PP_APP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
# cp $PP_EXT_PATH ~/Library/MobileDevice/Provisioning\ Profiles
# - name: Test
# run: make build-sample-watchos
pod-lib-lint-watchos:
runs-on: macos-15-xlarge
steps:
- uses: actions/checkout@v4
- name: Pod lint
run: make pod-lint-watchos
pod-lib-lint-tvos:
runs-on: macos-15-xlarge
steps:
- uses: actions/checkout@v4
- name: Pod lint
run: make pod-lint-tvos
pod-lib-lint-ios:
runs-on: macos-15-xlarge
steps:
- uses: actions/checkout@v4
- name: Pod lint
run: make pod-lint-ios
pod-lib-lint-extensions:
runs-on: macos-15-xlarge
steps:
- uses: actions/checkout@v4
- name: Pod lint
run: make pod-lint-extensions
================================================
FILE: .github/workflows/deploy_docC.yml
================================================
name: Deploy docC to Pages
on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+**"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: write
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Extract version
id: extract_version
run: |
set -euo pipefail
VERSION="${GITHUB_REF#refs/tags/}"
MAJOR_VERSION=$(echo "$VERSION" | cut -d. -f1)
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "VERSION_DIR=v$MAJOR_VERSION" >> $GITHUB_OUTPUT
echo "VERSION_DIR=v$MAJOR_VERSION" >> $GITHUB_ENV
- name: Check Version
run: |
set -euo pipefail
bash ./scripts/check_version.sh "${{ steps.extract_version.outputs.VERSION }}"
- name: Build DocC
env:
VERSION_DIR: ${{ steps.extract_version.outputs.VERSION_DIR }}
run: |
set -euo pipefail
make build-docC version="$VERSION_DIR"
- name: Deploy to GitHub Pages
env:
VERSION_DIR: ${{ steps.extract_version.outputs.VERSION_DIR }}
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
publish_dir: ./docs
destination_dir: $VERSION_DIR
keep_files: true
enable_jekyll: false
================================================
FILE: .github/workflows/merge.yml
================================================
name: CI Merge
on:
push:
branches:
- main
- next
env:
BUNDLE_PATH: vendor/bundle
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
build-sdk:
runs-on: macos-15-xlarge
steps:
- name: Install Apple Certificate
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.CERTIFICATEXC }}
p12-password: ${{ secrets.CERTIFICATEXC_PASS }}
- uses: actions/checkout@v4
- name: Build SDK
run: make build-xcframeworks-no-sign
finished:
runs-on: ubuntu-latest
needs: [build-sdk]
steps:
- name: Slack Notification
uses: lazy-actions/slatify@master
if: ${{ failure() }}
with:
type: ${{ job.status }}
job_name: "Merge things busted!"
url: ${{ secrets.SLACK_WEBHOOK }}
================================================
FILE: .github/workflows/pr-review.yml
================================================
name: Gemini PR Review
on:
pull_request:
types: [opened, edited, synchronize]
concurrency: pr-${{ github.event.pull_request.number }}
jobs:
review:
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: read
steps:
- name: ⬇️ Checkout
uses: actions/checkout@v4
- name: 🪄 Save PR diff
env:
GH_TOKEN: ${{ secrets.MOBILE_REVIEW_PAT }}
run: gh pr diff ${{ github.event.pull_request.number }} > diff.patch
- name: 🛠️ Set up Node 20
uses: actions/setup-node@v4
with:
node-version: 20
- name: 🤖 Run Gemini review script
continue-on-error: true
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
MODEL_ID: gemini-2.5-pro-preview-05-06
GITHUB_TOKEN: ${{ secrets.MOBILE_REVIEW_PAT }}
PR_NUMBER: ${{ github.event.pull_request.number }}
REPO: ${{ github.repository }}
DEBUG: true
run: node scripts/pr-review.mjs
================================================
FILE: .github/workflows/release.yml
================================================
name: Release
on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+**"
env:
BUNDLE_PATH: vendor/bundle
jobs:
check-version:
if: github.repository == 'urbanairship/ios-library'
runs-on: macos-15-xlarge
steps:
- uses: actions/checkout@v4
- name: Get the version
id: get_version
run: |
set -euo pipefail
VERSION="${GITHUB_REF#refs/tags/}"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
- name: Check Version
run: |
set -euo pipefail
bash ./scripts/check_version.sh "${{ steps.get_version.outputs.VERSION }}"
- name: Slack Notification
uses: lazy-actions/slatify@master
with:
type: ${{ job.status }}
job_name: "iOS SDK Release Started :apple_og:"
url: ${{ secrets.SLACK_WEBHOOK }}
build-package:
needs: check-version
runs-on: macos-15-xlarge
steps:
- uses: actions/checkout@v4
- name: Install Coreutils
run: brew install coreutils
- name: Install Apple Certificate
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.CERTIFICATEXC }}
p12-password: ${{ secrets.CERTIFICATEXC_PASS }}
- name: Build SDK
run: make build-package
- name: Upload zip distribution
uses: actions/upload-artifact@v4
with:
name: airship
path: ./build/Airship.zip
- name: Upload zip distribution (Carthage)
uses: actions/upload-artifact@v4
with:
name: airship-carthage
path: ./build/Airship.xcframeworks.zip
- name: Upload .NET xcframeworks
uses: actions/upload-artifact@v4
with:
name: airship-dotnet
path: ./build/Airship.dotnet.xcframeworks.zip
build-samples:
needs: check-version
runs-on: macos-15-xlarge
steps:
- uses: actions/checkout@v4
- name: Build samples
run: make build-samples
# Test jobs, all depend on check-version
run-tests-core:
needs: check-version
runs-on: macos-15-xlarge
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install xcodegen
run: brew install xcodegen
- name: Test Core
run: make test-core
run-tests-preference-center:
needs: check-version
runs-on: macos-15-xlarge
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install xcodegen
run: brew install xcodegen
- name: Test Preference Center
run: make test-preference-center
run-tests-message-center:
needs: check-version
runs-on: macos-15-xlarge
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install xcodegen
run: brew install xcodegen
- name: Test Message Center
run: make test-message-center
run-tests-automation:
needs: check-version
runs-on: macos-15-xlarge
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install xcodegen
run: brew install xcodegen
- name: Test Automation
run: make test-automation
run-tests-feature-flags:
needs: check-version
runs-on: macos-15-xlarge
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install xcodegen
run: brew install xcodegen
- name: Test Feature Flags
run: make test-feature-flags
run-tests-service-extension:
needs: check-version
runs-on: macos-15-xlarge
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install xcodegen
run: brew install xcodegen
- name: Test Service Extension
run: make test-service-extension
deploy-github:
permissions:
contents: write
runs-on: macos-15-xlarge
needs:
- run-tests-core
- run-tests-preference-center
- run-tests-message-center
- run-tests-automation
- run-tests-feature-flags
- run-tests-service-extension
- build-package
- build-samples
steps:
- uses: actions/checkout@v4
- name: Get the version
id: get_version
run: |
set -euo pipefail
VERSION="${GITHUB_REF#refs/tags/}"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
- name: Get the release notes
id: get_release_notes
run: |
set -euo pipefail
VERSION="${{ steps.get_version.outputs.VERSION }}"
# Match line starting with '## Version [VERSION]'
# but allow for the date suffix that follows.
NOTES=$(awk -v ver="$VERSION" '
$0 ~ "^## Version " ver "($|[ ]-)" {flag=1; next}
$0 ~ "^## Version " {flag=0}
flag
' CHANGELOG.md)
# Strip potential leading/trailing whitespace/newlines
NOTES="$(echo "$NOTES" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
if [ -z "$NOTES" ]; then
echo "::error::Could not find notes for Version $VERSION in CHANGELOG.md"
exit 1
fi
DELIMITER="EOF_$(uuidgen)"
{
echo "NOTES<<$DELIMITER"
echo "$NOTES"
echo "$DELIMITER"
} >> "$GITHUB_OUTPUT"
- name: Download zip distribution
uses: actions/download-artifact@v4
with:
name: airship
path: ./build
- name: Download Carthage zip distribution
uses: actions/download-artifact@v4
with:
name: airship-carthage
path: ./build
- name: Download .NET xcframeworks
uses: actions/download-artifact@v4
with:
name: airship-dotnet
path: ./build
- name: Create GitHub Release
id: create_release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.get_version.outputs.VERSION }}
release_name: ${{ steps.get_version.outputs.VERSION }}
body: ${{ steps.get_release_notes.outputs.NOTES }}
draft: false
prerelease: false
files: |
./build/Airship.zip
./build/Airship.xcframeworks.zip
./build/Airship.dotnet.xcframeworks.zip
- name: Kickoff prebuilt repo
env:
GITHUB_TOKEN: ${{ secrets.IOS_DEPLOY_PREBUILT_PAT }}
run: gh --repo urbanairship/ios-library-prebuilt workflow run release.yml
deploy-pods:
runs-on: macos-15-xlarge
needs:
- run-tests-core
- run-tests-preference-center
- run-tests-message-center
- run-tests-automation
- run-tests-feature-flags
- run-tests-service-extension
- build-package
- build-samples
steps:
- uses: actions/checkout@v4
- name: Get the version
id: get_version
run: |
set -euo pipefail
VERSION="${GITHUB_REF#refs/tags/}"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
- name: Publish Pods
env:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
run: make pod-publish
- name: Slack Notification
uses: lazy-actions/slatify@master
if: always()
with:
type: ${{ job.status }}
job_name: "Publish the Pods ${{ steps.get_version.outputs.VERSION }} :tidepod:"
url: ${{ secrets.SLACK_WEBHOOK }}
finished:
runs-on: ubuntu-latest
needs: [deploy-github, deploy-pods]
steps:
- name: Get the version
id: get_version
run: |
set -euo pipefail
VERSION="${GITHUB_REF#refs/tags/}"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
- name: Slack Notification
uses: lazy-actions/slatify@master
if: always()
with:
type: ${{ job.status }}
job_name: ":raised_hands: iOS SDK Released! :raised_hands:"
url: ${{ secrets.SLACK_WEBHOOK }}
================================================
FILE: .gitignore
================================================
.DS_Store
*.orig
.hg*
*.mode1v3
*.pbxuser
*.perspective*
distribution_binaries/
distribution_package/
docs/html/
docs/docset/
Debug/
Release/
Distribution/
build/
UANativeBridge.c
xcuserdata/
AirshipConfig.plist
AirshipDevelopment.plist
fabfile.py*
*.build_output
# Undo files for MacVim
*.un~
# CoverStory tool script
cover.py
OCMockLibrary
*.swp
Deploy/output
test-output/
Pods/
Carthage/
Airship.framework.zip
DerivedData
**/.claude/settings.local.json
================================================
FILE: .gitmodules
================================================
================================================
FILE: .ruby-version
================================================
3.2.0
================================================
FILE: .swift-format.json
================================================
{
"fileScopedDeclarationPrivacy" : {
"accessLevel" : "private"
},
"indentation" : {
"spaces" : 4
},
"indentConditionalCompilationBlocks" : false,
"indentSwitchCaseLabels" : false,
"lineBreakAroundMultilineExpressionChainComponents" : true,
"lineBreakBeforeControlFlowKeywords" : false,
"lineBreakBeforeEachArgument" : true,
"lineBreakBeforeEachGenericRequirement" : true,
"lineLength" : 80,
"maximumBlankLines" : 1,
"prioritizeKeepingFunctionOutputTogether" : false,
"respectsExistingLineBreaks" : true,
"rules" : {
"AllPublicDeclarationsHaveDocumentation" : true,
"AlwaysUseLowerCamelCase" : true,
"AmbiguousTrailingClosureOverload" : true,
"BeginDocumentationCommentWithOneLineSummary" : false,
"DoNotUseSemicolons" : true,
"DontRepeatTypeInStaticProperties" : true,
"FileScopedDeclarationPrivacy" : true,
"FullyIndirectEnum" : true,
"GroupNumericLiterals" : true,
"IdentifiersMustBeASCII" : true,
"NeverForceUnwrap" : true,
"NeverUseForceTry" : true,
"NeverUseImplicitlyUnwrappedOptionals" : true,
"NoAccessLevelOnExtensionDeclaration" : true,
"NoBlockComments" : true,
"NoCasesWithOnlyFallthrough" : true,
"NoEmptyTrailingClosureParentheses" : true,
"NoLabelsInCasePatterns" : true,
"NoLeadingUnderscores" : false,
"NoParensAroundConditions" : true,
"NoVoidReturnOnFunctionSignature" : true,
"OneCasePerLine" : true,
"OneVariableDeclarationPerLine" : true,
"OnlyOneTrailingClosureArgument" : true,
"OrderedImports" : true,
"ReturnVoidInsteadOfEmptyTuple" : true,
"UseEarlyExits" : true,
"UseLetInEveryBoundCaseVariable" : true,
"UseShorthandTypeNames" : true,
"UseSingleLinePropertyGetter" : true,
"UseSynthesizedInitializer" : true,
"UseTripleSlashForDocumentationComments" : true,
"UseWhereClausesInForLoops" : false,
"ValidateDocumentationComments" : false
},
"tabWidth" : 8,
"version" : 1
}
================================================
FILE: .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
================================================
================================================
FILE: .whitesource
================================================
{
"scanSettings": {
"configMode": "AUTO",
"configExternalURL": "",
"projectToken": "",
"baseBranches": []
},
"checkRunSettings": {
"vulnerableCheckRunConclusionLevel": "success",
"displayMode": "diff"
},
"issueSettings": {
"minSeverityLevel": "NONE"
}
}
================================================
FILE: Airship/Airship.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 70;
objects = {
/* Begin PBXAggregateTarget section */
6EAAE85D28C2AD3A003CAE53 /* AirshipRelease */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 6EAAE85E28C2AD3A003CAE53 /* Build configuration list for PBXAggregateTarget "AirshipRelease" */;
buildPhases = (
);
dependencies = (
6E128B9D2D305C4600733024 /* PBXTargetDependency */,
6E5917892B28E93A0084BBBF /* PBXTargetDependency */,
6E6B493E2A787D0A00AF98D8 /* PBXTargetDependency */,
6EAAE87728C2AD80003CAE53 /* PBXTargetDependency */,
6EAAE87928C2AD80003CAE53 /* PBXTargetDependency */,
6EAAE87B28C2AD80003CAE53 /* PBXTargetDependency */,
6EAAE87D28C2AD80003CAE53 /* PBXTargetDependency */,
6EAAE87F28C2AD80003CAE53 /* PBXTargetDependency */,
);
name = AirshipRelease;
productName = AirshipRelease;
};
6ECCAD252CF55BC700423D86 /* AirshipRelease tvOS */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 6ECCAD342CF55BC700423D86 /* Build configuration list for PBXAggregateTarget "AirshipRelease tvOS" */;
buildPhases = (
);
dependencies = (
6ECCAD282CF55BC700423D86 /* PBXTargetDependency */,
6ECCAD2A2CF55BC700423D86 /* PBXTargetDependency */,
6ECCAD2C2CF55BC700423D86 /* PBXTargetDependency */,
6ECCAD322CF55BC700423D86 /* PBXTargetDependency */,
);
name = "AirshipRelease tvOS";
productName = AirshipRelease;
};
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
27051CD72EE75E3300C770D5 /* AutomationEventsHistoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27051CD62EE75E3300C770D5 /* AutomationEventsHistoryTest.swift */; };
27077E4C2EE7531C0027A282 /* AutomationEventsHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27077E4B2EE7531C0027A282 /* AutomationEventsHistory.swift */; };
271B38652DB2866200495D9F /* TagActionMutation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 271B38642DB2866200495D9F /* TagActionMutation.swift */; };
27264FB32E81B064000B6FA3 /* AirshipSceneController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27264FB22E81B064000B6FA3 /* AirshipSceneController.swift */; };
2726505B2E81B80E000B6FA3 /* PagerControllerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2726505A2E81B80E000B6FA3 /* PagerControllerTest.swift */; };
2753F6422F6C5BB50073882C /* MessageCenterMessageError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2753F6412F6C5BB50073882C /* MessageCenterMessageError.swift */; };
275D32AC2EF957F200B75760 /* AirshipSimpleLayoutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 275D32AA2EF955AD00B75760 /* AirshipSimpleLayoutView.swift */; };
275D32AD2EF957F200B75761 /* AirshipSimpleLayoutViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 275D32AB2EF955AD00B75761 /* AirshipSimpleLayoutViewModel.swift */; };
2797B4192F47687800A7F848 /* NativeLayoutPersistentDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2797B4182F47687800A7F848 /* NativeLayoutPersistentDataStore.swift */; };
27AFE70F2E733F4400767044 /* ModifyTagsAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27AFE70E2E733F4400767044 /* ModifyTagsAction.swift */; };
27AFE7112E73477200767044 /* ModifyTagsActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27AFE7102E73477200767044 /* ModifyTagsActionTest.swift */; };
27CCF77D2F1656150018058F /* MessageViewAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27CCF77C2F1656150018058F /* MessageViewAnalytics.swift */; };
27CCF77F2F16DA500018058F /* MessageViewAnalyticsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27CCF77E2F16DA500018058F /* MessageViewAnalyticsTest.swift */; };
27CCF8D32F2382750018058F /* ThomasStateStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27CCF8D22F2382750018058F /* ThomasStateStorage.swift */; };
27E4194A2EF59F9800D5C1A6 /* MessageCenterThomasView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27E419492EF59F9800D5C1A6 /* MessageCenterThomasView.swift */; };
27F1E1332F0E7AA400E317DB /* ThomasLayoutEventContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAFB2B58AA4F002FEA75 /* ThomasLayoutEventContext.swift */; };
27F1E1342F0E7C9C00E317DB /* ThomasLayoutEventRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AABA2B58A946002FEA75 /* ThomasLayoutEventRecorder.swift */; };
27F1E1352F0E7D2C00E317DB /* ThomasLayoutEventMessageID.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAB62B58A945002FEA75 /* ThomasLayoutEventMessageID.swift */; };
27F1E1362F0E7D7B00E317DB /* ThomasLayoutEventSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAFA2B58AA4F002FEA75 /* ThomasLayoutEventSource.swift */; };
27F1E18C2F0E828D00E317DB /* ThomasLayoutEventMessageIDTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AADD2B58A9D2002FEA75 /* ThomasLayoutEventMessageIDTest.swift */; };
27F1E18D2F0E828D00E317DB /* ThomasLayoutEventRecorderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAD72B58A9D1002FEA75 /* ThomasLayoutEventRecorderTest.swift */; };
27F1E18E2F0E828D00E317DB /* ThomasLayoutEventContextTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AADF2B58A9D2002FEA75 /* ThomasLayoutEventContextTest.swift */; };
27F1E18F2F0E82C700E317DB /* ThomasLayoutResolutionEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AADB2B58A9D1002FEA75 /* ThomasLayoutResolutionEventTest.swift */; };
27F1E1902F0E82C700E317DB /* ThomasLayoutEventTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AADA2B58A9D1002FEA75 /* ThomasLayoutEventTestUtils.swift */; };
27F1E1912F0E82C700E317DB /* ThomasLayoutFormResultEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAE02B58A9D2002FEA75 /* ThomasLayoutFormResultEventTest.swift */; };
27F1E1922F0E82C700E317DB /* ThomasLayoutPageSwipeEventAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAE72B58A9D4002FEA75 /* ThomasLayoutPageSwipeEventAction.swift */; };
27F1E1932F0E82C700E317DB /* ThomasLayoutDisplayEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAD62B58A9D1002FEA75 /* ThomasLayoutDisplayEventTest.swift */; };
27F1E1942F0E82C700E317DB /* ThomasLayoutButtonTapEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AADE2B58A9D2002FEA75 /* ThomasLayoutButtonTapEventTest.swift */; };
27F1E1952F0E82C700E317DB /* ThomasLayoutPagerSummaryEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAE12B58A9D2002FEA75 /* ThomasLayoutPagerSummaryEventTest.swift */; };
27F1E1962F0E82C700E317DB /* ThomasLayoutPageActionEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AADC2B58A9D2002FEA75 /* ThomasLayoutPageActionEventTest.swift */; };
27F1E1972F0E82C700E317DB /* ThomasLayoutGestureEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAE42B58A9D3002FEA75 /* ThomasLayoutGestureEventTest.swift */; };
27F1E1992F0E82C700E317DB /* ThomasLayoutFormDisplayEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAE32B58A9D3002FEA75 /* ThomasLayoutFormDisplayEventTest.swift */; };
27F1E19A2F0E82C700E317DB /* ThomasLayoutPermissionResultEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAD92B58A9D1002FEA75 /* ThomasLayoutPermissionResultEventTest.swift */; };
27F1E19B2F0E82C700E317DB /* ThomasLayoutPageViewEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAE22B58A9D2002FEA75 /* ThomasLayoutPageViewEventTest.swift */; };
27F1E19C2F0E82C700E317DB /* ThomasLayoutPagerCompletedEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAD82B58A9D1002FEA75 /* ThomasLayoutPagerCompletedEventTest.swift */; };
27F1E19D2F0E836000E317DB /* InAppMessageAnalyticsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAE52B58A9D3002FEA75 /* InAppMessageAnalyticsTest.swift */; };
27F1E19E2F0E846B00E317DB /* TestThomasLayoutEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAD42B58A977002FEA75 /* TestThomasLayoutEvent.swift */; };
27F1E19F2F0E848B00E317DB /* TestThomasLayoutEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAD42B58A977002FEA75 /* TestThomasLayoutEvent.swift */; };
27F1E1A02F0E84C300E317DB /* ThomasLayoutEventTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AADA2B58A9D1002FEA75 /* ThomasLayoutEventTestUtils.swift */; };
27F1E2012F0E910B00E317DB /* ThomasLayoutButtonTapEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1F32F0E910B00E317DB /* ThomasLayoutButtonTapEvent.swift */; };
27F1E2022F0E910B00E317DB /* ThomasLayoutDisplayEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1F42F0E910B00E317DB /* ThomasLayoutDisplayEvent.swift */; };
27F1E2032F0E910B00E317DB /* ThomasLayoutEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1F52F0E910B00E317DB /* ThomasLayoutEvent.swift */; };
27F1E2042F0E910B00E317DB /* ThomasLayoutFormDisplayEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1F62F0E910B00E317DB /* ThomasLayoutFormDisplayEvent.swift */; };
27F1E2052F0E910B00E317DB /* ThomasLayoutFormResultEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1F72F0E910B00E317DB /* ThomasLayoutFormResultEvent.swift */; };
27F1E2062F0E910B00E317DB /* ThomasLayoutGestureEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1F82F0E910B00E317DB /* ThomasLayoutGestureEvent.swift */; };
27F1E2072F0E910B00E317DB /* ThomasLayoutPageActionEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1F92F0E910B00E317DB /* ThomasLayoutPageActionEvent.swift */; };
27F1E2082F0E910B00E317DB /* ThomasLayoutPagerCompletedEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1FA2F0E910B00E317DB /* ThomasLayoutPagerCompletedEvent.swift */; };
27F1E2092F0E910B00E317DB /* ThomasLayoutPagerSummaryEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1FB2F0E910B00E317DB /* ThomasLayoutPagerSummaryEvent.swift */; };
27F1E20A2F0E910B00E317DB /* ThomasLayoutPageSwipeEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1FC2F0E910B00E317DB /* ThomasLayoutPageSwipeEvent.swift */; };
27F1E20B2F0E910B00E317DB /* ThomasLayoutPageViewEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1FD2F0E910B00E317DB /* ThomasLayoutPageViewEvent.swift */; };
27F1E20C2F0E910B00E317DB /* ThomasLayoutPermissionResultEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1FE2F0E910B00E317DB /* ThomasLayoutPermissionResultEvent.swift */; };
27F1E20D2F0E910B00E317DB /* ThomasLayoutResolutionEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F1E1FF2F0E910B00E317DB /* ThomasLayoutResolutionEvent.swift */; };
27F1E2112F0FF5FE00E317DB /* ThomasDisplayListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AB172B59E80E002FEA75 /* ThomasDisplayListener.swift */; };
27F1E2122F0FF6EB00E317DB /* ThomasDisplayListenerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BBC2B5B290200A6489B /* ThomasDisplayListenerTest.swift */; };
320AD3A629E7FA2000D66106 /* PagerGestureMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 320AD3A529E7FA2000D66106 /* PagerGestureMap.swift */; };
3215CA9D2739349800B7D97E /* ModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3215CA9C2739349700B7D97E /* ModalView.swift */; };
322AAB1E2B5AB65700652DAC /* AddChannelPromptView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32DDC0562AF1055300D23EBE /* AddChannelPromptView.swift */; };
322AAB212B5ACB2800652DAC /* ChannelListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 322AAB202B5ACB2800652DAC /* ChannelListView.swift */; };
322AAB222B5FCB6B00652DAC /* ContactManagementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 322AAB1C2B5A869000652DAC /* ContactManagementView.swift */; };
3231126A29D5E4F600CF0D86 /* AirshipAutomationResources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3231126929D5E4F600CF0D86 /* AirshipAutomationResources.swift */; };
3231128229D5E67200CF0D86 /* FrequencyLimitStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3231127B29D5E67200CF0D86 /* FrequencyLimitStore.swift */; };
3231128329D5E67200CF0D86 /* FrequencyLimitManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3231127C29D5E67200CF0D86 /* FrequencyLimitManager.swift */; };
3231128429D5E67200CF0D86 /* Occurrence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3231127D29D5E67200CF0D86 /* Occurrence.swift */; };
3231128729D5E67200CF0D86 /* FrequencyConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3231128029D5E67200CF0D86 /* FrequencyConstraint.swift */; };
3231128829D5E67200CF0D86 /* FrequencyChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3231128129D5E67200CF0D86 /* FrequencyChecker.swift */; };
3231128C29D5E69400CF0D86 /* UAFrequencyLimits.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 3231128A29D5E69400CF0D86 /* UAFrequencyLimits.xcdatamodeld */; };
3231129129D5E6D900CF0D86 /* FrequencyLimitManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3231128F29D5E6C600CF0D86 /* FrequencyLimitManagerTest.swift */; };
3237D5F22B865D990055932B /* JSONValueTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3237D5F12B865D990055932B /* JSONValueTransformer.swift */; };
3243EC632D93109C00B43B25 /* AirshipSwitchToggleStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3243EC622D93109C00B43B25 /* AirshipSwitchToggleStyle.swift */; };
3243EC642D93109C00B43B25 /* AirshipCheckboxToggleStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3243EC612D93109C00B43B25 /* AirshipCheckboxToggleStyle.swift */; };
324D3BFF273E6B4500058EE4 /* BannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 324D3BFE273E6B4500058EE4 /* BannerView.swift */; };
32515869272AFB2E00DF8B44 /* Media.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32515866272AFB2E00DF8B44 /* Media.swift */; };
3251586B272AFB2E00DF8B44 /* VideoMediaWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32515868272AFB2E00DF8B44 /* VideoMediaWebView.swift */; };
325D53DA295C7979003421B4 /* ActionRegistryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 325D53D9295C7979003421B4 /* ActionRegistryTest.swift */; };
325D53F629646E53003421B4 /* TestChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E48426A60CDF0038CFDD /* TestChannel.swift */; };
325D53F729648150003421B4 /* TestDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1422683B8FA00A2CBD0 /* TestDate.swift */; };
325D53FA29648818003421B4 /* TestAirshipRequestSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A467F28EF4FAF00A25617 /* TestAirshipRequestSession.swift */; };
325D53FB2964885B003421B4 /* AirshipBaseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3299EF212949EC3E00251E70 /* AirshipBaseTest.swift */; };
3261A7F6243CD7F900ADBF6B /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3261A7F4243CD73100ADBF6B /* CoreTelephony.framework */; platformFilter = maccatalyst; };
3299EF172948CBC100251E70 /* RemoteDataAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3299EF162948CBC100251E70 /* RemoteDataAPIClientTest.swift */; };
3299EF222949EC3E00251E70 /* AirshipBaseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3299EF212949EC3E00251E70 /* AirshipBaseTest.swift */; };
3299EF26294B222F00251E70 /* RemoteDataStoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3299EF25294B222F00251E70 /* RemoteDataStoreTest.swift */; };
329DFCCF2B7E4DDA0039C8C0 /* UARemoteDataMapping.swift in Sources */ = {isa = PBXBuildFile; fileRef = 329DFCCE2B7E4DDA0039C8C0 /* UARemoteDataMapping.swift */; };
329DFCD52B7E59700039C8C0 /* UAInboxDataMapping.swift in Sources */ = {isa = PBXBuildFile; fileRef = 329DFCD42B7E59700039C8C0 /* UAInboxDataMapping.swift */; };
329DFCFF2B7FB8810039C8C0 /* UARemoteDataMappingV3toV4.xcmappingmodel in Resources */ = {isa = PBXBuildFile; fileRef = 329DFCCA2B7E4DA10039C8C0 /* UARemoteDataMappingV3toV4.xcmappingmodel */; };
32B513562B9F53A500BBE780 /* MessageCenterPredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B513552B9F53A500BBE780 /* MessageCenterPredicate.swift */; };
32B5BE3B28F8A7EB00F2254B /* MessageCenterController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5BE3A28F8A7EB00F2254B /* MessageCenterController.swift */; };
32B5BE3E28F8A8C000F2254B /* MessageCenterListItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5BE2728F8A7D600F2254B /* MessageCenterListItemView.swift */; };
32B5BE3F28F8A8C200F2254B /* MessageCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5BE2828F8A7D600F2254B /* MessageCenterView.swift */; };
32B5BE4028F8A8C500F2254B /* MessageCenterMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5BE2928F8A7D600F2254B /* MessageCenterMessageView.swift */; };
32B5BE4128F8A8C700F2254B /* MessageCenterListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5BE2A28F8A7D600F2254B /* MessageCenterListView.swift */; };
32B5BE4228F8A8CA00F2254B /* MessageCenterListItemViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5BE2B28F8A7D600F2254B /* MessageCenterListItemViewModel.swift */; };
32B5BE4928F8B66500F2254B /* MessageCenterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5BE4828F8B66500F2254B /* MessageCenterViewController.swift */; };
32B632882906CA17000D3E34 /* MessageCenterThemeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B632862906CA17000D3E34 /* MessageCenterThemeLoader.swift */; };
32B632892906CA17000D3E34 /* MessageCenterTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B632872906CA17000D3E34 /* MessageCenterTheme.swift */; };
32BBFB402B274C8600C6A998 /* ContactChannelsAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BBFB3F2B274C8600C6A998 /* ContactChannelsAPIClient.swift */; };
32C68D0529424449006BBB29 /* RemoteDataTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C68D0429424449006BBB29 /* RemoteDataTest.swift */; };
32CF81E2275627F4003009D1 /* AirshipAsyncImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32CF81E1275627F4003009D1 /* AirshipAsyncImage.swift */; };
32D6E87B2727F7060077C784 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32D6E87A2727F7060077C784 /* Image.swift */; };
32E339E32A334A2000CD3BE5 /* AddCustomEventActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32E339E22A334A2000CD3BE5 /* AddCustomEventActionTest.swift */; };
32F293D5295AFD94004A7D9C /* ActionArgumentsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F293D4295AFD94004A7D9C /* ActionArgumentsTest.swift */; };
32F615A728F708980015696D /* MessageCenterListTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F615A628F708980015696D /* MessageCenterListTests.swift */; };
32F615A828F708AD0015696D /* TestChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E48426A60CDF0038CFDD /* TestChannel.swift */; };
32F68CDC28F02A7100F7F52A /* MessageCenterStoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F68CDA28F02A6B00F7F52A /* MessageCenterStoreTest.swift */; };
32F68CEE28F07C2C00F7F52A /* AirshipMessageCenterResources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F68CE828F07C2B00F7F52A /* AirshipMessageCenterResources.swift */; };
32F68CEF28F07C2C00F7F52A /* MessageCenterSDKModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F68CE928F07C2C00F7F52A /* MessageCenterSDKModule.swift */; };
32F68CF328F07C2C00F7F52A /* MessageCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F68CED28F07C2C00F7F52A /* MessageCenter.swift */; };
32F68CF528F07C4900F7F52A /* MessageCenterList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F68CF428F07C4800F7F52A /* MessageCenterList.swift */; };
32F97AC129E5986B00FED65F /* StoryIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F97AC029E5986B00FED65F /* StoryIndicator.swift */; };
32FD4C782D8079910056D141 /* BasicToggleLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32FD4C772D8079910056D141 /* BasicToggleLayout.swift */; };
3C39D3092384C8BE003C50D4 /* AirshipMessageCenter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CA0E423237E4A7B00EE76CF /* AirshipMessageCenter.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
3C63556026CDD4F8006E9916 /* AirshipPush.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C63555F26CDD4F8006E9916 /* AirshipPush.swift */; };
3C693E4E25141CAC00EBFB88 /* AirshipDebugEventData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 3CA0E222237CCBA600EE76CF /* AirshipDebugEventData.xcdatamodeld */; };
3C693E4F25141CAC00EBFB88 /* AirshipDebugPushData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 83A674F623AA7AA4005C0C8F /* AirshipDebugPushData.xcdatamodeld */; };
3CA0E2A0237CCE2600EE76CF /* AirshipCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 494DD9571B0EB677009C134E /* AirshipCore.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
3CA0E2BF237CD05F00EE76CF /* AirshipEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CA0E241237CCBA600EE76CF /* AirshipEvent.swift */; };
3CA0E2CA237CD05F00EE76CF /* EventDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CA0E24D237CCBA600EE76CF /* EventDataManager.swift */; };
3CA0E2CD237CD05F00EE76CF /* AirshipDebugManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CA0E233237CCBA600EE76CF /* AirshipDebugManager.swift */; };
3CA0E479237E4E3000EE76CF /* UAInbox.xcdatamodeld in Resources */ = {isa = PBXBuildFile; fileRef = 3CA0E304237E396100EE76CF /* UAInbox.xcdatamodeld */; };
3CA84AAE26DE255200A59685 /* EventStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CA84AA626DE255200A59685 /* EventStore.swift */; };
3CA84AB826DE257200A59685 /* DefaultAirshipAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CA84AB626DE257200A59685 /* DefaultAirshipAnalytics.swift */; };
3CA84ABA26DE257200A59685 /* AirshipAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CA84AB726DE257200A59685 /* AirshipAnalytics.swift */; };
3CB37A1E251151A400E60392 /* AirshipDebugResources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CB37A1D251151A400E60392 /* AirshipDebugResources.swift */; };
3CC8AA0626BB3C7900405614 /* DefaultAirshipPush.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CC8AA0526BB3C7900405614 /* DefaultAirshipPush.swift */; };
3CC95B1F268E785900FE2ACD /* NotificationCategories.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CC95B1E268E785900FE2ACD /* NotificationCategories.swift */; };
3CC95B2B2696549B00FE2ACD /* AirshipPushableComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CC95B2A2696549B00FE2ACD /* AirshipPushableComponent.swift */; };
45A8ADF023134B38004AD8CA /* testMCColorsCatalog.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 45A8ADD123133E51004AD8CA /* testMCColorsCatalog.xcassets */; };
6014AD672C1B5F540072DCF0 /* ChallengeResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6014AD662C1B5F540072DCF0 /* ChallengeResolver.swift */; };
6014AD6C2C2032730072DCF0 /* ChallengeResolverTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6014AD6A2C2032360072DCF0 /* ChallengeResolverTest.swift */; };
6014AD752C20410B0072DCF0 /* airship.der in Resources */ = {isa = PBXBuildFile; fileRef = 6014AD742C20410A0072DCF0 /* airship.der */; };
6018AF572B29C20A008E528B /* SearchEventTemplateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6018AF562B29C20A008E528B /* SearchEventTemplateTest.swift */; };
602AD0D52D7242B300C7D566 /* ThomasSmsLocale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602AD0D42D7242B300C7D566 /* ThomasSmsLocale.swift */; };
603269532BF4B141007F7F75 /* AdditionalAudienceCheckerApiClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 603269522BF4B141007F7F75 /* AdditionalAudienceCheckerApiClient.swift */; };
603269552BF4B8D5007F7F75 /* AdditionalAudienceCheckerResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 603269542BF4B8D5007F7F75 /* AdditionalAudienceCheckerResolver.swift */; };
603269582BF7550E007F7F75 /* AdditionalAudienceCheckerResolverTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 603269572BF7550E007F7F75 /* AdditionalAudienceCheckerResolverTest.swift */; };
603269592BF75976007F7F75 /* AirshipCacheTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7EACD02AF4192400DA286B /* AirshipCacheTest.swift */; };
6032695B2BF75D69007F7F75 /* AirshipHTTPResponseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6032695A2BF75D69007F7F75 /* AirshipHTTPResponseTest.swift */; };
6032695C2BF75E39007F7F75 /* AirshipHTTPResponseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6032695A2BF75D69007F7F75 /* AirshipHTTPResponseTest.swift */; };
605073832B2CD38200209B51 /* ActiveTimerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 605073822B2CD38200209B51 /* ActiveTimerTest.swift */; };
605073842B2CD46D00209B51 /* TestAppStateTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E61267C03C700654DB2 /* TestAppStateTracker.swift */; };
6050738A2B32F85100209B51 /* ThomasViewModelTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 605073892B32F85100209B51 /* ThomasViewModelTest.swift */; };
605073902B347B6400209B51 /* ThomasPresentationModelCodingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6050738F2B347B6400209B51 /* ThomasPresentationModelCodingTest.swift */; };
6058771D2AC73C940021628E /* AirshipMeteredUsageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6058771C2AC73C7E0021628E /* AirshipMeteredUsageTest.swift */; };
605877202ACAC8700021628E /* MeteredUsageApiClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6058771E2ACAC86A0021628E /* MeteredUsageApiClientTest.swift */; };
60653FC22CBD2CD4009CD9A7 /* PushData+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60653FC02CBD2CD4009CD9A7 /* PushData+CoreDataClass.swift */; };
60653FC32CBD2CD4009CD9A7 /* PushData+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60653FC12CBD2CD4009CD9A7 /* PushData+CoreDataProperties.swift */; };
6068E0062B2A190300349E82 /* CustomEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6068E0052B2A190300349E82 /* CustomEventTest.swift */; };
6068E0082B2A2A6700349E82 /* AccountEventTemplateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6068E0072B2A2A6700349E82 /* AccountEventTemplateTest.swift */; };
6068E0322B2B785A00349E82 /* MediaEventTemplateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6068E0312B2B785A00349E82 /* MediaEventTemplateTest.swift */; };
6068E0342B2B7CA100349E82 /* RetailEventTemplateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6068E0332B2B7CA100349E82 /* RetailEventTemplateTest.swift */; };
6068E03B2B2CBCF200349E82 /* ActiveTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6068E03A2B2CBCF200349E82 /* ActiveTimer.swift */; };
607951222A1CD1A50086578F /* ExperimentManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6079511F2A1CD19F0086578F /* ExperimentManagerTest.swift */; };
6087DB882B278F7600449BA8 /* JsonValueMatcherTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6087DB872B278F7600449BA8 /* JsonValueMatcherTest.swift */; };
608B16E62C2C1138005298FA /* SubscriptionListProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 608B16E52C2C1137005298FA /* SubscriptionListProvider.swift */; };
608B16E82C2C6DDB005298FA /* ChannelSubscriptionListProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 608B16E72C2C6DDB005298FA /* ChannelSubscriptionListProvider.swift */; };
608B16F12C2D5F0D005298FA /* BaseCachingRemoteDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 608B16F02C2D5F0D005298FA /* BaseCachingRemoteDataProvider.swift */; };
60956D862CBE7CFA00950172 /* AirshipLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8E1C9A26447B3800B11791 /* AirshipLock.swift */; };
609843562D6F518900690371 /* SmsLocalePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 609843552D6F518900690371 /* SmsLocalePicker.swift */; };
60A292112CB7C5C30096F5EB /* TestDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1422683B8FA00A2CBD0 /* TestDate.swift */; };
60A364ED2C3479BF00B05E26 /* ExecutionWindowTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60A364EC2C3479BF00B05E26 /* ExecutionWindowTest.swift */; };
60A5CC082B28DC500017EDB2 /* NotificationCategoriesTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60A5CC072B28DC500017EDB2 /* NotificationCategoriesTest.swift */; };
60A5CC0C2B29AE890017EDB2 /* ProximityRegionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60A5CC0B2B29AE890017EDB2 /* ProximityRegionTest.swift */; };
60A5CC0E2B29B1B80017EDB2 /* CircularRegionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60A5CC0D2B29B1B80017EDB2 /* CircularRegionTest.swift */; };
60A5CC102B29B4100017EDB2 /* RegionEventTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60A5CC0F2B29B4100017EDB2 /* RegionEventTest.swift */; };
60C1DB0F2A8B743C00A1D3DA /* AirshipEmbeddedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60C1DB0B2A8B743B00A1D3DA /* AirshipEmbeddedView.swift */; };
60C1DB102A8B743C00A1D3DA /* AirshipEmbeddedViewManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60C1DB0C2A8B743B00A1D3DA /* AirshipEmbeddedViewManager.swift */; };
60C1DB112A8B743C00A1D3DA /* AirshipEmbeddedObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60C1DB0D2A8B743B00A1D3DA /* AirshipEmbeddedObserver.swift */; };
60C1DB122A8B743C00A1D3DA /* EmbeddedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60C1DB0E2A8B743C00A1D3DA /* EmbeddedView.swift */; };
60CE9BDE2D0B6A0900A8B625 /* ThomasPagerControllerBranching.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60CE9BDD2D0B6A0900A8B625 /* ThomasPagerControllerBranching.swift */; };
60D1D9B82B68FB6400EBE0A4 /* PreparedTrigger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D1D9B72B68FB6400EBE0A4 /* PreparedTrigger.swift */; };
60D1D9BB2B6A53F000EBE0A4 /* PreparedTriggerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D1D9BA2B6A53F000EBE0A4 /* PreparedTriggerTest.swift */; };
60D1D9BD2B6AB2D100EBE0A4 /* AutomationTriggerProcessorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D1D9BC2B6AB2D100EBE0A4 /* AutomationTriggerProcessorTest.swift */; };
60D2B3352D9F0FCF00B0752D /* PagerDisableSwipeSelectorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D2B3342D9F0FCF00B0752D /* PagerDisableSwipeSelectorTest.swift */; };
60D3BCC42A1529D800E07524 /* ExperimentDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D3BCC32A1529D800E07524 /* ExperimentDataProvider.swift */; };
60D3BCC62A152A0D00E07524 /* ExperimentManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D3BCC52A152A0D00E07524 /* ExperimentManager.swift */; };
60D3BCCC2A153C0700E07524 /* Experiment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D3BCCB2A153C0700E07524 /* Experiment.swift */; };
60D3BCCE2A15471C00E07524 /* AudienceHashSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D3BCCD2A15471C00E07524 /* AudienceHashSelector.swift */; };
60D3BCD02A154D9400E07524 /* MessageCriteria.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60D3BCCF2A154D9400E07524 /* MessageCriteria.swift */; };
60E09FDB2B2780DB005A16EA /* JsonMatcherTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60E09FDA2B2780DB005A16EA /* JsonMatcherTest.swift */; };
60EACF542B7BF2EA00CAFDBB /* AirshipApptimizeIntegration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60EACF532B7BF2EA00CAFDBB /* AirshipApptimizeIntegration.swift */; };
60F8E75C2B8F3D4B00460EDF /* CancelSchedulesAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F8E75B2B8F3D4B00460EDF /* CancelSchedulesAction.swift */; };
60F8E75E2B8FA12800460EDF /* CancelSchedulesActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F8E75D2B8FA12800460EDF /* CancelSchedulesActionTest.swift */; };
60F8E7602B8FAF5400460EDF /* ScheduleAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F8E75F2B8FAF5400460EDF /* ScheduleAction.swift */; };
60F8E7622B8FB2CC00460EDF /* ScheduleActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F8E7612B8FB2CC00460EDF /* ScheduleActionTest.swift */; };
60FCA3052B4F1110005C9232 /* LegacyInAppMessaging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FCA3042B4F1110005C9232 /* LegacyInAppMessaging.swift */; };
60FCA3072B4F1C73005C9232 /* LegacyInAppMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FCA3062B4F1C73005C9232 /* LegacyInAppMessage.swift */; };
60FCA30A2B51364A005C9232 /* LegacyInAppMessageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FCA3092B51364A005C9232 /* LegacyInAppMessageTest.swift */; };
60FCA30C2B51492A005C9232 /* LegacyInAppMessagingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FCA30B2B51492A005C9232 /* LegacyInAppMessagingTest.swift */; };
60FCA30D2B5534DB005C9232 /* TestAirshipInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BE1526E29BC90005D20D /* TestAirshipInstance.swift */; };
60FCA30E2B5535F4005C9232 /* TestAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BE1726E2C5940005D20D /* TestAnalytics.swift */; };
60FCA3252B5EF3A8005C9232 /* AutomationEventFeedTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FCA3242B5EF3A8005C9232 /* AutomationEventFeedTest.swift */; };
6329102E2DD8103200B13C6C /* NativeVideoPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6329102D2DD8103200B13C6C /* NativeVideoPlayer.swift */; };
632913FA2DE547A500B13C6C /* VideoMediaNativeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 632913F92DE547A500B13C6C /* VideoMediaNativeView.swift */; };
6E0031AB2D08CC920004F53E /* AirshipAuthorizedNotificationSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0031AA2D08CC8A0004F53E /* AirshipAuthorizedNotificationSettings.swift */; };
6E0104FF2DDF9B26009D651F /* IconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0104FE2DDF9B26009D651F /* IconView.swift */; };
6E0105012DDFA5E9009D651F /* ScoreController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0105002DDFA5E6009D651F /* ScoreController.swift */; };
6E0105032DDFA719009D651F /* ScoreToggleLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0105022DDFA719009D651F /* ScoreToggleLayout.swift */; };
6E0105052DDFA735009D651F /* ScoreState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0105042DDFA735009D651F /* ScoreState.swift */; };
6E032A502B210E6000404630 /* RemoteConfigTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E032A4F2B210E6000404630 /* RemoteConfigTest.swift */; };
6E062D03271656DE001A74A1 /* Container.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E062D02271656DE001A74A1 /* Container.swift */; };
6E062D05271656F8001A74A1 /* LinearLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E062D04271656F8001A74A1 /* LinearLayout.swift */; };
6E062D0727165709001A74A1 /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E062D0627165709001A74A1 /* Label.swift */; };
6E062D092716571F001A74A1 /* LabelButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E062D082716571F001A74A1 /* LabelButton.swift */; };
6E062D0D2718B505001A74A1 /* ViewConstraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E062D0C2718B505001A74A1 /* ViewConstraints.swift */; };
6E07688829F9D28A0014E2A9 /* AirshipNotificationCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E07688729F9D28A0014E2A9 /* AirshipNotificationCenter.swift */; };
6E07688C29F9F0830014E2A9 /* AirshipLocaleManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E07688B29F9F0830014E2A9 /* AirshipLocaleManagerTest.swift */; };
6E07689229FB39440014E2A9 /* AirshipUnsafeSendableWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E07689129FB39440014E2A9 /* AirshipUnsafeSendableWrapper.swift */; };
6E07B5F82D925ED60087EC47 /* TestPrivacyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E07B5F72D925ED30087EC47 /* TestPrivacyManager.swift */; };
6E07B5F92D925F2A0087EC47 /* TestPrivacyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E07B5F72D925ED30087EC47 /* TestPrivacyManager.swift */; };
6E07B5FA2D925F2A0087EC47 /* TestPrivacyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E07B5F72D925ED30087EC47 /* TestPrivacyManager.swift */; };
6E07B5FB2D925F2A0087EC47 /* TestPrivacyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E07B5F72D925ED30087EC47 /* TestPrivacyManager.swift */; };
6E07B5FC2D925F2A0087EC47 /* TestPrivacyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E07B5F72D925ED30087EC47 /* TestPrivacyManager.swift */; };
6E0B8732294A9C130064B7BD /* AirshipAutomation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E0B872A294A9C120064B7BD /* AirshipAutomation.framework */; };
6E0B8744294A9C950064B7BD /* AirshipCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 494DD9571B0EB677009C134E /* AirshipCore.framework */; platformFilters = (ios, maccatalyst, macos, tvos, xros, ); };
6E0B8760294CE0BF0064B7BD /* FarmHashFingerprint64Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0B875F294CE0BF0064B7BD /* FarmHashFingerprint64Test.swift */; };
6E0B8762294CE0DC0064B7BD /* FarmHashFingerprint64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0B8761294CE0DC0064B7BD /* FarmHashFingerprint64.swift */; };
6E0F4BE22B32190400673CA4 /* AutomationSchedule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0F4BE12B32190400673CA4 /* AutomationSchedule.swift */; };
6E0F4BE52B32645600673CA4 /* AutomationTrigger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0F4BE42B32645600673CA4 /* AutomationTrigger.swift */; };
6E0F4BE72B32646000673CA4 /* AutomationDelay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0F4BE62B32646000673CA4 /* AutomationDelay.swift */; };
6E0F4BE92B3264A400673CA4 /* DeferredAutomationData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0F4BE82B3264A400673CA4 /* DeferredAutomationData.swift */; };
6E0F557F2AE03BB900E7CB8C /* ThomasAsyncImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E0F557E2AE03BB900E7CB8C /* ThomasAsyncImage.swift */; };
6E10A1482C2B825200ED9556 /* DefaultTaskSleeperTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E10A1472C2B825200ED9556 /* DefaultTaskSleeperTest.swift */; };
6E1185C62C3328A10071334E /* ExecutionWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1185C52C3328A10071334E /* ExecutionWindow.swift */; };
6E12539129A81ACE0009EE58 /* AirshipCoreDataPredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E12539029A81ACE0009EE58 /* AirshipCoreDataPredicate.swift */; };
6E146C502F5214D900320A36 /* AirshipDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E146C4F2F5214D900320A36 /* AirshipDevice.swift */; };
6E146D682F523DB900320A36 /* AirshipFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E146D672F523DB700320A36 /* AirshipFont.swift */; };
6E146D6A2F5241BC00320A36 /* AirshipColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E146D692F5241BA00320A36 /* AirshipColor.swift */; };
6E146EDD2F52537000320A36 /* AishipFontTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E146EDC2F52536C00320A36 /* AishipFontTests.swift */; };
6E146FF32F525E7300320A36 /* AirshipPasteboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E146FF22F525E7300320A36 /* AirshipPasteboard.swift */; };
6E1472D52F526DCD00320A36 /* AirshipNativePlatform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1472D42F526DC600320A36 /* AirshipNativePlatform.swift */; };
6E1473EA2F527C4D00320A36 /* TestURLOpener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECB62812A36A45F0095C85C /* TestURLOpener.swift */; };
6E1476CC2F5643A100320A36 /* MessageCenterNavigationAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1476CB2F56439A00320A36 /* MessageCenterNavigationAppearance.swift */; };
6E14C9A128B5E4AF00A55E65 /* PushNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E14C9A028B5E4AF00A55E65 /* PushNotification.swift */; };
6E1528172B4DC3C000DF1377 /* ActionAutomationExecutor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528162B4DC3C000DF1377 /* ActionAutomationExecutor.swift */; };
6E1528192B4DC3D000DF1377 /* InAppMessageAutomationPreparer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528182B4DC3D000DF1377 /* InAppMessageAutomationPreparer.swift */; };
6E15281B2B4DC3DF00DF1377 /* InAppMessageAutomationExecutor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15281A2B4DC3DF00DF1377 /* InAppMessageAutomationExecutor.swift */; };
6E15281D2B4DC43100DF1377 /* ActionAutomationPreparer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15281C2B4DC43100DF1377 /* ActionAutomationPreparer.swift */; };
6E1528202B4DC59C00DF1377 /* InAppMessageSceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15281F2B4DC59C00DF1377 /* InAppMessageSceneDelegate.swift */; };
6E1528222B4DC5C000DF1377 /* InAppMessageDisplayDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528212B4DC5C000DF1377 /* InAppMessageDisplayDelegate.swift */; };
6E1528242B4DC60200DF1377 /* DisplayCoordinatorManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528232B4DC60200DF1377 /* DisplayCoordinatorManager.swift */; };
6E1528262B4DC64B00DF1377 /* DisplayAdapterFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528252B4DC64B00DF1377 /* DisplayAdapterFactory.swift */; };
6E1528282B4DCFCB00DF1377 /* AirshipActorValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528272B4DCFCB00DF1377 /* AirshipActorValue.swift */; };
6E15282C2B4DE81E00DF1377 /* AutomationSDKModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15282B2B4DE81E00DF1377 /* AutomationSDKModule.swift */; };
6E15282F2B4DED7A00DF1377 /* InAppMessageAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15282E2B4DED7A00DF1377 /* InAppMessageAnalytics.swift */; };
6E1528312B4DED8900DF1377 /* InAppMessageAnalyticsFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528302B4DED8900DF1377 /* InAppMessageAnalyticsFactory.swift */; };
6E1528332B4DF2E600DF1377 /* ScheduleConditionsChangedNotifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528322B4DF2E600DF1377 /* ScheduleConditionsChangedNotifier.swift */; };
6E1528352B4E11DB00DF1377 /* CustomDisplayAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528342B4E11DB00DF1377 /* CustomDisplayAdapter.swift */; };
6E1528372B4E11E800DF1377 /* CustomDisplayAdapterWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528362B4E11E800DF1377 /* CustomDisplayAdapterWrapper.swift */; };
6E1528392B4E13D400DF1377 /* AirshipLayoutDisplayAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528382B4E13D400DF1377 /* AirshipLayoutDisplayAdapter.swift */; };
6E1528402B4F153900DF1377 /* TestDisplayAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15283F2B4F153900DF1377 /* TestDisplayAdapter.swift */; };
6E1528422B4F156200DF1377 /* TestDisplayCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1528412B4F156200DF1377 /* TestDisplayCoordinator.swift */; };
6E152BCA2743235800788402 /* Icons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E152BC92743235800788402 /* Icons.swift */; };
6E1589502AFEF19F00954A04 /* SessionTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15894F2AFEF19F00954A04 /* SessionTracker.swift */; };
6E1589542AFF021D00954A04 /* SessionState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1589532AFF021D00954A04 /* SessionState.swift */; };
6E1589582AFF023400954A04 /* SessionEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1589572AFF023400954A04 /* SessionEvent.swift */; };
6E15B6DB26CC749F0099C92D /* RemoteConfigManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B6D826CC749F0099C92D /* RemoteConfigManager.swift */; };
6E15B6F426CD85C40099C92D /* RuntimeConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B6F326CD85C40099C92D /* RuntimeConfig.swift */; };
6E15B6FA26CDCA6A0099C92D /* RuntimeConfigTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B6F926CDCA6A0099C92D /* RuntimeConfigTest.swift */; };
6E15B70326CDE40E0099C92D /* RemoteConfigManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B70226CDE40E0099C92D /* RemoteConfigManagerTest.swift */; };
6E15B70526CE07180099C92D /* TestRemoteData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B70426CE07180099C92D /* TestRemoteData.swift */; };
6E15B71426CEB4190099C92D /* RemoteDataStorePayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B70A26CEB4190099C92D /* RemoteDataStorePayload.swift */; };
6E15B71826CEB4190099C92D /* RemoteDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B70C26CEB4190099C92D /* RemoteDataStore.swift */; };
6E15B72326CEC7030099C92D /* RemoteDataPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B72026CEC7030099C92D /* RemoteDataPayload.swift */; };
6E15B72A26CEDBA50099C92D /* RemoteData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B72926CEDBA50099C92D /* RemoteData.swift */; };
6E15B72D26CF13BC0099C92D /* RemoteDataProviderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B72C26CF13BC0099C92D /* RemoteDataProviderDelegate.swift */; };
6E15B73026CF4F6B0099C92D /* TestRemoteDataAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B72F26CF4F6B0099C92D /* TestRemoteDataAPIClient.swift */; };
6E16208A2B311219009240B2 /* DisplayCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1620892B311219009240B2 /* DisplayCoordinator.swift */; };
6E16208D2B3116AE009240B2 /* ImmediateDisplayCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E16208C2B3116AE009240B2 /* ImmediateDisplayCoordinator.swift */; };
6E16208F2B3116BA009240B2 /* DefaultDisplayCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E16208E2B3116BA009240B2 /* DefaultDisplayCoordinator.swift */; };
6E1620932B3118D9009240B2 /* ImmediateDisplayCoordinatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1620912B3118D5009240B2 /* ImmediateDisplayCoordinatorTest.swift */; };
6E1620952B311D8A009240B2 /* DefaultDisplayCoordinatorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1620942B311D8A009240B2 /* DefaultDisplayCoordinatorTest.swift */; };
6E1767F629B923D100D65F60 /* ChannelAuthTokenProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1767F329B923D100D65F60 /* ChannelAuthTokenProviderTest.swift */; };
6E1767F729B923D100D65F60 /* ChannelAuthTokenAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1767F429B923D100D65F60 /* ChannelAuthTokenAPIClientTest.swift */; };
6E1767F829B923D100D65F60 /* TestChannelAuthTokenAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1767F529B923D100D65F60 /* TestChannelAuthTokenAPIClient.swift */; };
6E1767FA29B92F1700D65F60 /* AirshipUtilsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1767F929B92F1700D65F60 /* AirshipUtilsTest.swift */; };
6E1802F92C5C2DEC00198D0D /* AirshipAnalyticFeedTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1802F82C5C2DEC00198D0D /* AirshipAnalyticFeedTest.swift */; };
6E1892B1268CE8FE00417887 /* AirshipLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8E1C9A26447B3800B11791 /* AirshipLock.swift */; };
6E1892C8268D15C300417887 /* PreferenceCenterTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1892C7268D15C300417887 /* PreferenceCenterTest.swift */; };
6E1892D5268E3D8500417887 /* PreferenceCenterDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1892D4268E3D8500417887 /* PreferenceCenterDecoder.swift */; };
6E1892D7268E3F1800417887 /* PreferenceCenterConfigTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1892D6268E3F1800417887 /* PreferenceCenterConfigTest.swift */; };
6E1892DE2694F1C100417887 /* ChannelRegistrar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1892DD2694F1C100417887 /* ChannelRegistrar.swift */; };
6E1A15062D6EA3A50056418B /* ThomasFormState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A15052D6EA3A50056418B /* ThomasFormState.swift */; };
6E1A19222D6F875A0056418B /* ThomasFormValidationMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A19212D6F87550056418B /* ThomasFormValidationMode.swift */; };
6E1A19242D6F8BDD0056418B /* AirshipInputValidationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A19232D6F8BD50056418B /* AirshipInputValidationTest.swift */; };
6E1A1BB32D6F9D0F0056418B /* ThomasFormFieldProcessorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A1BB22D6F9D090056418B /* ThomasFormFieldProcessorTest.swift */; };
6E1A1D852D70F3700056418B /* ThomasState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A1D842D70F36D0056418B /* ThomasState.swift */; };
6E1A9BAB2B5AE38A00A6489B /* InAppMessageDisplayListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BAA2B5AE38A00A6489B /* InAppMessageDisplayListener.swift */; };
6E1A9BB02B5B0C4C00A6489B /* AutomationActionRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BAF2B5B0C4C00A6489B /* AutomationActionRunner.swift */; };
6E1A9BB22B5B172F00A6489B /* TestActionRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BB12B5B172F00A6489B /* TestActionRunner.swift */; };
6E1A9BB72B5B1D9E00A6489B /* TestActiveTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BB62B5B1D9E00A6489B /* TestActiveTimer.swift */; };
6E1A9BB92B5B20A500A6489B /* InAppMessageDisplayListenerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BB82B5B20A500A6489B /* InAppMessageDisplayListenerTest.swift */; };
6E1A9BBB2B5B20D700A6489B /* TestInAppMessageAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BBA2B5B20D700A6489B /* TestInAppMessageAnalytics.swift */; };
6E1A9BBF2B5EE19000A6489B /* PreparedSchedule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BBE2B5EE19000A6489B /* PreparedSchedule.swift */; };
6E1A9BC12B5EE1CF00A6489B /* SchedulePrepareResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BC02B5EE1CF00A6489B /* SchedulePrepareResult.swift */; };
6E1A9BC32B5EE1DE00A6489B /* ScheduleReadyResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BC22B5EE1DE00A6489B /* ScheduleReadyResult.swift */; };
6E1A9BC52B5EE1EE00A6489B /* ScheduleExecuteResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BC42B5EE1EE00A6489B /* ScheduleExecuteResult.swift */; };
6E1A9BC72B5EE32E00A6489B /* AutomationTriggerProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BC62B5EE32E00A6489B /* AutomationTriggerProcessor.swift */; };
6E1A9BC92B5EE34600A6489B /* AutomationEventFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BC82B5EE34600A6489B /* AutomationEventFeed.swift */; };
6E1A9BD12B5EE84600A6489B /* AutomationScheduleData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BD02B5EE84600A6489B /* AutomationScheduleData.swift */; };
6E1A9BD32B5EE8A400A6489B /* AutomationScheduleState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BD22B5EE8A400A6489B /* AutomationScheduleState.swift */; };
6E1A9BD52B5EE97000A6489B /* TriggeringInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BD42B5EE97000A6489B /* TriggeringInfo.swift */; };
6E1A9BF72B606CF200A6489B /* AutomationDelayProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1A9BF62B606CF200A6489B /* AutomationDelayProcessor.swift */; };
6E1B7B132B714FFC00695561 /* LandingPageAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1B7B122B714FFC00695561 /* LandingPageAction.swift */; };
6E1B7B162B715FFE00695561 /* LandingPageActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1B7B152B715FFE00695561 /* LandingPageActionTest.swift */; };
6E1BACDB2719ED7D0038399E /* ScrollLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1BACDA2719ED7D0038399E /* ScrollLayout.swift */; };
6E1BACDD2719FC0A0038399E /* ViewFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1BACDC2719FC0A0038399E /* ViewFactory.swift */; };
6E1C9C3A271E90EB009EF9EF /* LayoutModelsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1C9C39271E90EB009EF9EF /* LayoutModelsTest.swift */; };
6E1C9C4B271F7878009EF9EF /* BackgroundColorViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1C9C4A271F7878009EF9EF /* BackgroundColorViewModifier.swift */; };
6E1CBD812BA3A30300519D9C /* AirshipEmbeddedInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1CBD802BA3A30300519D9C /* AirshipEmbeddedInfo.swift */; };
6E1CBDE32BA51ED100519D9C /* InAppDisplayImpressionRuleProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1CBDE22BA51ED100519D9C /* InAppDisplayImpressionRuleProvider.swift */; };
6E1CBDFF2BAA1DF200519D9C /* DefaultInAppDisplayImpressionRuleProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1CBDFE2BAA1DF200519D9C /* DefaultInAppDisplayImpressionRuleProviderTest.swift */; };
6E1CBE2D2BAA2AEA00519D9C /* AirshipAutomation.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 6E1CBE2A2BAA2AEA00519D9C /* AirshipAutomation.xcdatamodeld */; };
6E1D8AD126CC5D490049DACB /* RemoteConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1D8AB226CC5D490049DACB /* RemoteConfig.swift */; };
6E1D8AD826CC66BE0049DACB /* RemoteConfigCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1D8AD726CC66BE0049DACB /* RemoteConfigCache.swift */; };
6E1D90022B2D1AB4004BA130 /* RetryingQueueTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1D90012B2D1AB4004BA130 /* RetryingQueueTests.swift */; };
6E1EEE902BD81AF300B45A87 /* ContactChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E1EEE8F2BD81AF300B45A87 /* ContactChannel.swift */; };
6E1F6E842BE6835400CFC7A7 /* UARemoteDataMappingV2toV4.xcmappingmodel in Resources */ = {isa = PBXBuildFile; fileRef = 6E1F6E832BE6835400CFC7A7 /* UARemoteDataMappingV2toV4.xcmappingmodel */; };
6E1F6E882BE683E600CFC7A7 /* UARemoteDataMappingV1toV4.xcmappingmodel in Resources */ = {isa = PBXBuildFile; fileRef = 6E1F6E872BE683E600CFC7A7 /* UARemoteDataMappingV1toV4.xcmappingmodel */; };
6E213B182BC60AF100BF24AE /* AirshipWeakValueHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E213B172BC60AF100BF24AE /* AirshipWeakValueHolder.swift */; };
6E213B1E2BC7054500BF24AE /* InAppActionRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E213B1D2BC7054500BF24AE /* InAppActionRunner.swift */; };
6E21852B237D32B30084933A /* EventData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E21852A237D32B30084933A /* EventData.swift */; };
6E2486DF28945D3900657CE4 /* PreferenceCenterState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2486DE28945D3900657CE4 /* PreferenceCenterState.swift */; };
6E2486EC2894901E00657CE4 /* ConditionsViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2486EB2894901E00657CE4 /* ConditionsViewModifier.swift */; };
6E2486F22898341400657CE4 /* ConditionsMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2486F02898341400657CE4 /* ConditionsMonitor.swift */; };
6E2486F728984D0D00657CE4 /* PreferenceCenterTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2486F628984D0D00657CE4 /* PreferenceCenterTheme.swift */; };
6E2486FD2899C06100657CE4 /* PreferenceCenterContentLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2486FC2899C06100657CE4 /* PreferenceCenterContentLoader.swift */; };
6E25DD052D515F33009CF1A4 /* ThomasEmailRegistrationOptionsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2FA28B2D515C5A005893E2 /* ThomasEmailRegistrationOptionsTest.swift */; };
6E2811682BE406A50040D928 /* FeatureFlagDeferredResolverTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7EACD22AF4220E00DA286B /* FeatureFlagDeferredResolverTest.swift */; };
6E28116C2BE40E860040D928 /* FeatureFlagVariablesTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E28116B2BE40E860040D928 /* FeatureFlagVariablesTest.swift */; };
6E29474B2AD47E15009EC6DD /* AirshipPreferenceCenter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 847BFFF4267CD739007CD249 /* AirshipPreferenceCenter.framework */; };
6E29474D2AD5DA3B009EC6DD /* LiveActivityRegistrationStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E29474C2AD5DA3B009EC6DD /* LiveActivityRegistrationStatus.swift */; };
6E2947512AD5DB5A009EC6DD /* LiveActivityRegistrationStatusUpdates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2947502AD5DB5A009EC6DD /* LiveActivityRegistrationStatusUpdates.swift */; };
6E299FD528D13D00001305A7 /* DefaultAirshipRequestSessionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E299FD428D13D00001305A7 /* DefaultAirshipRequestSessionTest.swift */; };
6E299FD728D13E54001305A7 /* AirshipRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E299FD628D13E54001305A7 /* AirshipRequest.swift */; };
6E299FDB28D14208001305A7 /* AirshipResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E299FDA28D14208001305A7 /* AirshipResponse.swift */; };
6E299FDF28D14258001305A7 /* AirshipRequestSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E299FDE28D14258001305A7 /* AirshipRequestSession.swift */; };
6E2D6AEE26B083DB00B7C226 /* ChannelAudienceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2D6AED26B083DB00B7C226 /* ChannelAudienceManager.swift */; };
6E2D6AF226B0B64E00B7C226 /* SubscriptionListAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2D6AF126B0B64E00B7C226 /* SubscriptionListAPIClientTest.swift */; };
6E2D6AF426B0C3C500B7C226 /* ChannelAudienceManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2D6AF326B0C3C500B7C226 /* ChannelAudienceManagerTest.swift */; };
6E2D6AF626B0C6CA00B7C226 /* TestSubscriptionListAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2D6AF526B0C6CA00B7C226 /* TestSubscriptionListAPIClient.swift */; };
6E2E3CA22B32723C00B8515B /* InAppMessageNativeBridgeExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2E3CA12B32723C00B8515B /* InAppMessageNativeBridgeExtension.swift */; };
6E2E3CA62B327A6C00B8515B /* InAppMessageNativeBridgeExtensionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2E3CA42B32726400B8515B /* InAppMessageNativeBridgeExtensionTest.swift */; };
6E2F5A742A60833700CABD3D /* FeatureFlagManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5A732A60833700CABD3D /* FeatureFlagManager.swift */; };
6E2F5A762A60871E00CABD3D /* FeatureFlagPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5A752A60871E00CABD3D /* FeatureFlagPayload.swift */; };
6E2F5A862A65F00200CABD3D /* RemoteDataSourceStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5A852A65F00200CABD3D /* RemoteDataSourceStatus.swift */; };
6E2F5A8A2A66088100CABD3D /* AudienceDeviceInfoProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5A892A66088100CABD3D /* AudienceDeviceInfoProvider.swift */; };
6E2F5A8E2A66FE8900CABD3D /* AirshipTimeCriteria.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5A8D2A66FE8900CABD3D /* AirshipTimeCriteria.swift */; };
6E2F5A932A67316C00CABD3D /* AirshipFeatureFlags.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A62058692A5841330041FBF9 /* AirshipFeatureFlags.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
6E2F5AB12A67434B00CABD3D /* FeatureFlag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5AB02A67434B00CABD3D /* FeatureFlag.swift */; };
6E2F5AB22A67589400CABD3D /* TestDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1422683B8FA00A2CBD0 /* TestDate.swift */; };
6E2F5AB32A6758ED00CABD3D /* TestNetworkMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED171268448EC00A2CBD0 /* TestNetworkMonitor.swift */; };
6E2F5AB52A67599400CABD3D /* TestRemoteData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B70426CE07180099C92D /* TestRemoteData.swift */; };
6E2F5AB72A675ADC00CABD3D /* TestAudienceChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5AB62A675ADC00CABD3D /* TestAudienceChecker.swift */; };
6E2F5AB82A675ADC00CABD3D /* TestAudienceChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5AB62A675ADC00CABD3D /* TestAudienceChecker.swift */; };
6E2F5ABA2A675D3600CABD3D /* FeatureFlagsRemoteDataAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5AB92A675D3600CABD3D /* FeatureFlagsRemoteDataAccess.swift */; };
6E2FA2892D51519B005893E2 /* ThomasEmailRegistrationOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2FA2882D515189005893E2 /* ThomasEmailRegistrationOptions.swift */; };
6E34C4B12C7D4B6400B00506 /* ExecutionWindowProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E34C4B02C7D4B6400B00506 /* ExecutionWindowProcessor.swift */; };
6E34C4B32C7D4C6600B00506 /* ExecutionWindowProcessorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E34C4B22C7D4C6600B00506 /* ExecutionWindowProcessorTest.swift */; };
6E382C21276D3E990091A351 /* ThomasValidationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E382C20276D3E990091A351 /* ThomasValidationTests.swift */; };
6E3B230F28A318CD0005D46E /* PreferenceCenterThemeLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E3B230E28A318CD0005D46E /* PreferenceCenterThemeLoader.swift */; };
6E3B231328A32EC30005D46E /* PreferenceCenterViewExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E3B231228A32EC30005D46E /* PreferenceCenterViewExtensions.swift */; };
6E3B32CC27559D8B00B89C7B /* FormInputViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E3B32CB27559D8B00B89C7B /* FormInputViewModifier.swift */; };
6E3B32CF2755D8C700B89C7B /* LayoutState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E3B32CE2755D8C700B89C7B /* LayoutState.swift */; };
6E3CA5412ECB9B7900210C32 /* AirshipDisplayTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E3CA5402ECB9B7400210C32 /* AirshipDisplayTarget.swift */; };
6E4007142A153AB20013C2DE /* AppRemoteDataProviderDelegateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4007132A153AB20013C2DE /* AppRemoteDataProviderDelegateTest.swift */; };
6E4007162A153ABE0013C2DE /* ContactRemoteDataProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4007152A153ABE0013C2DE /* ContactRemoteDataProviderTest.swift */; };
6E4007182A153AFE0013C2DE /* RemoteDataURLFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4007172A153AFE0013C2DE /* RemoteDataURLFactoryTest.swift */; };
6E40868C2B8931C900435E2C /* AirshipViewSizeReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E40868B2B8931C900435E2C /* AirshipViewSizeReader.swift */; };
6E40868E2B8D036600435E2C /* AirshipEmbeddedSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E40868D2B8D036600435E2C /* AirshipEmbeddedSize.swift */; };
6E411B782538C4E600FEE4E8 /* UANativeBridge in Resources */ = {isa = PBXBuildFile; fileRef = 6E411B6C2538C4E500FEE4E8 /* UANativeBridge */; };
6E411B7C2538C4E600FEE4E8 /* UANotificationCategories.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6E411B6D2538C4E600FEE4E8 /* UANotificationCategories.plist */; };
6E411C782538C60900FEE4E8 /* UrbanAirship.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6E411C742538C60900FEE4E8 /* UrbanAirship.strings */; };
6E411CAB2538C6A600FEE4E8 /* UARemoteData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 6E411CA42538C6A500FEE4E8 /* UARemoteData.xcdatamodeld */; };
6E411CAF2538C6A600FEE4E8 /* UAEvents.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 6E411CA72538C6A500FEE4E8 /* UAEvents.xcdatamodeld */; };
6E43202226EA814F009228AB /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3261A7F4243CD73100ADBF6B /* CoreTelephony.framework */; platformFilter = maccatalyst; };
6E43219226EA89B6009228AB /* NativeBridgeDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E43218F26EA89B6009228AB /* NativeBridgeDelegate.swift */; };
6E4325C32B7A9D9A00A9B000 /* AirshipPrivacyManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4325C22B7A9D9A00A9B000 /* AirshipPrivacyManagerTest.swift */; };
6E4325C52B7AC3F700A9B000 /* TestPush.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4325C42B7AC3F700A9B000 /* TestPush.swift */; };
6E4325C62B7AC40D00A9B000 /* TestPush.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4325C42B7AC3F700A9B000 /* TestPush.swift */; };
6E4325CE2B7AD5A200A9B000 /* AirshipComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4325CD2B7AD5A200A9B000 /* AirshipComponent.swift */; };
6E4325D32B7AD96800A9B000 /* AirshipTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4325D22B7AD96800A9B000 /* AirshipTest.swift */; };
6E4325E92B7AEB1F00A9B000 /* AirshipEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4325E82B7AEB1F00A9B000 /* AirshipEvent.swift */; };
6E4325F22B7B1EDA00A9B000 /* SessionEventFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4325F12B7B1EDA00A9B000 /* SessionEventFactory.swift */; };
6E4325F62B7B2F5800A9B000 /* FeatureFlagAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4325F52B7B2F5800A9B000 /* FeatureFlagAnalytics.swift */; };
6E4325F82B7C08A600A9B000 /* AirshipAnalyticsFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4325F72B7C08A600A9B000 /* AirshipAnalyticsFeed.swift */; };
6E4326012B7C327C00A9B000 /* AirshipEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4326002B7C327C00A9B000 /* AirshipEvents.swift */; };
6E4326072B7C364300A9B000 /* AssociatedIdentifiersTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4326042B7C361F00A9B000 /* AssociatedIdentifiersTest.swift */; };
6E4326092B7C396F00A9B000 /* TestAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BE1726E2C5940005D20D /* TestAnalytics.swift */; };
6E4339EF2DFA03A3000A7741 /* JSONValueMatcherPredicates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4339EE2DFA039B000A7741 /* JSONValueMatcherPredicates.swift */; };
6E4339F12DFA099F000A7741 /* AirshipIvyVersionMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4339F02DFA099C000A7741 /* AirshipIvyVersionMatcher.swift */; };
6E44626729E6813A00CB2B56 /* AsyncSerialQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E44626629E6813A00CB2B56 /* AsyncSerialQueue.swift */; };
6E46A273272B19760089CDE3 /* ViewExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E46A272272B19760089CDE3 /* ViewExtensions.swift */; };
6E46A27C272B63680089CDE3 /* ThomasEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E46A27B272B63680089CDE3 /* ThomasEnvironment.swift */; };
6E46A27F272B68660089CDE3 /* ThomasDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E46A27E272B68660089CDE3 /* ThomasDelegate.swift */; };
6E475BFE2F5A3709003D8E42 /* VideoGroupState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E475BFD2F5A3709003D8E42 /* VideoGroupState.swift */; };
6E475CBA2F5B3E45003D8E42 /* VideoMediaWebViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E475CB92F5B3E45003D8E42 /* VideoMediaWebViewTests.swift */; };
6E49D7B228401D2E00C7BB9D /* Permission.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7A628401D2D00C7BB9D /* Permission.swift */; };
6E49D7B428401D2E00C7BB9D /* PermissionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7A728401D2D00C7BB9D /* PermissionDelegate.swift */; };
6E49D7B628401D2E00C7BB9D /* NotificationRegistrar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7A828401D2D00C7BB9D /* NotificationRegistrar.swift */; };
6E49D7B828401D2E00C7BB9D /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7A928401D2D00C7BB9D /* Atomic.swift */; };
6E49D7BA28401D2E00C7BB9D /* NotificationPermissionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7AA28401D2D00C7BB9D /* NotificationPermissionDelegate.swift */; };
6E49D7BC28401D2E00C7BB9D /* PermissionsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7AB28401D2D00C7BB9D /* PermissionsManager.swift */; };
6E49D7BE28401D2E00C7BB9D /* RegistrationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7AC28401D2D00C7BB9D /* RegistrationDelegate.swift */; };
6E49D7C028401D2E00C7BB9D /* UNNotificationRegistrar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7AD28401D2D00C7BB9D /* UNNotificationRegistrar.swift */; };
6E49D7C228401D2E00C7BB9D /* PermissionStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7AE28401D2D00C7BB9D /* PermissionStatus.swift */; };
6E49D7C428401D2E00C7BB9D /* PushNotificationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7AF28401D2E00C7BB9D /* PushNotificationDelegate.swift */; };
6E49D7C628401D2E00C7BB9D /* Badger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7B028401D2E00C7BB9D /* Badger.swift */; };
6E49D7C828401D2E00C7BB9D /* APNSRegistrar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7B128401D2E00C7BB9D /* APNSRegistrar.swift */; };
6E49D7CD284028C600C7BB9D /* PermissionsManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E49D7CC284028C600C7BB9D /* PermissionsManagerTests.swift */; };
6E4A466128EF447C00A25617 /* MessageCenterUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A466028EF447C00A25617 /* MessageCenterUser.swift */; };
6E4A466528EF448600A25617 /* MessageCenterStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A466228EF448600A25617 /* MessageCenterStore.swift */; };
6E4A466628EF448600A25617 /* MessageCenterAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A466328EF448600A25617 /* MessageCenterAPIClient.swift */; };
6E4A466728EF448600A25617 /* MessageCenterMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A466428EF448600A25617 /* MessageCenterMessage.swift */; };
6E4A467228EF44F600A25617 /* AirshipMessageCenter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CA0E423237E4A7B00EE76CF /* AirshipMessageCenter.framework */; };
6E4A467928EF453400A25617 /* MessageCenterAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A467828EF453400A25617 /* MessageCenterAPIClientTest.swift */; };
6E4A468028EF4FAF00A25617 /* TestAirshipRequestSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A467F28EF4FAF00A25617 /* TestAirshipRequestSession.swift */; };
6E4A468128EF4FAF00A25617 /* TestAirshipRequestSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A467F28EF4FAF00A25617 /* TestAirshipRequestSession.swift */; };
6E4A469F28F4A7DF00A25617 /* MessageCenterAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A469E28F4A7DF00A25617 /* MessageCenterAction.swift */; };
6E4A46A128F4AEDF00A25617 /* MessageCenterNativeBridgeExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A46A028F4AEDF00A25617 /* MessageCenterNativeBridgeExtension.swift */; };
6E4A4FDA2A30358F0049FEFC /* TagsActionArgs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A4FD92A30358F0049FEFC /* TagsActionArgs.swift */; };
6E4A4FDE2A3132850049FEFC /* AirshipSDKModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A4FDD2A3132850049FEFC /* AirshipSDKModule.swift */; };
6E4AEE0C2B6B24D7008AEAC1 /* AirshipAutomation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E0B872A294A9C120064B7BD /* AirshipAutomation.framework */; };
6E4AEE272B6B2E0A008AEAC1 /* alternate-airship.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 6E4AEE222B6B2E09008AEAC1 /* alternate-airship.jpg */; };
6E4AEE282B6B2E0A008AEAC1 /* DefaultAssetFileManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4AEE232B6B2E09008AEAC1 /* DefaultAssetFileManagerTest.swift */; };
6E4AEE292B6B2E0A008AEAC1 /* airship.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 6E4AEE242B6B2E0A008AEAC1 /* airship.jpg */; };
6E4AEE2A2B6B2E0A008AEAC1 /* AssetCacheManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4AEE252B6B2E0A008AEAC1 /* AssetCacheManagerTest.swift */; };
6E4AEE2B2B6B2E0A008AEAC1 /* DefaultAssetDownloaderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4AEE262B6B2E0A008AEAC1 /* DefaultAssetDownloaderTest.swift */; };
6E4AEE2C2B6B302D008AEAC1 /* ActionAutomationPreparerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15283D2B4F0B8200DF1377 /* ActionAutomationPreparerTest.swift */; };
6E4AEE302B6B3041008AEAC1 /* InAppMessageThemeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D79C2B4F9E830099B6F3 /* InAppMessageThemeTest.swift */; };
6E4AEE312B6B3A6A008AEAC1 /* Valid-UAInAppMessageModalStyle.plist in Resources */ = {isa = PBXBuildFile; fileRef = 459D40542092474300C40E2D /* Valid-UAInAppMessageModalStyle.plist */; };
6E4AEE322B6B3A6A008AEAC1 /* Valid-UAInAppMessageBannerStyle.plist in Resources */ = {isa = PBXBuildFile; fileRef = 459D40562092474A00C40E2D /* Valid-UAInAppMessageBannerStyle.plist */; };
6E4AEE332B6B3A6A008AEAC1 /* Valid-UAInAppMessageFullScreenStyle.plist in Resources */ = {isa = PBXBuildFile; fileRef = 459D4049208FE64D00C40E2D /* Valid-UAInAppMessageFullScreenStyle.plist */; };
6E4AEE342B6B3A6A008AEAC1 /* Invalid-UAInAppMessageBannerStyle.plist in Resources */ = {isa = PBXBuildFile; fileRef = 459D40582092475500C40E2D /* Invalid-UAInAppMessageBannerStyle.plist */; };
6E4AEE352B6B3A6A008AEAC1 /* Valid-UAInAppMessageHTMLStyle.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6EE6529222A7E3B800F7D54D /* Valid-UAInAppMessageHTMLStyle.plist */; };
6E4AEE362B6B3A6A008AEAC1 /* Invalid-UAInAppMessageModalStyle.plist in Resources */ = {isa = PBXBuildFile; fileRef = 459D405A2092475C00C40E2D /* Invalid-UAInAppMessageModalStyle.plist */; };
6E4AEE372B6B3A6A008AEAC1 /* Invalid-UAInAppMessageFullScreenStyle.plist in Resources */ = {isa = PBXBuildFile; fileRef = 459D404B208FE6BA00C40E2D /* Invalid-UAInAppMessageFullScreenStyle.plist */; };
6E4AEE572B6B4358008AEAC1 /* UAAutomation.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 6E4AEE492B6B4358008AEAC1 /* UAAutomation.xcdatamodeld */; };
6E4AEE642B6B44EA008AEAC1 /* LegacyAutomationStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4AEE622B6B44EA008AEAC1 /* LegacyAutomationStore.swift */; };
6E4AEE652B6B44EA008AEAC1 /* AutomationStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4AEE632B6B44EA008AEAC1 /* AutomationStore.swift */; };
6E4AEEBC2B6D6380008AEAC1 /* TriggerData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4AEEBB2B6D6380008AEAC1 /* TriggerData.swift */; };
6E4D20722E6B761200A8D641 /* MessageCenterListViewWithNavigation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4D20712E6B760C00A8D641 /* MessageCenterListViewWithNavigation.swift */; };
6E4D224A2E6F814000A8D641 /* MessageCenterMessageViewWithNavigation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4D22492E6F813700A8D641 /* MessageCenterMessageViewWithNavigation.swift */; };
6E4D224C2E6F968A00A8D641 /* MessageCenterNavigationStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4D224B2E6F968000A8D641 /* MessageCenterNavigationStack.swift */; };
6E4D224E2E6F96B800A8D641 /* MessageCenterSplitNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4D224D2E6F96B100A8D641 /* MessageCenterSplitNavigationView.swift */; };
6E4D22502E6F9CF200A8D641 /* MessageCenterContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4D224F2E6F9CD700A8D641 /* MessageCenterContent.swift */; };
6E4D22522E6FA2F700A8D641 /* MessageCenterBackButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4D22512E6FA2F300A8D641 /* MessageCenterBackButton.swift */; };
6E4D22542E6FA5ED00A8D641 /* MessageCenterWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4D22532E6FA5EA00A8D641 /* MessageCenterWebView.swift */; };
6E4D225D2E70ADE100A8D641 /* MessageCenterMessageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4D225C2E70ADDB00A8D641 /* MessageCenterMessageViewModel.swift */; };
6E4D225F2E70AFE800A8D641 /* MessageCenterListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4D225E2E70AFE300A8D641 /* MessageCenterListViewModel.swift */; };
6E4E2E2829CEB222002E7682 /* ContactManagerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4E2E2729CEB222002E7682 /* ContactManagerProtocol.swift */; };
6E4E5B3B26E7F91600198175 /* AirshipLocalizationUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4E5B3926E7F91600198175 /* AirshipLocalizationUtils.swift */; };
6E4E5B3D26E7F91600198175 /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4E5B3A26E7F91600198175 /* Attributes.swift */; };
6E5213E32DCA7A3B00CF64B9 /* ThomasEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5213E22DCA7A3800CF64B9 /* ThomasEvent.swift */; };
6E5214672DCAB03900CF64B9 /* ThomasFormResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5214662DCAB03600CF64B9 /* ThomasFormResult.swift */; };
6E5214692DCABFCE00CF64B9 /* ThomasLayoutContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5214682DCABFCA00CF64B9 /* ThomasLayoutContext.swift */; };
6E52146B2DCBF9BD00CF64B9 /* AirshipTimerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E52146A2DCBF9BA00CF64B9 /* AirshipTimerProtocol.swift */; };
6E52146D2DCBFABE00CF64B9 /* ThomasPagerTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E52146C2DCBFAB900CF64B9 /* ThomasPagerTracker.swift */; };
6E52146F2DCC075500CF64B9 /* ThomasPagerTrackerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E52146E2DCC075100CF64B9 /* ThomasPagerTrackerTest.swift */; };
6E5215222DCEA12A00CF64B9 /* ThomasViewedPageInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5215212DCEA10F00CF64B9 /* ThomasViewedPageInfo.swift */; };
6E524C732C126F5F002CA094 /* AirshipEventType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E524C722C126F5F002CA094 /* AirshipEventType.swift */; };
6E524D022C1A2CAE002CA094 /* InAppMessageThemeManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E524D012C1A2CAE002CA094 /* InAppMessageThemeManager.swift */; };
6E524D042C1A454E002CA094 /* InAppMessageThemeShadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E524D032C1A454E002CA094 /* InAppMessageThemeShadow.swift */; };
6E55A4D72E1DB4F700B07DF8 /* ThomasAssociatedLabelResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E55A4D62E1DB4CB00B07DF8 /* ThomasAssociatedLabelResolver.swift */; };
6E57CE3228DB8BDA00287601 /* LiveActivityUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E57CE3128DB8BDA00287601 /* LiveActivityUpdate.swift */; };
6E57CE3728DBBD9A00287601 /* LiveActivityRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E57CE3628DBBD9A00287601 /* LiveActivityRegistry.swift */; };
6E590E6E29A94CA90036DFAB /* AppStateTrackerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E590E6D29A94CA90036DFAB /* AppStateTrackerTest.swift */; };
6E5A64C42AAB7D5C00574085 /* AirshipMeteredUsage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5A64C32AAB7D5C00574085 /* AirshipMeteredUsage.swift */; };
6E5A64C82AABBE7100574085 /* MeteredUsageAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5A64C72AABBE7100574085 /* MeteredUsageAPIClient.swift */; };
6E5A64D02AABBEAF00574085 /* AirshipMeteredUsageEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5A64CF2AABBEAF00574085 /* AirshipMeteredUsageEvent.swift */; };
6E5A64D42AABBED600574085 /* MeteredUsageStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5A64D32AABBED600574085 /* MeteredUsageStore.swift */; };
6E5A64D92AABC5A400574085 /* UAMeteredUsage.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 6E5A64D72AABC5A400574085 /* UAMeteredUsage.xcdatamodeld */; };
6E5ADF822D7682A300A03799 /* StateSubscriptionsModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5ADF812D7682A200A03799 /* StateSubscriptionsModifier.swift */; };
6E5ADF842D7682D600A03799 /* ThomasStateTrigger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5ADF832D7682D300A03799 /* ThomasStateTrigger.swift */; };
6E5B1A052AFF090B0019CA61 /* SessionTrackerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E5B1A042AFF090B0019CA61 /* SessionTrackerTest.swift */; };
6E60EF6A29DF542B003F7A8D /* AnonContactData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E60EF6929DF542B003F7A8D /* AnonContactData.swift */; };
6E6363E229DCD0CF009C358A /* ContactSubscriptionListClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6363E129DCD0CF009C358A /* ContactSubscriptionListClient.swift */; };
6E6363E629DCE9A2009C358A /* ContactSubscriptionListAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6363E529DCE9A2009C358A /* ContactSubscriptionListAPIClientTest.swift */; };
6E6363E829DCEB84009C358A /* ContactManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6363E729DCEB84009C358A /* ContactManagerTest.swift */; };
6E6363EA29DCECA1009C358A /* TestContactSubscriptionListAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6363E929DCECA1009C358A /* TestContactSubscriptionListAPIClient.swift */; };
6E6363EC29DDF84B009C358A /* SerialQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6363EB29DDF84B009C358A /* SerialQueue.swift */; };
6E64C88027331ABA000EB887 /* PreferenceDataStoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E64C87F27331ABA000EB887 /* PreferenceDataStoreTest.swift */; };
6E65244C2A4FD4270019F353 /* DeviceTagSelectorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E65244B2A4FD4270019F353 /* DeviceTagSelectorTest.swift */; };
6E65244E2A4FD69F0019F353 /* DeviceAudienceSelectorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E65244D2A4FD69F0019F353 /* DeviceAudienceSelectorTest.swift */; };
6E6524502A4FD8D30019F353 /* JSONPredicateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E65244F2A4FD8D30019F353 /* JSONPredicateTest.swift */; };
6E6541E02758976D009676CA /* AirshipProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6541DF2758976D009676CA /* AirshipProgressView.swift */; };
6E65FB602C753CB400D9F341 /* EmbeddedViewSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E65FB5F2C753CB400D9F341 /* EmbeddedViewSelector.swift */; };
6E664BA126C43F5400A2C8E5 /* ActivityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BA026C43F5400A2C8E5 /* ActivityViewController.swift */; };
6E664BA726C4417400A2C8E5 /* ShareAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BA426C4417400A2C8E5 /* ShareAction.swift */; };
6E664BCA26C4852B00A2C8E5 /* AddCustomEventAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BC926C4852B00A2C8E5 /* AddCustomEventAction.swift */; };
6E664BD026C4916600A2C8E5 /* AddTagsAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BCF26C4916600A2C8E5 /* AddTagsAction.swift */; };
6E664BD326C4917000A2C8E5 /* RemoveTagsAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BD226C4917000A2C8E5 /* RemoveTagsAction.swift */; };
6E664BD926C4CD8700A2C8E5 /* PasteboardAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BD526C4CD8700A2C8E5 /* PasteboardAction.swift */; };
6E664BDB26C4CD8700A2C8E5 /* EnableFeatureAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BD626C4CD8700A2C8E5 /* EnableFeatureAction.swift */; };
6E664BDD26C4CD8700A2C8E5 /* OpenExternalURLAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BD726C4CD8700A2C8E5 /* OpenExternalURLAction.swift */; };
6E664BDF26C4CD8700A2C8E5 /* FetchDeviceInfoAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BD826C4CD8700A2C8E5 /* FetchDeviceInfoAction.swift */; };
6E664BE526C5817B00A2C8E5 /* TestContact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BE426C5817B00A2C8E5 /* TestContact.swift */; };
6E664BE726C5B21600A2C8E5 /* ModifyAttributesAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BE626C5B21600A2C8E5 /* ModifyAttributesAction.swift */; };
6E664BEA26C6DB7600A2C8E5 /* AirshipUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E664BE926C6DB7500A2C8E5 /* AirshipUtils.swift */; };
6E66BA7F2D14B61A0083A9FD /* WrappingLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E66BA7E2D14B61A0083A9FD /* WrappingLayout.swift */; };
6E66DDA62E95A68300D44555 /* WorkRateLimiterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E66DDA52E95A67C00D44555 /* WorkRateLimiterTests.swift */; };
6E68028B2B850DDE00F4591F /* ApplicationMetrics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1512683DBC300A2CBD0 /* ApplicationMetrics.swift */; };
6E68028C2B85149900F4591F /* ApplicationMetricsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E60EF6529DF4BB5003F7A8D /* ApplicationMetricsTest.swift */; };
6E68028E2B852F6A00F4591F /* AutomationScheduleDataTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E68028D2B852F6A00F4591F /* AutomationScheduleDataTest.swift */; };
6E6802902B8671E700F4591F /* InAppAutomationComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E68028F2B8671E700F4591F /* InAppAutomationComponent.swift */; };
6E6802922B86732200F4591F /* PreferenceCenterComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6802912B86732200F4591F /* PreferenceCenterComponent.swift */; };
6E6802942B8673F900F4591F /* FeatureFlagComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6802932B8673F900F4591F /* FeatureFlagComponent.swift */; };
6E6802962B86749900F4591F /* MessageCenterComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6802952B86749900F4591F /* MessageCenterComponent.swift */; };
6E6802982B8675A200F4591F /* DebugComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6802972B8675A200F4591F /* DebugComponent.swift */; };
6E68203228EDE3E200A4F90B /* LiveActivityRestorer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E68203128EDE3E200A4F90B /* LiveActivityRestorer.swift */; };
6E692AFD29E0CB2F00D96CCC /* JavaScriptCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E692AFC29E0CB2F00D96CCC /* JavaScriptCommand.swift */; };
6E692AFF29E0CB4100D96CCC /* JavaScriptCommandDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E692AFE29E0CB4100D96CCC /* JavaScriptCommandDelegate.swift */; };
6E692B0329E0CBB500D96CCC /* NativeBridgeExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E692B0229E0CBB500D96CCC /* NativeBridgeExtensionDelegate.swift */; };
6E698DEC26790AC300654DB2 /* PreferenceDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698DE826790AC300654DB2 /* PreferenceDataStore.swift */; };
6E698DF226790AC300654DB2 /* AirshipPrivacyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698DEB26790AC300654DB2 /* AirshipPrivacyManager.swift */; };
6E698E03267A799500654DB2 /* AirshipErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E02267A799500654DB2 /* AirshipErrors.swift */; };
6E698E09267A7DD900654DB2 /* RemoteDataAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E08267A7DD900654DB2 /* RemoteDataAPIClient.swift */; };
6E698E0C267A88D600654DB2 /* EventAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E0B267A88D600654DB2 /* EventAPIClient.swift */; };
6E698E3D267BEDC300654DB2 /* DefaultAirshipContact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E3A267BEDC300654DB2 /* DefaultAirshipContact.swift */; };
6E698E3F267BEDC300654DB2 /* AttributesEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E3B267BEDC300654DB2 /* AttributesEditor.swift */; };
6E698E41267BEDC300654DB2 /* TagGroupsEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E3C267BEDC300654DB2 /* TagGroupsEditor.swift */; };
6E698E57267BF63B00654DB2 /* AppStateTrackerAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E52267BF63A00654DB2 /* AppStateTrackerAdapter.swift */; };
6E698E59267BF63B00654DB2 /* AppStateTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E53267BF63A00654DB2 /* AppStateTracker.swift */; };
6E698E5F267BF63B00654DB2 /* ApplicationState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E56267BF63B00654DB2 /* ApplicationState.swift */; };
6E698E62267C03C700654DB2 /* TestAppStateTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E61267C03C700654DB2 /* TestAppStateTracker.swift */; };
6E6A848D2B6854FC006FFB35 /* AutomationDelayProcessorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6A848C2B6854FC006FFB35 /* AutomationDelayProcessorTest.swift */; };
6E6A84932B68A57E006FFB35 /* AutomationStoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6A84912B68A571006FFB35 /* AutomationStoreTest.swift */; };
6E6B2DBE2B33B768008BF788 /* AutomationScheduleTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6B2DBD2B33B768008BF788 /* AutomationScheduleTest.swift */; };
6E6BD2422AE995DA00B9DFC9 /* DeferredResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD2412AE995DA00B9DFC9 /* DeferredResolver.swift */; };
6E6BD2462AEAFE7E00B9DFC9 /* DeferredAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD2452AEAFE7E00B9DFC9 /* DeferredAPIClient.swift */; };
6E6BD24A2AEAFEB700B9DFC9 /* AirsihpTriggerContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD2492AEAFEB700B9DFC9 /* AirsihpTriggerContext.swift */; };
6E6BD24E2AEAFEC500B9DFC9 /* AirshipStateOverrides.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD24D2AEAFEC500B9DFC9 /* AirshipStateOverrides.swift */; };
6E6BD2582AEC598C00B9DFC9 /* DeferredAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD2572AEC598C00B9DFC9 /* DeferredAPIClientTest.swift */; };
6E6BD25A2AEC626B00B9DFC9 /* DeferredResolverTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD2592AEC626B00B9DFC9 /* DeferredResolverTest.swift */; };
6E6BD26D2AF1AC5700B9DFC9 /* AirshipCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD26C2AF1AC5700B9DFC9 /* AirshipCache.swift */; };
6E6BD2722AF1B05500B9DFC9 /* UAirshipCache.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD2702AF1B05500B9DFC9 /* UAirshipCache.xcdatamodeld */; };
6E6BD2762AF1C1D800B9DFC9 /* DeferredFlagResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD2752AF1C1D800B9DFC9 /* DeferredFlagResolver.swift */; };
6E6BD2782AF2B97300B9DFC9 /* AirshipTaskSleeper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BD2772AF2B97300B9DFC9 /* AirshipTaskSleeper.swift */; };
6E6C3F7F27A20C3C007F55C7 /* ChannelScope.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6C3F7E27A20C3C007F55C7 /* ChannelScope.swift */; };
6E6C3F8A27A266C0007F55C7 /* CachedValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6C3F8927A266C0007F55C7 /* CachedValue.swift */; };
6E6C3F8D27A26992007F55C7 /* CachedValueTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6C3F8C27A26992007F55C7 /* CachedValueTest.swift */; };
6E6C3F9A27A47DB4007F55C7 /* PreferenceCenterConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6C3F9927A47DB4007F55C7 /* PreferenceCenterConfig.swift */; };
6E6C3F9E27A4C3D4007F55C7 /* AirshipJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6C3F9D27A4C3D4007F55C7 /* AirshipJSON.swift */; };
6E6C84462A5C8CFE00DD83A2 /* AirshipConfigTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6C84452A5C8CFD00DD83A2 /* AirshipConfigTest.swift */; };
6E6CC38623A3F9B4003D583C /* PushDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6CC38023A3F9B4003D583C /* PushDataManager.swift */; };
6E6ED13B2683A58D00A2CBD0 /* Dispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1352683A58D00A2CBD0 /* Dispatcher.swift */; };
6E6ED1402683A9F200A2CBD0 /* AirshipDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED13F2683A9F200A2CBD0 /* AirshipDate.swift */; };
6E6ED1432683B8FA00A2CBD0 /* TestDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1422683B8FA00A2CBD0 /* TestDate.swift */; };
6E6ED1452683BC7F00A2CBD0 /* TestDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1442683BC7F00A2CBD0 /* TestDispatcher.swift */; };
6E6ED1492683D8E200A2CBD0 /* LocaleManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1482683D8E200A2CBD0 /* LocaleManager.swift */; };
6E6ED15B2683DBC300A2CBD0 /* AirshipBase64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED14D2683DBC200A2CBD0 /* AirshipBase64.swift */; };
6E6ED15F2683DBC300A2CBD0 /* AirshipCoreResources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED14F2683DBC200A2CBD0 /* AirshipCoreResources.swift */; };
6E6ED1612683DBC300A2CBD0 /* AirshipVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1502683DBC300A2CBD0 /* AirshipVersion.swift */; };
6E6ED1672683DBC300A2CBD0 /* UACoreData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1532683DBC300A2CBD0 /* UACoreData.swift */; };
6E6ED1692683DBC300A2CBD0 /* AirshipNetworkChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED1542683DBC300A2CBD0 /* AirshipNetworkChecker.swift */; };
6E6ED172268448EC00A2CBD0 /* TestNetworkMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED171268448EC00A2CBD0 /* TestNetworkMonitor.swift */; };
6E6EF9E7270625C400D30C35 /* AirshipEventsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6EF9E6270625C400D30C35 /* AirshipEventsTest.swift */; };
6E71129D2880DACB004942E4 /* EventHandlerViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7112962880DACB004942E4 /* EventHandlerViewModifier.swift */; };
6E7112A12880DACB004942E4 /* EnableBehaviorModifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7112982880DACB004942E4 /* EnableBehaviorModifiers.swift */; };
6E7112A32880DACB004942E4 /* VisibilityViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7112992880DACB004942E4 /* VisibilityViewModifier.swift */; };
6E7112A52880DACB004942E4 /* StateController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E71129A2880DACB004942E4 /* StateController.swift */; };
6E739D6626B9BDC100BC6F6D /* ChannelBulkUpdateAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E739D6526B9BDC100BC6F6D /* ChannelBulkUpdateAPIClient.swift */; };
6E739D6B26B9DFFB00BC6F6D /* AttributePendingMutations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E739D6A26B9DFFB00BC6F6D /* AttributePendingMutations.swift */; };
6E739D6E26B9F58700BC6F6D /* TagGroupMutations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E739D6D26B9F58700BC6F6D /* TagGroupMutations.swift */; };
6E739D7F26BAFCB800BC6F6D /* TestChannelBulkUpdateAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E739D7E26BAFCB800BC6F6D /* TestChannelBulkUpdateAPIClient.swift */; };
6E739D8226BB33A200BC6F6D /* ChannelBulkUpdateAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E739D8126BB33A200BC6F6D /* ChannelBulkUpdateAPIClientTest.swift */; };
6E75F50529C4EAF600E3585A /* AudienceOverridesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E75F50429C4EAF600E3585A /* AudienceOverridesProvider.swift */; };
6E77CD4A2D8A225E0057A52C /* SMSValidatorAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E77CD492D8A225E0057A52C /* SMSValidatorAPIClient.swift */; };
6E77CD4B2D8A225E0057A52C /* AirshipInputValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E77CD472D8A225E0057A52C /* AirshipInputValidator.swift */; };
6E77CE472D8A28B90057A52C /* CachingSMSValidatorAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E77CE462D8A28B10057A52C /* CachingSMSValidatorAPIClient.swift */; };
6E78848F29B9643C00ACAE45 /* AirshipContact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E78848E29B9643C00ACAE45 /* AirshipContact.swift */; };
6E7DB38328ECDC41002725F6 /* LiveActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7DB38228ECDC41002725F6 /* LiveActivity.swift */; };
6E7DB38E28ECFCED002725F6 /* AirshipJSONTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7DB38D28ECFCED002725F6 /* AirshipJSONTest.swift */; };
6E7DB39228ED0D7C002725F6 /* LiveActivityRegistryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7DB38A28ECDDD9002725F6 /* LiveActivityRegistryTest.swift */; };
6E7E770D2DDFD0D80042086D /* AirshipAsyncSemaphore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7E770C2DDFD0D80042086D /* AirshipAsyncSemaphore.swift */; };
6E7E770F2DDFD10A0042086D /* AirshipAsyncSemaphoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7E770E2DDFD1040042086D /* AirshipAsyncSemaphoreTest.swift */; };
6E7EACD12AF4192400DA286B /* AirshipCacheTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E7EACD02AF4192400DA286B /* AirshipCacheTest.swift */; };
6E82482229A6D9DF00136EA0 /* CancellableValueHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E82482129A6D9DF00136EA0 /* CancellableValueHolder.swift */; };
6E82483829A6E1BE00136EA0 /* AirshipCancellable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E82483729A6E1BE00136EA0 /* AirshipCancellable.swift */; };
6E8746492D8A3C71002469D7 /* TestSMSValidatorAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8746482D8A3C64002469D7 /* TestSMSValidatorAPIClient.swift */; };
6E87BD6426D594870005D20D /* ChannelRegistrationPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BD6326D594870005D20D /* ChannelRegistrationPayload.swift */; };
6E87BD6726D6A39A0005D20D /* AirshipConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BD6626D6A39A0005D20D /* AirshipConfig.swift */; };
6E87BD8326D757CA0005D20D /* CloudSite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BD8226D757CA0005D20D /* CloudSite.swift */; };
6E87BD8D26D815780005D20D /* AppIntegration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BD8C26D815780005D20D /* AppIntegration.swift */; };
6E87BD9226D963B60005D20D /* DefaultAppIntegrationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BD9126D963B60005D20D /* DefaultAppIntegrationDelegate.swift */; };
6E87BD9D26DD78CC0005D20D /* DefaultAppIntegrationDelegateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BD9C26DD78CC0005D20D /* DefaultAppIntegrationDelegateTest.swift */; };
6E87BD9F26DDDB250005D20D /* AppIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BD9E26DDDB250005D20D /* AppIntegrationTests.swift */; };
6E87BDBD26E01FF40005D20D /* ModuleLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BDBC26E01FF40005D20D /* ModuleLoader.swift */; };
6E87BE0126E283850005D20D /* Airship.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BDFD26E283840005D20D /* Airship.swift */; };
6E87BE0726E283850005D20D /* DeepLinkDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BE0026E283850005D20D /* DeepLinkDelegate.swift */; };
6E87BE1326E28F570005D20D /* AirshipInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BE1226E28F570005D20D /* AirshipInstance.swift */; };
6E87BE1626E29BC90005D20D /* TestAirshipInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BE1526E29BC90005D20D /* TestAirshipInstance.swift */; };
6E87BE1B26E2C59D0005D20D /* TestAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BE1726E2C5940005D20D /* TestAnalytics.swift */; };
6E88739A2763D8AB00AC248A /* AirshipImageProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8873992763D8AB00AC248A /* AirshipImageProvider.swift */; };
6E887CD1272C5E8400E83363 /* CheckboxState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E887CD0272C5E8400E83363 /* CheckboxState.swift */; };
6E887CD3272C5F5000E83363 /* Checkbox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E887CD2272C5F5000E83363 /* Checkbox.swift */; };
6E887CD5272C5F5A00E83363 /* CheckboxController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E887CD4272C5F5A00E83363 /* CheckboxController.swift */; };
6E892F2E2E7A193E00FB0EC4 /* PreferenceCenterContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E892F2D2E7A193200FB0EC4 /* PreferenceCenterContent.swift */; };
6E8932982E7B666000FB0EC4 /* APNSRegistrationResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8932972E7B665200FB0EC4 /* APNSRegistrationResult.swift */; };
6E89329A2E7B66C300FB0EC4 /* NotificationRegistrationResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8932992E7B66B600FB0EC4 /* NotificationRegistrationResult.swift */; };
6E8B4BF12888606D00AA336E /* ChannelTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B4BEF2888606400AA336E /* ChannelTest.swift */; };
6E8BDA172B62EC9F00711DB8 /* AutomationRemoteDataSubscriber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8BDA162B62EC9F00711DB8 /* AutomationRemoteDataSubscriber.swift */; };
6E8BDEFE2A67938200F816D9 /* FeatureFlagInfoTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8BDEFC2A67937E00F816D9 /* FeatureFlagInfoTest.swift */; };
6E8BDF012A679E5000F816D9 /* FeatureFlagRemoteDataAccessTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8BDEFF2A679CD100F816D9 /* FeatureFlagRemoteDataAccessTest.swift */; };
6E8BDF022A684FC700F816D9 /* TestRemoteData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B70426CE07180099C92D /* TestRemoteData.swift */; };
6E8CE762284137D600CF4B11 /* AirshipPushTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8CE761284137D600CF4B11 /* AirshipPushTest.swift */; };
6E916C572DB30DA200C676FA /* AirshipWindowFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E916C562DB30D9E00C676FA /* AirshipWindowFactory.swift */; };
6E91B43C26868A6300DDB1A8 /* CircularRegion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91B43B26868A6300DDB1A8 /* CircularRegion.swift */; };
6E91B44026868C3400DDB1A8 /* RegionEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91B43E26868C3400DDB1A8 /* RegionEvent.swift */; };
6E91B44226868C3400DDB1A8 /* ProximityRegion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91B43F26868C3400DDB1A8 /* ProximityRegion.swift */; };
6E91B4452686911B00DDB1A8 /* EventUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91B4442686911B00DDB1A8 /* EventUtils.swift */; };
6E91B4692689327D00DDB1A8 /* CustomEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91B4662689327D00DDB1A8 /* CustomEvent.swift */; };
6E91E43A28EF423400B6F25E /* WorkBackgroundTasks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91E42F28EF423300B6F25E /* WorkBackgroundTasks.swift */; };
6E91E43D28EF423400B6F25E /* WorkConditionsMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91E43028EF423300B6F25E /* WorkConditionsMonitor.swift */; };
6E91E44028EF423400B6F25E /* Worker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91E43128EF423300B6F25E /* Worker.swift */; };
6E91E44328EF423400B6F25E /* WorkRateLimiterActor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91E43228EF423300B6F25E /* WorkRateLimiterActor.swift */; };
6E91E44628EF423400B6F25E /* AirshipWorkManagerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91E43328EF423300B6F25E /* AirshipWorkManagerProtocol.swift */; };
6E91E44C28EF423400B6F25E /* AirshipWorkRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91E43528EF423300B6F25E /* AirshipWorkRequest.swift */; };
6E91E45228EF423400B6F25E /* AirshipWorkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91E43728EF423300B6F25E /* AirshipWorkManager.swift */; };
6E91E45828EF423400B6F25E /* AirshipWorkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E91E43928EF423400B6F25E /* AirshipWorkResult.swift */; };
6E92EC8A284933750038802D /* PromptPermissionAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E92EC89284933750038802D /* PromptPermissionAction.swift */; };
6E92EC8D2849378E0038802D /* PermissionPrompter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E92EC8C2849378E0038802D /* PermissionPrompter.swift */; };
6E92EC90284954B10038802D /* ButtonState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E92EC8F284954B10038802D /* ButtonState.swift */; };
6E92ECA1284A79AB0038802D /* PromptPermissionActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E92ECA0284A79AB0038802D /* PromptPermissionActionTest.swift */; };
6E92ECA5284A7A5C0038802D /* TestPermissionPrompter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E92ECA2284A7A2A0038802D /* TestPermissionPrompter.swift */; };
6E92ECA7284AC1120038802D /* EnableFeatureActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E92ECA6284AC1120038802D /* EnableFeatureActionTest.swift */; };
6E92ECAC284EA7DB0038802D /* AnalyticsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E92ECAB284EA7DA0038802D /* AnalyticsTest.swift */; };
6E92ECB1284ECE590038802D /* CachedList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E92ECB0284ECE590038802D /* CachedList.swift */; };
6E92ECB6284ED7330038802D /* CachedListTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E92ECB3284ED6F10038802D /* CachedListTest.swift */; };
6E938DBC2AC39A0500F691D9 /* FeatureFlagAnalyticsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E938DBB2AC39A0500F691D9 /* FeatureFlagAnalyticsTest.swift */; };
6E94760F29BA8FA30025F364 /* ContactManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E94760E29BA8FA30025F364 /* ContactManager.swift */; };
6E94761529BBC0240025F364 /* AirshipButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E94761429BBC0230025F364 /* AirshipButton.swift */; };
6E952920268A6C1500398B54 /* SearchEventTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E95291F268A6C1500398B54 /* SearchEventTemplate.swift */; };
6E952923268B812000398B54 /* AccountEventTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E952922268B812000398B54 /* AccountEventTemplate.swift */; };
6E952926268B8F6600398B54 /* AssociatedIdentifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E952925268B8F6500398B54 /* AssociatedIdentifiers.swift */; };
6E95292C268B98A200398B54 /* MediaEventTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E95292B268B98A200398B54 /* MediaEventTemplate.swift */; };
6E95292F268BBD7D00398B54 /* RetailEventTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E95292E268BBD7D00398B54 /* RetailEventTemplate.swift */; };
6E96ECF2293EB7900053CC91 /* AirshipEventData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ECF1293EB7900053CC91 /* AirshipEventData.swift */; };
6E96ECF6293FCE080053CC91 /* EventUploadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ECF5293FCE080053CC91 /* EventUploadScheduler.swift */; };
6E96ECFA293FDDD90053CC91 /* AirshipSDKExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ECF9293FDDD90053CC91 /* AirshipSDKExtension.swift */; };
6E96ED02294115210053CC91 /* AsyncStream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ED01294115210053CC91 /* AsyncStream.swift */; };
6E96ED0A294135500053CC91 /* EventManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ED09294135500053CC91 /* EventManager.swift */; };
6E96ED0E29416E820053CC91 /* EventManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ED0D29416E820053CC91 /* EventManagerTest.swift */; };
6E96ED1029416E8F0053CC91 /* EventAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ED0F29416E8F0053CC91 /* EventAPIClientTest.swift */; };
6E96ED1229416E990053CC91 /* EventSchedulerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ED1129416E990053CC91 /* EventSchedulerTest.swift */; };
6E96ED1429417A600053CC91 /* EventStoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ED1329417A600053CC91 /* EventStoreTest.swift */; };
6E96ED16294197D90053CC91 /* EventUploadTuningInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ED15294197D90053CC91 /* EventUploadTuningInfo.swift */; };
6E96ED1A2941A0EC0053CC91 /* EventTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E96ED192941A0EC0053CC91 /* EventTestUtils.swift */; };
6E9752562A5F79E200E67B1A /* ExperimentTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9752552A5F79E200E67B1A /* ExperimentTest.swift */; };
6E97D6AD2D84B1660001CF7F /* ThomasFormStateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E97D6AC2D84B1610001CF7F /* ThomasFormStateTest.swift */; };
6E97D6AF2D84B17D0001CF7F /* ThomasFormDataCollectorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E97D6AE2D84B1780001CF7F /* ThomasFormDataCollectorTest.swift */; };
6E97D6B12D84B18E0001CF7F /* ThomasFormDataCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E97D6B02D84B1890001CF7F /* ThomasFormDataCollector.swift */; };
6E97D6B42D84B1D70001CF7F /* ThomasStateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E97D6B32D84B1D10001CF7F /* ThomasStateTest.swift */; };
6E97D6B62D84B2350001CF7F /* ThomasFormFieldTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E97D6B52D84B2330001CF7F /* ThomasFormFieldTest.swift */; };
6E986EE42B448D3C00FBE6A0 /* AutomationEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E986EE32B448D3C00FBE6A0 /* AutomationEngine.swift */; };
6E986EF92B44D41E00FBE6A0 /* InAppAutomation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E986EF82B44D41E00FBE6A0 /* InAppAutomation.swift */; };
6E986EFB2B44D48C00FBE6A0 /* InAppMessaging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E986EFA2B44D48C00FBE6A0 /* InAppMessaging.swift */; };
6E986F062B47319E00FBE6A0 /* DeferredScheduleResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E986F052B47319E00FBE6A0 /* DeferredScheduleResult.swift */; };
6E986F0E2B473EC700FBE6A0 /* AutomationRemoteDataAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E986F0D2B473EC700FBE6A0 /* AutomationRemoteDataAccess.swift */; };
6E9B4874288F0CE000C905B1 /* RateAppAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9B4873288F0CE000C905B1 /* RateAppAction.swift */; };
6E9B4878288F360C00C905B1 /* RateAppActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9B4877288F360C00C905B1 /* RateAppActionTest.swift */; };
6E9B488B2891962000C905B1 /* PreferenceCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9B488A2891962000C905B1 /* PreferenceCenterView.swift */; };
6E9B488D2891B43F00C905B1 /* LabeledSectionBreakView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9B488C2891B43F00C905B1 /* LabeledSectionBreakView.swift */; };
6E9B488F2891B57300C905B1 /* CommonSectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9B488E2891B57300C905B1 /* CommonSectionView.swift */; };
6E9B48912891B68C00C905B1 /* PreferenceCenterAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9B48902891B68B00C905B1 /* PreferenceCenterAlertView.swift */; };
6E9B48932891B6A700C905B1 /* ChannelSubscriptionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9B48922891B6A700C905B1 /* ChannelSubscriptionView.swift */; };
6E9B48952891B6B400C905B1 /* ContactSubscriptionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9B48942891B6B400C905B1 /* ContactSubscriptionView.swift */; };
6E9B48972891B6BF00C905B1 /* ContactSubscriptionGroupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9B48962891B6BF00C905B1 /* ContactSubscriptionGroupView.swift */; };
6E9C2B7D2D014438000089A9 /* APNSEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9C2B7C2D014426000089A9 /* APNSEnvironment.swift */; };
6E9C2BD02D02321D000089A9 /* RuntimeConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9C2BCF2D023216000089A9 /* RuntimeConfig.swift */; };
6E9C2BD32D02683D000089A9 /* RuntimeConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9C2BCF2D023216000089A9 /* RuntimeConfig.swift */; };
6E9C2BD42D02683D000089A9 /* RuntimeConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9C2BCF2D023216000089A9 /* RuntimeConfig.swift */; };
6E9C2BD52D02683D000089A9 /* RuntimeConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9C2BCF2D023216000089A9 /* RuntimeConfig.swift */; };
6E9C2BD62D02683D000089A9 /* RuntimeConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9C2BCF2D023216000089A9 /* RuntimeConfig.swift */; };
6E9C2BD72D0269AE000089A9 /* TestAirshipRequestSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A467F28EF4FAF00A25617 /* TestAirshipRequestSession.swift */; };
6E9C2BD82D0269AE000089A9 /* TestAirshipRequestSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E4A467F28EF4FAF00A25617 /* TestAirshipRequestSession.swift */; };
6E9C2BDA2D027B5F000089A9 /* AirshipAppCredentials.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9C2BD92D027B5A000089A9 /* AirshipAppCredentials.swift */; };
6E9C2BDC2D028034000089A9 /* APNSEnvironmentTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9C2BDB2D028030000089A9 /* APNSEnvironmentTest.swift */; };
6E9D529826C195F7004EA16B /* ActionRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D529726C195F7004EA16B /* ActionRunner.swift */; };
6E9D529B26C1A77C004EA16B /* ActionRegistry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D529A26C1A77C004EA16B /* ActionRegistry.swift */; };
6EA5202327D1364E003011CA /* AirshipDateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EA5202227D1364E003011CA /* AirshipDateFormatter.swift */; };
6EAA61492D5297A7006602F7 /* SubjectExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EAA61482D5297A2006602F7 /* SubjectExtension.swift */; };
6EAC295A27580063006DFA63 /* ChannelRegistrarTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EAC295927580063006DFA63 /* ChannelRegistrarTest.swift */; };
6EAD3AF82F45305E00FF274E /* AirshipSwizzler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EAD3AF72F45305B00FF274E /* AirshipSwizzler.swift */; };
6EAD3AFA2F4530BE00FF274E /* AutoIntegration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EAD3AF92F4530AD00FF274E /* AutoIntegration.swift */; };
6EAD3AFC2F4530F600FF274E /* UAAppIntegrationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EAD3AFB2F4530E400FF274E /* UAAppIntegrationDelegate.swift */; };
6EAD7CE526B216DB00B88EA7 /* DeepLinkAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EAD7CE426B216DB00B88EA7 /* DeepLinkAction.swift */; };
6EB11C872697ACBF00DC698F /* ContactOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB11C862697ACBF00DC698F /* ContactOperation.swift */; };
6EB11C892697AF5600DC698F /* TagGroupUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB11C882697AF5600DC698F /* TagGroupUpdate.swift */; };
6EB11C8B2697AFC700DC698F /* AttributeUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB11C8A2697AFC700DC698F /* AttributeUpdate.swift */; };
6EB11C8D2698C50F00DC698F /* AudienceUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB11C8C2698C50F00DC698F /* AudienceUtils.swift */; };
6EB1B3F326EAA4D6000421B9 /* ChannelAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698E11267A98AB00654DB2 /* ChannelAPIClient.swift */; };
6EB214D22E7DBA61001A5660 /* FeatureFlagManagerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB214D12E7DBA5E001A5660 /* FeatureFlagManagerProtocol.swift */; };
6EB21A682E81BB6E001A5660 /* AirshipDebugAddEmailChannelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A4C2E81BB6E001A5660 /* AirshipDebugAddEmailChannelView.swift */; };
6EB21A692E81BB6E001A5660 /* AirshipDebugChannelTagView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A412E81BB6E001A5660 /* AirshipDebugChannelTagView.swift */; };
6EB21A6A2E81BB6E001A5660 /* AirshipDebugAutomationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A3E2E81BB6E001A5660 /* AirshipDebugAutomationsView.swift */; };
6EB21A6B2E81BB6E001A5660 /* AirshipDebugFeatureFlagDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A532E81BB6E001A5660 /* AirshipDebugFeatureFlagDetailsView.swift */; };
6EB21A6C2E81BB6E001A5660 /* AirshipDebugExperimentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A3C2E81BB6E001A5660 /* AirshipDebugExperimentsView.swift */; };
6EB21A6D2E81BB6E001A5660 /* AirshipDebugExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A452E81BB6E001A5660 /* AirshipDebugExtensions.swift */; };
6EB21A6E2E81BB6E001A5660 /* AirshipDebugAddEventView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A342E81BB6E001A5660 /* AirshipDebugAddEventView.swift */; };
6EB21A6F2E81BB6E001A5660 /* AirshipDebugPushDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A5D2E81BB6E001A5660 /* AirshipDebugPushDetailsView.swift */; };
6EB21A702E81BB6E001A5660 /* AirshipDebugView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A662E81BB6E001A5660 /* AirshipDebugView.swift */; };
6EB21A712E81BB6E001A5660 /* AirshipDebugAddSMSChannelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A4E2E81BB6E001A5660 /* AirshipDebugAddSMSChannelView.swift */; };
6EB21A722E81BB6E001A5660 /* AirshipJSONDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A472E81BB6E001A5660 /* AirshipJSONDetailsView.swift */; };
6EB21A732E81BB6E001A5660 /* AirshipDebugAnalyticIdentifierEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A352E81BB6E001A5660 /* AirshipDebugAnalyticIdentifierEditorView.swift */; };
6EB21A742E81BB6E001A5660 /* AirshipDebugContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A642E81BB6E001A5660 /* AirshipDebugContentView.swift */; };
6EB21A752E81BB6E001A5660 /* AirshipDebugRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A652E81BB6E001A5660 /* AirshipDebugRoute.swift */; };
6EB21A772E81BB6E001A5660 /* AirshipDebugPreferencCenterItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A572E81BB6E001A5660 /* AirshipDebugPreferencCenterItemView.swift */; };
6EB21A792E81BB6E001A5660 /* AirshipDebugAttributesEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A442E81BB6E001A5660 /* AirshipDebugAttributesEditorView.swift */; };
6EB21A7A2E81BB6E001A5660 /* AirshipToast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A492E81BB6E001A5660 /* AirshipToast.swift */; };
6EB21A7B2E81BB6E001A5660 /* AirshipDebugFeatureFlagView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A552E81BB6E001A5660 /* AirshipDebugFeatureFlagView.swift */; };
6EB21A7C2E81BB6E001A5660 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A4A2E81BB6E001A5660 /* Extensions.swift */; };
6EB21A7D2E81BB6E001A5660 /* AirshipDebugTagGroupsEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A462E81BB6E001A5660 /* AirshipDebugTagGroupsEditorView.swift */; };
6EB21A7E2E81BB6E001A5660 /* AirshipDebugAppInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A3A2E81BB6E001A5660 /* AirshipDebugAppInfoView.swift */; };
6EB21A7F2E81BB6E001A5660 /* AirshipDebugEventDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A372E81BB6E001A5660 /* AirshipDebugEventDetailsView.swift */; };
6EB21A802E81BB6E001A5660 /* AirshipDebugPrivacyManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A5B2E81BB6E001A5660 /* AirshipDebugPrivacyManagerView.swift */; };
6EB21A812E81BB6E001A5660 /* AirshipDebugEventsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A382E81BB6E001A5660 /* AirshipDebugEventsView.swift */; };
6EB21A822E81BB6E001A5660 /* AirshipDebugContactSubscriptionEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A4F2E81BB6E001A5660 /* AirshipDebugContactSubscriptionEditorView.swift */; };
6EB21A832E81BB6E001A5660 /* AirshipDebugPreferenceCenterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A582E81BB6E001A5660 /* AirshipDebugPreferenceCenterView.swift */; };
6EB21A842E81BB6E001A5660 /* AirshipDebugAnalyticsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A362E81BB6E001A5660 /* AirshipDebugAnalyticsView.swift */; };
6EB21A852E81BB6E001A5660 /* AirshipDebugReceivedPushView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A5F2E81BB6E001A5660 /* AirshipDebugReceivedPushView.swift */; };
6EB21A862E81BB6E001A5660 /* AirshipDebugPushView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A5E2E81BB6E001A5660 /* AirshipDebugPushView.swift */; };
6EB21A872E81BB6E001A5660 /* AirshipDebugNamedUserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A512E81BB6E001A5660 /* AirshipDebugNamedUserView.swift */; };
6EB21A882E81BB6E001A5660 /* AirshipJSONView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A482E81BB6E001A5660 /* AirshipJSONView.swift */; };
6EB21A892E81BB6E001A5660 /* AirshipDebugChannelSubscriptionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A402E81BB6E001A5660 /* AirshipDebugChannelSubscriptionsView.swift */; };
6EB21A8A2E81BB6E001A5660 /* AirshipDebugInAppExperiencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A3D2E81BB6E001A5660 /* AirshipDebugInAppExperiencesView.swift */; };
6EB21A8B2E81BB6E001A5660 /* TVSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A622E81BB6E001A5660 /* TVSlider.swift */; };
6EB21A8C2E81BB6E001A5660 /* TVDatePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A612E81BB6E001A5660 /* TVDatePicker.swift */; };
6EB21A8D2E81BB6E001A5660 /* AirshipDebugChannelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A422E81BB6E001A5660 /* AirshipDebugChannelView.swift */; };
6EB21A8E2E81BB6E001A5660 /* AirshipDebugContactView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A502E81BB6E001A5660 /* AirshipDebugContactView.swift */; };
6EB21A8F2E81BB6E001A5660 /* AirshipDebugAddOpenChannelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A4D2E81BB6E001A5660 /* AirshipDebugAddOpenChannelView.swift */; };
6EB21A912E81BFC1001A5660 /* AirshipDebugAddPropertyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A902E81BFB9001A5660 /* AirshipDebugAddPropertyView.swift */; };
6EB21A932E81C7AB001A5660 /* AirshipDebugAddStringPropertyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21A922E81C7A2001A5660 /* AirshipDebugAddStringPropertyView.swift */; };
6EB21AFC2E8216A4001A5660 /* AirshipoDebugTriggers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21AFB2E82169F001A5660 /* AirshipoDebugTriggers.swift */; };
6EB21B5F2E82FE9F001A5660 /* AirshipDebugAudienceSubject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB21B5E2E82FE98001A5660 /* AirshipDebugAudienceSubject.swift */; };
6EB3FCEF2ABCFA680018594E /* RemoteDataProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB3FCEE2ABCFA680018594E /* RemoteDataProtocol.swift */; };
6EB5156E28A42B5800870C5A /* AirshipPreferenceCenterResources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB5156D28A42B5800870C5A /* AirshipPreferenceCenterResources.swift */; };
6EB5157128A4608C00870C5A /* PreferenceCenterViewControllerFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB5157028A4608C00870C5A /* PreferenceCenterViewControllerFactory.swift */; };
6EB5158128A47BD700870C5A /* SubscriptionListEdit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB5158028A47BD700870C5A /* SubscriptionListEdit.swift */; };
6EB5158328A47C7100870C5A /* ScopedSubscriptionListEdit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB5158228A47C7100870C5A /* ScopedSubscriptionListEdit.swift */; };
6EB5159228A5B1B400870C5A /* TestLegacyTheme.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6EB5159128A5B1B400870C5A /* TestLegacyTheme.plist */; };
6EB5159428A5B8E900870C5A /* TestTheme.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6EB5159328A5B8E900870C5A /* TestTheme.plist */; };
6EB5159528A5B96300870C5A /* PreferenceThemeLoaderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB5158E28A5B15C00870C5A /* PreferenceThemeLoaderTest.swift */; };
6EB5159728A5C54400870C5A /* TestThemeEmpty.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6EB5159628A5C54400870C5A /* TestThemeEmpty.plist */; };
6EB5159928A5C61D00870C5A /* TestThemeInvalid.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6EB5159828A5C61D00870C5A /* TestThemeInvalid.plist */; };
6EB515A328A5F1C600870C5A /* PreferenceCenterStateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB515A228A5F1C600870C5A /* PreferenceCenterStateTest.swift */; };
6EB839472BC83B9D006611C4 /* DefaultInAppActionRunnerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB839452BC83B96006611C4 /* DefaultInAppActionRunnerTest.swift */; };
6EB839492BC8898E006611C4 /* AirshipAsyncChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB839482BC8898E006611C4 /* AirshipAsyncChannel.swift */; };
6EB8394C2BC8AB51006611C4 /* TestWorkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A63A567528F449D8004B8951 /* TestWorkManager.swift */; };
6EB8394E2BC8B1F4006611C4 /* AirshipAsyncChannelTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EB8394D2BC8B1F4006611C4 /* AirshipAsyncChannelTest.swift */; };
6EBD12052DA73FDA00F678AB /* ValidatableHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EBD12042DA73FD300F678AB /* ValidatableHelper.swift */; };
6EBFA9AD2D15DA73002BA3E9 /* HashChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EBFA9AC2D15DA70002BA3E9 /* HashChecker.swift */; };
6EBFA9AF2D15E04D002BA3E9 /* AirshipDeviceAudienceResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EBFA9AE2D15E04B002BA3E9 /* AirshipDeviceAudienceResult.swift */; };
6EBFA9B12D15F499002BA3E9 /* HashCheckerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EBFA9B02D15F491002BA3E9 /* HashCheckerTest.swift */; };
6EC0CA4F2B48987700333A87 /* AutomationRemoteDataAccessTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA4E2B48987700333A87 /* AutomationRemoteDataAccessTest.swift */; };
6EC0CA502B4899CC00333A87 /* TestRemoteData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E15B70426CE07180099C92D /* TestRemoteData.swift */; };
6EC0CA512B4899DB00333A87 /* TestNetworkMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6ED171268448EC00A2CBD0 /* TestNetworkMonitor.swift */; };
6EC0CA532B48A2C300333A87 /* AutomationAudience.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA522B48A2C300333A87 /* AutomationAudience.swift */; };
6EC0CA562B48B05600333A87 /* ActionAutomationExecutorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA542B48B05000333A87 /* ActionAutomationExecutorTest.swift */; };
6EC0CA5C2B48C2F500333A87 /* AutomationPreparer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA5B2B48C2F500333A87 /* AutomationPreparer.swift */; };
6EC0CA682B49287100333A87 /* AutomationExecutor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA672B49287100333A87 /* AutomationExecutor.swift */; };
6EC0CA6B2B4B698000333A87 /* AutomationExecutorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA6A2B4B698000333A87 /* AutomationExecutorTest.swift */; };
6EC0CA6D2B4B879800333A87 /* AutomationPreparerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA6C2B4B879800333A87 /* AutomationPreparerTest.swift */; };
6EC0CA6F2B4B893500333A87 /* TestDeferredResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA6E2B4B893500333A87 /* TestDeferredResolver.swift */; };
6EC0CA702B4B895A00333A87 /* TestDeferredResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA6E2B4B893500333A87 /* TestDeferredResolver.swift */; };
6EC0CA722B4B897B00333A87 /* TestExperimentDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA712B4B897B00333A87 /* TestExperimentDataProvider.swift */; };
6EC0CA732B4B897B00333A87 /* TestExperimentDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA712B4B897B00333A87 /* TestExperimentDataProvider.swift */; };
6EC0CA762B4B8A3A00333A87 /* TestRemoteDataAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA752B4B8A3A00333A87 /* TestRemoteDataAccess.swift */; };
6EC0CA782B4B8A4700333A87 /* TestFrequencyLimitsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA772B4B8A4700333A87 /* TestFrequencyLimitsManager.swift */; };
6EC0CA792B4B8C2B00333A87 /* TestAudienceChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E2F5AB62A675ADC00CABD3D /* TestAudienceChecker.swift */; };
6EC0CA812B4C812A00333A87 /* DisplayAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC0CA802B4C812A00333A87 /* DisplayAdapter.swift */; };
6EC755992A4E115400851ABB /* DeviceAudienceSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC755982A4E115400851ABB /* DeviceAudienceSelector.swift */; };
6EC7559B2A4E129000851ABB /* DeviceTagSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7559A2A4E129000851ABB /* DeviceTagSelector.swift */; };
6EC7559F2A4E5AB200851ABB /* DeviceAudienceChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7559E2A4E5AB200851ABB /* DeviceAudienceChecker.swift */; };
6EC755AF2A4FCD8800851ABB /* AudienceHashSelectorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC755AE2A4FCD8800851ABB /* AudienceHashSelectorTest.swift */; };
6EC7E46E269E2A4C0038CFDD /* AttributeEditorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E46D269E2A4C0038CFDD /* AttributeEditorTest.swift */; };
6EC7E470269E33290038CFDD /* TagGroupsEditorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E46F269E33290038CFDD /* TagGroupsEditorTest.swift */; };
6EC7E472269E51030038CFDD /* AttributeUpdateTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E471269E51030038CFDD /* AttributeUpdateTest.swift */; };
6EC7E474269E52600038CFDD /* ContactOperationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E473269E52600038CFDD /* ContactOperationTest.swift */; };
6EC7E47626A5EE910038CFDD /* AudienceUtilsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E47526A5EE910038CFDD /* AudienceUtilsTest.swift */; };
6EC7E47826A604080038CFDD /* AirshipContactTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E47726A604080038CFDD /* AirshipContactTest.swift */; };
6EC7E48226A60C060038CFDD /* AirshipChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E48126A60C060038CFDD /* AirshipChannel.swift */; };
6EC7E48526A60CDF0038CFDD /* TestChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E48426A60CDF0038CFDD /* TestChannel.swift */; };
6EC7E48726A60DD60038CFDD /* TestContactAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E48626A60DD60038CFDD /* TestContactAPIClient.swift */; };
6EC7E48D26A738C80038CFDD /* ContactConflictEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC7E48C26A738C70038CFDD /* ContactConflictEvent.swift */; };
6EC815AF2F2BBFD500E1C0C6 /* BundleExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC815AE2F2BBFD100E1C0C6 /* BundleExtensions.swift */; };
6EC81D032F2D445500E1C0C6 /* UAInboxDataMappingV1toV4.xcmappingmodel in Sources */ = {isa = PBXBuildFile; fileRef = 6EC81D022F2D445500E1C0C6 /* UAInboxDataMappingV1toV4.xcmappingmodel */; };
6EC81D052F2D448B00E1C0C6 /* UAInboxDataMappingV2toV4.xcmappingmodel in Sources */ = {isa = PBXBuildFile; fileRef = 6EC81D042F2D448B00E1C0C6 /* UAInboxDataMappingV2toV4.xcmappingmodel */; };
6EC81D082F2D44D700E1C0C6 /* UAInboxDataMappingV3toV4.xcmappingmodel in Sources */ = {isa = PBXBuildFile; fileRef = 6EC81D072F2D44D700E1C0C6 /* UAInboxDataMappingV3toV4.xcmappingmodel */; };
6EC824A02F33A4DD00E1C0C6 /* MessageDisplayHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC8249F2F33A4DD00E1C0C6 /* MessageDisplayHistory.swift */; };
6EC824A22F33A5EC00E1C0C6 /* MessageCenterThemeLoaderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC824A12F33A5EC00E1C0C6 /* MessageCenterThemeLoaderTest.swift */; };
6EC824A42F33A5F600E1C0C6 /* MessageCenterMessageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC824A32F33A5F600E1C0C6 /* MessageCenterMessageTest.swift */; };
6EC9214E2D82144A000A3A59 /* ThomasFormField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC9214D2D82144A000A3A59 /* ThomasFormField.swift */; };
6EC922E12D832BB8000A3A59 /* ThomasFormFieldProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC922E02D832BAF000A3A59 /* ThomasFormFieldProcessor.swift */; };
6EC922E32D838DFF000A3A59 /* ThomasFormPayloadGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC922E22D838DFA000A3A59 /* ThomasFormPayloadGenerator.swift */; };
6ECB627C2A369F5B0095C85C /* OpenExternalURLActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECB627B2A369F5B0095C85C /* OpenExternalURLActionTest.swift */; };
6ECB627E2A36A0770095C85C /* ExternalURLProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECB627D2A36A0770095C85C /* ExternalURLProcessor.swift */; };
6ECB62822A36A45F0095C85C /* TestURLOpener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECB62812A36A45F0095C85C /* TestURLOpener.swift */; };
6ECB62842A36A7510095C85C /* DeepLinkActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECB62832A36A7510095C85C /* DeepLinkActionTest.swift */; };
6ECB62862A36C1EE0095C85C /* NativeBridgeActionHandlerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECB62852A36C1EE0095C85C /* NativeBridgeActionHandlerTest.swift */; };
6ECD4F6D2DD7A7060060EE72 /* RadioInputToggleLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECD4F6C2DD7A7060060EE72 /* RadioInputToggleLayout.swift */; };
6ECD4F6F2DD7A7090060EE72 /* CheckboxToggleLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECD4F6E2DD7A7090060EE72 /* CheckboxToggleLayout.swift */; };
6ECD4F712DD7A7CD0060EE72 /* ToggleLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECD4F702DD7A7C90060EE72 /* ToggleLayout.swift */; };
6ECDDE6C29B7EEE9009D79DB /* AuthToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECDDE6B29B7EEE9009D79DB /* AuthToken.swift */; };
6ECDDE7429B80462009D79DB /* ChannelAuthTokenProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECDDE7329B80462009D79DB /* ChannelAuthTokenProvider.swift */; };
6ECDDE7929B804FB009D79DB /* ChannelAuthTokenAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ECDDE7829B804FB009D79DB /* ChannelAuthTokenAPIClient.swift */; };
6ED040EB278B5D7C00FCF773 /* ThomasFormPayloadGeneratorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED040EA278B5D7C00FCF773 /* ThomasFormPayloadGeneratorTest.swift */; };
6ED2F5252B7EE648000AFC80 /* AirshipBase64Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED2F5242B7EE648000AFC80 /* AirshipBase64Test.swift */; };
6ED2F5272B7EE82B000AFC80 /* AirshipJSONUtilsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED2F5262B7EE82B000AFC80 /* AirshipJSONUtilsTest.swift */; };
6ED2F5292B7FC59F000AFC80 /* AirshipColorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED2F5282B7FC59F000AFC80 /* AirshipColorTests.swift */; };
6ED2F52B2B7FC5C8000AFC80 /* AirshipIvyVersionMatcherTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED2F52A2B7FC5C8000AFC80 /* AirshipIvyVersionMatcherTest.swift */; };
6ED2F52D2B7FD403000AFC80 /* JavaScriptCommandTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED2F52C2B7FD403000AFC80 /* JavaScriptCommandTest.swift */; };
6ED2F52F2B7FD49B000AFC80 /* AirshipURLAllowListTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED2F52E2B7FD49B000AFC80 /* AirshipURLAllowListTest.swift */; };
6ED2F5312B7FF819000AFC80 /* AirshipViewUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED2F5302B7FF819000AFC80 /* AirshipViewUtils.swift */; };
6ED2F5382B7FFCEB000AFC80 /* AirshipDateFormatterTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED2F5342B7FFCD7000AFC80 /* AirshipDateFormatterTest.swift */; };
6ED2F5392B7FFF68000AFC80 /* AirshipSceneManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99D1B3272B44F08900447840 /* AirshipSceneManager.swift */; };
6ED562A02EA9434B00C20B55 /* StackImageButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED5629F2EA9434900C20B55 /* StackImageButton.swift */; };
6ED6ECA426ADCA6F00973364 /* BlockAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED6ECA326ADCA6F00973364 /* BlockAction.swift */; };
6ED6ECA726AE05B700973364 /* EmptyAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED6ECA626AE05B700973364 /* EmptyAction.swift */; };
6ED735DA26C73DC5003B0A7D /* DefaultAirshipChannel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED735D926C73DC5003B0A7D /* DefaultAirshipChannel.swift */; };
6ED735DD26C7401D003B0A7D /* TagEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED735DC26C7401D003B0A7D /* TagEditor.swift */; };
6ED735E026C74321003B0A7D /* TagEditorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED735DF26C74321003B0A7D /* TagEditorTest.swift */; };
6ED735E226CAE2D7003B0A7D /* TestChannelRegistrar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED735E126CAE2D7003B0A7D /* TestChannelRegistrar.swift */; };
6ED735E426CAE8AA003B0A7D /* TestChannelAudienceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED735E326CAE8AA003B0A7D /* TestChannelAudienceManager.swift */; };
6ED735E626CAEABC003B0A7D /* TestLocaleManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED735E526CAEABC003B0A7D /* TestLocaleManager.swift */; };
6ED7BE602D13D9E300B6A124 /* TestCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED7BE5F2D13D9E300B6A124 /* TestCache.swift */; };
6ED7BE612D13D9E300B6A124 /* TestCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED7BE5F2D13D9E300B6A124 /* TestCache.swift */; };
6ED7BE632D13D9FE00B6A124 /* FeatureFlagResultCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED7BE622D13D9FE00B6A124 /* FeatureFlagResultCache.swift */; };
6ED7BE652D13DA0400B6A124 /* FeatureFlagResultCacheTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED7BE642D13DA0400B6A124 /* FeatureFlagResultCacheTest.swift */; };
6ED80793273CA0C800D1F455 /* EnvironmentValues.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED80792273CA0C800D1F455 /* EnvironmentValues.swift */; };
6ED8079A273DA56000D1F455 /* ThomasViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED80799273DA56000D1F455 /* ThomasViewController.swift */; };
6ED838AB2D0CE9D6009CBB0C /* CompoundDeviceAudienceSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED838AA2D0CE9D6009CBB0C /* CompoundDeviceAudienceSelector.swift */; };
6ED838AD2D0CEF4A009CBB0C /* CompoundDeviceAudienceSelectorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED838AC2D0CEF4A009CBB0C /* CompoundDeviceAudienceSelectorTest.swift */; };
6ED838D02D0D118B009CBB0C /* AutomationCompoundAudience.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED838CF2D0D118B009CBB0C /* AutomationCompoundAudience.swift */; };
6EDAFB262CB463C5000BD4AA /* ButtonLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDAFB252CB463C1000BD4AA /* ButtonLayout.swift */; };
6EDE293F2A9802BF00235738 /* NativeBridgeActionRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDE293E2A9802BF00235738 /* NativeBridgeActionRunner.swift */; };
6EDE5F192B9BD7E700E33D04 /* InboxMessageData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDE5F182B9BD7E700E33D04 /* InboxMessageData.swift */; };
6EDE5F4F2BA248FF00E33D04 /* TouchViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDE5F4E2BA248FF00E33D04 /* TouchViewModifier.swift */; };
6EDE5FC22BADDD96003ADF55 /* PreparedScheduleInfoTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDE5FC12BADDD96003ADF55 /* PreparedScheduleInfoTest.swift */; };
6EDF1D932B292FB100E23BC4 /* InAppMessageTextInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDF1D922B292FB000E23BC4 /* InAppMessageTextInfo.swift */; };
6EDF1D962B2A25B400E23BC4 /* InAppMessageButtonInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDF1D952B2A25B400E23BC4 /* InAppMessageButtonInfo.swift */; };
6EDF1D982B2A25C800E23BC4 /* InAppMessageMediaInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDF1D972B2A25C800E23BC4 /* InAppMessageMediaInfo.swift */; };
6EDF1D9C2B2A287A00E23BC4 /* InAppMessageButtonLayoutType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDF1D9B2B2A287A00E23BC4 /* InAppMessageButtonLayoutType.swift */; };
6EDF1D9E2B2A2A5900E23BC4 /* InAppMessageDisplayContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDF1D9D2B2A2A5900E23BC4 /* InAppMessageDisplayContent.swift */; };
6EDF1DA42B2A2C6F00E23BC4 /* InAppMessageColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDF1DA32B2A2C6F00E23BC4 /* InAppMessageColor.swift */; };
6EDF1DA62B2A300100E23BC4 /* InAppMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDF1DA52B2A300100E23BC4 /* InAppMessage.swift */; };
6EDF1DAD2B2A73FC00E23BC4 /* InAppMessageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDF1DAA2B2A6D9900E23BC4 /* InAppMessageTest.swift */; };
6EDF1DB82B2BB2B800E23BC4 /* RetryingQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDF1DB72B2BB2B800E23BC4 /* RetryingQueue.swift */; };
6EDFBBC32F5780BC0043D9EF /* BasementImport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDFBBC22F5780BA0043D9EF /* BasementImport.swift */; };
6EDFBBC42F5780EA0043D9EF /* AirshipLogHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF1933B2838062B005F192A /* AirshipLogHandler.swift */; };
6EDFBBC52F5780EA0043D9EF /* AirshipLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E698DEA26790AC300654DB2 /* AirshipLogger.swift */; };
6EDFBBC62F5780EA0043D9EF /* AirshipLogPrivacyLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E524CC22C180A39002CA094 /* AirshipLogPrivacyLevel.swift */; };
6EDFBBC72F5780EA0043D9EF /* DefaultLogHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF1933D28380644005F192A /* DefaultLogHandler.swift */; };
6EDFBBC82F5780EA0043D9EF /* LogLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E87BDFE26E283840005D20D /* LogLevel.swift */; };
6EE49BDD2A09AD3600AB1CF4 /* AirshipNotificationStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE49BDC2A09AD3600AB1CF4 /* AirshipNotificationStatus.swift */; };
6EE49BE12A0AADC900AB1CF4 /* AppRemoteDataProviderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE49BE02A0AADC900AB1CF4 /* AppRemoteDataProviderDelegate.swift */; };
6EE49C082A0BE9F600AB1CF4 /* RemoteDataURLFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE49C072A0BE9F600AB1CF4 /* RemoteDataURLFactory.swift */; };
6EE49C0C2A0C141800AB1CF4 /* RemoteDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE49C0B2A0C141800AB1CF4 /* RemoteDataSource.swift */; };
6EE49C102A0C142F00AB1CF4 /* RemoteDataInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE49C0F2A0C142F00AB1CF4 /* RemoteDataInfo.swift */; };
6EE49C182A0C3CC600AB1CF4 /* ContactRemoteDataProviderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE49C172A0C3CC600AB1CF4 /* ContactRemoteDataProviderDelegate.swift */; };
6EE49C1D2A0D9D8000AB1CF4 /* RemoteDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE49C1C2A0D9D8000AB1CF4 /* RemoteDataProvider.swift */; };
6EE49C222A13E32B00AB1CF4 /* RemoteDataProviderProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE49C212A13E32B00AB1CF4 /* RemoteDataProviderProtocol.swift */; };
6EE49C262A1446B100AB1CF4 /* RemoteDataTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE49C252A1446B100AB1CF4 /* RemoteDataTestUtils.swift */; };
6EE6AA132B4F3009002FEA75 /* InAppMessageAutomationPreparerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA112B4F3003002FEA75 /* InAppMessageAutomationPreparerTest.swift */; };
6EE6AA162B4F302D002FEA75 /* InAppMessageAutomationExecutorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA142B4F302A002FEA75 /* InAppMessageAutomationExecutorTest.swift */; };
6EE6AA1B2B4F3062002FEA75 /* DisplayCoordinatorManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA1A2B4F3062002FEA75 /* DisplayCoordinatorManagerTest.swift */; };
6EE6AA1C2B4F3066002FEA75 /* DisplayAdapterFactoryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA182B4F304B002FEA75 /* DisplayAdapterFactoryTest.swift */; };
6EE6AA1E2B4F31B1002FEA75 /* TestCachedAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA1D2B4F31B1002FEA75 /* TestCachedAssets.swift */; };
6EE6AA202B4F5246002FEA75 /* InAppMessageSceneManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA1F2B4F5246002FEA75 /* InAppMessageSceneManager.swift */; };
6EE6AA282B50C91E002FEA75 /* AutomationRemoteDataSubscriberTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA272B50C91E002FEA75 /* AutomationRemoteDataSubscriberTest.swift */; };
6EE6AA2A2B50C976002FEA75 /* TestAutomationEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA292B50C976002FEA75 /* TestAutomationEngine.swift */; };
6EE6AA2C2B51DB1E002FEA75 /* AutomationSourceInfoStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA2B2B51DB1E002FEA75 /* AutomationSourceInfoStore.swift */; };
6EE6AA382B572897002FEA75 /* AutomationSourceInfoStoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AA372B572897002FEA75 /* AutomationSourceInfoStoreTest.swift */; };
6EE6AAFF2B58AB66002FEA75 /* LegacyInAppAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AAFE2B58AB66002FEA75 /* LegacyInAppAnalytics.swift */; };
6EE6AB022B58B6E9002FEA75 /* LegacyInAppAnalyticsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AB002B58B5AE002FEA75 /* LegacyInAppAnalyticsTest.swift */; };
6EE6AB062B59C231002FEA75 /* AirshipLayoutDisplayAdapterTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AB052B59C231002FEA75 /* AirshipLayoutDisplayAdapterTest.swift */; };
6EE6AB092B59C236002FEA75 /* CustomDisplayAdapterWrapperTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6AB032B59C21A002FEA75 /* CustomDisplayAdapterWrapperTest.swift */; };
6EE7725B238F179300E79944 /* AirshipCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 494DD9571B0EB677009C134E /* AirshipCore.framework */; settings = {ATTRIBUTES = (Required, ); }; };
6EED67652CDEE7900087CDCB /* ThomasViewInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67632CDEE75D0087CDCB /* ThomasViewInfo.swift */; };
6EED676E2CDEE7EB0087CDCB /* ThomasPresentationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED676C2CDEE7E50087CDCB /* ThomasPresentationInfo.swift */; };
6EED67722CDEE8390087CDCB /* ThomasOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67702CDEE8370087CDCB /* ThomasOrientation.swift */; };
6EED67752CDEE8460087CDCB /* ThomasWindowSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67742CDEE8460087CDCB /* ThomasWindowSize.swift */; };
6EED677A2CDEE87D0087CDCB /* ThomasShadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67782CDEE8790087CDCB /* ThomasShadow.swift */; };
6EED677D2CDEE9040087CDCB /* ThomasSerializable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED677C2CDEE8FE0087CDCB /* ThomasSerializable.swift */; };
6EED67972CDEEA2E0087CDCB /* ThomasShapeInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67952CDEEA2B0087CDCB /* ThomasShapeInfo.swift */; };
6EED679C2CDEEA380087CDCB /* ThomasToggleStyleInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67992CDEEA380087CDCB /* ThomasToggleStyleInfo.swift */; };
6EED67A02CDEEAAB0087CDCB /* AirshipLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED679D2CDEEAA90087CDCB /* AirshipLayout.swift */; };
6EED67A22CE1A47C0087CDCB /* ThomasColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67A12CE1A4780087CDCB /* ThomasColor.swift */; };
6EED67A72CE1A5000087CDCB /* ThomasBorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67A52CE1A4FC0087CDCB /* ThomasBorder.swift */; };
6EED67AB2CE1A5D00087CDCB /* ThomasMarkdownOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67A92CE1A5CC0087CDCB /* ThomasMarkdownOptions.swift */; };
6EED67AE2CE1A6B90087CDCB /* ThomasPosition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67AD2CE1A6B70087CDCB /* ThomasPosition.swift */; };
6EED67B32CE1A8330087CDCB /* ThomasEventHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67B12CE1A8300087CDCB /* ThomasEventHandler.swift */; };
6EED67B62CE1B4420087CDCB /* ThomasTextAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67B52CE1B43C0087CDCB /* ThomasTextAppearance.swift */; };
6EED67BA2CE1B4E90087CDCB /* ThomasPlatform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67B92CE1B4E60087CDCB /* ThomasPlatform.swift */; };
6EED67C02CE1B5160087CDCB /* ThomasActionsPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67BD2CE1B5120087CDCB /* ThomasActionsPayload.swift */; };
6EED67C32CE1B5890087CDCB /* ThomasIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67C12CE1B5850087CDCB /* ThomasIcon.swift */; };
6EED67C82CE1B6020087CDCB /* ThomasMediaFit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67C52CE1B5FF0087CDCB /* ThomasMediaFit.swift */; };
6EED67E32CE268680087CDCB /* ThomasButtonTapEffect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67E22CE268630087CDCB /* ThomasButtonTapEffect.swift */; };
6EED67E82CE268BF0087CDCB /* ThomasButtonClickBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67E62CE268BB0087CDCB /* ThomasButtonClickBehavior.swift */; };
6EED67EB2CE269970087CDCB /* ThomasDirection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67EA2CE269930087CDCB /* ThomasDirection.swift */; };
6EED67F02CE26CA40087CDCB /* ThomasSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67EF2CE26CA10087CDCB /* ThomasSize.swift */; };
6EED67F62CE26CB80087CDCB /* ThomasConstrainedSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67F32CE26CB50087CDCB /* ThomasConstrainedSize.swift */; };
6EED67F82CE26CE40087CDCB /* ThomasSizeConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67F72CE26CE20087CDCB /* ThomasSizeConstraint.swift */; };
6EED67FC2CE26DB60087CDCB /* ThomasAttributeName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67FB2CE26DAF0087CDCB /* ThomasAttributeName.swift */; };
6EED68012CE26DCD0087CDCB /* ThomasAttributeValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED67FF2CE26DCA0087CDCB /* ThomasAttributeValue.swift */; };
6EED68042CE26E1A0087CDCB /* ThomasMargin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED68032CE26E180087CDCB /* ThomasMargin.swift */; };
6EED680A2CE26E550087CDCB /* ThomasAutomatedAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED68072CE26E510087CDCB /* ThomasAutomatedAction.swift */; };
6EED680D2CE2707F0087CDCB /* ThomasStateAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED680C2CE2707E0087CDCB /* ThomasStateAction.swift */; };
6EED68122CE271E50087CDCB /* ThomasEnableBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED68102CE271E10087CDCB /* ThomasEnableBehavior.swift */; };
6EED68162CE271F80087CDCB /* ThomasFormSubmitBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED68142CE271F30087CDCB /* ThomasFormSubmitBehavior.swift */; };
6EED68192CE272790087CDCB /* ThomasAutomatedAccessibilityAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED68182CE272710087CDCB /* ThomasAutomatedAccessibilityAction.swift */; };
6EED681D2CE274300087CDCB /* ThomasAccessibilityAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED681C2CE274290087CDCB /* ThomasAccessibilityAction.swift */; };
6EED68222CE2806D0087CDCB /* ThomasAccessibleInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED68202CE2806B0087CDCB /* ThomasAccessibleInfo.swift */; };
6EED68292CE28C9A0087CDCB /* ThomasVisibilityInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED68282CE28C960087CDCB /* ThomasVisibilityInfo.swift */; };
6EED682D2CE28CC10087CDCB /* ThomasValidationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED682C2CE28CBF0087CDCB /* ThomasValidationInfo.swift */; };
6EED68332CE28FAC0087CDCB /* ThomasConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED68302CE28FA70087CDCB /* ThomasConstants.swift */; };
6EED68E72CE3ECCB0087CDCB /* ThomasPropertyOverride.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EED68E42CE3ECC50087CDCB /* ThomasPropertyOverride.swift */; };
6EEE8BA2290B3EDE00230528 /* AirshipKeychainAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EEE8BA1290B3EDE00230528 /* AirshipKeychainAccess.swift */; };
6EF02DF02714EB500008B6C9 /* Thomas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF02DEF2714EB500008B6C9 /* Thomas.swift */; };
6EF13FFD2A16F390009A125D /* AirshipBaseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3299EF212949EC3E00251E70 /* AirshipBaseTest.swift */; };
6EF13FFE2A16F391009A125D /* AirshipBaseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3299EF212949EC3E00251E70 /* AirshipBaseTest.swift */; };
6EF1401B2A2671ED009A125D /* AirshipDeviceID.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF1401A2A2671ED009A125D /* AirshipDeviceID.swift */; };
6EF1401F2A268CE6009A125D /* TestKeychainAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF1401E2A268CE6009A125D /* TestKeychainAccess.swift */; };
6EF140212A269074009A125D /* AirshipDeviceIDTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF140202A269074009A125D /* AirshipDeviceIDTest.swift */; };
6EF1E9282CD005E4005EAA07 /* PagerUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF1E9252CD005E2005EAA07 /* PagerUtils.swift */; };
6EF1E92A2CD0069B005EAA07 /* PagerSwipeDirection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF1E9292CD00698005EAA07 /* PagerSwipeDirection.swift */; };
6EF27DD927306C9100548DA3 /* AirshipToggle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF27DD827306C9100548DA3 /* AirshipToggle.swift */; };
6EF27DE32730E6F900548DA3 /* RadioInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF27DE22730E6F900548DA3 /* RadioInputController.swift */; };
6EF27DE62730E77300548DA3 /* RadioInputState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF27DE52730E77300548DA3 /* RadioInputState.swift */; };
6EF27DE92730E85700548DA3 /* RadioInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF27DE82730E85700548DA3 /* RadioInput.swift */; };
6EF553E32B7EE40B00901A22 /* AirshipLocalizationUtilsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF553E22B7EE40B00901A22 /* AirshipLocalizationUtilsTest.swift */; };
6EF66D8D276461DA00ABCB76 /* UrlInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF66D8C276461DA00ABCB76 /* UrlInfo.swift */; };
6EF66D912769B69C00ABCB76 /* RootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EF66D902769B69C00ABCB76 /* RootView.swift */; };
6EFAFB78295525C3008AD187 /* ChannelAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFAFB77295525C3008AD187 /* ChannelAPIClientTest.swift */; };
6EFAFB7A295525CD008AD187 /* ChannelCaptureTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFAFB79295525CD008AD187 /* ChannelCaptureTest.swift */; };
6EFAFB7C295525DF008AD187 /* ChannelRegistrationPayloadTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFAFB7B295525DF008AD187 /* ChannelRegistrationPayloadTest.swift */; };
6EFAFB8229555174008AD187 /* FetchDeviceInfoActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFAFB8129555174008AD187 /* FetchDeviceInfoActionTest.swift */; };
6EFAFB8429561F23008AD187 /* ModifyAttributesActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFAFB8329561F23008AD187 /* ModifyAttributesActionTest.swift */; };
6EFAFB8A29562474008AD187 /* AddTagsActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFAFB8929562474008AD187 /* AddTagsActionTest.swift */; };
6EFAFB8C29562866008AD187 /* RemoveTagsActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFAFB8B29562866008AD187 /* RemoveTagsActionTest.swift */; };
6EFB7B342A14A0F400133115 /* RemoteDataProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFB7B322A14A0EC00133115 /* RemoteDataProviderTest.swift */; };
6EFD6D4B27272333005B26F1 /* EmptyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFD6D4A27272333005B26F1 /* EmptyView.swift */; };
6EFD6D5C27273257005B26F1 /* Shapes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFD6D5B27273257005B26F1 /* Shapes.swift */; };
6EFD6D6E27290C0B005B26F1 /* FormController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFD6D6D27290C0B005B26F1 /* FormController.swift */; };
6EFD6D7127290C16005B26F1 /* TextInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFD6D7027290C16005B26F1 /* TextInput.swift */; };
6EFD6D82272A53AE005B26F1 /* PagerState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFD6D81272A53AE005B26F1 /* PagerState.swift */; };
6EFD6D8B272A53FB005B26F1 /* PagerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFD6D86272A53FB005B26F1 /* PagerController.swift */; };
6EFE7E3F2A97ED660064AC31 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 6EFE7E3E2A97ED600064AC31 /* PrivacyInfo.xcprivacy */; };
8401769426C5671100373AF7 /* JSONMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8401769326C5671100373AF7 /* JSONMatcher.swift */; };
8401769826C5722400373AF7 /* JSONPredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8401769726C5722400373AF7 /* JSONPredicate.swift */; };
8401769A26C5725800373AF7 /* AirshipJSONUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8401769926C5725800373AF7 /* AirshipJSONUtils.swift */; };
8401769C26C5729E00373AF7 /* JSONValueMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8401769B26C5729E00373AF7 /* JSONValueMatcher.swift */; };
841E7D12268617C800EA0317 /* PreferenceCenterResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841E7D11268617C800EA0317 /* PreferenceCenterResponse.swift */; };
84483A68267CF0C000D0DA7D /* PreferenceCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84483A67267CF0C000D0DA7D /* PreferenceCenter.swift */; };
847B000B267CD85E007CD249 /* AirshipCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 494DD9571B0EB677009C134E /* AirshipCore.framework */; };
847B0013267CE558007CD249 /* PreferenceCenterSDKModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0012267CE558007CD249 /* PreferenceCenterSDKModule.swift */; };
847BFFFD267CD73A007CD249 /* AirshipPreferenceCenter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 847BFFF4267CD739007CD249 /* AirshipPreferenceCenter.framework */; };
9908E60E2B000DBA00DB3E2E /* CustomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9908E60D2B000DBA00DB3E2E /* CustomView.swift */; };
9908E6122B0189F800DB3E2E /* ArishipCustomViewManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9908E6112B0189F800DB3E2E /* ArishipCustomViewManager.swift */; };
990A09592B5C677C00244D90 /* InAppMessageWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 990A09582B5C677C00244D90 /* InAppMessageWebView.swift */; };
990A09942B5CA5B700244D90 /* InAppMessageExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 990A09932B5CA5B700244D90 /* InAppMessageExtensions.swift */; };
990A09AF2B5DBD0400244D90 /* InAppMessageViewUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 990A09AE2B5DBD0400244D90 /* InAppMessageViewUtils.swift */; };
990EB3B12BF59A1500315EAC /* ContactChannelsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 990EB3B02BF59A1500315EAC /* ContactChannelsProvider.swift */; };
99104DF32BA6689A0040C0FD /* PreferenceCloseButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99104DF22BA6689A0040C0FD /* PreferenceCloseButton.swift */; };
99303B062BD97F89002174CA /* ChannelListViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99303B052BD97F89002174CA /* ChannelListViewCell.swift */; };
993AFDFE2C1B2D9A00AA875B /* PreferenceCenterConfig+ContactManagement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993AFDFD2C1B2D9A00AA875B /* PreferenceCenterConfig+ContactManagement.swift */; };
993F91FB2CA37874001B1C2E /* FooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993F91FA2CA37874001B1C2E /* FooterView.swift */; };
99560C1E2BAE2FFA00F28BDC /* ChannelTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99560C1D2BAE2FFA00F28BDC /* ChannelTextField.swift */; };
99560C282BB3843600F28BDC /* PreferenceCenterUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99560C272BB3843600F28BDC /* PreferenceCenterUtils.swift */; };
99560C2B2BB384A700F28BDC /* BackgroundShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99560C2A2BB384A700F28BDC /* BackgroundShape.swift */; };
99560C2D2BB3855800F28BDC /* EmptySectionLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99560C2C2BB3855800F28BDC /* EmptySectionLabel.swift */; };
99560C372BB38A5F00F28BDC /* ErrorLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99560C362BB38A5F00F28BDC /* ErrorLabel.swift */; };
9971A8852C125C0200092ED1 /* ContactChannelsProviderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9971A8842C125C0200092ED1 /* ContactChannelsProviderTest.swift */; };
998572BF2B3CF95D0091E9C9 /* DefaultAssetDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 998572BE2B3CF95D0091E9C9 /* DefaultAssetDownloader.swift */; };
998572C12B3CF97B0091E9C9 /* DefaultAssetFileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 998572C02B3CF97B0091E9C9 /* DefaultAssetFileManager.swift */; };
999DC85E2B5B721D0048C6AF /* HTMLView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 999DC85D2B5B721D0048C6AF /* HTMLView.swift */; };
99C3CC792BCF3E5B00B5BED5 /* SMSValidatorAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99C3CC772BCF3DF700B5BED5 /* SMSValidatorAPIClientTest.swift */; };
99C3CC7E2BCF40B200B5BED5 /* CachingSMSValidatorAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99C3CC7C2BCF401B00B5BED5 /* CachingSMSValidatorAPIClientTest.swift */; };
99CC0D952BC87868001D93D0 /* AddChannelPromptViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99CC0D942BC87868001D93D0 /* AddChannelPromptViewModel.swift */; };
99CF46182B3217C300B6FD9B /* AirshipCachedAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99CF46172B3217C300B6FD9B /* AirshipCachedAssets.swift */; };
99CF461A2B3217DE00B6FD9B /* AssetCacheManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99CF46192B3217DE00B6FD9B /* AssetCacheManager.swift */; };
99E0BD0D2B4DD4AB00465B37 /* FullscreenView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E0BD0C2B4DD4AB00465B37 /* FullscreenView.swift */; };
99E0BD0F2B4DD71A00465B37 /* InAppMessageHostingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E0BD0E2B4DD71A00465B37 /* InAppMessageHostingController.swift */; };
99E433932C9A0362006436B9 /* PagerIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFD6D85272A53FA005B26F1 /* PagerIndicator.swift */; };
99E433942C9A03D9006436B9 /* Pager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFD6D84272A53FA005B26F1 /* Pager.swift */; };
99E433982C9A044C006436B9 /* AirshipResources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E433972C9A044C006436B9 /* AirshipResources.swift */; };
99E6EF6A2B8E36BA0006326A /* InAppMessageValidation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E6EF692B8E36BA0006326A /* InAppMessageValidation.swift */; };
99E6EF6D2B8E3C250006326A /* InAppMessageContentValidationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E6EF6B2B8E3AF60006326A /* InAppMessageContentValidationTest.swift */; };
99E8D7972B4F17260099B6F3 /* CloseButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7962B4F17260099B6F3 /* CloseButton.swift */; };
99E8D7992B4F19BA0099B6F3 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7982B4F19BA0099B6F3 /* TextView.swift */; };
99E8D79B2B4F2FCE0099B6F3 /* InAppMessageTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D79A2B4F2FCE0099B6F3 /* InAppMessageTheme.swift */; };
99E8D7BB2B50A7C20099B6F3 /* InAppMessageViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7BA2B50A7C20099B6F3 /* InAppMessageViewDelegate.swift */; };
99E8D7BD2B50AA060099B6F3 /* InAppMessageEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7BC2B50AA060099B6F3 /* InAppMessageEnvironment.swift */; };
99E8D7BF2B50C2C10099B6F3 /* ButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7BE2B50C2C10099B6F3 /* ButtonGroup.swift */; };
99E8D7C12B50E5F40099B6F3 /* InAppMessageRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7C02B50E5F40099B6F3 /* InAppMessageRootView.swift */; };
99E8D7C52B5192D40099B6F3 /* MediaView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7C42B5192D40099B6F3 /* MediaView.swift */; };
99E8D7C92B54A5CB0099B6F3 /* InAppMessageThemeModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7C82B54A5CB0099B6F3 /* InAppMessageThemeModal.swift */; };
99E8D7CB2B54A6340099B6F3 /* InAppMessageThemeFullscreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7CA2B54A6340099B6F3 /* InAppMessageThemeFullscreen.swift */; };
99E8D7CE2B54A66E0099B6F3 /* InAppMessageThemeBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7CD2B54A66E0099B6F3 /* InAppMessageThemeBanner.swift */; };
99E8D7D02B54A68F0099B6F3 /* InAppMessageThemeHTML.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7CF2B54A68F0099B6F3 /* InAppMessageThemeHTML.swift */; };
99E8D7D52B55B0300099B6F3 /* InAppMessageThemeAdditionalPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7D42B55B0300099B6F3 /* InAppMessageThemeAdditionalPadding.swift */; };
99E8D7D82B55B0440099B6F3 /* InAppMessageThemeButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7D72B55B0440099B6F3 /* InAppMessageThemeButton.swift */; };
99E8D7DA2B55B05D0099B6F3 /* InAppMessageThemeText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7D92B55B05D0099B6F3 /* InAppMessageThemeText.swift */; };
99E8D7DC2B55C4C20099B6F3 /* InAppMessageThemeMedia.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7DB2B55C4C20099B6F3 /* InAppMessageThemeMedia.swift */; };
99E8D7DE2B55C73B0099B6F3 /* ThemeExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99E8D7DD2B55C73B0099B6F3 /* ThemeExtensions.swift */; };
99F4FE5B2BC36A6700754F0F /* PreferenceCenterContentStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F4FE5A2BC36A6700754F0F /* PreferenceCenterContentStyle.swift */; };
99F662B02B5DDC2900696098 /* BeveledLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F662AF2B5DDC2900696098 /* BeveledLoadingView.swift */; };
99F662B22B60425E00696098 /* InAppMessageModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F662B12B60425E00696098 /* InAppMessageModalView.swift */; };
99F662D22B63047300696098 /* InAppMessageBannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F662D12B63047300696098 /* InAppMessageBannerView.swift */; };
99FD20A52DEFC35900242551 /* MessageCenterUIKitAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99FD20A42DEFC35900242551 /* MessageCenterUIKitAppearance.swift */; };
A1B2C3D4E5F60002VIDEOST /* VideoState.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1B2C3D4E5F60001VIDEOST /* VideoState.swift */; };
A1B2C3D4E5F60004VIDEOCR /* VideoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1B2C3D4E5F60003VIDEOCR /* VideoController.swift */; };
A61517B226A9C4C3008A41C4 /* SubscriptionListEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A61517B126A9C4C3008A41C4 /* SubscriptionListEditor.swift */; };
A61517B526AEEAAB008A41C4 /* SubscriptionListUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A61517B426AEEAAB008A41C4 /* SubscriptionListUpdate.swift */; };
A61517C426B009D6008A41C4 /* SubscriptionListAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = A61517C026B009D6008A41C4 /* SubscriptionListAPIClient.swift */; };
A61F3A752A5DA58500EE94CC /* FeatureFlagManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A61F3A732A5D9D6800EE94CC /* FeatureFlagManagerTest.swift */; };
A61F3A782A5DBA1800EE94CC /* AirshipCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 494DD9571B0EB677009C134E /* AirshipCore.framework */; platformFilters = (ios, maccatalyst, macos, tvos, xros, ); };
A62058712A5841330041FBF9 /* AirshipFeatureFlags.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A62058692A5841330041FBF9 /* AirshipFeatureFlags.framework */; };
A62058812A5842200041FBF9 /* AirshipFeatureFlagsSDKModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = A62058802A5842200041FBF9 /* AirshipFeatureFlagsSDKModule.swift */; };
A629F7DA295B514C00671647 /* PasteboardActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A629F7D9295B514C00671647 /* PasteboardActionTest.swift */; };
A62C3354299FD509004DB0DA /* ShareActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A62C3353299FD509004DB0DA /* ShareActionTest.swift */; };
A63A567628F449D8004B8951 /* TestWorkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A63A567528F449D8004B8951 /* TestWorkManager.swift */; };
A63A567828F457FE004B8951 /* TestWorkRateLimiterActor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A63A567728F457FE004B8951 /* TestWorkRateLimiterActor.swift */; };
A658DE0C2727020200007672 /* ImageButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A658DE0A2727020100007672 /* ImageButton.swift */; };
A658DE192728498900007672 /* AirshipWebview.swift in Sources */ = {isa = PBXBuildFile; fileRef = A658DE182728498900007672 /* AirshipWebview.swift */; };
A658DE2B272AFB0400007672 /* AirshipImageLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = A658DE2A272AFB0400007672 /* AirshipImageLoader.swift */; };
A67EC249279B1A40009089E1 /* ScopedSubscriptionListEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A67EC248279B1A40009089E1 /* ScopedSubscriptionListEditor.swift */; };
A67EC24B279B1C34009089E1 /* ScopedSubscriptionListUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A67EC24A279B1C34009089E1 /* ScopedSubscriptionListUpdate.swift */; };
A67F87D2268DECCE00EF5F43 /* ContactAPIClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = A67F87D1268DECCE00EF5F43 /* ContactAPIClient.swift */; };
A6849387273290520021675E /* Score.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6849386273290520021675E /* Score.swift */; };
A684939D273436370021675E /* FontViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = A684939C273436370021675E /* FontViewModifier.swift */; };
A69C987F27E247B20063A101 /* SubscriptionListAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = A69C987E27E247B20063A101 /* SubscriptionListAction.swift */; };
A6A5530A26D548AF002B20F6 /* NativeBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6A5530926D548AF002B20F6 /* NativeBridge.swift */; };
A6A5531026D548D6002B20F6 /* JavaScriptEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6A5530F26D548D6002B20F6 /* JavaScriptEnvironment.swift */; };
A6A5531326D548FF002B20F6 /* NativeBridgeActionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6A5531226D548FF002B20F6 /* NativeBridgeActionHandler.swift */; };
A6AC44832B923ACB00769ED2 /* TestInAppMessageAutomationExecutor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6AC44822B923ACB00769ED2 /* TestInAppMessageAutomationExecutor.swift */; };
A6AF8D2D27E8D4910068C7EE /* SubscriptionListActionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6AF8D2C27E8D4910068C7EE /* SubscriptionListActionTest.swift */; };
A6CDD8D0269491BE0040A673 /* ContactAPIClientTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6CDD8CF269491BE0040A673 /* ContactAPIClientTest.swift */; };
A6D6D48F2A0253AA0072A5CA /* ActionArguments.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6D6D48E2A0253AA0072A5CA /* ActionArguments.swift */; };
A6D6D49D2A0260780072A5CA /* AirshipAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6D6D49C2A0260780072A5CA /* AirshipAction.swift */; };
A6D6D49F2A02608C0072A5CA /* ActionResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6D6D49E2A02608C0072A5CA /* ActionResult.swift */; };
A6E9AD982D4D12D00091BBAF /* FeatureFlagUpdateStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6E9AD972D4D12C60091BBAF /* FeatureFlagUpdateStatus.swift */; };
A6E9ADED2D4D204B0091BBAF /* InAppAutomationUpdateStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6E9ADEC2D4D20300091BBAF /* InAppAutomationUpdateStatus.swift */; };
A6F0B1912B83CD9B002D10A4 /* AutomationEngineTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6F0B18F2B837E36002D10A4 /* AutomationEngineTest.swift */; };
C00ED4CF26C729390040C5D0 /* URLAllowList.swift in Sources */ = {isa = PBXBuildFile; fileRef = C00ED4CE26C729390040C5D0 /* URLAllowList.swift */; };
C02D0B6626C1A3E200F673E6 /* ChannelCapture.swift in Sources */ = {isa = PBXBuildFile; fileRef = C02D0B6526C1A3E200F673E6 /* ChannelCapture.swift */; };
C088383726E0244C00D40838 /* TestURLAllowList.swift in Sources */ = {isa = PBXBuildFile; fileRef = C088383526E0244C00D40838 /* TestURLAllowList.swift */; };
CC64F0591D8B77E3009CEF27 /* AirshipCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 494DD9571B0EB677009C134E /* AirshipCore.framework */; };
CC64F0CE1D8B781C009CEF27 /* CustomNotificationCategories.plist in Resources */ = {isa = PBXBuildFile; fileRef = CC64F0611D8B781C009CEF27 /* CustomNotificationCategories.plist */; };
CC64F14D1D8B7954009CEF27 /* AirshipConfig-Valid-Legacy.plist in Resources */ = {isa = PBXBuildFile; fileRef = CC64F1451D8B7954009CEF27 /* AirshipConfig-Valid-Legacy.plist */; };
CC64F14F1D8B7954009CEF27 /* AirshipConfig-Valid.plist in Resources */ = {isa = PBXBuildFile; fileRef = CC64F1471D8B7954009CEF27 /* AirshipConfig-Valid.plist */; };
CC64F1511D8B7954009CEF27 /* development-embedded.mobileprovision in Resources */ = {isa = PBXBuildFile; fileRef = CC64F1491D8B7954009CEF27 /* development-embedded.mobileprovision */; };
CC64F1521D8B7954009CEF27 /* production-embedded.mobileprovision in Resources */ = {isa = PBXBuildFile; fileRef = CC64F14A1D8B7954009CEF27 /* production-embedded.mobileprovision */; };
DFD2464E2473404C000FD565 /* DebugSDKModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFD2464D2473404C000FD565 /* DebugSDKModule.swift */; };
E976486F27A46CC50024518D /* ChannelType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E976486E27A46CC50024518D /* ChannelType.swift */; };
E99605A127A071EA00365AE4 /* EmailRegistrationOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E99605A027A071EA00365AE4 /* EmailRegistrationOptions.swift */; };
E99605A427A075B800365AE4 /* SMSRegistrationOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E99605A327A075B800365AE4 /* SMSRegistrationOptions.swift */; };
E99605A727A075C600365AE4 /* OpenRegistrationOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E99605A627A075C600365AE4 /* OpenRegistrationOptions.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
3C39D3072384C8B6003C50D4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 3CA0E346237E4A7B00EE76CF;
remoteInfo = AirshipMessageCenter;
};
3CA0E2D9237CD59100EE76CF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
3CA0E348237E4A7B00EE76CF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
6E0B8733294A9C130064B7BD /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6E0B8729294A9C120064B7BD;
remoteInfo = AirshipAutomationSwift;
};
6E0B8742294A9C780064B7BD /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
6E107F032B30B887007AFC4D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
6E128B9C2D305C4600733024 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = A641E1462BDBBDB400DE6FAA;
remoteInfo = AirshipObjectiveC;
};
6E2947492AD47E0C009EC6DD /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 847BFFF3267CD739007CD249;
remoteInfo = AirshipPreferenceCenter;
};
6E2F5A912A67314A00CABD3D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = A62058682A5841330041FBF9;
remoteInfo = AirshipFeatureFlags;
};
6E2F5A952A67316C00CABD3D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = A62058682A5841330041FBF9;
remoteInfo = AirshipFeatureFlags;
};
6E43218A26EA891F009228AB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6E431F6B26EA814F009228AB;
remoteInfo = AirshipBasement;
};
6E4A467328EF44F600A25617 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 3CA0E346237E4A7B00EE76CF;
remoteInfo = AirshipMessageCenter;
};
6E4AEE0A2B6B24D1008AEAC1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6E0B8729294A9C120064B7BD;
remoteInfo = AirshipAutomationSwift;
};
6E5917882B28E93A0084BBBF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6E0B8729294A9C120064B7BD;
remoteInfo = AirshipAutomationSwift;
};
6E6B493D2A787D0A00AF98D8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = A62058682A5841330041FBF9;
remoteInfo = AirshipFeatureFlags;
};
6EAAE87628C2AD80003CAE53 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6E431F6B26EA814F009228AB;
remoteInfo = AirshipBasement;
};
6EAAE87828C2AD80003CAE53 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
6EAAE87A28C2AD80003CAE53 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 3CA0E298237CCE2600EE76CF;
remoteInfo = AirshipDebug;
};
6EAAE87C28C2AD80003CAE53 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 3CA0E346237E4A7B00EE76CF;
remoteInfo = AirshipMessageCenter;
};
6EAAE87E28C2AD80003CAE53 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 847BFFF3267CD739007CD249;
remoteInfo = AirshipPreferenceCenter;
};
6ECCAD292CF55BC700423D86 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = A62058682A5841330041FBF9;
remoteInfo = AirshipFeatureFlags;
};
6ECCAD2B2CF55BC700423D86 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6E431F6B26EA814F009228AB;
remoteInfo = AirshipBasement;
};
6ECCAD2D2CF55BC700423D86 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
6ECCAD332CF55BC700423D86 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 847BFFF3267CD739007CD249;
remoteInfo = AirshipPreferenceCenter;
};
847B000D267CD85E007CD249 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
847BFFFE267CD73A007CD249 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 847BFFF3267CD739007CD249;
remoteInfo = AirshipPreferenceCenter;
};
A60235352CCB9E3C00CF412B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6E431F6B26EA814F009228AB;
remoteInfo = AirshipBasement;
};
A61F3A762A5DBA0E00EE94CC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
A61F3A7A2A5DBA1800EE94CC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
A62058722A5841330041FBF9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = A62058682A5841330041FBF9;
remoteInfo = AirshipFeatureFlags;
};
A641E1562BDBF5FF00DE6FAA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6E0B8729294A9C120064B7BD;
remoteInfo = AirshipAutomation;
};
A641E1582BDBF5FF00DE6FAA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipCore;
};
A641E15A2BDBF5FF00DE6FAA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = A62058682A5841330041FBF9;
remoteInfo = AirshipFeatureFlags;
};
A641E15C2BDBF5FF00DE6FAA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 3CA0E346237E4A7B00EE76CF;
remoteInfo = AirshipMessageCenter;
};
A641E15E2BDBF5FF00DE6FAA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 847BFFF3267CD739007CD249;
remoteInfo = AirshipPreferenceCenter;
};
CC64F05A1D8B77E3009CEF27 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 494DD94E1B0EB677009C134E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 494DD9561B0EB677009C134E;
remoteInfo = AirshipKit;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
03525B87280DE48100320AA9 /* af */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = af; path = af.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B88280DE49B00320AA9 /* am */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = am; path = am.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B89280DE4E200320AA9 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B8A280DE4ED00320AA9 /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B8B280DE4F800320AA9 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B8C280DE50D00320AA9 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B8D280DE54900320AA9 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B8E280DE55900320AA9 /* fr-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CA"; path = "fr-CA.lproj/UrbanAirship.strings"; sourceTree = ""; };
03525B8F280DE58800320AA9 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B90280DE5A200320AA9 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B91280DE5B800320AA9 /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = lv.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B92280DE5CE00320AA9 /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B93280DE5DD00320AA9 /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B94280DE5EA00320AA9 /* sw */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sw; path = sw.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B95280DE5F400320AA9 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/UrbanAirship.strings; sourceTree = ""; };
03525B96280DE60200320AA9 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/UrbanAirship.strings"; sourceTree = ""; };
03525B97280DE61200320AA9 /* zu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zu; path = zu.lproj/UrbanAirship.strings; sourceTree = ""; };
27051CD62EE75E3300C770D5 /* AutomationEventsHistoryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationEventsHistoryTest.swift; sourceTree = ""; };
27077E4B2EE7531C0027A282 /* AutomationEventsHistory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationEventsHistory.swift; sourceTree = ""; };
271B38642DB2866200495D9F /* TagActionMutation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagActionMutation.swift; sourceTree = ""; };
27264FB22E81B064000B6FA3 /* AirshipSceneController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipSceneController.swift; sourceTree = ""; };
2726505A2E81B80E000B6FA3 /* PagerControllerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PagerControllerTest.swift; sourceTree = ""; };
2753F6412F6C5BB50073882C /* MessageCenterMessageError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCenterMessageError.swift; sourceTree = ""; };
275D32AA2EF955AD00B75760 /* AirshipSimpleLayoutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipSimpleLayoutView.swift; sourceTree = ""; };
275D32AB2EF955AD00B75761 /* AirshipSimpleLayoutViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipSimpleLayoutViewModel.swift; sourceTree = ""; };
2797B4182F47687800A7F848 /* NativeLayoutPersistentDataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeLayoutPersistentDataStore.swift; sourceTree = ""; };
27AFE70E2E733F4400767044 /* ModifyTagsAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModifyTagsAction.swift; sourceTree = ""; };
27AFE7102E73477200767044 /* ModifyTagsActionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModifyTagsActionTest.swift; sourceTree = ""; };
27CCF77C2F1656150018058F /* MessageViewAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageViewAnalytics.swift; sourceTree = ""; };
27CCF77E2F16DA500018058F /* MessageViewAnalyticsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageViewAnalyticsTest.swift; sourceTree = ""; };
27CCF8D22F2382750018058F /* ThomasStateStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasStateStorage.swift; sourceTree = ""; };
27E419482EF484DB00D5C1A6 /* UAInbox 4.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "UAInbox 4.xcdatamodel"; sourceTree = ""; };
27E419492EF59F9800D5C1A6 /* MessageCenterThomasView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCenterThomasView.swift; sourceTree = ""; };
27F1E1F32F0E910B00E317DB /* ThomasLayoutButtonTapEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutButtonTapEvent.swift; sourceTree = ""; };
27F1E1F42F0E910B00E317DB /* ThomasLayoutDisplayEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutDisplayEvent.swift; sourceTree = ""; };
27F1E1F52F0E910B00E317DB /* ThomasLayoutEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutEvent.swift; sourceTree = ""; };
27F1E1F62F0E910B00E317DB /* ThomasLayoutFormDisplayEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutFormDisplayEvent.swift; sourceTree = ""; };
27F1E1F72F0E910B00E317DB /* ThomasLayoutFormResultEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutFormResultEvent.swift; sourceTree = ""; };
27F1E1F82F0E910B00E317DB /* ThomasLayoutGestureEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutGestureEvent.swift; sourceTree = ""; };
27F1E1F92F0E910B00E317DB /* ThomasLayoutPageActionEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutPageActionEvent.swift; sourceTree = ""; };
27F1E1FA2F0E910B00E317DB /* ThomasLayoutPagerCompletedEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutPagerCompletedEvent.swift; sourceTree = ""; };
27F1E1FB2F0E910B00E317DB /* ThomasLayoutPagerSummaryEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutPagerSummaryEvent.swift; sourceTree = ""; };
27F1E1FC2F0E910B00E317DB /* ThomasLayoutPageSwipeEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutPageSwipeEvent.swift; sourceTree = ""; };
27F1E1FD2F0E910B00E317DB /* ThomasLayoutPageViewEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutPageViewEvent.swift; sourceTree = ""; };
27F1E1FE2F0E910B00E317DB /* ThomasLayoutPermissionResultEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutPermissionResultEvent.swift; sourceTree = ""; };
27F1E1FF2F0E910B00E317DB /* ThomasLayoutResolutionEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasLayoutResolutionEvent.swift; sourceTree = ""; };
320AD3A529E7FA2000D66106 /* PagerGestureMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PagerGestureMap.swift; sourceTree = ""; };
3215CA9C2739349700B7D97E /* ModalView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ModalView.swift; sourceTree = ""; };
322AAB1C2B5A869000652DAC /* ContactManagementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactManagementView.swift; sourceTree = ""; };
322AAB202B5ACB2800652DAC /* ChannelListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChannelListView.swift; sourceTree = ""; };
3231126929D5E4F600CF0D86 /* AirshipAutomationResources.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipAutomationResources.swift; sourceTree = ""; };
3231127B29D5E67200CF0D86 /* FrequencyLimitStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrequencyLimitStore.swift; sourceTree = ""; };
3231127C29D5E67200CF0D86 /* FrequencyLimitManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrequencyLimitManager.swift; sourceTree = ""; };
3231127D29D5E67200CF0D86 /* Occurrence.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Occurrence.swift; sourceTree = ""; };
3231128029D5E67200CF0D86 /* FrequencyConstraint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrequencyConstraint.swift; sourceTree = ""; };
3231128129D5E67200CF0D86 /* FrequencyChecker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrequencyChecker.swift; sourceTree = ""; };
3231128B29D5E69400CF0D86 /* UAFrequencyLimits.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = UAFrequencyLimits.xcdatamodel; sourceTree = ""; };
3231128F29D5E6C600CF0D86 /* FrequencyLimitManagerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrequencyLimitManagerTest.swift; sourceTree = ""; };
3237D5F12B865D990055932B /* JSONValueTransformer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSONValueTransformer.swift; sourceTree = ""; };
3243EC612D93109C00B43B25 /* AirshipCheckboxToggleStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipCheckboxToggleStyle.swift; sourceTree = ""; };
3243EC622D93109C00B43B25 /* AirshipSwitchToggleStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipSwitchToggleStyle.swift; sourceTree = ""; };
324D3BFE273E6B4500058EE4 /* BannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BannerView.swift; sourceTree = ""; };
325108C72B7A596F0028F508 /* UAInbox 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "UAInbox 3.xcdatamodel"; sourceTree = ""; };
325108C82B7A5A220028F508 /* UARemoteData 4.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "UARemoteData 4.xcdatamodel"; sourceTree = ""; };
32515866272AFB2E00DF8B44 /* Media.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Media.swift; sourceTree = ""; };
32515868272AFB2E00DF8B44 /* VideoMediaWebView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VideoMediaWebView.swift; sourceTree = ""; };
325D53D9295C7979003421B4 /* ActionRegistryTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActionRegistryTest.swift; sourceTree = ""; };
3261A7F4243CD73100ADBF6B /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CoreTelephony.framework; sourceTree = DEVELOPER_DIR; };
3299EF162948CBC100251E70 /* RemoteDataAPIClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoteDataAPIClientTest.swift; sourceTree = ""; };
3299EF212949EC3E00251E70 /* AirshipBaseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipBaseTest.swift; sourceTree = ""; };
3299EF25294B222F00251E70 /* RemoteDataStoreTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoteDataStoreTest.swift; sourceTree = ""; };
329DFCCA2B7E4DA10039C8C0 /* UARemoteDataMappingV3toV4.xcmappingmodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcmappingmodel; path = UARemoteDataMappingV3toV4.xcmappingmodel; sourceTree = ""; };
329DFCCE2B7E4DDA0039C8C0 /* UARemoteDataMapping.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UARemoteDataMapping.swift; sourceTree = ""; };
329DFCD42B7E59700039C8C0 /* UAInboxDataMapping.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UAInboxDataMapping.swift; sourceTree = ""; };
32B513552B9F53A500BBE780 /* MessageCenterPredicate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCenterPredicate.swift; sourceTree = ""; };
32B5BE2728F8A7D600F2254B /* MessageCenterListItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenterListItemView.swift; sourceTree = ""; };
32B5BE2828F8A7D600F2254B /* MessageCenterView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenterView.swift; sourceTree = ""; };
32B5BE2928F8A7D600F2254B /* MessageCenterMessageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenterMessageView.swift; sourceTree = ""; };
32B5BE2A28F8A7D600F2254B /* MessageCenterListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenterListView.swift; sourceTree = ""; };
32B5BE2B28F8A7D600F2254B /* MessageCenterListItemViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCenterListItemViewModel.swift; sourceTree = ""; };
32B5BE3A28F8A7EB00F2254B /* MessageCenterController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenterController.swift; sourceTree = ""; };
32B5BE4828F8B66500F2254B /* MessageCenterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCenterViewController.swift; sourceTree = ""; };
32B632862906CA17000D3E34 /* MessageCenterThemeLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenterThemeLoader.swift; sourceTree = ""; };
32B632872906CA17000D3E34 /* MessageCenterTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenterTheme.swift; sourceTree = ""; };
32BBFB3F2B274C8600C6A998 /* ContactChannelsAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactChannelsAPIClient.swift; sourceTree = ""; };
32C68D0429424449006BBB29 /* RemoteDataTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoteDataTest.swift; sourceTree = ""; };
32CF81E1275627F4003009D1 /* AirshipAsyncImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipAsyncImage.swift; sourceTree = ""; };
32D6E87A2727F7060077C784 /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; };
32DDC0562AF1055300D23EBE /* AddChannelPromptView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddChannelPromptView.swift; sourceTree = ""; };
32E339E22A334A2000CD3BE5 /* AddCustomEventActionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCustomEventActionTest.swift; sourceTree = ""; };
32F293D4295AFD94004A7D9C /* ActionArgumentsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActionArgumentsTest.swift; sourceTree = ""; };
32F615A628F708980015696D /* MessageCenterListTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCenterListTests.swift; sourceTree = ""; };
32F68CDA28F02A6B00F7F52A /* MessageCenterStoreTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCenterStoreTest.swift; sourceTree = ""; };
32F68CE828F07C2B00F7F52A /* AirshipMessageCenterResources.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AirshipMessageCenterResources.swift; sourceTree = ""; };
32F68CE928F07C2C00F7F52A /* MessageCenterSDKModule.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenterSDKModule.swift; sourceTree = ""; };
32F68CED28F07C2C00F7F52A /* MessageCenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenter.swift; sourceTree = ""; };
32F68CF428F07C4800F7F52A /* MessageCenterList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageCenterList.swift; sourceTree = ""; };
32F97AC029E5986B00FED65F /* StoryIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoryIndicator.swift; sourceTree = ""; };
32FD4C772D8079910056D141 /* BasicToggleLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BasicToggleLayout.swift; sourceTree = ""; };
3C63555F26CDD4F8006E9916 /* AirshipPush.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipPush.swift; sourceTree = ""; };
3CA0E223237CCBA600EE76CF /* AirshipEventData.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = AirshipEventData.xcdatamodel; sourceTree = ""; };
3CA0E233237CCBA600EE76CF /* AirshipDebugManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AirshipDebugManager.swift; sourceTree = ""; };
3CA0E241237CCBA600EE76CF /* AirshipEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AirshipEvent.swift; sourceTree = ""; };
3CA0E24D237CCBA600EE76CF /* EventDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventDataManager.swift; sourceTree = ""; };
3CA0E24F237CCBA600EE76CF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
3CA0E2AC237CCE2600EE76CF /* AirshipDebug.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AirshipDebug.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3CA0E305237E396100EE76CF /* UAInbox.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = UAInbox.xcdatamodel; sourceTree = ""; };
3CA0E423237E4A7B00EE76CF /* AirshipMessageCenter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AirshipMessageCenter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3CA0E47F237E505200EE76CF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
3CA84AA626DE255200A59685 /* EventStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventStore.swift; sourceTree = ""; };
3CA84AB626DE257200A59685 /* DefaultAirshipAnalytics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DefaultAirshipAnalytics.swift; sourceTree = ""; };
3CA84AB726DE257200A59685 /* AirshipAnalytics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AirshipAnalytics.swift; sourceTree = ""; };
3CB37A1D251151A400E60392 /* AirshipDebugResources.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipDebugResources.swift; sourceTree = ""; };
3CC8AA0526BB3C7900405614 /* DefaultAirshipPush.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultAirshipPush.swift; sourceTree = ""; };
3CC95B1E268E785900FE2ACD /* NotificationCategories.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationCategories.swift; sourceTree = ""; };
3CC95B2A2696549B00FE2ACD /* AirshipPushableComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipPushableComponent.swift; sourceTree = ""; };
459D4049208FE64D00C40E2D /* Valid-UAInAppMessageFullScreenStyle.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Valid-UAInAppMessageFullScreenStyle.plist"; sourceTree = ""; };
459D404B208FE6BA00C40E2D /* Invalid-UAInAppMessageFullScreenStyle.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Invalid-UAInAppMessageFullScreenStyle.plist"; sourceTree = ""; };
459D40542092474300C40E2D /* Valid-UAInAppMessageModalStyle.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Valid-UAInAppMessageModalStyle.plist"; sourceTree = ""; };
459D40562092474A00C40E2D /* Valid-UAInAppMessageBannerStyle.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Valid-UAInAppMessageBannerStyle.plist"; sourceTree = ""; };
459D40582092475500C40E2D /* Invalid-UAInAppMessageBannerStyle.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Invalid-UAInAppMessageBannerStyle.plist"; sourceTree = ""; };
459D405A2092475C00C40E2D /* Invalid-UAInAppMessageModalStyle.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Invalid-UAInAppMessageModalStyle.plist"; sourceTree = ""; };
45A8ADD123133E51004AD8CA /* testMCColorsCatalog.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = testMCColorsCatalog.xcassets; sourceTree = ""; };
494DD9571B0EB677009C134E /* AirshipCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AirshipCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
494DD95B1B0EB677009C134E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
6014AD662C1B5F540072DCF0 /* ChallengeResolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChallengeResolver.swift; sourceTree = ""; };
6014AD6A2C2032360072DCF0 /* ChallengeResolverTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChallengeResolverTest.swift; sourceTree = ""; };
6014AD742C20410A0072DCF0 /* airship.der */ = {isa = PBXFileReference; lastKnownFileType = file; path = airship.der; sourceTree = ""; };
6018AF562B29C20A008E528B /* SearchEventTemplateTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchEventTemplateTest.swift; sourceTree = ""; };
602AD0D42D7242B300C7D566 /* ThomasSmsLocale.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasSmsLocale.swift; sourceTree = ""; };
603269522BF4B141007F7F75 /* AdditionalAudienceCheckerApiClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdditionalAudienceCheckerApiClient.swift; sourceTree = ""; };
603269542BF4B8D5007F7F75 /* AdditionalAudienceCheckerResolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdditionalAudienceCheckerResolver.swift; sourceTree = ""; };
603269572BF7550E007F7F75 /* AdditionalAudienceCheckerResolverTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdditionalAudienceCheckerResolverTest.swift; sourceTree = ""; };
6032695A2BF75D69007F7F75 /* AirshipHTTPResponseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipHTTPResponseTest.swift; sourceTree = ""; };
605073822B2CD38200209B51 /* ActiveTimerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActiveTimerTest.swift; sourceTree = ""; };
605073892B32F85100209B51 /* ThomasViewModelTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasViewModelTest.swift; sourceTree = ""; };
6050738F2B347B6400209B51 /* ThomasPresentationModelCodingTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasPresentationModelCodingTest.swift; sourceTree = ""; };
6058771C2AC73C7E0021628E /* AirshipMeteredUsageTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipMeteredUsageTest.swift; sourceTree = ""; };
6058771E2ACAC86A0021628E /* MeteredUsageApiClientTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeteredUsageApiClientTest.swift; sourceTree = ""; };
60653FC02CBD2CD4009CD9A7 /* PushData+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PushData+CoreDataClass.swift"; sourceTree = ""; };
60653FC12CBD2CD4009CD9A7 /* PushData+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PushData+CoreDataProperties.swift"; sourceTree = ""; };
6068E0052B2A190300349E82 /* CustomEventTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomEventTest.swift; sourceTree = ""; };
6068E0072B2A2A6700349E82 /* AccountEventTemplateTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountEventTemplateTest.swift; sourceTree = ""; };
6068E0312B2B785A00349E82 /* MediaEventTemplateTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaEventTemplateTest.swift; sourceTree = ""; };
6068E0332B2B7CA100349E82 /* RetailEventTemplateTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RetailEventTemplateTest.swift; sourceTree = ""; };
6068E03A2B2CBCF200349E82 /* ActiveTimer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActiveTimer.swift; sourceTree = ""; };
6079511F2A1CD19F0086578F /* ExperimentManagerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExperimentManagerTest.swift; sourceTree = ""; };
6087DB872B278F7600449BA8 /* JsonValueMatcherTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JsonValueMatcherTest.swift; sourceTree = ""; };
608B16E52C2C1137005298FA /* SubscriptionListProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubscriptionListProvider.swift; sourceTree = ""; };
608B16E72C2C6DDB005298FA /* ChannelSubscriptionListProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChannelSubscriptionListProvider.swift; sourceTree = ""; };
608B16F02C2D5F0D005298FA /* BaseCachingRemoteDataProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseCachingRemoteDataProvider.swift; sourceTree = ""; };
609843552D6F518900690371 /* SmsLocalePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmsLocalePicker.swift; sourceTree = ""; };
60A364EC2C3479BF00B05E26 /* ExecutionWindowTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExecutionWindowTest.swift; sourceTree = ""; };
60A5CC072B28DC500017EDB2 /* NotificationCategoriesTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationCategoriesTest.swift; sourceTree = ""; };
60A5CC0B2B29AE890017EDB2 /* ProximityRegionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProximityRegionTest.swift; sourceTree = ""; };
60A5CC0D2B29B1B80017EDB2 /* CircularRegionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularRegionTest.swift; sourceTree = ""; };
60A5CC0F2B29B4100017EDB2 /* RegionEventTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegionEventTest.swift; sourceTree = ""; };
60C1DB0B2A8B743B00A1D3DA /* AirshipEmbeddedView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AirshipEmbeddedView.swift; sourceTree = ""; };
60C1DB0C2A8B743B00A1D3DA /* AirshipEmbeddedViewManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AirshipEmbeddedViewManager.swift; sourceTree = ""; };
60C1DB0D2A8B743B00A1D3DA /* AirshipEmbeddedObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AirshipEmbeddedObserver.swift; sourceTree = ""; };
60C1DB0E2A8B743C00A1D3DA /* EmbeddedView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmbeddedView.swift; sourceTree = ""; };
60CE9BDD2D0B6A0900A8B625 /* ThomasPagerControllerBranching.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThomasPagerControllerBranching.swift; sourceTree = ""; };
60D1D9B72B68FB6400EBE0A4 /* PreparedTrigger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreparedTrigger.swift; sourceTree = ""; };
60D1D9BA2B6A53F000EBE0A4 /* PreparedTriggerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreparedTriggerTest.swift; sourceTree = ""; };
60D1D9BC2B6AB2D100EBE0A4 /* AutomationTriggerProcessorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationTriggerProcessorTest.swift; sourceTree = ""; };
60D2B3342D9F0FCF00B0752D /* PagerDisableSwipeSelectorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PagerDisableSwipeSelectorTest.swift; sourceTree = ""; };
60D3BCC32A1529D800E07524 /* ExperimentDataProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExperimentDataProvider.swift; sourceTree = ""; };
60D3BCC52A152A0D00E07524 /* ExperimentManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExperimentManager.swift; sourceTree = ""; };
60D3BCCB2A153C0700E07524 /* Experiment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Experiment.swift; sourceTree = ""; };
60D3BCCD2A15471C00E07524 /* AudienceHashSelector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudienceHashSelector.swift; sourceTree = ""; };
60D3BCCF2A154D9400E07524 /* MessageCriteria.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCriteria.swift; sourceTree = ""; };
60E09FDA2B2780DB005A16EA /* JsonMatcherTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JsonMatcherTest.swift; sourceTree = ""; };
60EACF532B7BF2EA00CAFDBB /* AirshipApptimizeIntegration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipApptimizeIntegration.swift; sourceTree = ""; };
60F8E75B2B8F3D4B00460EDF /* CancelSchedulesAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CancelSchedulesAction.swift; sourceTree = ""; };
60F8E75D2B8FA12800460EDF /* CancelSchedulesActionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CancelSchedulesActionTest.swift; sourceTree = ""; };
60F8E75F2B8FAF5400460EDF /* ScheduleAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScheduleAction.swift; sourceTree = ""; };
60F8E7612B8FB2CC00460EDF /* ScheduleActionTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScheduleActionTest.swift; sourceTree = ""; };
60FCA3042B4F1110005C9232 /* LegacyInAppMessaging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyInAppMessaging.swift; sourceTree = ""; };
60FCA3062B4F1C73005C9232 /* LegacyInAppMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyInAppMessage.swift; sourceTree = ""; };
60FCA3092B51364A005C9232 /* LegacyInAppMessageTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyInAppMessageTest.swift; sourceTree = ""; };
60FCA30B2B51492A005C9232 /* LegacyInAppMessagingTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyInAppMessagingTest.swift; sourceTree = ""; };
60FCA3242B5EF3A8005C9232 /* AutomationEventFeedTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationEventFeedTest.swift; sourceTree = ""; };
6329102D2DD8103200B13C6C /* NativeVideoPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeVideoPlayer.swift; sourceTree = ""; };
632913F92DE547A500B13C6C /* VideoMediaNativeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoMediaNativeView.swift; sourceTree = ""; };
6E0031AA2D08CC8A0004F53E /* AirshipAuthorizedNotificationSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipAuthorizedNotificationSettings.swift; sourceTree = ""; };
6E0104FE2DDF9B26009D651F /* IconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconView.swift; sourceTree = ""; };
6E0105002DDFA5E6009D651F /* ScoreController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScoreController.swift; sourceTree = ""; };
6E0105022DDFA719009D651F /* ScoreToggleLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScoreToggleLayout.swift; sourceTree = ""; };
6E0105042DDFA735009D651F /* ScoreState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScoreState.swift; sourceTree = ""; };
6E032A4F2B210E6000404630 /* RemoteConfigTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoteConfigTest.swift; sourceTree = ""; };
6E062D02271656DE001A74A1 /* Container.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Container.swift; sourceTree = ""; };
6E062D04271656F8001A74A1 /* LinearLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinearLayout.swift; sourceTree = ""; };
6E062D0627165709001A74A1 /* Label.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; };
6E062D082716571F001A74A1 /* LabelButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelButton.swift; sourceTree = ""; };
6E062D0C2718B505001A74A1 /* ViewConstraints.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewConstraints.swift; sourceTree = ""; };
6E07688729F9D28A0014E2A9 /* AirshipNotificationCenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipNotificationCenter.swift; sourceTree = ""; };
6E07688B29F9F0830014E2A9 /* AirshipLocaleManagerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipLocaleManagerTest.swift; sourceTree = ""; };
6E07689129FB39440014E2A9 /* AirshipUnsafeSendableWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipUnsafeSendableWrapper.swift; sourceTree = ""; };
6E07B5F72D925ED30087EC47 /* TestPrivacyManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestPrivacyManager.swift; sourceTree = ""; };
6E0B872A294A9C120064B7BD /* AirshipAutomation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AirshipAutomation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
6E0B8731294A9C130064B7BD /* AirshipAutomationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AirshipAutomationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
6E0B8749294A9CCA0064B7BD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
6E0B875F294CE0BF0064B7BD /* FarmHashFingerprint64Test.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FarmHashFingerprint64Test.swift; sourceTree = ""; };
6E0B8761294CE0DC0064B7BD /* FarmHashFingerprint64.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FarmHashFingerprint64.swift; sourceTree = ""; };
6E0F4BE12B32190400673CA4 /* AutomationSchedule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationSchedule.swift; sourceTree = ""; };
6E0F4BE42B32645600673CA4 /* AutomationTrigger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationTrigger.swift; sourceTree = ""; };
6E0F4BE62B32646000673CA4 /* AutomationDelay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationDelay.swift; sourceTree = ""; };
6E0F4BE82B3264A400673CA4 /* DeferredAutomationData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeferredAutomationData.swift; sourceTree = ""; };
6E0F557E2AE03BB900E7CB8C /* ThomasAsyncImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThomasAsyncImage.swift; sourceTree = ""; };
6E10A1472C2B825200ED9556 /* DefaultTaskSleeperTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultTaskSleeperTest.swift; sourceTree = ""; };
6E1185C52C3328A10071334E /* ExecutionWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExecutionWindow.swift; sourceTree = ""; };
6E12539029A81ACE0009EE58 /* AirshipCoreDataPredicate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipCoreDataPredicate.swift; sourceTree = ""; };
6E146C4F2F5214D900320A36 /* AirshipDevice.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipDevice.swift; sourceTree = ""; };
6E146D672F523DB700320A36 /* AirshipFont.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipFont.swift; sourceTree = ""; };
6E146D692F5241BA00320A36 /* AirshipColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipColor.swift; sourceTree = ""; };
6E146EDC2F52536C00320A36 /* AishipFontTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AishipFontTests.swift; sourceTree = ""; };
6E146FF22F525E7300320A36 /* AirshipPasteboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipPasteboard.swift; sourceTree = ""; };
6E1472D42F526DC600320A36 /* AirshipNativePlatform.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipNativePlatform.swift; sourceTree = ""; };
6E1476CB2F56439A00320A36 /* MessageCenterNavigationAppearance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCenterNavigationAppearance.swift; sourceTree = ""; };
6E14C9A028B5E4AF00A55E65 /* PushNotification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PushNotification.swift; sourceTree = ""; };
6E1528162B4DC3C000DF1377 /* ActionAutomationExecutor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActionAutomationExecutor.swift; sourceTree = ""; };
6E1528182B4DC3D000DF1377 /* InAppMessageAutomationPreparer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InAppMessageAutomationPreparer.swift; sourceTree = ""; };
6E15281A2B4DC3DF00DF1377 /* InAppMessageAutomationExecutor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InAppMessageAutomationExecutor.swift; sourceTree = ""; };
6E15281C2B4DC43100DF1377 /* ActionAutomationPreparer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActionAutomationPreparer.swift; sourceTree = ""; };
6E15281F2B4DC59C00DF1377 /* InAppMessageSceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InAppMessageSceneDelegate.swift; sourceTree = ""; };
6E1528212B4DC5C000DF1377 /* InAppMessageDisplayDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InAppMessageDisplayDelegate.swift; sourceTree = ""; };
6E1528232B4DC60200DF1377 /* DisplayCoordinatorManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayCoordinatorManager.swift; sourceTree = ""; };
6E1528252B4DC64B00DF1377 /* DisplayAdapterFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayAdapterFactory.swift; sourceTree = ""; };
6E1528272B4DCFCB00DF1377 /* AirshipActorValue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipActorValue.swift; sourceTree = ""; };
6E15282B2B4DE81E00DF1377 /* AutomationSDKModule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationSDKModule.swift; sourceTree = ""; };
6E15282E2B4DED7A00DF1377 /* InAppMessageAnalytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InAppMessageAnalytics.swift; sourceTree = ""; };
6E1528302B4DED8900DF1377 /* InAppMessageAnalyticsFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InAppMessageAnalyticsFactory.swift; sourceTree = ""; };
6E1528322B4DF2E600DF1377 /* ScheduleConditionsChangedNotifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScheduleConditionsChangedNotifier.swift; sourceTree = ""; };
6E1528342B4E11DB00DF1377 /* CustomDisplayAdapter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomDisplayAdapter.swift; sourceTree = ""; };
6E1528362B4E11E800DF1377 /* CustomDisplayAdapterWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomDisplayAdapterWrapper.swift; sourceTree = ""; };
6E1528382B4E13D400DF1377 /* AirshipLayoutDisplayAdapter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirshipLayoutDisplayAdapter.swift; sourceTree = ""; };
6E15283D2B4F0B8200DF1377 /* ActionAutomationPreparerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActionAutomationPreparerTest.swift; sourceTree = ""; };
6E15283F2B4F153900DF1377 /* TestDisplayAdapter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestDisplayAdapter.swift; sourceTree = ""; };
6E1528412B4F156200DF1377 /* TestDisplayCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestDisplayCoordinator.swift; sourceTree = ""; };
6E152BC92743235800788402 /* Icons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Icons.swift; sourceTree = ""; };
6E15894F2AFEF19F00954A04 /* SessionTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionTracker.swift; sourceTree = ""; };
6E1589532AFF021D00954A04 /* SessionState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionState.swift; sourceTree = ""; };
6E1589572AFF023400954A04 /* SessionEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionEvent.swift; sourceTree = ""; };
6E15B6D826CC749F0099C92D /* RemoteConfigManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemoteConfigManager.swift; sourceTree = ""; };
6E15B6F326CD85C40099C92D /* RuntimeConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RuntimeConfig.swift; sourceTree = ""; };
6E15B6F926CDCA6A0099C92D /* RuntimeConfigTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RuntimeConfigTest.swift; sourceTree = ""; };
6E15B70226CDE40E0099C92D /* RemoteConfigManagerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoteConfigManagerTest.swift; sourceTree = ""; };
6E15B70426CE07180099C92D /* TestRemoteData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestRemoteData.swift; sourceTree = ""; };
6E15B70A26CEB4190099C92D /* RemoteDataStorePayload.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemoteDataStorePayload.swift; sourceTree = ""; };
6E15B70C26CEB4190099C92D /* RemoteDataStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemoteDataStore.swift; sourceTree = ""; };
6E15B72026CEC7030099C92D /* RemoteDataPayload.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemoteDataPayload.swift; sourceTree = ""; };
6E15B72926CEDBA50099C92D /* RemoteData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemoteData.swift; sourceTree = ""; };
6E15B72C26CF13BC0099C92D /* RemoteDataProviderDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoteDataProviderDelegate.swift; sourceTree = ""; };
6E15B72F26CF4F6B0099C92D /* TestRemoteDataAPIClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestRemoteDataAPIClient.swift; sourceTree = ""; };
6E1620892B311219009240B2 /* DisplayCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DisplayCoordinator.swift; sourceTree = ""; };
6E16208C2B3116AE009240B2 /* ImmediateDisplayCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImmediateDisplayCoordinator.swift; sourceTree = ""; };
6E16208E2B3116BA009240B2 /* DefaultDisplayCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultDisplayCoordinator.swift; sourceTree = ""; };
6E1620912B3118D5009240B2 /* ImmediateDisplayCoordinatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImmediateDisplayCoordinatorTest.swift; sourceTree = ""; };
6E1620942B311D8A009240B2 /* DefaultDisplayCoordinatorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultDisplayCoordinatorTest.swift; sourceTree = ""; };
6E1767F329B923D100D65F60 /* ChannelAuthTokenProviderTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChannelAuthTokenProviderTest.swift; sourceTree = ""; };
6E1767F429B923D100D65F60 /* ChannelAuthTokenAPIClientTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChannelAuthTokenAPIClientTest.swift; sourceTree = "