From 8cedcaba35f73de62f3a79792b617e6a692fff97 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Fri, 30 Jun 2023 10:28:24 +0100 Subject: [PATCH 01/48] Added iOS implementation in demos-interactions --- .gitignore | 5 + cleanup.sh | 10 + .../iosApp/Configuration/Config.xcconfig | 3 + demos/appyx-interactions/iosApp/Podfile | 5 + demos/appyx-interactions/iosApp/Podfile.lock | 16 + .../iosApp/iosApp.xcodeproj/project.pbxproj | 418 ++++++++++++++++++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 14 + .../AppIcon.appiconset/app-icon-1024.png | Bin 0 -> 67285 bytes .../iosApp/Assets.xcassets/Contents.json | 6 + .../iosApp/iosApp/ContentView.swift | 21 + .../iosApp/iosApp/Info.plist | 50 +++ .../Preview Assets.xcassets/Contents.json | 6 + .../iosApp/iosApp/iOSApp.swift | 13 + .../shared/build.gradle.kts | 77 ++++ .../appyx-interactions/shared/shared.podspec | 39 ++ .../src/androidMain/AndroidManifest.xml | 2 + .../src/androidMain/kotlin/main.android.kt | 5 + .../shared/src/commonMain/kotlin/App.kt | 41 ++ .../resources/compose-multiplatform.xml | 36 ++ .../shared/src/iosMain/kotlin/main.ios.kt | 5 + gradle.properties | 5 + settings.gradle.kts | 1 + 23 files changed, 789 insertions(+) create mode 100755 cleanup.sh create mode 100644 demos/appyx-interactions/iosApp/Configuration/Config.xcconfig create mode 100644 demos/appyx-interactions/iosApp/Podfile create mode 100644 demos/appyx-interactions/iosApp/Podfile.lock create mode 100644 demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj create mode 100644 demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png create mode 100644 demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/Contents.json create mode 100644 demos/appyx-interactions/iosApp/iosApp/ContentView.swift create mode 100644 demos/appyx-interactions/iosApp/iosApp/Info.plist create mode 100644 demos/appyx-interactions/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 demos/appyx-interactions/iosApp/iosApp/iOSApp.swift create mode 100644 demos/appyx-interactions/shared/build.gradle.kts create mode 100644 demos/appyx-interactions/shared/shared.podspec create mode 100644 demos/appyx-interactions/shared/src/androidMain/AndroidManifest.xml create mode 100644 demos/appyx-interactions/shared/src/androidMain/kotlin/main.android.kt create mode 100644 demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt create mode 100644 demos/appyx-interactions/shared/src/commonMain/resources/compose-multiplatform.xml create mode 100644 demos/appyx-interactions/shared/src/iosMain/kotlin/main.ios.kt diff --git a/.gitignore b/.gitignore index 2b210cdac..e950b3160 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,8 @@ build/ local.properties site/ __pycache__ +iosApp/Podfile.lock +demos/appyx-interactions/iosApp/Pods/* +demos/appyx-interactions/iosApp/iosApp.xcworkspace/* +demos/appyx-interactions/iosApp/iosApp.xcodeproj/* +!demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj diff --git a/cleanup.sh b/cleanup.sh new file mode 100755 index 000000000..51e2a156f --- /dev/null +++ b/cleanup.sh @@ -0,0 +1,10 @@ +#!/bin/sh +rm -rf .idea +./gradlew clean +rm -rf .gradle +rm -rf build +rm -rf */build +rm -rf demos/appyx-interactions/iosApp/iosApp.xcworkspace +rm -rf demos/appyx-interactions/iosApp/Pods +rm -rf demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.xcworkspace +rm -rf demos/appyx-interactions/iosApp/iosApp.xcodeproj/xcuserdata diff --git a/demos/appyx-interactions/iosApp/Configuration/Config.xcconfig b/demos/appyx-interactions/iosApp/Configuration/Config.xcconfig new file mode 100644 index 000000000..59e262bd6 --- /dev/null +++ b/demos/appyx-interactions/iosApp/Configuration/Config.xcconfig @@ -0,0 +1,3 @@ +TEAM_ID= +BUNDLE_ID=com.bumble.appyx.Appyx +APP_NAME=Appyx diff --git a/demos/appyx-interactions/iosApp/Podfile b/demos/appyx-interactions/iosApp/Podfile new file mode 100644 index 000000000..aff9c517b --- /dev/null +++ b/demos/appyx-interactions/iosApp/Podfile @@ -0,0 +1,5 @@ +target 'iosApp' do + use_frameworks! + platform :ios, '14.1' + pod 'shared', :path => '../shared' +end \ No newline at end of file diff --git a/demos/appyx-interactions/iosApp/Podfile.lock b/demos/appyx-interactions/iosApp/Podfile.lock new file mode 100644 index 000000000..58b1b629d --- /dev/null +++ b/demos/appyx-interactions/iosApp/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - shared (1.0.0) + +DEPENDENCIES: + - shared (from `../shared`) + +EXTERNAL SOURCES: + shared: + :path: "../shared" + +SPEC CHECKSUMS: + shared: 674df17c8d1f8f09fd1272390a1dc30850991e26 + +PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756 + +COCOAPODS: 1.12.1 diff --git a/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj b/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj new file mode 100644 index 000000000..df8fc264e --- /dev/null +++ b/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj @@ -0,0 +1,418 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXBuildFile section */ + 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557BA273AAA24004C7B11 /* Assets.xcassets */; }; + 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */; }; + 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2152FB032600AC8F00CF470E /* iOSApp.swift */; }; + 7555FF83242A565900829871 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7555FF82242A565900829871 /* ContentView.swift */; }; + CFDB58B53BB94DE262B13C24 /* Pods_iosApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B1049432C0C2B312090ABF6 /* Pods_iosApp.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 058557BA273AAA24004C7B11 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 2152FB032600AC8F00CF470E /* iOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iOSApp.swift; sourceTree = ""; }; + 4FF3202A603A284706412EDC /* Pods-iosApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosApp.debug.xcconfig"; path = "Target Support Files/Pods-iosApp/Pods-iosApp.debug.xcconfig"; sourceTree = ""; }; + 6B1049432C0C2B312090ABF6 /* Pods_iosApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_iosApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7555FF7B242A565900829871 /* My application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "My application.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 7555FF82242A565900829871 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 7555FF8C242A565B00829871 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AB3632DC29227652001CCB65 /* Config.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = ""; }; + FF8CA3F5360CEAB49D74065F /* Pods-iosApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosApp.release.xcconfig"; path = "Target Support Files/Pods-iosApp/Pods-iosApp.release.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + F85CB1118929364A9C6EFABC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CFDB58B53BB94DE262B13C24 /* Pods_iosApp.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 058557D7273AAEEB004C7B11 /* Preview Content */ = { + isa = PBXGroup; + children = ( + 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + 42799AB246E5F90AF97AA0EF /* Frameworks */ = { + isa = PBXGroup; + children = ( + 6B1049432C0C2B312090ABF6 /* Pods_iosApp.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 7555FF72242A565900829871 = { + isa = PBXGroup; + children = ( + AB1DB47929225F7C00F7AF9C /* Configuration */, + 7555FF7D242A565900829871 /* iosApp */, + 7555FF7C242A565900829871 /* Products */, + FEFF387C0A8D172AA4D59CAE /* Pods */, + 42799AB246E5F90AF97AA0EF /* Frameworks */, + ); + sourceTree = ""; + }; + 7555FF7C242A565900829871 /* Products */ = { + isa = PBXGroup; + children = ( + 7555FF7B242A565900829871 /* My application.app */, + ); + name = Products; + sourceTree = ""; + }; + 7555FF7D242A565900829871 /* iosApp */ = { + isa = PBXGroup; + children = ( + 058557BA273AAA24004C7B11 /* Assets.xcassets */, + 7555FF82242A565900829871 /* ContentView.swift */, + 7555FF8C242A565B00829871 /* Info.plist */, + 2152FB032600AC8F00CF470E /* iOSApp.swift */, + 058557D7273AAEEB004C7B11 /* Preview Content */, + ); + path = iosApp; + sourceTree = ""; + }; + AB1DB47929225F7C00F7AF9C /* Configuration */ = { + isa = PBXGroup; + children = ( + AB3632DC29227652001CCB65 /* Config.xcconfig */, + ); + path = Configuration; + sourceTree = ""; + }; + FEFF387C0A8D172AA4D59CAE /* Pods */ = { + isa = PBXGroup; + children = ( + 4FF3202A603A284706412EDC /* Pods-iosApp.debug.xcconfig */, + FF8CA3F5360CEAB49D74065F /* Pods-iosApp.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 7555FF7A242A565900829871 /* iosApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */; + buildPhases = ( + 98D614C51D2DA07C614CC46E /* [CP] Check Pods Manifest.lock */, + 7555FF77242A565900829871 /* Sources */, + 7555FF79242A565900829871 /* Resources */, + F85CB1118929364A9C6EFABC /* Frameworks */, + 2134C13603D0B299603D9F49 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = iosApp; + productName = iosApp; + productReference = 7555FF7B242A565900829871 /* My application.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 7555FF73242A565900829871 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1130; + LastUpgradeCheck = 1130; + ORGANIZATIONNAME = orgName; + TargetAttributes = { + 7555FF7A242A565900829871 = { + CreatedOnToolsVersion = 11.3.1; + }; + }; + }; + buildConfigurationList = 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 7555FF72242A565900829871; + productRefGroup = 7555FF7C242A565900829871 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 7555FF7A242A565900829871 /* iosApp */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 7555FF79242A565900829871 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */, + 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 2134C13603D0B299603D9F49 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 98D614C51D2DA07C614CC46E /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-iosApp-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 7555FF77242A565900829871 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */, + 7555FF83242A565900829871 /* ContentView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 7555FFA3242A565B00829871 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 7555FFA4242A565B00829871 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 7555FFA6242A565B00829871 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4FF3202A603A284706412EDC /* Pods-iosApp.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; + DEVELOPMENT_TEAM = "${TEAM_ID}"; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = iosApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; + PRODUCT_NAME = "${APP_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 7555FFA7242A565B00829871 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FF8CA3F5360CEAB49D74065F /* Pods-iosApp.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; + DEVELOPMENT_TEAM = "${TEAM_ID}"; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = iosApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; + PRODUCT_NAME = "${APP_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7555FFA3242A565B00829871 /* Debug */, + 7555FFA4242A565B00829871 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7555FFA6242A565B00829871 /* Debug */, + 7555FFA7242A565B00829871 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 7555FF73242A565900829871 /* Project object */; +} diff --git a/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json b/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 000000000..ee7e3ca03 --- /dev/null +++ b/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..8edf56e7a --- /dev/null +++ b/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images" : [ + { + "filename" : "app-icon-1024.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..53fc536fb9ac5c1dbb27c7e1da13db3760070a11 GIT binary patch literal 67285 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 BXNCX( literal 0 HcmV?d00001 diff --git a/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/Contents.json b/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/demos/appyx-interactions/iosApp/iosApp/ContentView.swift b/demos/appyx-interactions/iosApp/iosApp/ContentView.swift new file mode 100644 index 000000000..64e705686 --- /dev/null +++ b/demos/appyx-interactions/iosApp/iosApp/ContentView.swift @@ -0,0 +1,21 @@ +import UIKit +import SwiftUI +import shared + +struct ComposeView: UIViewControllerRepresentable { + func makeUIViewController(context: Context) -> UIViewController { + Main_iosKt.MainViewController() + } + + func updateUIViewController(_ uiViewController: UIViewController, context: Context) {} +} + +struct ContentView: View { + var body: some View { + ComposeView() + .ignoresSafeArea(.all, edges: .bottom) // Compose has own keyboard handler + } +} + + + diff --git a/demos/appyx-interactions/iosApp/iosApp/Info.plist b/demos/appyx-interactions/iosApp/iosApp/Info.plist new file mode 100644 index 000000000..412e37812 --- /dev/null +++ b/demos/appyx-interactions/iosApp/iosApp/Info.plist @@ -0,0 +1,50 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + + UILaunchScreen + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/demos/appyx-interactions/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json b/demos/appyx-interactions/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 000000000..4aa7c5350 --- /dev/null +++ b/demos/appyx-interactions/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/demos/appyx-interactions/iosApp/iosApp/iOSApp.swift b/demos/appyx-interactions/iosApp/iosApp/iOSApp.swift new file mode 100644 index 000000000..1f23b442a --- /dev/null +++ b/demos/appyx-interactions/iosApp/iosApp/iOSApp.swift @@ -0,0 +1,13 @@ +import SwiftUI + +@main +struct iOSApp: App { + var body: some Scene { + WindowGroup { + ZStack { + Color.white.ignoresSafeArea(.all) // status bar color + ContentView() + }.preferredColorScheme(.light) + } + } +} \ No newline at end of file diff --git a/demos/appyx-interactions/shared/build.gradle.kts b/demos/appyx-interactions/shared/build.gradle.kts new file mode 100644 index 000000000..964750189 --- /dev/null +++ b/demos/appyx-interactions/shared/build.gradle.kts @@ -0,0 +1,77 @@ +plugins { + kotlin("multiplatform") + kotlin("native.cocoapods") + id("com.android.library") + id("org.jetbrains.compose") + id("com.google.devtools.ksp") +} + +kotlin { + android() + + iosX64() + iosArm64() + iosSimulatorArm64() + + cocoapods { + version = "1.0.0" + summary = "Some description for the Shared Module" + homepage = "Link to the Shared Module homepage" + ios.deploymentTarget = "14.1" + podfile = project.file("../iosApp/Podfile") + framework { + baseName = "shared" + isStatic = true + } + extraSpecAttributes["resources"] = "['src/commonMain/resources/**', 'src/iosMain/resources/**']" + } + + sourceSets { + val commonMain by getting { + dependencies { + implementation(compose.runtime) + implementation(compose.foundation) + implementation(compose.material) + @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) + implementation(compose.components.resources) + } + } + val androidMain by getting { + dependencies { + api("androidx.activity:activity-compose:1.6.1") + api("androidx.appcompat:appcompat:1.6.1") + api("androidx.core:core-ktx:1.9.0") + } + } + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } + } +} + +android { + namespace = "com.bumble.appyx.common" + compileSdk = libs.versions.androidCompileSdk.get().toInt() + + defaultConfig { + minSdk = libs.versions.androidMinSdk.get().toInt() + } + + sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") + sourceSets["main"].res.srcDirs("src/androidMain/res") + sourceSets["main"].resources.srcDirs("src/commonMain/resources") + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + kotlin { + jvmToolchain(11) + } +} diff --git a/demos/appyx-interactions/shared/shared.podspec b/demos/appyx-interactions/shared/shared.podspec new file mode 100644 index 000000000..ead2bbaac --- /dev/null +++ b/demos/appyx-interactions/shared/shared.podspec @@ -0,0 +1,39 @@ +Pod::Spec.new do |spec| + spec.name = 'shared' + spec.version = '1.0.0' + spec.homepage = 'Link to the Shared Module homepage' + spec.source = { :http=> ''} + spec.authors = '' + spec.license = '' + spec.summary = 'Some description for the Shared Module' + spec.vendored_frameworks = 'build/cocoapods/framework/shared.framework' + spec.libraries = 'c++' + spec.ios.deployment_target = '14.1' + + + spec.pod_target_xcconfig = { + 'KOTLIN_PROJECT_PATH' => ':demos:appyx-interactions:shared', + 'PRODUCT_MODULE_NAME' => 'shared', + } + + spec.script_phases = [ + { + :name => 'Build shared', + :execution_position => :before_compile, + :shell_path => '/bin/sh', + :script => <<-SCRIPT + if [ "YES" = "$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED" ]; then + echo "Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\"" + exit 0 + fi + set -ev + REPO_ROOT="$PODS_TARGET_SRCROOT" + "$REPO_ROOT/../../../gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \ + -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \ + -Pkotlin.native.cocoapods.archs="$ARCHS" \ + -Pkotlin.native.cocoapods.configuration="$CONFIGURATION" + SCRIPT + } + ] + spec.resources = ['src/commonMain/resources/**', 'src/iosMain/resources/**'] +end \ No newline at end of file diff --git a/demos/appyx-interactions/shared/src/androidMain/AndroidManifest.xml b/demos/appyx-interactions/shared/src/androidMain/AndroidManifest.xml new file mode 100644 index 000000000..568741e54 --- /dev/null +++ b/demos/appyx-interactions/shared/src/androidMain/AndroidManifest.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/demos/appyx-interactions/shared/src/androidMain/kotlin/main.android.kt b/demos/appyx-interactions/shared/src/androidMain/kotlin/main.android.kt new file mode 100644 index 000000000..d5723a238 --- /dev/null +++ b/demos/appyx-interactions/shared/src/androidMain/kotlin/main.android.kt @@ -0,0 +1,5 @@ +import androidx.compose.runtime.Composable + +actual fun getPlatformName(): String = "Android" + +@Composable fun MainView() = App() diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt new file mode 100644 index 000000000..472244121 --- /dev/null +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt @@ -0,0 +1,41 @@ +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.material.Button +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import org.jetbrains.compose.resources.ExperimentalResourceApi +import org.jetbrains.compose.resources.painterResource + +@OptIn(ExperimentalResourceApi::class) +@Composable +internal fun App() { + MaterialTheme { + var greetingText by remember { mutableStateOf("Hello, World!") } + var showImage by remember { mutableStateOf(false) } + Column(Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) { + Button(onClick = { + greetingText = "Hello, ${getPlatformName()}" + showImage = !showImage + }) { + Text(greetingText) + } + AnimatedVisibility(showImage) { + Image( + painterResource("compose-multiplatform.xml"), + null + ) + } + } + } +} + +expect fun getPlatformName(): String \ No newline at end of file diff --git a/demos/appyx-interactions/shared/src/commonMain/resources/compose-multiplatform.xml b/demos/appyx-interactions/shared/src/commonMain/resources/compose-multiplatform.xml new file mode 100644 index 000000000..d7bf7955f --- /dev/null +++ b/demos/appyx-interactions/shared/src/commonMain/resources/compose-multiplatform.xml @@ -0,0 +1,36 @@ + + + + + + + + diff --git a/demos/appyx-interactions/shared/src/iosMain/kotlin/main.ios.kt b/demos/appyx-interactions/shared/src/iosMain/kotlin/main.ios.kt new file mode 100644 index 000000000..1f0e256d1 --- /dev/null +++ b/demos/appyx-interactions/shared/src/iosMain/kotlin/main.ios.kt @@ -0,0 +1,5 @@ +import androidx.compose.ui.window.ComposeUIViewController + +actual fun getPlatformName(): String = "iOS" + +fun MainViewController() = ComposeUIViewController { App() } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 5633ffa12..717579ac7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,3 +7,8 @@ org.gradle.caching=true org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 org.gradle.parallel=true org.jetbrains.compose.experimental.jscanvas.enabled=true + +kotlin.mpp.stability.nowarn=true +kotlin.mpp.enableCInteropCommonization=true +org.jetbrains.compose.experimental.uikit.enabled=true +kotlin.native.cacheKind=none \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 56d58b4ab..139a4962c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -45,6 +45,7 @@ include( ":demos:appyx-interactions:android", ":demos:appyx-interactions:desktop", ":demos:appyx-interactions:web", + ":demos:appyx-interactions:shared", ":demos:appyx-navigation", ":demos:common", ":demos:navigation-compose", From 877227d21c4acc73ad03f0fa75aa212dab86fe6b Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Fri, 30 Jun 2023 18:44:15 +0100 Subject: [PATCH 02/48] Added BackStackParallax to iOS sample --- .../stable/backstack/common/build.gradle.kts | 15 + .../stable/spotlight/common/build.gradle.kts | 15 + appyx-interactions/common/build.gradle.kts | 15 + .../bumble/appyx/interactions/AppyxLogger.kt | 29 ++ .../bumble/appyx/interactions/SystemClock.kt | 6 + .../com/bumble/appyx/interactions/UUID.kt | 7 + .../com/bumble/appyx/interactions/platform.kt | 12 + .../shared/build.gradle.kts | 10 +- .../shared/src/commonMain/kotlin/App.kt | 80 +++-- .../src/commonMain/kotlin/AppyxSample.kt | 134 ++++++++ .../kotlin/BackStackParallaxSample.kt | 54 +++ .../src/commonMain/kotlin/MaterialColors.kt | 307 ++++++++++++++++++ 12 files changed, 650 insertions(+), 34 deletions(-) create mode 100644 appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt create mode 100644 appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/SystemClock.kt create mode 100644 appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt create mode 100644 appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/platform.kt create mode 100644 demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt create mode 100644 demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt create mode 100644 demos/appyx-interactions/shared/src/commonMain/kotlin/MaterialColors.kt diff --git a/appyx-components/stable/backstack/common/build.gradle.kts b/appyx-components/stable/backstack/common/build.gradle.kts index f0655ff9f..46057f64e 100644 --- a/appyx-components/stable/backstack/common/build.gradle.kts +++ b/appyx-components/stable/backstack/common/build.gradle.kts @@ -21,6 +21,11 @@ kotlin { moduleName = "appyx-components-stable-backstack-commons" browser() } + + iosX64() + iosArm64() + iosSimulatorArm64() + sourceSets { val commonMain by getting { dependencies { @@ -38,6 +43,16 @@ kotlin { val androidMain by getting val desktopMain by getting val jsMain by getting + + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } } } diff --git a/appyx-components/stable/spotlight/common/build.gradle.kts b/appyx-components/stable/spotlight/common/build.gradle.kts index 69ede9b72..5659997a9 100644 --- a/appyx-components/stable/spotlight/common/build.gradle.kts +++ b/appyx-components/stable/spotlight/common/build.gradle.kts @@ -21,6 +21,11 @@ kotlin { moduleName = "appyx-components-stable-spotlight-commons" browser() } + + iosX64() + iosArm64() + iosSimulatorArm64() + sourceSets { val commonMain by getting { dependencies { @@ -41,6 +46,16 @@ kotlin { } } val desktopMain by getting + + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } } } diff --git a/appyx-interactions/common/build.gradle.kts b/appyx-interactions/common/build.gradle.kts index dfccb580d..78002ebd7 100644 --- a/appyx-interactions/common/build.gradle.kts +++ b/appyx-interactions/common/build.gradle.kts @@ -21,6 +21,11 @@ kotlin { moduleName = "appyx-interactions-common" browser() } + + iosX64() + iosArm64() + iosSimulatorArm64() + sourceSets { val commonMain by getting { dependencies { @@ -57,6 +62,16 @@ kotlin { implementation(npm("uuid", libs.versions.uuid.get())) } } + + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } } } diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt new file mode 100644 index 000000000..d1b3f5f92 --- /dev/null +++ b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt @@ -0,0 +1,29 @@ +package com.bumble.appyx.interactions + +import com.bumble.appyx.interactions.AppyxLoggingLevel.DISABLED + +actual object AppyxLogger { + + actual var loggingLevel: Int = DISABLED + + actual fun v(tag: String, message: String) { + + } + + actual fun d(tag: String, message: String) { + + } + + actual fun i(tag: String, message: String) { + + } + + actual fun w(tag: String, message: String) { + + } + + actual fun e(tag: String, message: String) { + + } + +} diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/SystemClock.kt b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/SystemClock.kt new file mode 100644 index 000000000..354dce952 --- /dev/null +++ b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/SystemClock.kt @@ -0,0 +1,6 @@ +package com.bumble.appyx.interactions + +actual object SystemClock { + + actual fun nanoTime(): Long = 1L +} diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt new file mode 100644 index 000000000..b8e30912a --- /dev/null +++ b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt @@ -0,0 +1,7 @@ +package com.bumble.appyx.interactions + +actual object UUID { + + actual fun randomUUID(): String = "uuid" + +} diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/platform.kt b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/platform.kt new file mode 100644 index 000000000..2854ebf3f --- /dev/null +++ b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/platform.kt @@ -0,0 +1,12 @@ +package com.bumble.appyx.interactions + +actual fun getPlatformName(): String { + return "iOS" +} + +actual annotation class Parcelize + +actual interface Parcelable + +@Target(AnnotationTarget.TYPE) +actual annotation class RawValue diff --git a/demos/appyx-interactions/shared/build.gradle.kts b/demos/appyx-interactions/shared/build.gradle.kts index 964750189..b62635735 100644 --- a/demos/appyx-interactions/shared/build.gradle.kts +++ b/demos/appyx-interactions/shared/build.gradle.kts @@ -34,13 +34,17 @@ kotlin { implementation(compose.material) @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) implementation(compose.components.resources) + implementation(project(":appyx-components:stable:spotlight:spotlight")) + implementation(project(":appyx-components:stable:backstack:backstack")) + implementation(project(":appyx-interactions:appyx-interactions")) + implementation(project(":appyx-components:internal:test-drive:test-drive")) } } val androidMain by getting { dependencies { - api("androidx.activity:activity-compose:1.6.1") - api("androidx.appcompat:appcompat:1.6.1") - api("androidx.core:core-ktx:1.9.0") + api(libs.androidx.activity.compose) + api(libs.androidx.appcompat) + api(libs.androidx.core) } } val iosX64Main by getting diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt index 472244121..5a478a193 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt @@ -1,41 +1,59 @@ -import androidx.compose.animation.AnimatedVisibility -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.material.Button +import androidx.compose.foundation.layout.BoxWithConstraints +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.MaterialTheme -import androidx.compose.material.Text +import androidx.compose.material.Shapes +import androidx.compose.material.darkColors import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import org.jetbrains.compose.resources.ExperimentalResourceApi -import org.jetbrains.compose.resources.painterResource +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp -@OptIn(ExperimentalResourceApi::class) @Composable internal fun App() { MaterialTheme { - var greetingText by remember { mutableStateOf("Hello, World!") } - var showImage by remember { mutableStateOf(false) } - Column(Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) { - Button(onClick = { - greetingText = "Hello, ${getPlatformName()}" - showImage = !showImage - }) { - Text(greetingText) - } - AnimatedVisibility(showImage) { - Image( - painterResource("compose-multiplatform.xml"), - null - ) - } - } + BackStackParallaxSample( + screenHeightPx = 1280, + screenWidthPx = 720, + modifier = Modifier.fillMaxSize(), + ) } } -expect fun getPlatformName(): String \ No newline at end of file +expect fun getPlatformName(): String + +@Composable +private fun AppyxTheme( + content: @Composable () -> Unit) +{ + val colors = DarkColorPalette + + MaterialTheme( + colors = colors, + shapes = Shapes, + content = content + ) +} + +private val appyx_yellow1 = Color(0xFFFFC629) +private val appyx_yellow2 = Color(0xFFFFE54A) +private val appyx_dark = Color(0xFF1F2126) +private val appyx_bright = Color(0xFFFFFFFF) + +private val DarkColorPalette = darkColors( + primary = appyx_yellow1, + primaryVariant = appyx_yellow2, + secondary = appyx_yellow2, + background = appyx_dark, + surface = appyx_dark, + onPrimary = appyx_bright, + onSecondary = appyx_bright, + onBackground = appyx_bright, + onSurface = appyx_bright, +) + +private val Shapes = Shapes( + small = RoundedCornerShape(4.dp), + medium = RoundedCornerShape(4.dp), + large = RoundedCornerShape(0.dp) +) \ No newline at end of file diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt new file mode 100644 index 000000000..9abc89fcd --- /dev/null +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt @@ -0,0 +1,134 @@ +import InteractionTarget.Element +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Alignment.Companion.CenterHorizontally +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.bumble.appyx.interactions.core.DraggableAppyxComponent +import com.bumble.appyx.interactions.core.model.BaseAppyxComponent +import com.bumble.appyx.interactions.core.ui.helper.AppyxComponentSetup +import com.bumble.appyx.interactions.core.ui.output.ElementUiModel +import kotlin.random.Random + +internal sealed class InteractionTarget { + data class Element(val idx: Int = Random.nextInt(1, 100)) : InteractionTarget() { + override fun toString(): String = + "Element $idx" + } +} + +private val containerShape = RoundedCornerShape(8) + +internal enum class ChildSize { + SMALL, + MEDIUM, + MAX, +} + +@Composable +internal fun AppyxSample( + screenWidthPx: Int, + screenHeightPx: Int, + appyxComponent: BaseAppyxComponent, + actions: Map Unit>, + childSize: ChildSize = ChildSize.SMALL, + modifier: Modifier = Modifier, +) { + AppyxComponentSetup(appyxComponent) + + Column( + modifier = modifier, + horizontalAlignment = CenterHorizontally, + ) { + DraggableAppyxComponent( + appyxComponent = appyxComponent, + screenWidthPx = screenWidthPx, + screenHeightPx = screenHeightPx, + modifier = Modifier.weight(0.9f) + ) { elementUiModel -> + ModalUi( + elementUiModel = elementUiModel, + isChildMaxSize = childSize == ChildSize.MAX, + ) + } + Row( + horizontalArrangement = Arrangement.SpaceEvenly, + modifier = Modifier + .fillMaxWidth() + .weight(0.1f) + .padding(top = 8.dp), + ) { + actions.keys.forEachIndexed { _, key -> + Action(text = key, action = actions.getValue(key)) + } + } + } +} + +@Composable +internal fun ModalUi( + elementUiModel: ElementUiModel, + isChildMaxSize: Boolean, + modifier: Modifier = Modifier +) { + val colors = listOf( + md_pink_500, + md_indigo_500, + md_blue_500, + md_light_blue_500, + md_cyan_500, + md_teal_500, + md_light_green_500, + md_lime_500, + md_amber_500, + md_grey_500, + md_blue_grey_500, + ) + Box( + modifier = modifier + .fillMaxSize() + .then(elementUiModel.modifier) + .background( + color = when (val target = elementUiModel.element.interactionTarget) { + is Element -> colors.getOrElse(target.idx % colors.size) { Color.Cyan } + }, + shape = RoundedCornerShape(if (isChildMaxSize) 0 else 8) + ) + ) { + Text( + modifier = Modifier.align(Alignment.Center), + text = elementUiModel.element.interactionTarget.toString(), + fontSize = 12.sp, + color = Color.Black + ) + } +} + +@Composable +private fun Action( + text: String, + action: () -> Unit, + modifier: Modifier = Modifier +) { + Box( + modifier = modifier + .background(color_primary, shape = RoundedCornerShape(4.dp)) + .clickable { action.invoke() } + .padding(horizontal = 18.dp, vertical = 4.dp) + ) { + Text(text) + } +} diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt new file mode 100644 index 000000000..e2c5698f8 --- /dev/null +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt @@ -0,0 +1,54 @@ +import androidx.compose.animation.core.Spring +import androidx.compose.animation.core.spring +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Modifier +import com.bumble.appyx.components.backstack.BackStack +import com.bumble.appyx.components.backstack.BackStackModel +import com.bumble.appyx.components.backstack.operation.pop +import com.bumble.appyx.components.backstack.operation.push +import com.bumble.appyx.components.backstack.ui.fader.BackStackFader +import com.bumble.appyx.components.backstack.ui.parallax.BackstackParallax +import com.bumble.appyx.components.backstack.ui.stack3d.BackStack3D +import com.bumble.appyx.interactions.core.model.BaseAppyxComponent + + +@Suppress("UNCHECKED_CAST") +@Composable +internal fun BackStackParallaxSample( + screenWidthPx: Int, + screenHeightPx: Int, + modifier: Modifier = Modifier, +) { + val coroutineScope = rememberCoroutineScope() + val model = remember { + BackStackModel( + initialTargets = List(5) { InteractionTarget.Element() }, + savedStateMap = null, + ) + } + val backStack = + BackStack( + scope = coroutineScope, + model = model, + motionController = { BackstackParallax(it) }, + animationSpec = spring(stiffness = Spring.StiffnessVeryLow), + ) + val actions = mapOf( + "Pop" to { + backStack.pop() + }, + "Push" to { + backStack.push(InteractionTarget.Element()) + } + ) + AppyxSample( + screenWidthPx = screenWidthPx, + screenHeightPx = screenHeightPx, + appyxComponent = backStack as BaseAppyxComponent, + actions = actions, + childSize = ChildSize.MAX, + modifier = modifier, + ) +} diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/MaterialColors.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/MaterialColors.kt new file mode 100644 index 000000000..8a6a321fc --- /dev/null +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/MaterialColors.kt @@ -0,0 +1,307 @@ +import androidx.compose.ui.graphics.Color + +// reds +val md_red_50 = Color(0xFFFFEBEE) +val md_red_100 = Color(0xFFFFCDD2) +val md_red_200 = Color(0xFFEF9A9A) +val md_red_300 = Color(0xFFE57373) +val md_red_400 = Color(0xFFEF5350) +val md_red_500 = Color(0xFFF44336) +val md_red_600 = Color(0xFFE53935) +val md_red_700 = Color(0xFFD32F2F) +val md_red_800 = Color(0xFFC62828) +val md_red_900 = Color(0xFFB71C1C) +val md_red_A100 = Color(0xFFFF8A80) +val md_red_A200 = Color(0xFFFF5252) +val md_red_A400 = Color(0xFFFF1744) +val md_red_A700 = Color(0xFFD50000) + +// pinks +val md_pink_50 = Color(0xFFFCE4EC) +val md_pink_100 = Color(0xFFF8BBD0) +val md_pink_200 = Color(0xFFF48FB1) +val md_pink_300 = Color(0xFFF06292) +val md_pink_400 = Color(0xFFEC407A) +val md_pink_500 = Color(0xFFE91E63) +val md_pink_600 = Color(0xFFD81B60) +val md_pink_700 = Color(0xFFC2185B) +val md_pink_800 = Color(0xFFAD1457) +val md_pink_900 = Color(0xFF880E4F) +val md_pink_A100 = Color(0xFFFF80AB) +val md_pink_A200 = Color(0xFFFF4081) +val md_pink_A400 = Color(0xFFF50057) +val md_pink_A700 = Color(0xFFC51162) + +// purples +val md_purple_50 = Color(0xFFF3E5F5) +val md_purple_100 = Color(0xFFE1BEE7) +val md_purple_200 = Color(0xFFCE93D8) +val md_purple_300 = Color(0xFFBA68C8) +val md_purple_400 = Color(0xFFAB47BC) +val md_purple_500 = Color(0xFF9C27B0) +val md_purple_600 = Color(0xFF8E24AA) +val md_purple_700 = Color(0xFF7B1FA2) +val md_purple_800 = Color(0xFF6A1B9A) +val md_purple_900 = Color(0xFF4A148C) +val md_purple_A100 = Color(0xFFEA80FC) +val md_purple_A200 = Color(0xFFE040FB) +val md_purple_A400 = Color(0xFFD500F9) +val md_purple_A700 = Color(0xFFAA00FF) + +// deep purples +val md_deep_purple_50 = Color(0xFFEDE7F6) +val md_deep_purple_100 = Color(0xFFD1C4E9) +val md_deep_purple_200 = Color(0xFFB39DDB) +val md_deep_purple_300 = Color(0xFF9575CD) +val md_deep_purple_400 = Color(0xFF7E57C2) +val md_deep_purple_500 = Color(0xFF673AB7) +val md_deep_purple_600 = Color(0xFF5E35B1) +val md_deep_purple_700 = Color(0xFF512DA8) +val md_deep_purple_800 = Color(0xFF4527A0) +val md_deep_purple_900 = Color(0xFF311B92) +val md_deep_purple_A100 = Color(0xFFB388FF) +val md_deep_purple_A200 = Color(0xFF7C4DFF) +val md_deep_purple_A400 = Color(0xFF651FFF) +val md_deep_purple_A700 = Color(0xFF6200EA) + +// indigo +val md_indigo_50 = Color(0xFFE8EAF6) +val md_indigo_100 = Color(0xFFC5CAE9) +val md_indigo_200 = Color(0xFF9FA8DA) +val md_indigo_300 = Color(0xFF7986CB) +val md_indigo_400 = Color(0xFF5C6BC0) +val md_indigo_500 = Color(0xFF3F51B5) +val md_indigo_600 = Color(0xFF3949AB) +val md_indigo_700 = Color(0xFF303F9F) +val md_indigo_800 = Color(0xFF283593) +val md_indigo_900 = Color(0xFF1A237E) +val md_indigo_A100 = Color(0xFF8C9EFF) +val md_indigo_A200 = Color(0xFF536DFE) +val md_indigo_A400 = Color(0xFF3D5AFE) +val md_indigo_A700 = Color(0xFF304FFE) + +// blue +val md_blue_50 = Color(0xFFE3F2FD) +val md_blue_100 = Color(0xFFBBDEFB) +val md_blue_200 = Color(0xFF90CAF9) +val md_blue_300 = Color(0xFF64B5F6) +val md_blue_400 = Color(0xFF42A5F5) +val md_blue_500 = Color(0xFF2196F3) +val md_blue_600 = Color(0xFF1E88E5) +val md_blue_700 = Color(0xFF1976D2) +val md_blue_800 = Color(0xFF1565C0) +val md_blue_900 = Color(0xFF0D47A1) +val md_blue_A100 = Color(0xFF82B1FF) +val md_blue_A200 = Color(0xFF448AFF) +val md_blue_A400 = Color(0xFF2979FF) +val md_blue_A700 = Color(0xFF2962FF) + +// light blue +val md_light_blue_50 = Color(0xFFE1F5FE) +val md_light_blue_100 = Color(0xFFB3E5FC) +val md_light_blue_200 = Color(0xFF81D4fA) +val md_light_blue_300 = Color(0xFF4fC3F7) +val md_light_blue_400 = Color(0xFF29B6FC) +val md_light_blue_500 = Color(0xFF03A9F4) +val md_light_blue_600 = Color(0xFF039BE5) +val md_light_blue_700 = Color(0xFF0288D1) +val md_light_blue_800 = Color(0xFF0277BD) +val md_light_blue_900 = Color(0xFF01579B) +val md_light_blue_A100 = Color(0xFF80D8FF) +val md_light_blue_A200 = Color(0xFF40C4FF) +val md_light_blue_A400 = Color(0xFF00B0FF) +val md_light_blue_A700 = Color(0xFF0091EA) + +// cyan +val md_cyan_50 = Color(0xFFE0F7FA) +val md_cyan_100 = Color(0xFFB2EBF2) +val md_cyan_200 = Color(0xFF80DEEA) +val md_cyan_300 = Color(0xFF4DD0E1) +val md_cyan_400 = Color(0xFF26C6DA) +val md_cyan_500 = Color(0xFF00BCD4) +val md_cyan_600 = Color(0xFF00ACC1) +val md_cyan_700 = Color(0xFF0097A7) +val md_cyan_800 = Color(0xFF00838F) +val md_cyan_900 = Color(0xFF006064) +val md_cyan_A100 = Color(0xFF84FFFF) +val md_cyan_A200 = Color(0xFF18FFFF) +val md_cyan_A400 = Color(0xFF00E5FF) +val md_cyan_A700 = Color(0xFF00B8D4) + +// teal +val md_teal_50 = Color(0xFFE0F2F1) +val md_teal_100 = Color(0xFFB2DFDB) +val md_teal_200 = Color(0xFF80CBC4) +val md_teal_300 = Color(0xFF4DB6AC) +val md_teal_400 = Color(0xFF26A69A) +val md_teal_500 = Color(0xFF009688) +val md_teal_600 = Color(0xFF00897B) +val md_teal_700 = Color(0xFF00796B) +val md_teal_800 = Color(0xFF00695C) +val md_teal_900 = Color(0xFF004D40) +val md_teal_A100 = Color(0xFFA7FFEB) +val md_teal_A200 = Color(0xFF64FFDA) +val md_teal_A400 = Color(0xFF1DE9B6) +val md_teal_A700 = Color(0xFF00BFA5) + +// green +val md_green_50 = Color(0xFFE8F5E9) +val md_green_100 = Color(0xFFC8E6C9) +val md_green_200 = Color(0xFFA5D6A7) +val md_green_300 = Color(0xFF81C784) +val md_green_400 = Color(0xFF66BB6A) +val md_green_500 = Color(0xFF4CAF50) +val md_green_600 = Color(0xFF43A047) +val md_green_700 = Color(0xFF388E3C) +val md_green_800 = Color(0xFF2E7D32) +val md_green_900 = Color(0xFF1B5E20) +val md_green_A100 = Color(0xFFB9F6CA) +val md_green_A200 = Color(0xFF69F0AE) +val md_green_A400 = Color(0xFF00E676) +val md_green_A700 = Color(0xFF00C853) + +// light green +val md_light_green_50 = Color(0xFFF1F8E9) +val md_light_green_100 = Color(0xFFDCEDC8) +val md_light_green_200 = Color(0xFFC5E1A5) +val md_light_green_300 = Color(0xFFAED581) +val md_light_green_400 = Color(0xFF9CCC65) +val md_light_green_500 = Color(0xFF8BC34A) +val md_light_green_600 = Color(0xFF7CB342) +val md_light_green_700 = Color(0xFF689F38) +val md_light_green_800 = Color(0xFF558B2F) +val md_light_green_900 = Color(0xFF33691E) +val md_light_green_A100 = Color(0xFFCCFF90) +val md_light_green_A200 = Color(0xFFB2FF59) +val md_light_green_A400 = Color(0xFF76FF03) +val md_light_green_A700 = Color(0xFF64DD17) + +// lime +val md_lime_50 = Color(0xFFF9FBE7) +val md_lime_100 = Color(0xFFF0F4C3) +val md_lime_200 = Color(0xFFE6EE9C) +val md_lime_300 = Color(0xFFDCE775) +val md_lime_400 = Color(0xFFD4E157) +val md_lime_500 = Color(0xFFCDDC39) +val md_lime_600 = Color(0xFFC0CA33) +val md_lime_700 = Color(0xFFA4B42B) +val md_lime_800 = Color(0xFF9E9D24) +val md_lime_900 = Color(0xFF827717) +val md_lime_A100 = Color(0xFFF4FF81) +val md_lime_A200 = Color(0xFFEEFF41) +val md_lime_A400 = Color(0xFFC6FF00) +val md_lime_A700 = Color(0xFFAEEA00) + +// yellow +val md_yellow_50 = Color(0xFFFFFDE7) +val md_yellow_100 = Color(0xFFFFF9C4) +val md_yellow_200 = Color(0xFFFFF590) +val md_yellow_300 = Color(0xFFFFF176) +val md_yellow_400 = Color(0xFFFFEE58) +val md_yellow_500 = Color(0xFFFFEB3B) +val md_yellow_600 = Color(0xFFFDD835) +val md_yellow_700 = Color(0xFFFBC02D) +val md_yellow_800 = Color(0xFFF9A825) +val md_yellow_900 = Color(0xFFF57F17) +val md_yellow_A100 = Color(0xFFFFFF82) +val md_yellow_A200 = Color(0xFFFFFF00) +val md_yellow_A400 = Color(0xFFFFEA00) +val md_yellow_A700 = Color(0xFFFFD600) + +// amber +val md_amber_50 = Color(0xFFFFF8E1) +val md_amber_100 = Color(0xFFFFECB3) +val md_amber_200 = Color(0xFFFFE082) +val md_amber_300 = Color(0xFFFFD54F) +val md_amber_400 = Color(0xFFFFCA28) +val md_amber_500 = Color(0xFFFFC107) +val md_amber_600 = Color(0xFFFFB300) +val md_amber_700 = Color(0xFFFFA000) +val md_amber_800 = Color(0xFFFF8F00) +val md_amber_900 = Color(0xFFFF6F00) +val md_amber_A100 = Color(0xFFFFE57F) +val md_amber_A200 = Color(0xFFFFD740) +val md_amber_A400 = Color(0xFFFFC400) +val md_amber_A700 = Color(0xFFFFAB00) + +// orange +val md_orange_50 = Color(0xFFFFF3E0) +val md_orange_100 = Color(0xFFFFE0B2) +val md_orange_200 = Color(0xFFFFCC80) +val md_orange_300 = Color(0xFFFFB74D) +val md_orange_400 = Color(0xFFFFA726) +val md_orange_500 = Color(0xFFFF9800) +val md_orange_600 = Color(0xFFFB8C00) +val md_orange_700 = Color(0xFFF57C00) +val md_orange_800 = Color(0xFFEF6C00) +val md_orange_900 = Color(0xFFE65100) +val md_orange_A100 = Color(0xFFFFD180) +val md_orange_A200 = Color(0xFFFFAB40) +val md_orange_A400 = Color(0xFFFF9100) +val md_orange_A700 = Color(0xFFFF6D00) + +// deep orange +val md_deep_orange_50 = Color(0xFFFBE9A7) +val md_deep_orange_100 = Color(0xFFFFCCBC) +val md_deep_orange_200 = Color(0xFFFFAB91) +val md_deep_orange_300 = Color(0xFFFF8A65) +val md_deep_orange_400 = Color(0xFFFF7043) +val md_deep_orange_500 = Color(0xFFFF5722) +val md_deep_orange_600 = Color(0xFFF4511E) +val md_deep_orange_700 = Color(0xFFE64A19) +val md_deep_orange_800 = Color(0xFFD84315) +val md_deep_orange_900 = Color(0xFFBF360C) +val md_deep_orange_A100 = Color(0xFFFF9E80) +val md_deep_orange_A200 = Color(0xFFFF6E40) +val md_deep_orange_A400 = Color(0xFFFF3D00) +val md_deep_orange_A700 = Color(0xFFDD2600) + +// brown +val md_brown_50 = Color(0xFFEFEBE9) +val md_brown_100 = Color(0xFFD7CCC8) +val md_brown_200 = Color(0xFFBCAAA4) +val md_brown_300 = Color(0xFFA1887F) +val md_brown_400 = Color(0xFF8D6E63) +val md_brown_500 = Color(0xFF795548) +val md_brown_600 = Color(0xFF6D4C41) +val md_brown_700 = Color(0xFF5D4037) +val md_brown_800 = Color(0xFF4E342E) +val md_brown_900 = Color(0xFF3E2723) + +// grey +val md_grey_50 = Color(0xFFFAFAFA) +val md_grey_100 = Color(0xFFF5F5F5) +val md_grey_200 = Color(0xFFEEEEEE) +val md_grey_300 = Color(0xFFE0E0E0) +val md_grey_400 = Color(0xFFBDBDBD) +val md_grey_500 = Color(0xFF9E9E9E) +val md_grey_600 = Color(0xFF757575) +val md_grey_700 = Color(0xFF616161) +val md_grey_800 = Color(0xFF424242) +val md_grey_900 = Color(0xFF212121) +val md_black_1000 = Color(0xFF000000) +val md_white_1000 = Color(0xFFffffff) + +// blue grey +val md_blue_grey_50 = Color(0xFFECEFF1) +val md_blue_grey_100 = Color(0xFFCFD8DC) +val md_blue_grey_200 = Color(0xFFB0BBC5) +val md_blue_grey_300 = Color(0xFF90A4AE) +val md_blue_grey_400 = Color(0xFF78909C) +val md_blue_grey_500 = Color(0xFF607D8B) +val md_blue_grey_600 = Color(0xFF546E7A) +val md_blue_grey_700 = Color(0xFF455A64) +val md_blue_grey_800 = Color(0xFF37474F) +val md_blue_grey_900 = Color(0xFF263238) + +//appyx colors +val color_bright = Color(0xFFFFFFFF) +val color_dark = Color(0xFF353535) +val color_primary = Color(0xFFFFC629) +val color_secondary = Color(0xFFFE9763) +val color_tertiary = Color(0xFF855353) +val color_neutral1 = Color(0xFFD2D7DF) +val color_neutral2 = Color(0xFF8A897C) +val color_neutral3 = Color(0xFFD9E8ED) +val color_neutral4 = Color(0xFFBEA489) + From 5f9e68bdbb783f8da71b7434ec0e18b3fcf59f56 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Sat, 1 Jul 2023 18:43:54 +0100 Subject: [PATCH 03/48] WIP: Adding BackStackParallax iOS sample --- .../stable/backstack/common/build.gradle.kts | 3 +++ .../stable/spotlight/common/build.gradle.kts | 3 +++ demos/appyx-interactions/iosApp/Podfile.lock | 2 +- .../appyx-interactions/shared/build.gradle.kts | 18 +++++++++++++++--- demos/appyx-interactions/shared/shared.podspec | 2 +- .../shared/src/commonMain/kotlin/App.kt | 14 +++++++++----- .../kotlin/BackStackParallaxSample.kt | 1 + documentation/interactions/uirepresentation.md | 3 +++ 8 files changed, 36 insertions(+), 10 deletions(-) diff --git a/appyx-components/stable/backstack/common/build.gradle.kts b/appyx-components/stable/backstack/common/build.gradle.kts index 46057f64e..bdf51f7f0 100644 --- a/appyx-components/stable/backstack/common/build.gradle.kts +++ b/appyx-components/stable/backstack/common/build.gradle.kts @@ -71,4 +71,7 @@ dependencies { add("kspAndroid", project(":ksp:mutable-ui-processor")) add("kspDesktop", project(":ksp:mutable-ui-processor")) add("kspJs", project(":ksp:mutable-ui-processor")) + add("kspIosArm64", project(":ksp:mutable-ui-processor")) + add("kspIosX64", project(":ksp:mutable-ui-processor")) + add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) } diff --git a/appyx-components/stable/spotlight/common/build.gradle.kts b/appyx-components/stable/spotlight/common/build.gradle.kts index 5659997a9..57df1c147 100644 --- a/appyx-components/stable/spotlight/common/build.gradle.kts +++ b/appyx-components/stable/spotlight/common/build.gradle.kts @@ -74,4 +74,7 @@ dependencies { add("kspAndroid", project(":ksp:mutable-ui-processor")) add("kspDesktop", project(":ksp:mutable-ui-processor")) add("kspJs", project(":ksp:mutable-ui-processor")) + add("kspIosArm64", project(":ksp:mutable-ui-processor")) + add("kspIosX64", project(":ksp:mutable-ui-processor")) + add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) } diff --git a/demos/appyx-interactions/iosApp/Podfile.lock b/demos/appyx-interactions/iosApp/Podfile.lock index 58b1b629d..be8894312 100644 --- a/demos/appyx-interactions/iosApp/Podfile.lock +++ b/demos/appyx-interactions/iosApp/Podfile.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../shared" SPEC CHECKSUMS: - shared: 674df17c8d1f8f09fd1272390a1dc30850991e26 + shared: d36ae8aec6247bd8f9899b6d3d8757e8c8f9395e PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756 diff --git a/demos/appyx-interactions/shared/build.gradle.kts b/demos/appyx-interactions/shared/build.gradle.kts index b62635735..ebe69845f 100644 --- a/demos/appyx-interactions/shared/build.gradle.kts +++ b/demos/appyx-interactions/shared/build.gradle.kts @@ -17,7 +17,7 @@ kotlin { version = "1.0.0" summary = "Some description for the Shared Module" homepage = "Link to the Shared Module homepage" - ios.deploymentTarget = "14.1" + ios.deploymentTarget = "17.0" podfile = project.file("../iosApp/Podfile") framework { baseName = "shared" @@ -36,8 +36,6 @@ kotlin { implementation(compose.components.resources) implementation(project(":appyx-components:stable:spotlight:spotlight")) implementation(project(":appyx-components:stable:backstack:backstack")) - implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-components:internal:test-drive:test-drive")) } } val androidMain by getting { @@ -79,3 +77,17 @@ android { jvmToolchain(11) } } + +compose.experimental { + uikit.application { + projectName = "Appyx" + bundleIdPrefix = "com.bumble.appyx" + } +} + +dependencies { + add("kspCommonMainMetadata", project(":ksp:mutable-ui-processor")) + add("kspIosArm64", project(":ksp:mutable-ui-processor")) + add("kspIosX64", project(":ksp:mutable-ui-processor")) + add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) +} diff --git a/demos/appyx-interactions/shared/shared.podspec b/demos/appyx-interactions/shared/shared.podspec index ead2bbaac..eea0539f3 100644 --- a/demos/appyx-interactions/shared/shared.podspec +++ b/demos/appyx-interactions/shared/shared.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |spec| spec.summary = 'Some description for the Shared Module' spec.vendored_frameworks = 'build/cocoapods/framework/shared.framework' spec.libraries = 'c++' - spec.ios.deployment_target = '14.1' + spec.ios.deployment_target = '17.0' spec.pod_target_xcconfig = { diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt index 5a478a193..d65effde8 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt @@ -12,11 +12,15 @@ import androidx.compose.ui.unit.dp @Composable internal fun App() { MaterialTheme { - BackStackParallaxSample( - screenHeightPx = 1280, - screenWidthPx = 720, - modifier = Modifier.fillMaxSize(), - ) + BoxWithConstraints( + modifier = Modifier.fillMaxSize() + ) { + BackStackParallaxSample( + screenHeightPx = constraints.maxHeight, + screenWidthPx = constraints.maxWidth, + modifier = Modifier.fillMaxSize(), + ) + } } } diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt index e2c5698f8..a518ad9e4 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt @@ -33,6 +33,7 @@ internal fun BackStackParallaxSample( scope = coroutineScope, model = model, motionController = { BackstackParallax(it) }, + gestureFactory = { BackstackParallax.Gestures(it) }, animationSpec = spring(stiffness = Spring.StiffnessVeryLow), ) val actions = mapOf( diff --git a/documentation/interactions/uirepresentation.md b/documentation/interactions/uirepresentation.md index 819395d0c..082c35163 100644 --- a/documentation/interactions/uirepresentation.md +++ b/documentation/interactions/uirepresentation.md @@ -183,5 +183,8 @@ dependencies { add("kspAndroid", project(":ksp:mutable-ui-processor")) add("kspDesktop", project(":ksp:mutable-ui-processor")) add("kspJs", project(":ksp:mutable-ui-processor")) + add("kspIosArm64", project(":ksp:mutable-ui-processor")) + add("kspIosX64", project(":ksp:mutable-ui-processor")) + add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) } ``` From 7db9dbf92655eebbc4534de4734b5a2c9ad22231 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 3 Jul 2023 16:21:55 +0100 Subject: [PATCH 04/48] Added ZIndex to BackStackParallax --- .../components/backstack/ui/parallax/BackStackParallax.kt | 5 ++++- .../appyx/components/backstack/ui/parallax/TargetUiState.kt | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt index 536ad753e..0ae6b5074 100644 --- a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt +++ b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt @@ -15,6 +15,7 @@ import com.bumble.appyx.interactions.core.ui.gesture.GestureFactory import com.bumble.appyx.interactions.core.ui.gesture.dragHorizontalDirection import com.bumble.appyx.interactions.core.ui.property.impl.ColorOverlay import com.bumble.appyx.interactions.core.ui.property.impl.Shadow +import com.bumble.appyx.interactions.core.ui.property.impl.ZIndex import com.bumble.appyx.interactions.core.ui.state.MatchedTargetUiState import com.bumble.appyx.transitionmodel.BaseMotionController @@ -42,19 +43,21 @@ class BackstackParallax( elementWidth = width, offsetMultiplier = -0.2f, colorOverlay = ColorOverlay.Target(0.7f), + zIndex = ZIndex.Target(1f), ) private val top = TargetUiState( elementWidth = width, offsetMultiplier = 0f, shadow = Shadow.Target(25f), + zIndex = ZIndex.Target(2f), ) override fun State.toUiTargets(): List> { val stashed = stashed.mapIndexed { index, element -> MatchedTargetUiState( element = element, - targetUiState = if (index == stashed.size - 1) bottom else left, + targetUiState = if (index == stashed.lastIndex) bottom else left, ) } diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt index 1e0a5043a..879823c4a 100644 --- a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt +++ b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt @@ -14,6 +14,7 @@ class TargetUiState( val position: Position.Target = Position.Target(DpOffset.Zero), val shadow: Shadow.Target, val colorOverlay: ColorOverlay.Target, + val zIndex: ZIndex.Target, ) { constructor( @@ -21,6 +22,7 @@ class TargetUiState( offsetMultiplier: Float, colorOverlay: ColorOverlay.Target = ColorOverlay.Target(0f), shadow: Shadow.Target = Shadow.Target(0f), + zIndex: ZIndex.Target = ZIndex.Target(0f), ) : this( position = Position.Target( DpOffset( @@ -30,5 +32,6 @@ class TargetUiState( ), colorOverlay = colorOverlay, shadow = shadow, + zIndex = zIndex, ) } From f3f47c890c6e7e6f39027a6b3b02b258b225023e Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 26 Jul 2023 13:30:50 +0100 Subject: [PATCH 05/48] Updated module summary --- demos/appyx-interactions/iosApp/Podfile.lock | 2 +- demos/appyx-interactions/shared/build.gradle.kts | 6 +++--- demos/appyx-interactions/shared/shared.podspec | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/demos/appyx-interactions/iosApp/Podfile.lock b/demos/appyx-interactions/iosApp/Podfile.lock index be8894312..4dd9d84bf 100644 --- a/demos/appyx-interactions/iosApp/Podfile.lock +++ b/demos/appyx-interactions/iosApp/Podfile.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../shared" SPEC CHECKSUMS: - shared: d36ae8aec6247bd8f9899b6d3d8757e8c8f9395e + shared: 3608fc94938571cc8e7d0696c5378a4d1c5c524b PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756 diff --git a/demos/appyx-interactions/shared/build.gradle.kts b/demos/appyx-interactions/shared/build.gradle.kts index ebe69845f..804deaf91 100644 --- a/demos/appyx-interactions/shared/build.gradle.kts +++ b/demos/appyx-interactions/shared/build.gradle.kts @@ -15,9 +15,9 @@ kotlin { cocoapods { version = "1.0.0" - summary = "Some description for the Shared Module" - homepage = "Link to the Shared Module homepage" - ios.deploymentTarget = "17.0" + summary = "appyx-interactions shared module" + homepage = "https://bumble-tech.github.io/appyx/interactions/" + ios.deploymentTarget = "16.4" podfile = project.file("../iosApp/Podfile") framework { baseName = "shared" diff --git a/demos/appyx-interactions/shared/shared.podspec b/demos/appyx-interactions/shared/shared.podspec index eea0539f3..012846e3b 100644 --- a/demos/appyx-interactions/shared/shared.podspec +++ b/demos/appyx-interactions/shared/shared.podspec @@ -1,14 +1,14 @@ Pod::Spec.new do |spec| spec.name = 'shared' spec.version = '1.0.0' - spec.homepage = 'Link to the Shared Module homepage' + spec.homepage = 'https://bumble-tech.github.io/appyx/interactions/' spec.source = { :http=> ''} spec.authors = '' spec.license = '' - spec.summary = 'Some description for the Shared Module' + spec.summary = 'appyx-interactions shared module' spec.vendored_frameworks = 'build/cocoapods/framework/shared.framework' spec.libraries = 'c++' - spec.ios.deployment_target = '17.0' + spec.ios.deployment_target = '16.4' spec.pod_target_xcconfig = { From d54118bd519c09169e225b96d9a577fa438f7df0 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 31 Jul 2023 14:32:33 +0100 Subject: [PATCH 06/48] WIP: Running Sample App --- .../ui/parallax/BackStackParallax.kt | 47 +++++++++++-------- .../backstack/ui/parallax/TargetUiState.kt | 9 ++-- .../com/bumble/appyx/interactions/UUID.kt | 4 +- .../src/commonMain/kotlin/AppyxSample.kt | 3 +- .../kotlin/BackStackParallaxSample.kt | 18 +++---- .../com/bumble/appyx/navigation/ui/Color.kt | 2 +- 6 files changed, 47 insertions(+), 36 deletions(-) diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt index f86e68e9d..1c97e34d1 100644 --- a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt +++ b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt @@ -13,7 +13,6 @@ import com.bumble.appyx.interactions.core.ui.gesture.Gesture import com.bumble.appyx.interactions.core.ui.gesture.GestureFactory import com.bumble.appyx.interactions.core.ui.gesture.dragHorizontalDirection import com.bumble.appyx.interactions.core.ui.helper.DefaultAnimationSpec -import com.bumble.appyx.interactions.core.ui.property.impl.Alpha import com.bumble.appyx.interactions.core.ui.property.impl.ColorOverlay import com.bumble.appyx.interactions.core.ui.property.impl.Shadow import com.bumble.appyx.interactions.core.ui.property.impl.ZIndex @@ -30,50 +29,60 @@ class BackStackParallax( private val width = uiContext.transitionBounds.widthDp.value private val slowOutFastInEasing = CubicBezierEasing(1f, 0f, 1f, 0f) - private val left = TargetUiState( - elementWidth = width, - offsetMultiplier = -1f, - alpha = Alpha.Target(0f), - ) - private val right = TargetUiState( + private val outsideRight = TargetUiState( elementWidth = width, offsetMultiplier = 1f, shadow = Shadow.Target(value = 0f, easing = slowOutFastInEasing), + zIndex = ZIndex.Target(1f), + ) + private val topVisible = TargetUiState( + elementWidth = width, + offsetMultiplier = 0f, + shadow = Shadow.Target(25f), + zIndex = ZIndex.Target(1f), ) - private val bottom = TargetUiState( + private val bottomVisible = TargetUiState( elementWidth = width, offsetMultiplier = -0.2f, colorOverlay = ColorOverlay.Target(0.7f), - zIndex = ZIndex.Target(1f), + zIndex = ZIndex.Target(0f), ) - private val top = TargetUiState( + private val hidden = TargetUiState( elementWidth = width, - offsetMultiplier = 0f, - shadow = Shadow.Target(25f), - zIndex = ZIndex.Target(2f), + offsetMultiplier = -1f, + //alpha = Alpha.Target(0f), + zIndex = ZIndex.Target(-1f), ) override fun State.toUiTargets(): List> { val stashed = stashed.mapIndexed { index, element -> MatchedTargetUiState( element = element, - targetUiState = if (index == stashed.lastIndex) bottom else left, + targetUiState = if (index == stashed.lastIndex) bottomVisible else hidden, ) } - - return stashed + listOf( + val created = (created).map { + MatchedTargetUiState( + element = it, + targetUiState = this@BackStackParallax.outsideRight + ) + } + val active = listOf( MatchedTargetUiState( element = active, - targetUiState = top + targetUiState = topVisible ) - ) + (created + destroyed).map { + ) + val destroyed = (destroyed).map { MatchedTargetUiState( element = it, - targetUiState = right + targetUiState = this@BackStackParallax.outsideRight ) } + + return created + stashed + active + destroyed } override fun mutableUiStateFor( diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt index 04e470dc9..e6799b239 100644 --- a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt +++ b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt @@ -15,7 +15,8 @@ class TargetUiState( val position: Position.Target = Position.Target(DpOffset.Zero), val shadow: Shadow.Target, val colorOverlay: ColorOverlay.Target, - val alpha: Alpha.Target, + //val alpha: Alpha.Target, + val zIndex: ZIndex.Target, ) { constructor( @@ -24,15 +25,17 @@ class TargetUiState( colorOverlay: ColorOverlay.Target = ColorOverlay.Target(0f), shadow: Shadow.Target = Shadow.Target(0f), alpha: Alpha.Target = Alpha.Target(1f), + zIndex: ZIndex.Target = ZIndex.Target(1f), ) : this( position = Position.Target( DpOffset( - x = (offsetMultiplier.coerceIn(-0.5f, 1.5f) * elementWidth).dp, + x = (offsetMultiplier * elementWidth).dp, y = 0.dp ), ), colorOverlay = colorOverlay, shadow = shadow, - alpha = alpha, + //alpha = alpha, + zIndex = zIndex, ) } diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt index b8e30912a..a44f5b880 100644 --- a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt +++ b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt @@ -1,7 +1,9 @@ package com.bumble.appyx.interactions +import kotlin.random.Random + actual object UUID { - actual fun randomUUID(): String = "uuid" + actual fun randomUUID(): String = Random.nextInt().toString() } diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt index 9abc89fcd..5af566e81 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt @@ -14,6 +14,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clipToBounds import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @@ -57,7 +58,7 @@ internal fun AppyxSample( appyxComponent = appyxComponent, screenWidthPx = screenWidthPx, screenHeightPx = screenHeightPx, - modifier = Modifier.weight(0.9f) + modifier = Modifier.weight(0.9f).clipToBounds() ) { elementUiModel -> ModalUi( elementUiModel = elementUiModel, diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt index a518ad9e4..9280cf590 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt @@ -1,3 +1,4 @@ +import InteractionTarget.Element import androidx.compose.animation.core.Spring import androidx.compose.animation.core.spring import androidx.compose.runtime.Composable @@ -9,8 +10,7 @@ import com.bumble.appyx.components.backstack.BackStackModel import com.bumble.appyx.components.backstack.operation.pop import com.bumble.appyx.components.backstack.operation.push import com.bumble.appyx.components.backstack.ui.fader.BackStackFader -import com.bumble.appyx.components.backstack.ui.parallax.BackstackParallax -import com.bumble.appyx.components.backstack.ui.stack3d.BackStack3D +import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax import com.bumble.appyx.interactions.core.model.BaseAppyxComponent @@ -24,7 +24,7 @@ internal fun BackStackParallaxSample( val coroutineScope = rememberCoroutineScope() val model = remember { BackStackModel( - initialTargets = List(5) { InteractionTarget.Element() }, + initialTargets = List(1) { Element() }, savedStateMap = null, ) } @@ -32,17 +32,13 @@ internal fun BackStackParallaxSample( BackStack( scope = coroutineScope, model = model, - motionController = { BackstackParallax(it) }, - gestureFactory = { BackstackParallax.Gestures(it) }, + motionController = { BackStackParallax(it) }, + gestureFactory = { BackStackParallax.Gestures(it) }, animationSpec = spring(stiffness = Spring.StiffnessVeryLow), ) val actions = mapOf( - "Pop" to { - backStack.pop() - }, - "Push" to { - backStack.push(InteractionTarget.Element()) - } + "Pop" to { backStack.pop() }, + "Push" to { backStack.push(Element()) } ) AppyxSample( screenWidthPx = screenWidthPx, diff --git a/demos/appyx-navigation/src/main/kotlin/com/bumble/appyx/navigation/ui/Color.kt b/demos/appyx-navigation/src/main/kotlin/com/bumble/appyx/navigation/ui/Color.kt index bccf0e034..b73db3a80 100644 --- a/demos/appyx-navigation/src/main/kotlin/com/bumble/appyx/navigation/ui/Color.kt +++ b/demos/appyx-navigation/src/main/kotlin/com/bumble/appyx/navigation/ui/Color.kt @@ -19,5 +19,5 @@ val atomic_tangerine = Color(0xFFF0965D) val appyx_yellow1 = Color(0xFFFFC629) val appyx_yellow2 = Color(0xFFFFE54A) -val appyx_dark = Color(0xFF1F2126) +val appyx_dark = Color(0xFFFFFFFF) val appyx_bright = Color(0xFFFFFFFF) From 5533c954cc52a137d4eedf60c7c4922ba1383b7d Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 31 Jul 2023 14:37:11 +0100 Subject: [PATCH 07/48] Reverted color --- .../src/main/kotlin/com/bumble/appyx/navigation/ui/Color.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/appyx-navigation/src/main/kotlin/com/bumble/appyx/navigation/ui/Color.kt b/demos/appyx-navigation/src/main/kotlin/com/bumble/appyx/navigation/ui/Color.kt index b73db3a80..bccf0e034 100644 --- a/demos/appyx-navigation/src/main/kotlin/com/bumble/appyx/navigation/ui/Color.kt +++ b/demos/appyx-navigation/src/main/kotlin/com/bumble/appyx/navigation/ui/Color.kt @@ -19,5 +19,5 @@ val atomic_tangerine = Color(0xFFF0965D) val appyx_yellow1 = Color(0xFFFFC629) val appyx_yellow2 = Color(0xFFFFE54A) -val appyx_dark = Color(0xFFFFFFFF) +val appyx_dark = Color(0xFF1F2126) val appyx_bright = Color(0xFFFFFFFF) From 78cf9b2ebfc08d9b94770a872b867b2239caaaf3 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 31 Jul 2023 15:16:02 +0100 Subject: [PATCH 08/48] Implemented UUID, SystemClock and Logging for iOS --- .../ui/parallax/BackStackParallax.kt | 3 ++- .../backstack/ui/parallax/TargetUiState.kt | 4 +-- .../bumble/appyx/interactions/AppyxLogger.kt | 26 +++++++++++++++---- .../bumble/appyx/interactions/SystemClock.kt | 4 ++- .../com/bumble/appyx/interactions/UUID.kt | 4 +-- .../kotlin/BackStackParallaxSample.kt | 1 - 6 files changed, 30 insertions(+), 12 deletions(-) diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt index 1c97e34d1..e11a73c17 100644 --- a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt +++ b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt @@ -13,6 +13,7 @@ import com.bumble.appyx.interactions.core.ui.gesture.Gesture import com.bumble.appyx.interactions.core.ui.gesture.GestureFactory import com.bumble.appyx.interactions.core.ui.gesture.dragHorizontalDirection import com.bumble.appyx.interactions.core.ui.helper.DefaultAnimationSpec +import com.bumble.appyx.interactions.core.ui.property.impl.Alpha import com.bumble.appyx.interactions.core.ui.property.impl.ColorOverlay import com.bumble.appyx.interactions.core.ui.property.impl.Shadow import com.bumble.appyx.interactions.core.ui.property.impl.ZIndex @@ -52,7 +53,7 @@ class BackStackParallax( private val hidden = TargetUiState( elementWidth = width, offsetMultiplier = -1f, - //alpha = Alpha.Target(0f), + alpha = Alpha.Target(0f), zIndex = ZIndex.Target(-1f), ) diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt index e6799b239..0f27c1945 100644 --- a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt +++ b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt @@ -15,7 +15,7 @@ class TargetUiState( val position: Position.Target = Position.Target(DpOffset.Zero), val shadow: Shadow.Target, val colorOverlay: ColorOverlay.Target, - //val alpha: Alpha.Target, + val alpha: Alpha.Target, val zIndex: ZIndex.Target, ) { @@ -35,7 +35,7 @@ class TargetUiState( ), colorOverlay = colorOverlay, shadow = shadow, - //alpha = alpha, + alpha = alpha, zIndex = zIndex, ) } diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt index d1b3f5f92..7af0d7661 100644 --- a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt +++ b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt @@ -1,29 +1,45 @@ package com.bumble.appyx.interactions +import com.bumble.appyx.interactions.AppyxLoggingLevel.DEBUG import com.bumble.appyx.interactions.AppyxLoggingLevel.DISABLED +import com.bumble.appyx.interactions.AppyxLoggingLevel.ERROR +import com.bumble.appyx.interactions.AppyxLoggingLevel.INFO +import com.bumble.appyx.interactions.AppyxLoggingLevel.VERBOSE +import com.bumble.appyx.interactions.AppyxLoggingLevel.WARN +import platform.Foundation.NSLog actual object AppyxLogger { actual var loggingLevel: Int = DISABLED actual fun v(tag: String, message: String) { - + if (loggingLevel <= VERBOSE) { + NSLog("$tag, $message") + } } actual fun d(tag: String, message: String) { - + if (loggingLevel <= DEBUG) { + NSLog("$tag, $message") + } } actual fun i(tag: String, message: String) { - + if (loggingLevel <= INFO) { + NSLog("$tag, $message") + } } actual fun w(tag: String, message: String) { - + if (loggingLevel <= WARN) { + NSLog("$tag, $message") + } } actual fun e(tag: String, message: String) { - + if (loggingLevel <= ERROR) { + NSLog("$tag, $message") + } } } diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/SystemClock.kt b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/SystemClock.kt index 354dce952..4793d11ca 100644 --- a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/SystemClock.kt +++ b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/SystemClock.kt @@ -1,6 +1,8 @@ package com.bumble.appyx.interactions +import platform.CoreFoundation.CFAbsoluteTimeGetCurrent + actual object SystemClock { - actual fun nanoTime(): Long = 1L + actual fun nanoTime(): Long = CFAbsoluteTimeGetCurrent().toLong() } diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt index a44f5b880..5018ff81e 100644 --- a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt +++ b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/UUID.kt @@ -1,9 +1,9 @@ package com.bumble.appyx.interactions -import kotlin.random.Random +import platform.Foundation.NSUUID actual object UUID { - actual fun randomUUID(): String = Random.nextInt().toString() + actual fun randomUUID(): String = NSUUID().UUIDString() } diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt index 9280cf590..2449ee4ad 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt @@ -9,7 +9,6 @@ import com.bumble.appyx.components.backstack.BackStack import com.bumble.appyx.components.backstack.BackStackModel import com.bumble.appyx.components.backstack.operation.pop import com.bumble.appyx.components.backstack.operation.push -import com.bumble.appyx.components.backstack.ui.fader.BackStackFader import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax import com.bumble.appyx.interactions.core.model.BaseAppyxComponent From 27702607ac6ef1902d5751bd311fb1ed1b7db77d Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 31 Jul 2023 16:25:20 +0100 Subject: [PATCH 09/48] Added theme directory and using AppyxTheme --- .../shared/src/commonMain/kotlin/App.kt | 44 +++---------------- .../src/commonMain/kotlin/AppyxSample.kt | 12 +++++ .../kotlin/BackStackParallaxSample.kt | 1 - .../src/commonMain/kotlin/theme/Colors.kt | 21 +++++++++ .../kotlin/{ => theme}/MaterialColors.kt | 2 + .../src/commonMain/kotlin/theme/Shapes.kt | 11 +++++ 6 files changed, 53 insertions(+), 38 deletions(-) create mode 100644 demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Colors.kt rename demos/appyx-interactions/shared/src/commonMain/kotlin/{ => theme}/MaterialColors.kt (99%) create mode 100644 demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Shapes.kt diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt index d65effde8..beac0640e 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt @@ -1,17 +1,14 @@ import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.MaterialTheme -import androidx.compose.material.Shapes -import androidx.compose.material.darkColors import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.unit.dp +import theme.DarkColorPalette +import theme.shapes @Composable internal fun App() { - MaterialTheme { + AppyxTheme { BoxWithConstraints( modifier = Modifier.fillMaxSize() ) { @@ -27,37 +24,10 @@ internal fun App() { expect fun getPlatformName(): String @Composable -private fun AppyxTheme( - content: @Composable () -> Unit) -{ - val colors = DarkColorPalette - +private fun AppyxTheme(content: @Composable () -> Unit) { MaterialTheme( - colors = colors, - shapes = Shapes, + colors = DarkColorPalette, + shapes = shapes, content = content ) -} - -private val appyx_yellow1 = Color(0xFFFFC629) -private val appyx_yellow2 = Color(0xFFFFE54A) -private val appyx_dark = Color(0xFF1F2126) -private val appyx_bright = Color(0xFFFFFFFF) - -private val DarkColorPalette = darkColors( - primary = appyx_yellow1, - primaryVariant = appyx_yellow2, - secondary = appyx_yellow2, - background = appyx_dark, - surface = appyx_dark, - onPrimary = appyx_bright, - onSecondary = appyx_bright, - onBackground = appyx_bright, - onSurface = appyx_bright, -) - -private val Shapes = Shapes( - small = RoundedCornerShape(4.dp), - medium = RoundedCornerShape(4.dp), - large = RoundedCornerShape(0.dp) -) \ No newline at end of file +} \ No newline at end of file diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt index 5af566e81..766ee8b2e 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt @@ -22,6 +22,18 @@ import com.bumble.appyx.interactions.core.DraggableAppyxComponent import com.bumble.appyx.interactions.core.model.BaseAppyxComponent import com.bumble.appyx.interactions.core.ui.helper.AppyxComponentSetup import com.bumble.appyx.interactions.core.ui.output.ElementUiModel +import theme.color_primary +import theme.md_amber_500 +import theme.md_blue_500 +import theme.md_blue_grey_500 +import theme.md_cyan_500 +import theme.md_grey_500 +import theme.md_indigo_500 +import theme.md_light_blue_500 +import theme.md_light_green_500 +import theme.md_lime_500 +import theme.md_pink_500 +import theme.md_teal_500 import kotlin.random.Random internal sealed class InteractionTarget { diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt index 2449ee4ad..ca9fc6098 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt @@ -12,7 +12,6 @@ import com.bumble.appyx.components.backstack.operation.push import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax import com.bumble.appyx.interactions.core.model.BaseAppyxComponent - @Suppress("UNCHECKED_CAST") @Composable internal fun BackStackParallaxSample( diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Colors.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Colors.kt new file mode 100644 index 000000000..cc516d953 --- /dev/null +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Colors.kt @@ -0,0 +1,21 @@ +package theme + +import androidx.compose.material.darkColors +import androidx.compose.ui.graphics.Color + +val appyx_yellow1 = Color(0xFFFFC629) +val appyx_yellow2 = Color(0xFFFFE54A) +val appyx_dark = Color(0xFF1F2126) +val appyx_bright = Color(0xFFFFFFFF) + +val DarkColorPalette = darkColors( + primary = appyx_yellow1, + primaryVariant = appyx_yellow2, + secondary = appyx_yellow2, + background = appyx_dark, + surface = appyx_dark, + onPrimary = appyx_bright, + onSecondary = appyx_bright, + onBackground = appyx_bright, + onSurface = appyx_bright, +) \ No newline at end of file diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/MaterialColors.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/MaterialColors.kt similarity index 99% rename from demos/appyx-interactions/shared/src/commonMain/kotlin/MaterialColors.kt rename to demos/appyx-interactions/shared/src/commonMain/kotlin/theme/MaterialColors.kt index 8a6a321fc..c4eab6977 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/MaterialColors.kt +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/MaterialColors.kt @@ -1,3 +1,5 @@ +package theme + import androidx.compose.ui.graphics.Color // reds diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Shapes.kt b/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Shapes.kt new file mode 100644 index 000000000..8a1fac3a1 --- /dev/null +++ b/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Shapes.kt @@ -0,0 +1,11 @@ +package theme + +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Shapes +import androidx.compose.ui.unit.dp + +val shapes = Shapes( + small = RoundedCornerShape(4.dp), + medium = RoundedCornerShape(4.dp), + large = RoundedCornerShape(0.dp) +) \ No newline at end of file From e3d0780542f2a21ebe880b0a03e8be065b2c9c09 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 16 Aug 2023 13:24:00 +0100 Subject: [PATCH 10/48] Added iOS implementations for expect functions --- .../backstack/ui/parallax/TargetUiState.kt | 1 + .../com/bumble/appyx/interactions/platform.kt | 7 ------- .../AppyxLogger.kt | 16 ++++++++-------- .../BuildFlags.kt | 5 +++++ .../Parcelable.kt | 8 ++++++++ 5 files changed, 22 insertions(+), 15 deletions(-) rename {appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions => utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform}/AppyxLogger.kt (63%) create mode 100644 utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/BuildFlags.kt create mode 100644 utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt index 5f2d83e8f..0f27c1945 100644 --- a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt +++ b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/TargetUiState.kt @@ -6,6 +6,7 @@ import com.bumble.appyx.interactions.core.ui.property.impl.Alpha import com.bumble.appyx.interactions.core.ui.property.impl.ColorOverlay import com.bumble.appyx.interactions.core.ui.property.impl.Position import com.bumble.appyx.interactions.core.ui.property.impl.Shadow +import com.bumble.appyx.interactions.core.ui.property.impl.ZIndex import com.bumble.appyx.interactions.core.ui.state.MutableUiStateSpecs @Suppress("unused", "MemberVisibilityCanBePrivate") diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/platform.kt b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/platform.kt index 2854ebf3f..782e842e4 100644 --- a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/platform.kt +++ b/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/platform.kt @@ -3,10 +3,3 @@ package com.bumble.appyx.interactions actual fun getPlatformName(): String { return "iOS" } - -actual annotation class Parcelize - -actual interface Parcelable - -@Target(AnnotationTarget.TYPE) -actual annotation class RawValue diff --git a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt b/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/AppyxLogger.kt similarity index 63% rename from appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt rename to utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/AppyxLogger.kt index 7af0d7661..940b85ed7 100644 --- a/appyx-interactions/common/src/iosMain/kotlin/com/bumble/appyx/interactions/AppyxLogger.kt +++ b/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/AppyxLogger.kt @@ -1,11 +1,11 @@ -package com.bumble.appyx.interactions - -import com.bumble.appyx.interactions.AppyxLoggingLevel.DEBUG -import com.bumble.appyx.interactions.AppyxLoggingLevel.DISABLED -import com.bumble.appyx.interactions.AppyxLoggingLevel.ERROR -import com.bumble.appyx.interactions.AppyxLoggingLevel.INFO -import com.bumble.appyx.interactions.AppyxLoggingLevel.VERBOSE -import com.bumble.appyx.interactions.AppyxLoggingLevel.WARN +package com.bumble.appyx.utils.multiplatform + +import com.bumble.appyx.utils.multiplatform.AppyxLoggingLevel.DEBUG +import com.bumble.appyx.utils.multiplatform.AppyxLoggingLevel.DISABLED +import com.bumble.appyx.utils.multiplatform.AppyxLoggingLevel.ERROR +import com.bumble.appyx.utils.multiplatform.AppyxLoggingLevel.INFO +import com.bumble.appyx.utils.multiplatform.AppyxLoggingLevel.VERBOSE +import com.bumble.appyx.utils.multiplatform.AppyxLoggingLevel.WARN import platform.Foundation.NSLog actual object AppyxLogger { diff --git a/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/BuildFlags.kt b/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/BuildFlags.kt new file mode 100644 index 000000000..38a3021a8 --- /dev/null +++ b/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/BuildFlags.kt @@ -0,0 +1,5 @@ +package com.bumble.appyx.utils.multiplatform + +actual object BuildFlags { + actual val DEBUG: Boolean = false // TODO: provide value from gradle +} diff --git a/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt b/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt new file mode 100644 index 000000000..a260e76be --- /dev/null +++ b/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt @@ -0,0 +1,8 @@ +package com.bumble.appyx.utils.multiplatform + +actual annotation class Parcelize + +actual interface Parcelable + +@Target(AnnotationTarget.TYPE) +actual annotation class RawValue \ No newline at end of file From f624da83721e3f900e25cc613ad8a321d597c0e2 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 23 Aug 2023 16:55:05 +0100 Subject: [PATCH 11/48] Supporting ios for appyx-navigation --- .../navigation/navigation/IOSNodeHost.kt | 52 +++++++++++ .../navigation/MainIntegrationPoint.kt | 12 +++ .../platform/PlatformBackHandler.kt | 9 ++ .../platform/PlatformLifecycleRegistry.kt | 88 +++++++++++++++++++ .../appyx-navigation/common/build.gradle.kts | 15 ++++ 5 files changed, 176 insertions(+) create mode 100644 appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt create mode 100644 appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/MainIntegrationPoint.kt create mode 100644 appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt create mode 100644 appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt new file mode 100644 index 000000000..d55a2490f --- /dev/null +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt @@ -0,0 +1,52 @@ +package com.bumble.appyx.navigation.navigation + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.bumble.appyx.navigation.integration.NodeFactory +import com.bumble.appyx.navigation.integration.NodeHost +import com.bumble.appyx.navigation.integration.ScreenSize +import com.bumble.appyx.navigation.integrationpoint.IntegrationPoint +import com.bumble.appyx.navigation.node.Node +import com.bumble.appyx.navigation.platform.PlatformLifecycleRegistry +import com.bumble.appyx.utils.customisations.NodeCustomisationDirectory +import com.bumble.appyx.utils.customisations.NodeCustomisationDirectoryImpl +import kotlinx.cinterop.useContents +import platform.UIKit.UIScreen + +@Composable +fun IOSNodeHost( + modifier: Modifier = Modifier, + integrationPoint: IntegrationPoint = remember { MainIntegrationPoint() }, + customisations: NodeCustomisationDirectory = remember { NodeCustomisationDirectoryImpl() }, + factory: NodeFactory, +) { + val platformLifecycleRegistry = remember { + PlatformLifecycleRegistry() + } + val mainScreen = UIScreen.mainScreen + val screenBounds = mainScreen.bounds + val scale = mainScreen.scale + + // Calculate the width and height in dp + val dpWidth = screenBounds.useContents { size.width }.pixelsToDp() + val dpHeight = screenBounds.useContents { size.height }.pixelsToDp() + NodeHost( + lifecycle = platformLifecycleRegistry, + integrationPoint = integrationPoint, + modifier = modifier, + customisations = customisations, + screenSize = ScreenSize( + widthDp = dpWidth.dp, + heightDp = dpHeight.dp, + ), + factory = factory, + ) +} + +private fun Double.pixelsToDp(): Double { + val mainScreen = UIScreen.mainScreen + val scale = mainScreen.scale + return this / scale +} \ No newline at end of file diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/MainIntegrationPoint.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/MainIntegrationPoint.kt new file mode 100644 index 000000000..bdff6466c --- /dev/null +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/MainIntegrationPoint.kt @@ -0,0 +1,12 @@ +package com.bumble.appyx.navigation.navigation + +import com.bumble.appyx.navigation.integrationpoint.IntegrationPoint + +class MainIntegrationPoint : IntegrationPoint() { + override val isChangingConfigurations: Boolean + get() = false + + override fun onRootFinished() {} + + override fun handleUpNavigation() {} +} \ No newline at end of file diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt new file mode 100644 index 000000000..00c5fe5a1 --- /dev/null +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt @@ -0,0 +1,9 @@ +package com.bumble.appyx.navigation.platform + +import androidx.compose.runtime.Composable + +@Composable +actual fun PlatformBackHandler( + enabled: Boolean, + onBack: () -> Unit +) {} \ No newline at end of file diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt new file mode 100644 index 000000000..e5fe398e2 --- /dev/null +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -0,0 +1,88 @@ +package com.bumble.appyx.navigation.platform + +import com.bumble.appyx.navigation.lifecycle.CommonLifecycleOwner +import com.bumble.appyx.navigation.lifecycle.DefaultPlatformLifecycleObserver +import com.bumble.appyx.navigation.lifecycle.Lifecycle +import com.bumble.appyx.navigation.lifecycle.PlatformLifecycleEventObserver +import com.bumble.appyx.navigation.lifecycle.PlatformLifecycleObserver +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.cancel +import kotlinx.coroutines.isActive + +actual class PlatformLifecycleRegistry : Lifecycle { + + private val managedDefaultLifecycleObservers: MutableList = + ArrayList() + private val managedLifecycleEventObservers: MutableList = + ArrayList() + + private var _currentState: Lifecycle.State = Lifecycle.State.INITIALIZED + override val currentState: Lifecycle.State + get() = _currentState + + override val coroutineScope: CoroutineScope by lazy { MainScope() } + + override fun addObserver(observer: PlatformLifecycleObserver) { + when (observer) { + is DefaultPlatformLifecycleObserver -> managedDefaultLifecycleObservers.add(observer) + is PlatformLifecycleEventObserver -> managedLifecycleEventObservers.add(observer) + } + } + + override fun removeObserver(observer: PlatformLifecycleObserver) { + when (observer) { + is DefaultPlatformLifecycleObserver -> managedDefaultLifecycleObservers.remove(observer) + is PlatformLifecycleEventObserver -> managedLifecycleEventObservers.remove(observer) + } + } + + actual fun setCurrentState(state: Lifecycle.State) { + when (state) { + Lifecycle.State.INITIALIZED -> Unit + Lifecycle.State.CREATED -> { + managedDefaultLifecycleObservers.forEach { it.onCreate() } + managedLifecycleEventObservers.forEach { + it.onStateChanged( + state, + Lifecycle.Event.ON_CREATE + ) + } + } + Lifecycle.State.STARTED -> { + managedDefaultLifecycleObservers.forEach { it.onStart() } + managedLifecycleEventObservers.forEach { + it.onStateChanged( + state, + Lifecycle.Event.ON_START + ) + } + } + Lifecycle.State.RESUMED -> { + managedDefaultLifecycleObservers.forEach { it.onResume() } + managedLifecycleEventObservers.forEach { + it.onStateChanged( + state, + Lifecycle.Event.ON_RESUME + ) + } + } + Lifecycle.State.DESTROYED -> { + managedDefaultLifecycleObservers.forEach { it.onDestroy() } + managedLifecycleEventObservers.forEach { + it.onStateChanged( + state, + Lifecycle.Event.ON_DESTROY + ) + } + if (coroutineScope.isActive) coroutineScope.cancel("lifecycle was destroyed") + } + } + _currentState = state + } + + actual companion object { + actual fun create(owner: CommonLifecycleOwner): PlatformLifecycleRegistry = + PlatformLifecycleRegistry() + } +} \ No newline at end of file diff --git a/demos/appyx-navigation/common/build.gradle.kts b/demos/appyx-navigation/common/build.gradle.kts index 1e9f875d2..21c75f97a 100644 --- a/demos/appyx-navigation/common/build.gradle.kts +++ b/demos/appyx-navigation/common/build.gradle.kts @@ -21,6 +21,9 @@ kotlin { moduleName = "demo-appyx-navigation-common" browser() } + iosX64() + iosArm64() + iosSimulatorArm64() sourceSets { val commonMain by getting { dependencies { @@ -62,6 +65,15 @@ kotlin { implementation(npm("uuid", libs.versions.uuid.get())) } } + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } } } @@ -86,4 +98,7 @@ dependencies { add("kspAndroid", project(":ksp:mutable-ui-processor")) add("kspDesktop", project(":ksp:mutable-ui-processor")) add("kspJs", project(":ksp:mutable-ui-processor")) + add("kspIosArm64", project(":ksp:mutable-ui-processor")) + add("kspIosX64", project(":ksp:mutable-ui-processor")) + add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) } From de3a0a2e0f373cf9e70d80f9e0715dcce7df2166 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 30 Aug 2023 12:29:39 +0100 Subject: [PATCH 12/48] Added ios implementation for appyx-navigation --- .gitignore | 4 + .../cards/common/build.gradle.kts | 15 + .../modal/common/build.gradle.kts | 15 + .../promoter/common/build.gradle.kts | 15 + .../platform/PlatformLifecycleRegistry.kt | 2 +- .../navigation/navigation/IOSNodeHost.kt | 1 - demos/appyx-interactions/iosApp/Podfile.lock | 2 +- .../iosApp/iosApp.xcodeproj/project.pbxproj | 18 - .../shared/build.gradle.kts | 1 - .../appyx-interactions/shared/shared.podspec | 2 +- .../iosApp/Configuration/Config.xcconfig | 3 + demos/appyx-navigation/iosApp/Podfile | 5 + demos/appyx-navigation/iosApp/Podfile.lock | 16 + .../iosApp/iosApp.xcodeproj/project.pbxproj | 400 ++++++++++++++++++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 14 + .../AppIcon.appiconset/app-icon-1024.png | Bin 0 -> 67285 bytes .../iosApp/Assets.xcassets/Contents.json | 6 + .../iosApp/iosApp/ContentView.swift | 21 + .../appyx-navigation/iosApp/iosApp/Info.plist | 50 +++ .../Preview Assets.xcassets/Contents.json | 6 + .../iosApp/iosApp/iOSApp.swift | 13 + .../appyx-navigation/shared/build.gradle.kts | 94 ++++ demos/appyx-navigation/shared/shared.podspec | 39 ++ .../src/androidMain/AndroidManifest.xml | 2 + .../src/androidMain/kotlin/main.android.kt | 8 + .../shared/src/commonMain/kotlin/App.kt | 19 + .../resources/compose-multiplatform.xml | 36 ++ .../shared/src/iosMain/kotlin/main.ios.kt | 15 + demos/common/build.gradle.kts | 12 + settings.gradle.kts | 1 + .../NodeCustomisationDirectoryImpl.kt | 52 +++ 32 files changed, 875 insertions(+), 23 deletions(-) create mode 100644 demos/appyx-navigation/iosApp/Configuration/Config.xcconfig create mode 100644 demos/appyx-navigation/iosApp/Podfile create mode 100644 demos/appyx-navigation/iosApp/Podfile.lock create mode 100644 demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj create mode 100644 demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png create mode 100644 demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/Contents.json create mode 100644 demos/appyx-navigation/iosApp/iosApp/ContentView.swift create mode 100644 demos/appyx-navigation/iosApp/iosApp/Info.plist create mode 100644 demos/appyx-navigation/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 demos/appyx-navigation/iosApp/iosApp/iOSApp.swift create mode 100644 demos/appyx-navigation/shared/build.gradle.kts create mode 100644 demos/appyx-navigation/shared/shared.podspec create mode 100644 demos/appyx-navigation/shared/src/androidMain/AndroidManifest.xml create mode 100644 demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt create mode 100644 demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt create mode 100644 demos/appyx-navigation/shared/src/commonMain/resources/compose-multiplatform.xml create mode 100644 demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt create mode 100644 utils/customisations/src/iosMain/kotlin/com/bumble/appyx/utils/customisations/NodeCustomisationDirectoryImpl.kt diff --git a/.gitignore b/.gitignore index f90997c2b..b12d693fb 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ demos/appyx-interactions/iosApp/Pods/* demos/appyx-interactions/iosApp/iosApp.xcworkspace/* demos/appyx-interactions/iosApp/iosApp.xcodeproj/* !demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj +demos/appyx-navigation/iosApp/Pods/* +demos/appyx-navigation/iosApp/iosApp.xcworkspace/* +demos/appyx-navigation/iosApp/iosApp.xcodeproj/* +!demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj diff --git a/appyx-components/experimental/cards/common/build.gradle.kts b/appyx-components/experimental/cards/common/build.gradle.kts index 6612cfd31..afe55ab35 100644 --- a/appyx-components/experimental/cards/common/build.gradle.kts +++ b/appyx-components/experimental/cards/common/build.gradle.kts @@ -21,6 +21,9 @@ kotlin { moduleName = "appyx-components-experimental-cards-commons" browser() } + iosX64() + iosArm64() + iosSimulatorArm64() sourceSets { val commonMain by getting { dependencies { @@ -37,6 +40,15 @@ kotlin { } val androidMain by getting val desktopMain by getting + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } } } @@ -56,4 +68,7 @@ dependencies { add("kspAndroid", project(":ksp:mutable-ui-processor")) add("kspDesktop", project(":ksp:mutable-ui-processor")) add("kspJs", project(":ksp:mutable-ui-processor")) + add("kspIosArm64", project(":ksp:mutable-ui-processor")) + add("kspIosX64", project(":ksp:mutable-ui-processor")) + add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) } diff --git a/appyx-components/experimental/modal/common/build.gradle.kts b/appyx-components/experimental/modal/common/build.gradle.kts index 500b16166..78814ee80 100644 --- a/appyx-components/experimental/modal/common/build.gradle.kts +++ b/appyx-components/experimental/modal/common/build.gradle.kts @@ -22,6 +22,9 @@ kotlin { moduleName = "appyx-components-modal-commons" browser() } + iosX64() + iosArm64() + iosSimulatorArm64() sourceSets { val commonMain by getting { dependencies { @@ -42,6 +45,15 @@ kotlin { } } val desktopMain by getting + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } } } @@ -60,4 +72,7 @@ dependencies { add("kspAndroid", project(":ksp:mutable-ui-processor")) add("kspDesktop", project(":ksp:mutable-ui-processor")) add("kspJs", project(":ksp:mutable-ui-processor")) + add("kspIosArm64", project(":ksp:mutable-ui-processor")) + add("kspIosX64", project(":ksp:mutable-ui-processor")) + add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) } diff --git a/appyx-components/experimental/promoter/common/build.gradle.kts b/appyx-components/experimental/promoter/common/build.gradle.kts index e5e5fe6e0..38cfdffbd 100644 --- a/appyx-components/experimental/promoter/common/build.gradle.kts +++ b/appyx-components/experimental/promoter/common/build.gradle.kts @@ -21,6 +21,9 @@ kotlin { moduleName = "appyx-components-experimental-promoter-commons" browser() } + iosX64() + iosArm64() + iosSimulatorArm64() sourceSets { val commonMain by getting { dependencies { @@ -38,6 +41,15 @@ kotlin { } val androidMain by getting val desktopMain by getting + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } } } @@ -57,4 +69,7 @@ dependencies { add("kspAndroid", project(":ksp:mutable-ui-processor")) add("kspDesktop", project(":ksp:mutable-ui-processor")) add("kspJs", project(":ksp:mutable-ui-processor")) + add("kspIosArm64", project(":ksp:mutable-ui-processor")) + add("kspIosX64", project(":ksp:mutable-ui-processor")) + add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) } diff --git a/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index dc93e8335..f9692a200 100644 --- a/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -11,7 +11,7 @@ import com.bumble.appyx.navigation.lifecycle.PlatformLifecycleEventObserver import com.bumble.appyx.navigation.lifecycle.PlatformLifecycleObserver import kotlinx.coroutines.CoroutineScope -actual class PlatformLifecycleRegistry( +class PlatformLifecycleRegistry( androidOwner: LifecycleOwner ) : Lifecycle, androidx.lifecycle.DefaultLifecycleObserver, androidx.lifecycle.LifecycleEventObserver { diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt index d55a2490f..395140c3a 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt @@ -27,7 +27,6 @@ fun IOSNodeHost( } val mainScreen = UIScreen.mainScreen val screenBounds = mainScreen.bounds - val scale = mainScreen.scale // Calculate the width and height in dp val dpWidth = screenBounds.useContents { size.width }.pixelsToDp() diff --git a/demos/appyx-interactions/iosApp/Podfile.lock b/demos/appyx-interactions/iosApp/Podfile.lock index 4dd9d84bf..ed4b4df9f 100644 --- a/demos/appyx-interactions/iosApp/Podfile.lock +++ b/demos/appyx-interactions/iosApp/Podfile.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../shared" SPEC CHECKSUMS: - shared: 3608fc94938571cc8e7d0696c5378a4d1c5c524b + shared: 60a0ea389d6d4959d2c246012c6974cca241b540 PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756 diff --git a/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj b/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj index df8fc264e..c888c0443 100644 --- a/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj @@ -114,7 +114,6 @@ 7555FF77242A565900829871 /* Sources */, 7555FF79242A565900829871 /* Resources */, F85CB1118929364A9C6EFABC /* Frameworks */, - 2134C13603D0B299603D9F49 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -171,23 +170,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2134C13603D0B299603D9F49 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 98D614C51D2DA07C614CC46E /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/demos/appyx-interactions/shared/build.gradle.kts b/demos/appyx-interactions/shared/build.gradle.kts index 804deaf91..98c4e898c 100644 --- a/demos/appyx-interactions/shared/build.gradle.kts +++ b/demos/appyx-interactions/shared/build.gradle.kts @@ -23,7 +23,6 @@ kotlin { baseName = "shared" isStatic = true } - extraSpecAttributes["resources"] = "['src/commonMain/resources/**', 'src/iosMain/resources/**']" } sourceSets { diff --git a/demos/appyx-interactions/shared/shared.podspec b/demos/appyx-interactions/shared/shared.podspec index 012846e3b..edc59f625 100644 --- a/demos/appyx-interactions/shared/shared.podspec +++ b/demos/appyx-interactions/shared/shared.podspec @@ -35,5 +35,5 @@ Pod::Spec.new do |spec| SCRIPT } ] - spec.resources = ['src/commonMain/resources/**', 'src/iosMain/resources/**'] + end \ No newline at end of file diff --git a/demos/appyx-navigation/iosApp/Configuration/Config.xcconfig b/demos/appyx-navigation/iosApp/Configuration/Config.xcconfig new file mode 100644 index 000000000..59e262bd6 --- /dev/null +++ b/demos/appyx-navigation/iosApp/Configuration/Config.xcconfig @@ -0,0 +1,3 @@ +TEAM_ID= +BUNDLE_ID=com.bumble.appyx.Appyx +APP_NAME=Appyx diff --git a/demos/appyx-navigation/iosApp/Podfile b/demos/appyx-navigation/iosApp/Podfile new file mode 100644 index 000000000..aff9c517b --- /dev/null +++ b/demos/appyx-navigation/iosApp/Podfile @@ -0,0 +1,5 @@ +target 'iosApp' do + use_frameworks! + platform :ios, '14.1' + pod 'shared', :path => '../shared' +end \ No newline at end of file diff --git a/demos/appyx-navigation/iosApp/Podfile.lock b/demos/appyx-navigation/iosApp/Podfile.lock new file mode 100644 index 000000000..4f9387a5c --- /dev/null +++ b/demos/appyx-navigation/iosApp/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - shared (1.0.0) + +DEPENDENCIES: + - shared (from `../shared`) + +EXTERNAL SOURCES: + shared: + :path: "../shared" + +SPEC CHECKSUMS: + shared: aa9b70561aa86e21b87f25d587b339b3362da92d + +PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756 + +COCOAPODS: 1.12.1 diff --git a/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj b/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj new file mode 100644 index 000000000..c888c0443 --- /dev/null +++ b/demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj @@ -0,0 +1,400 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXBuildFile section */ + 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557BA273AAA24004C7B11 /* Assets.xcassets */; }; + 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */; }; + 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2152FB032600AC8F00CF470E /* iOSApp.swift */; }; + 7555FF83242A565900829871 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7555FF82242A565900829871 /* ContentView.swift */; }; + CFDB58B53BB94DE262B13C24 /* Pods_iosApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B1049432C0C2B312090ABF6 /* Pods_iosApp.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 058557BA273AAA24004C7B11 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 2152FB032600AC8F00CF470E /* iOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iOSApp.swift; sourceTree = ""; }; + 4FF3202A603A284706412EDC /* Pods-iosApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosApp.debug.xcconfig"; path = "Target Support Files/Pods-iosApp/Pods-iosApp.debug.xcconfig"; sourceTree = ""; }; + 6B1049432C0C2B312090ABF6 /* Pods_iosApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_iosApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7555FF7B242A565900829871 /* My application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "My application.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 7555FF82242A565900829871 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 7555FF8C242A565B00829871 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AB3632DC29227652001CCB65 /* Config.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = ""; }; + FF8CA3F5360CEAB49D74065F /* Pods-iosApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosApp.release.xcconfig"; path = "Target Support Files/Pods-iosApp/Pods-iosApp.release.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + F85CB1118929364A9C6EFABC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CFDB58B53BB94DE262B13C24 /* Pods_iosApp.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 058557D7273AAEEB004C7B11 /* Preview Content */ = { + isa = PBXGroup; + children = ( + 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + 42799AB246E5F90AF97AA0EF /* Frameworks */ = { + isa = PBXGroup; + children = ( + 6B1049432C0C2B312090ABF6 /* Pods_iosApp.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 7555FF72242A565900829871 = { + isa = PBXGroup; + children = ( + AB1DB47929225F7C00F7AF9C /* Configuration */, + 7555FF7D242A565900829871 /* iosApp */, + 7555FF7C242A565900829871 /* Products */, + FEFF387C0A8D172AA4D59CAE /* Pods */, + 42799AB246E5F90AF97AA0EF /* Frameworks */, + ); + sourceTree = ""; + }; + 7555FF7C242A565900829871 /* Products */ = { + isa = PBXGroup; + children = ( + 7555FF7B242A565900829871 /* My application.app */, + ); + name = Products; + sourceTree = ""; + }; + 7555FF7D242A565900829871 /* iosApp */ = { + isa = PBXGroup; + children = ( + 058557BA273AAA24004C7B11 /* Assets.xcassets */, + 7555FF82242A565900829871 /* ContentView.swift */, + 7555FF8C242A565B00829871 /* Info.plist */, + 2152FB032600AC8F00CF470E /* iOSApp.swift */, + 058557D7273AAEEB004C7B11 /* Preview Content */, + ); + path = iosApp; + sourceTree = ""; + }; + AB1DB47929225F7C00F7AF9C /* Configuration */ = { + isa = PBXGroup; + children = ( + AB3632DC29227652001CCB65 /* Config.xcconfig */, + ); + path = Configuration; + sourceTree = ""; + }; + FEFF387C0A8D172AA4D59CAE /* Pods */ = { + isa = PBXGroup; + children = ( + 4FF3202A603A284706412EDC /* Pods-iosApp.debug.xcconfig */, + FF8CA3F5360CEAB49D74065F /* Pods-iosApp.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 7555FF7A242A565900829871 /* iosApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */; + buildPhases = ( + 98D614C51D2DA07C614CC46E /* [CP] Check Pods Manifest.lock */, + 7555FF77242A565900829871 /* Sources */, + 7555FF79242A565900829871 /* Resources */, + F85CB1118929364A9C6EFABC /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = iosApp; + productName = iosApp; + productReference = 7555FF7B242A565900829871 /* My application.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 7555FF73242A565900829871 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1130; + LastUpgradeCheck = 1130; + ORGANIZATIONNAME = orgName; + TargetAttributes = { + 7555FF7A242A565900829871 = { + CreatedOnToolsVersion = 11.3.1; + }; + }; + }; + buildConfigurationList = 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 7555FF72242A565900829871; + productRefGroup = 7555FF7C242A565900829871 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 7555FF7A242A565900829871 /* iosApp */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 7555FF79242A565900829871 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */, + 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 98D614C51D2DA07C614CC46E /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-iosApp-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 7555FF77242A565900829871 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */, + 7555FF83242A565900829871 /* ContentView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 7555FFA3242A565B00829871 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 7555FFA4242A565B00829871 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 7555FFA6242A565B00829871 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4FF3202A603A284706412EDC /* Pods-iosApp.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; + DEVELOPMENT_TEAM = "${TEAM_ID}"; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = iosApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; + PRODUCT_NAME = "${APP_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 7555FFA7242A565B00829871 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FF8CA3F5360CEAB49D74065F /* Pods-iosApp.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; + DEVELOPMENT_TEAM = "${TEAM_ID}"; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = iosApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; + PRODUCT_NAME = "${APP_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7555FFA3242A565B00829871 /* Debug */, + 7555FFA4242A565B00829871 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7555FFA6242A565B00829871 /* Debug */, + 7555FFA7242A565B00829871 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 7555FF73242A565900829871 /* Project object */; +} diff --git a/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json b/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 000000000..ee7e3ca03 --- /dev/null +++ b/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..8edf56e7a --- /dev/null +++ b/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images" : [ + { + "filename" : "app-icon-1024.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..53fc536fb9ac5c1dbb27c7e1da13db3760070a11 GIT binary patch literal 67285 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 BXNCX( literal 0 HcmV?d00001 diff --git a/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/Contents.json b/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/demos/appyx-navigation/iosApp/iosApp/ContentView.swift b/demos/appyx-navigation/iosApp/iosApp/ContentView.swift new file mode 100644 index 000000000..64e705686 --- /dev/null +++ b/demos/appyx-navigation/iosApp/iosApp/ContentView.swift @@ -0,0 +1,21 @@ +import UIKit +import SwiftUI +import shared + +struct ComposeView: UIViewControllerRepresentable { + func makeUIViewController(context: Context) -> UIViewController { + Main_iosKt.MainViewController() + } + + func updateUIViewController(_ uiViewController: UIViewController, context: Context) {} +} + +struct ContentView: View { + var body: some View { + ComposeView() + .ignoresSafeArea(.all, edges: .bottom) // Compose has own keyboard handler + } +} + + + diff --git a/demos/appyx-navigation/iosApp/iosApp/Info.plist b/demos/appyx-navigation/iosApp/iosApp/Info.plist new file mode 100644 index 000000000..412e37812 --- /dev/null +++ b/demos/appyx-navigation/iosApp/iosApp/Info.plist @@ -0,0 +1,50 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + + UILaunchScreen + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/demos/appyx-navigation/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json b/demos/appyx-navigation/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 000000000..4aa7c5350 --- /dev/null +++ b/demos/appyx-navigation/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/demos/appyx-navigation/iosApp/iosApp/iOSApp.swift b/demos/appyx-navigation/iosApp/iosApp/iOSApp.swift new file mode 100644 index 000000000..1f23b442a --- /dev/null +++ b/demos/appyx-navigation/iosApp/iosApp/iOSApp.swift @@ -0,0 +1,13 @@ +import SwiftUI + +@main +struct iOSApp: App { + var body: some Scene { + WindowGroup { + ZStack { + Color.white.ignoresSafeArea(.all) // status bar color + ContentView() + }.preferredColorScheme(.light) + } + } +} \ No newline at end of file diff --git a/demos/appyx-navigation/shared/build.gradle.kts b/demos/appyx-navigation/shared/build.gradle.kts new file mode 100644 index 000000000..b19046682 --- /dev/null +++ b/demos/appyx-navigation/shared/build.gradle.kts @@ -0,0 +1,94 @@ +plugins { + kotlin("multiplatform") + kotlin("native.cocoapods") + id("com.android.library") + id("org.jetbrains.compose") + id("com.google.devtools.ksp") +} + +kotlin { + android() + + iosX64() + iosArm64() + iosSimulatorArm64() + + cocoapods { + version = "1.0.0" + summary = "appyx-nvaigation shared module" + homepage = "https://bumble-tech.github.io/appyx/interactions/" + ios.deploymentTarget = "16.4" + podfile = project.file("../iosApp/Podfile") + framework { + baseName = "shared" + isStatic = true + } + } + + sourceSets { + val commonMain by getting { + dependencies { + implementation(project(":demos:common")) + implementation(project(":demos:appyx-navigation:common")) + implementation(project(":appyx-interactions:appyx-interactions")) + implementation(project(":appyx-navigation:appyx-navigation")) + implementation(project(":appyx-components:stable:backstack:backstack")) + api(compose.runtime) + api(compose.foundation) + api(compose.material) + implementation(libs.kotlin.coroutines.core) + } + } + val androidMain by getting { + dependencies { + api(libs.androidx.activity.compose) + api(libs.androidx.appcompat) + api(libs.androidx.core) + } + } + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } + } +} + +android { + namespace = "com.bumble.appyx.common" + compileSdk = libs.versions.androidCompileSdk.get().toInt() + + defaultConfig { + minSdk = libs.versions.androidMinSdk.get().toInt() + } + + sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") + sourceSets["main"].res.srcDirs("src/androidMain/res") + sourceSets["main"].resources.srcDirs("src/commonMain/resources") + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + kotlin { + jvmToolchain(11) + } +} + +compose.experimental { + uikit.application { + projectName = "Appyx" + bundleIdPrefix = "com.bumble.appyx" + } +} + +dependencies { + add("kspCommonMainMetadata", project(":ksp:mutable-ui-processor")) + add("kspIosArm64", project(":ksp:mutable-ui-processor")) + add("kspIosX64", project(":ksp:mutable-ui-processor")) + add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) +} diff --git a/demos/appyx-navigation/shared/shared.podspec b/demos/appyx-navigation/shared/shared.podspec new file mode 100644 index 000000000..895b8a633 --- /dev/null +++ b/demos/appyx-navigation/shared/shared.podspec @@ -0,0 +1,39 @@ +Pod::Spec.new do |spec| + spec.name = 'shared' + spec.version = '1.0.0' + spec.homepage = 'https://bumble-tech.github.io/appyx/interactions/' + spec.source = { :http=> ''} + spec.authors = '' + spec.license = '' + spec.summary = 'appyx-nvaigation shared module' + spec.vendored_frameworks = 'build/cocoapods/framework/shared.framework' + spec.libraries = 'c++' + spec.ios.deployment_target = '16.4' + + + spec.pod_target_xcconfig = { + 'KOTLIN_PROJECT_PATH' => ':demos:appyx-navigation:shared', + 'PRODUCT_MODULE_NAME' => 'shared', + } + + spec.script_phases = [ + { + :name => 'Build shared', + :execution_position => :before_compile, + :shell_path => '/bin/sh', + :script => <<-SCRIPT + if [ "YES" = "$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED" ]; then + echo "Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\"" + exit 0 + fi + set -ev + REPO_ROOT="$PODS_TARGET_SRCROOT" + "$REPO_ROOT/../../../gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \ + -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \ + -Pkotlin.native.cocoapods.archs="$ARCHS" \ + -Pkotlin.native.cocoapods.configuration="$CONFIGURATION" + SCRIPT + } + ] + +end \ No newline at end of file diff --git a/demos/appyx-navigation/shared/src/androidMain/AndroidManifest.xml b/demos/appyx-navigation/shared/src/androidMain/AndroidManifest.xml new file mode 100644 index 000000000..568741e54 --- /dev/null +++ b/demos/appyx-navigation/shared/src/androidMain/AndroidManifest.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt b/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt new file mode 100644 index 000000000..128459034 --- /dev/null +++ b/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt @@ -0,0 +1,8 @@ +import androidx.compose.runtime.Composable + +@Composable fun MainView() = App() + +@Composable +actual fun NodeHost() { + +} diff --git a/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt b/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt new file mode 100644 index 000000000..4699f4e56 --- /dev/null +++ b/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt @@ -0,0 +1,19 @@ +import androidx.compose.foundation.layout.BoxWithConstraints +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme + +@Composable +internal fun App() { + AppyxSampleAppTheme { + BoxWithConstraints( + modifier = Modifier.fillMaxSize() + ) { + NodeHost() + } + } +} + +@Composable +expect fun NodeHost() \ No newline at end of file diff --git a/demos/appyx-navigation/shared/src/commonMain/resources/compose-multiplatform.xml b/demos/appyx-navigation/shared/src/commonMain/resources/compose-multiplatform.xml new file mode 100644 index 000000000..d7bf7955f --- /dev/null +++ b/demos/appyx-navigation/shared/src/commonMain/resources/compose-multiplatform.xml @@ -0,0 +1,36 @@ + + + + + + + + diff --git a/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt new file mode 100644 index 000000000..2fe3752f6 --- /dev/null +++ b/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt @@ -0,0 +1,15 @@ +import androidx.compose.runtime.Composable +import androidx.compose.ui.window.ComposeUIViewController +import com.bumble.appyx.navigation.navigation.IOSNodeHost +import com.bumble.appyx.navigation.node.container.ContainerNode + +fun MainViewController() = ComposeUIViewController { App() } + +@Composable +actual fun NodeHost() { + IOSNodeHost { buildContext -> + ContainerNode( + buildContext = buildContext, + ) + } +} \ No newline at end of file diff --git a/demos/common/build.gradle.kts b/demos/common/build.gradle.kts index c2a309bcb..86e35957b 100644 --- a/demos/common/build.gradle.kts +++ b/demos/common/build.gradle.kts @@ -20,6 +20,9 @@ kotlin { moduleName = "appyx-demos-commons" browser() } + iosX64() + iosArm64() + iosSimulatorArm64() sourceSets { val commonMain by getting { dependencies { @@ -44,6 +47,15 @@ kotlin { } } val desktopMain by getting + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + dependsOn(commonMain) + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) + } } } diff --git a/settings.gradle.kts b/settings.gradle.kts index 2c4915860..bdc6c97ac 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -52,6 +52,7 @@ include( ":demos:appyx-navigation:android", ":demos:appyx-navigation:desktop", ":demos:appyx-navigation:web", + ":demos:appyx-navigation:shared", ":demos:appyx-interactions:shared", ":demos:common", ":demos:navigation-compose", diff --git a/utils/customisations/src/iosMain/kotlin/com/bumble/appyx/utils/customisations/NodeCustomisationDirectoryImpl.kt b/utils/customisations/src/iosMain/kotlin/com/bumble/appyx/utils/customisations/NodeCustomisationDirectoryImpl.kt new file mode 100644 index 000000000..d10288c59 --- /dev/null +++ b/utils/customisations/src/iosMain/kotlin/com/bumble/appyx/utils/customisations/NodeCustomisationDirectoryImpl.kt @@ -0,0 +1,52 @@ +package com.bumble.appyx.utils.customisations + +import kotlin.reflect.KClass + +actual open class NodeCustomisationDirectoryImpl actual constructor( + override val parent: NodeCustomisationDirectory? +) : MutableNodeCustomisationDirectory { + + private val map: MutableMap = hashMapOf() + + override fun put(key: KClass, value: T) { + map[key] = value + } + + fun put(vararg values: T) { + values.forEach { + map[it::class] = it + } + } + + inline operator fun T.unaryPlus() { + put(this) + } + + override fun get(key: KClass): T? = + map[key] as? T + + override fun getRecursively(key: KClass): T? = + get(key) ?: parent?.get(key) + + override fun putSubDirectory(key: KClass, value: NodeCustomisationDirectory) { + map[key] = value + } + + override fun getSubDirectory(key: KClass): NodeCustomisationDirectory? = + map[key] as? NodeCustomisationDirectory + + override fun getSubDirectoryOrSelf(key: KClass): NodeCustomisationDirectory { + val subDir = map.keys.firstOrNull { + it is KClass<*> + } + + return map[subDir] as? NodeCustomisationDirectory ?: this + } + + operator fun KClass<*>.invoke(block: NodeCustomisationDirectoryImpl.() -> Unit) { + if (map.containsKey(this)) { + // TODO warning for accidental override? + } + map[this] = NodeCustomisationDirectoryImpl(this@NodeCustomisationDirectoryImpl).apply(block) + } +} From 845bdb8608d477ee2f9fa379dab61ab34af2a0fa Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 6 Sep 2023 11:44:36 +0100 Subject: [PATCH 13/48] Running appyx-navigation on ios --- .../navigation/composable/AppyxComponent.kt | 1 - .../platform/PlatformBackHandler.kt | 2 +- .../platform/PlatformLifecycleRegistry.kt | 2 +- .../platform/PlatformLifecycleRegistry.kt | 2 +- .../platform/PlatformLifecycleRegistry.kt | 2 +- .../platform/PlatformLifecycleRegistry.kt | 2 +- .../src/androidMain/kotlin/main.android.kt | 5 -- .../shared/src/commonMain/kotlin/App.kt | 55 +++++++++++++++++-- .../shared/src/iosMain/kotlin/main.ios.kt | 11 +--- 9 files changed, 56 insertions(+), 26 deletions(-) diff --git a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/composable/AppyxComponent.kt b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/composable/AppyxComponent.kt index b0f9ae242..f62237b73 100644 --- a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/composable/AppyxComponent.kt +++ b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/composable/AppyxComponent.kt @@ -146,7 +146,6 @@ class ChildrenTransitionScope( .offset { offsetCenter.round() } .width(with(density) { size.width.toDp() }) .height(with(density) { size.height.toDp() }) - .offset { offsetCenter.round() } .pointerInput(appyxComponent) { detectDragGesturesOrCancellation( onDragStart = { position -> diff --git a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt index 5e521f90d..7c42edd35 100644 --- a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt +++ b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt @@ -4,6 +4,6 @@ import androidx.compose.runtime.Composable @Composable expect fun PlatformBackHandler( - enabled: Boolean = true, + enabled: Boolean, onBack: () -> Unit ) diff --git a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index 8f7c43724..200f7f307 100644 --- a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -3,7 +3,7 @@ package com.bumble.appyx.navigation.platform import com.bumble.appyx.navigation.lifecycle.CommonLifecycleOwner import com.bumble.appyx.navigation.lifecycle.Lifecycle -expect class PlatformLifecycleRegistry : Lifecycle { +expect open class PlatformLifecycleRegistry() : Lifecycle { fun setCurrentState(state: Lifecycle.State) companion object { diff --git a/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index 517c831b1..7b5e5b690 100644 --- a/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -11,7 +11,7 @@ import kotlinx.coroutines.cancel import kotlinx.coroutines.isActive -actual class PlatformLifecycleRegistry : Lifecycle { +actual open class PlatformLifecycleRegistry : Lifecycle { private val managedDefaultLifecycleObservers: MutableList = ArrayList() diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index e5fe398e2..2c433ce21 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -10,7 +10,7 @@ import kotlinx.coroutines.MainScope import kotlinx.coroutines.cancel import kotlinx.coroutines.isActive -actual class PlatformLifecycleRegistry : Lifecycle { +actual open class PlatformLifecycleRegistry : Lifecycle { private val managedDefaultLifecycleObservers: MutableList = ArrayList() diff --git a/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index 518ca5afa..eb0e0b76f 100644 --- a/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -10,7 +10,7 @@ import kotlinx.coroutines.MainScope import kotlinx.coroutines.cancel import kotlinx.coroutines.isActive -actual class PlatformLifecycleRegistry : Lifecycle { +actual open class PlatformLifecycleRegistry : Lifecycle { private val managedDefaultLifecycleObservers: MutableList = ArrayList() diff --git a/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt b/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt index 128459034..4a1d2a6fe 100644 --- a/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt +++ b/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt @@ -1,8 +1,3 @@ import androidx.compose.runtime.Composable @Composable fun MainView() = App() - -@Composable -actual fun NodeHost() { - -} diff --git a/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt b/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt index 4699f4e56..0ca33038b 100644 --- a/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt +++ b/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt @@ -1,8 +1,23 @@ import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import com.bumble.appyx.components.backstack.BackStack +import com.bumble.appyx.components.backstack.BackStackModel +import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax +import com.bumble.appyx.components.backstack.ui.slider.BackStackSlider +import com.bumble.appyx.navigation.integration.NodeHost +import com.bumble.appyx.navigation.integration.ScreenSize +import com.bumble.appyx.navigation.integrationpoint.IntegrationPoint +import com.bumble.appyx.navigation.node.container.ContainerNode +import com.bumble.appyx.navigation.platform.PlatformLifecycleRegistry import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme +import com.bumble.appyx.utils.customisations.MutableNodeCustomisationDirectory +import com.bumble.appyx.utils.customisations.NodeCustomisation +import com.bumble.appyx.utils.customisations.NodeCustomisationDirectory +import com.bumble.appyx.utils.customisations.NodeCustomisationDirectoryImpl +import kotlin.reflect.KClass @Composable internal fun App() { @@ -10,10 +25,40 @@ internal fun App() { BoxWithConstraints( modifier = Modifier.fillMaxSize() ) { - NodeHost() + val platformLifecycleRegistry = remember { + object : PlatformLifecycleRegistry() {} + } + + val dpWidth = maxWidth + val dpHeight = maxHeight + NodeHost( + lifecycle = platformLifecycleRegistry, + integrationPoint = remember { object : IntegrationPoint() { + override val isChangingConfigurations: Boolean + get() = false + + override fun onRootFinished() {} + + override fun handleUpNavigation() {} + } }, + modifier = Modifier, + screenSize = ScreenSize( + widthDp = dpWidth, + heightDp = dpHeight, + ), + ) { + ContainerNode( + buildContext = it, + backStack = BackStack( + model = BackStackModel( + initialTargets = listOf(ContainerNode.InteractionTarget.Selector), + savedStateMap = it.savedStateMap, + ), + motionController = { BackStackParallax(it) }, + gestureFactory = { BackStackParallax.Gestures(it) } + ) + ) + } } } -} - -@Composable -expect fun NodeHost() \ No newline at end of file +} \ No newline at end of file diff --git a/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt index 2fe3752f6..3fd4eadde 100644 --- a/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt @@ -3,13 +3,4 @@ import androidx.compose.ui.window.ComposeUIViewController import com.bumble.appyx.navigation.navigation.IOSNodeHost import com.bumble.appyx.navigation.node.container.ContainerNode -fun MainViewController() = ComposeUIViewController { App() } - -@Composable -actual fun NodeHost() { - IOSNodeHost { buildContext -> - ContainerNode( - buildContext = buildContext, - ) - } -} \ No newline at end of file +fun MainViewController() = ComposeUIViewController { App() } \ No newline at end of file From a1110c80d5b0a350a152f7f7e3a8b0f09f71b5f0 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 6 Sep 2023 14:19:23 +0100 Subject: [PATCH 14/48] Only having ios target and removed common + android submodules --- .../{shared => ios}/build.gradle.kts | 52 +++------------ .../shared.podspec => ios/ios.podspec} | 12 ++-- .../ios/src/iosMain/kotlin/main.ios.kt | 28 ++++++++ demos/appyx-navigation/iosApp/Podfile | 2 +- demos/appyx-navigation/iosApp/Podfile.lock | 12 ++-- .../iosApp/iosApp/ContentView.swift | 2 +- .../src/androidMain/AndroidManifest.xml | 2 - .../src/androidMain/kotlin/main.android.kt | 3 - .../shared/src/commonMain/kotlin/App.kt | 64 ------------------- .../resources/compose-multiplatform.xml | 36 ----------- .../shared/src/iosMain/kotlin/main.ios.kt | 6 -- settings.gradle.kts | 2 +- 12 files changed, 52 insertions(+), 169 deletions(-) rename demos/appyx-navigation/{shared => ios}/build.gradle.kts (61%) rename demos/appyx-navigation/{shared/shared.podspec => ios/ios.podspec} (79%) create mode 100644 demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt delete mode 100644 demos/appyx-navigation/shared/src/androidMain/AndroidManifest.xml delete mode 100644 demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt delete mode 100644 demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt delete mode 100644 demos/appyx-navigation/shared/src/commonMain/resources/compose-multiplatform.xml delete mode 100644 demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt diff --git a/demos/appyx-navigation/shared/build.gradle.kts b/demos/appyx-navigation/ios/build.gradle.kts similarity index 61% rename from demos/appyx-navigation/shared/build.gradle.kts rename to demos/appyx-navigation/ios/build.gradle.kts index b19046682..a6caf41c8 100644 --- a/demos/appyx-navigation/shared/build.gradle.kts +++ b/demos/appyx-navigation/ios/build.gradle.kts @@ -1,13 +1,11 @@ plugins { kotlin("multiplatform") kotlin("native.cocoapods") - id("com.android.library") id("org.jetbrains.compose") id("com.google.devtools.ksp") } kotlin { - android() iosX64() iosArm64() @@ -15,18 +13,24 @@ kotlin { cocoapods { version = "1.0.0" - summary = "appyx-nvaigation shared module" + summary = "appyx-nvaigation ios module" homepage = "https://bumble-tech.github.io/appyx/interactions/" ios.deploymentTarget = "16.4" podfile = project.file("../iosApp/Podfile") framework { - baseName = "shared" + baseName = "ios" isStatic = true } } sourceSets { - val commonMain by getting { + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) dependencies { implementation(project(":demos:common")) implementation(project(":demos:appyx-navigation:common")) @@ -39,43 +43,6 @@ kotlin { implementation(libs.kotlin.coroutines.core) } } - val androidMain by getting { - dependencies { - api(libs.androidx.activity.compose) - api(libs.androidx.appcompat) - api(libs.androidx.core) - } - } - val iosX64Main by getting - val iosArm64Main by getting - val iosSimulatorArm64Main by getting - val iosMain by creating { - dependsOn(commonMain) - iosX64Main.dependsOn(this) - iosArm64Main.dependsOn(this) - iosSimulatorArm64Main.dependsOn(this) - } - } -} - -android { - namespace = "com.bumble.appyx.common" - compileSdk = libs.versions.androidCompileSdk.get().toInt() - - defaultConfig { - minSdk = libs.versions.androidMinSdk.get().toInt() - } - - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - sourceSets["main"].res.srcDirs("src/androidMain/res") - sourceSets["main"].resources.srcDirs("src/commonMain/resources") - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - kotlin { - jvmToolchain(11) } } @@ -87,7 +54,6 @@ compose.experimental { } dependencies { - add("kspCommonMainMetadata", project(":ksp:mutable-ui-processor")) add("kspIosArm64", project(":ksp:mutable-ui-processor")) add("kspIosX64", project(":ksp:mutable-ui-processor")) add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) diff --git a/demos/appyx-navigation/shared/shared.podspec b/demos/appyx-navigation/ios/ios.podspec similarity index 79% rename from demos/appyx-navigation/shared/shared.podspec rename to demos/appyx-navigation/ios/ios.podspec index 895b8a633..36ff11c6d 100644 --- a/demos/appyx-navigation/shared/shared.podspec +++ b/demos/appyx-navigation/ios/ios.podspec @@ -1,24 +1,24 @@ Pod::Spec.new do |spec| - spec.name = 'shared' + spec.name = 'ios' spec.version = '1.0.0' spec.homepage = 'https://bumble-tech.github.io/appyx/interactions/' spec.source = { :http=> ''} spec.authors = '' spec.license = '' - spec.summary = 'appyx-nvaigation shared module' - spec.vendored_frameworks = 'build/cocoapods/framework/shared.framework' + spec.summary = 'appyx-nvaigation ios module' + spec.vendored_frameworks = 'build/cocoapods/framework/ios.framework' spec.libraries = 'c++' spec.ios.deployment_target = '16.4' spec.pod_target_xcconfig = { - 'KOTLIN_PROJECT_PATH' => ':demos:appyx-navigation:shared', - 'PRODUCT_MODULE_NAME' => 'shared', + 'KOTLIN_PROJECT_PATH' => ':demos:appyx-navigation:ios', + 'PRODUCT_MODULE_NAME' => 'ios', } spec.script_phases = [ { - :name => 'Build shared', + :name => 'Build ios', :execution_position => :before_compile, :shell_path => '/bin/sh', :script => <<-SCRIPT diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt new file mode 100644 index 000000000..653d418d6 --- /dev/null +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -0,0 +1,28 @@ +import androidx.compose.ui.Modifier +import androidx.compose.ui.window.ComposeUIViewController +import com.bumble.appyx.components.backstack.BackStack +import com.bumble.appyx.components.backstack.BackStackModel +import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax +import com.bumble.appyx.navigation.navigation.IOSNodeHost +import com.bumble.appyx.navigation.node.container.ContainerNode +import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme + +fun MainViewController() = ComposeUIViewController { + AppyxSampleAppTheme { + IOSNodeHost( + modifier = Modifier + ) { buildContext -> + ContainerNode( + buildContext = buildContext, + backStack = BackStack( + model = BackStackModel( + initialTargets = listOf(ContainerNode.InteractionTarget.Selector), + savedStateMap = buildContext.savedStateMap, + ), + motionController = { BackStackParallax(it) }, + gestureFactory = { BackStackParallax.Gestures(it) } + ) + ) + } + } +} \ No newline at end of file diff --git a/demos/appyx-navigation/iosApp/Podfile b/demos/appyx-navigation/iosApp/Podfile index aff9c517b..4491def6d 100644 --- a/demos/appyx-navigation/iosApp/Podfile +++ b/demos/appyx-navigation/iosApp/Podfile @@ -1,5 +1,5 @@ target 'iosApp' do use_frameworks! platform :ios, '14.1' - pod 'shared', :path => '../shared' + pod 'ios', :path => '../ios' end \ No newline at end of file diff --git a/demos/appyx-navigation/iosApp/Podfile.lock b/demos/appyx-navigation/iosApp/Podfile.lock index 4f9387a5c..62fa30b27 100644 --- a/demos/appyx-navigation/iosApp/Podfile.lock +++ b/demos/appyx-navigation/iosApp/Podfile.lock @@ -1,16 +1,16 @@ PODS: - - shared (1.0.0) + - ios (1.0.0) DEPENDENCIES: - - shared (from `../shared`) + - ios (from `../ios`) EXTERNAL SOURCES: - shared: - :path: "../shared" + ios: + :path: "../ios" SPEC CHECKSUMS: - shared: aa9b70561aa86e21b87f25d587b339b3362da92d + ios: 58dfa3309ac6866c355717e5e7cafc202f55ab67 -PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756 +PODFILE CHECKSUM: a1e557981a2880940a401c85ea35aafdd5895941 COCOAPODS: 1.12.1 diff --git a/demos/appyx-navigation/iosApp/iosApp/ContentView.swift b/demos/appyx-navigation/iosApp/iosApp/ContentView.swift index 64e705686..03488f180 100644 --- a/demos/appyx-navigation/iosApp/iosApp/ContentView.swift +++ b/demos/appyx-navigation/iosApp/iosApp/ContentView.swift @@ -1,6 +1,6 @@ import UIKit import SwiftUI -import shared +import ios struct ComposeView: UIViewControllerRepresentable { func makeUIViewController(context: Context) -> UIViewController { diff --git a/demos/appyx-navigation/shared/src/androidMain/AndroidManifest.xml b/demos/appyx-navigation/shared/src/androidMain/AndroidManifest.xml deleted file mode 100644 index 568741e54..000000000 --- a/demos/appyx-navigation/shared/src/androidMain/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt b/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt deleted file mode 100644 index 4a1d2a6fe..000000000 --- a/demos/appyx-navigation/shared/src/androidMain/kotlin/main.android.kt +++ /dev/null @@ -1,3 +0,0 @@ -import androidx.compose.runtime.Composable - -@Composable fun MainView() = App() diff --git a/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt b/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt deleted file mode 100644 index 0ca33038b..000000000 --- a/demos/appyx-navigation/shared/src/commonMain/kotlin/App.kt +++ /dev/null @@ -1,64 +0,0 @@ -import androidx.compose.foundation.layout.BoxWithConstraints -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember -import androidx.compose.ui.Modifier -import com.bumble.appyx.components.backstack.BackStack -import com.bumble.appyx.components.backstack.BackStackModel -import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax -import com.bumble.appyx.components.backstack.ui.slider.BackStackSlider -import com.bumble.appyx.navigation.integration.NodeHost -import com.bumble.appyx.navigation.integration.ScreenSize -import com.bumble.appyx.navigation.integrationpoint.IntegrationPoint -import com.bumble.appyx.navigation.node.container.ContainerNode -import com.bumble.appyx.navigation.platform.PlatformLifecycleRegistry -import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme -import com.bumble.appyx.utils.customisations.MutableNodeCustomisationDirectory -import com.bumble.appyx.utils.customisations.NodeCustomisation -import com.bumble.appyx.utils.customisations.NodeCustomisationDirectory -import com.bumble.appyx.utils.customisations.NodeCustomisationDirectoryImpl -import kotlin.reflect.KClass - -@Composable -internal fun App() { - AppyxSampleAppTheme { - BoxWithConstraints( - modifier = Modifier.fillMaxSize() - ) { - val platformLifecycleRegistry = remember { - object : PlatformLifecycleRegistry() {} - } - - val dpWidth = maxWidth - val dpHeight = maxHeight - NodeHost( - lifecycle = platformLifecycleRegistry, - integrationPoint = remember { object : IntegrationPoint() { - override val isChangingConfigurations: Boolean - get() = false - - override fun onRootFinished() {} - - override fun handleUpNavigation() {} - } }, - modifier = Modifier, - screenSize = ScreenSize( - widthDp = dpWidth, - heightDp = dpHeight, - ), - ) { - ContainerNode( - buildContext = it, - backStack = BackStack( - model = BackStackModel( - initialTargets = listOf(ContainerNode.InteractionTarget.Selector), - savedStateMap = it.savedStateMap, - ), - motionController = { BackStackParallax(it) }, - gestureFactory = { BackStackParallax.Gestures(it) } - ) - ) - } - } - } -} \ No newline at end of file diff --git a/demos/appyx-navigation/shared/src/commonMain/resources/compose-multiplatform.xml b/demos/appyx-navigation/shared/src/commonMain/resources/compose-multiplatform.xml deleted file mode 100644 index d7bf7955f..000000000 --- a/demos/appyx-navigation/shared/src/commonMain/resources/compose-multiplatform.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - diff --git a/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt deleted file mode 100644 index 3fd4eadde..000000000 --- a/demos/appyx-navigation/shared/src/iosMain/kotlin/main.ios.kt +++ /dev/null @@ -1,6 +0,0 @@ -import androidx.compose.runtime.Composable -import androidx.compose.ui.window.ComposeUIViewController -import com.bumble.appyx.navigation.navigation.IOSNodeHost -import com.bumble.appyx.navigation.node.container.ContainerNode - -fun MainViewController() = ComposeUIViewController { App() } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index bdc6c97ac..fde36adba 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -52,7 +52,7 @@ include( ":demos:appyx-navigation:android", ":demos:appyx-navigation:desktop", ":demos:appyx-navigation:web", - ":demos:appyx-navigation:shared", + ":demos:appyx-navigation:ios", ":demos:appyx-interactions:shared", ":demos:common", ":demos:navigation-compose", From 9e661960283a7e52bba14398defd10a5e068d6d9 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 6 Sep 2023 14:45:30 +0100 Subject: [PATCH 15/48] Not having PlatformLifecycleRegistery as open --- .../appyx/navigation/platform/PlatformLifecycleRegistry.kt | 2 +- .../appyx/navigation/platform/PlatformLifecycleRegistry.kt | 2 +- .../appyx/navigation/platform/PlatformLifecycleRegistry.kt | 2 +- .../appyx/navigation/platform/PlatformLifecycleRegistry.kt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index 200f7f307..b38358e03 100644 --- a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -3,7 +3,7 @@ package com.bumble.appyx.navigation.platform import com.bumble.appyx.navigation.lifecycle.CommonLifecycleOwner import com.bumble.appyx.navigation.lifecycle.Lifecycle -expect open class PlatformLifecycleRegistry() : Lifecycle { +expect class PlatformLifecycleRegistry() : Lifecycle { fun setCurrentState(state: Lifecycle.State) companion object { diff --git a/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index 7b5e5b690..517c831b1 100644 --- a/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/desktopMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -11,7 +11,7 @@ import kotlinx.coroutines.cancel import kotlinx.coroutines.isActive -actual open class PlatformLifecycleRegistry : Lifecycle { +actual class PlatformLifecycleRegistry : Lifecycle { private val managedDefaultLifecycleObservers: MutableList = ArrayList() diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index 2c433ce21..e5fe398e2 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -10,7 +10,7 @@ import kotlinx.coroutines.MainScope import kotlinx.coroutines.cancel import kotlinx.coroutines.isActive -actual open class PlatformLifecycleRegistry : Lifecycle { +actual class PlatformLifecycleRegistry : Lifecycle { private val managedDefaultLifecycleObservers: MutableList = ArrayList() diff --git a/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index eb0e0b76f..518ca5afa 100644 --- a/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/jsMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -10,7 +10,7 @@ import kotlinx.coroutines.MainScope import kotlinx.coroutines.cancel import kotlinx.coroutines.isActive -actual open class PlatformLifecycleRegistry : Lifecycle { +actual class PlatformLifecycleRegistry : Lifecycle { private val managedDefaultLifecycleObservers: MutableList = ArrayList() From 1a7ad4b6aab06f72af94b751ff18c1d87e743f68 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 6 Sep 2023 16:41:08 +0100 Subject: [PATCH 16/48] Removed Android and common submodules for appyx-interactions iOS target --- .../{shared => ios}/build.gradle.kts | 53 ++++--------------- .../shared.podspec => ios/ios.podspec} | 12 ++--- .../src/iosMain}/kotlin/AppyxSample.kt | 0 .../kotlin/BackStackParallaxSample.kt | 0 .../src/iosMain/kotlin/main.ios.kt} | 6 +-- .../src/iosMain}/kotlin/theme/Colors.kt | 0 .../iosMain}/kotlin/theme/MaterialColors.kt | 0 .../src/iosMain}/kotlin/theme/Shapes.kt | 0 demos/appyx-interactions/iosApp/Podfile | 2 +- demos/appyx-interactions/iosApp/Podfile.lock | 12 ++--- .../iosApp/iosApp/ContentView.swift | 2 +- .../src/androidMain/AndroidManifest.xml | 2 - .../src/androidMain/kotlin/main.android.kt | 5 -- .../resources/compose-multiplatform.xml | 36 ------------- .../shared/src/iosMain/kotlin/main.ios.kt | 5 -- settings.gradle.kts | 2 +- 16 files changed, 26 insertions(+), 111 deletions(-) rename demos/appyx-interactions/{shared => ios}/build.gradle.kts (59%) rename demos/appyx-interactions/{shared/shared.podspec => ios/ios.podspec} (79%) rename demos/appyx-interactions/{shared/src/commonMain => ios/src/iosMain}/kotlin/AppyxSample.kt (100%) rename demos/appyx-interactions/{shared/src/commonMain => ios/src/iosMain}/kotlin/BackStackParallaxSample.kt (100%) rename demos/appyx-interactions/{shared/src/commonMain/kotlin/App.kt => ios/src/iosMain/kotlin/main.ios.kt} (87%) rename demos/appyx-interactions/{shared/src/commonMain => ios/src/iosMain}/kotlin/theme/Colors.kt (100%) rename demos/appyx-interactions/{shared/src/commonMain => ios/src/iosMain}/kotlin/theme/MaterialColors.kt (100%) rename demos/appyx-interactions/{shared/src/commonMain => ios/src/iosMain}/kotlin/theme/Shapes.kt (100%) delete mode 100644 demos/appyx-interactions/shared/src/androidMain/AndroidManifest.xml delete mode 100644 demos/appyx-interactions/shared/src/androidMain/kotlin/main.android.kt delete mode 100644 demos/appyx-interactions/shared/src/commonMain/resources/compose-multiplatform.xml delete mode 100644 demos/appyx-interactions/shared/src/iosMain/kotlin/main.ios.kt diff --git a/demos/appyx-interactions/shared/build.gradle.kts b/demos/appyx-interactions/ios/build.gradle.kts similarity index 59% rename from demos/appyx-interactions/shared/build.gradle.kts rename to demos/appyx-interactions/ios/build.gradle.kts index 98c4e898c..06092941d 100644 --- a/demos/appyx-interactions/shared/build.gradle.kts +++ b/demos/appyx-interactions/ios/build.gradle.kts @@ -1,32 +1,35 @@ plugins { kotlin("multiplatform") kotlin("native.cocoapods") - id("com.android.library") id("org.jetbrains.compose") id("com.google.devtools.ksp") } kotlin { - android() - iosX64() iosArm64() iosSimulatorArm64() cocoapods { version = "1.0.0" - summary = "appyx-interactions shared module" + summary = "appyx-interactions ios module" homepage = "https://bumble-tech.github.io/appyx/interactions/" ios.deploymentTarget = "16.4" podfile = project.file("../iosApp/Podfile") framework { - baseName = "shared" + baseName = "ios" isStatic = true } } sourceSets { - val commonMain by getting { + val iosX64Main by getting + val iosArm64Main by getting + val iosSimulatorArm64Main by getting + val iosMain by creating { + iosX64Main.dependsOn(this) + iosArm64Main.dependsOn(this) + iosSimulatorArm64Main.dependsOn(this) dependencies { implementation(compose.runtime) implementation(compose.foundation) @@ -37,43 +40,6 @@ kotlin { implementation(project(":appyx-components:stable:backstack:backstack")) } } - val androidMain by getting { - dependencies { - api(libs.androidx.activity.compose) - api(libs.androidx.appcompat) - api(libs.androidx.core) - } - } - val iosX64Main by getting - val iosArm64Main by getting - val iosSimulatorArm64Main by getting - val iosMain by creating { - dependsOn(commonMain) - iosX64Main.dependsOn(this) - iosArm64Main.dependsOn(this) - iosSimulatorArm64Main.dependsOn(this) - } - } -} - -android { - namespace = "com.bumble.appyx.common" - compileSdk = libs.versions.androidCompileSdk.get().toInt() - - defaultConfig { - minSdk = libs.versions.androidMinSdk.get().toInt() - } - - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - sourceSets["main"].res.srcDirs("src/androidMain/res") - sourceSets["main"].resources.srcDirs("src/commonMain/resources") - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - kotlin { - jvmToolchain(11) } } @@ -85,7 +51,6 @@ compose.experimental { } dependencies { - add("kspCommonMainMetadata", project(":ksp:mutable-ui-processor")) add("kspIosArm64", project(":ksp:mutable-ui-processor")) add("kspIosX64", project(":ksp:mutable-ui-processor")) add("kspIosSimulatorArm64", project(":ksp:mutable-ui-processor")) diff --git a/demos/appyx-interactions/shared/shared.podspec b/demos/appyx-interactions/ios/ios.podspec similarity index 79% rename from demos/appyx-interactions/shared/shared.podspec rename to demos/appyx-interactions/ios/ios.podspec index edc59f625..fa139697b 100644 --- a/demos/appyx-interactions/shared/shared.podspec +++ b/demos/appyx-interactions/ios/ios.podspec @@ -1,24 +1,24 @@ Pod::Spec.new do |spec| - spec.name = 'shared' + spec.name = 'ios' spec.version = '1.0.0' spec.homepage = 'https://bumble-tech.github.io/appyx/interactions/' spec.source = { :http=> ''} spec.authors = '' spec.license = '' - spec.summary = 'appyx-interactions shared module' - spec.vendored_frameworks = 'build/cocoapods/framework/shared.framework' + spec.summary = 'appyx-interactions ios module' + spec.vendored_frameworks = 'build/cocoapods/framework/ios.framework' spec.libraries = 'c++' spec.ios.deployment_target = '16.4' spec.pod_target_xcconfig = { - 'KOTLIN_PROJECT_PATH' => ':demos:appyx-interactions:shared', - 'PRODUCT_MODULE_NAME' => 'shared', + 'KOTLIN_PROJECT_PATH' => ':demos:appyx-interactions:ios', + 'PRODUCT_MODULE_NAME' => 'ios', } spec.script_phases = [ { - :name => 'Build shared', + :name => 'Build ios', :execution_position => :before_compile, :shell_path => '/bin/sh', :script => <<-SCRIPT diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt similarity index 100% rename from demos/appyx-interactions/shared/src/commonMain/kotlin/AppyxSample.kt rename to demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt similarity index 100% rename from demos/appyx-interactions/shared/src/commonMain/kotlin/BackStackParallaxSample.kt rename to demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt similarity index 87% rename from demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt rename to demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt index beac0640e..620766628 100644 --- a/demos/appyx-interactions/shared/src/commonMain/kotlin/App.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt @@ -3,11 +3,11 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.window.ComposeUIViewController import theme.DarkColorPalette import theme.shapes -@Composable -internal fun App() { +fun MainViewController() = ComposeUIViewController { AppyxTheme { BoxWithConstraints( modifier = Modifier.fillMaxSize() @@ -21,8 +21,6 @@ internal fun App() { } } -expect fun getPlatformName(): String - @Composable private fun AppyxTheme(content: @Composable () -> Unit) { MaterialTheme( diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Colors.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt similarity index 100% rename from demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Colors.kt rename to demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/MaterialColors.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/MaterialColors.kt similarity index 100% rename from demos/appyx-interactions/shared/src/commonMain/kotlin/theme/MaterialColors.kt rename to demos/appyx-interactions/ios/src/iosMain/kotlin/theme/MaterialColors.kt diff --git a/demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Shapes.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Shapes.kt similarity index 100% rename from demos/appyx-interactions/shared/src/commonMain/kotlin/theme/Shapes.kt rename to demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Shapes.kt diff --git a/demos/appyx-interactions/iosApp/Podfile b/demos/appyx-interactions/iosApp/Podfile index aff9c517b..4491def6d 100644 --- a/demos/appyx-interactions/iosApp/Podfile +++ b/demos/appyx-interactions/iosApp/Podfile @@ -1,5 +1,5 @@ target 'iosApp' do use_frameworks! platform :ios, '14.1' - pod 'shared', :path => '../shared' + pod 'ios', :path => '../ios' end \ No newline at end of file diff --git a/demos/appyx-interactions/iosApp/Podfile.lock b/demos/appyx-interactions/iosApp/Podfile.lock index ed4b4df9f..ca8002ac9 100644 --- a/demos/appyx-interactions/iosApp/Podfile.lock +++ b/demos/appyx-interactions/iosApp/Podfile.lock @@ -1,16 +1,16 @@ PODS: - - shared (1.0.0) + - ios (1.0.0) DEPENDENCIES: - - shared (from `../shared`) + - ios (from `../ios`) EXTERNAL SOURCES: - shared: - :path: "../shared" + ios: + :path: "../ios" SPEC CHECKSUMS: - shared: 60a0ea389d6d4959d2c246012c6974cca241b540 + ios: 8191875220b69f28f1312f76f27ebe46e596c7d1 -PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756 +PODFILE CHECKSUM: a1e557981a2880940a401c85ea35aafdd5895941 COCOAPODS: 1.12.1 diff --git a/demos/appyx-interactions/iosApp/iosApp/ContentView.swift b/demos/appyx-interactions/iosApp/iosApp/ContentView.swift index 64e705686..03488f180 100644 --- a/demos/appyx-interactions/iosApp/iosApp/ContentView.swift +++ b/demos/appyx-interactions/iosApp/iosApp/ContentView.swift @@ -1,6 +1,6 @@ import UIKit import SwiftUI -import shared +import ios struct ComposeView: UIViewControllerRepresentable { func makeUIViewController(context: Context) -> UIViewController { diff --git a/demos/appyx-interactions/shared/src/androidMain/AndroidManifest.xml b/demos/appyx-interactions/shared/src/androidMain/AndroidManifest.xml deleted file mode 100644 index 568741e54..000000000 --- a/demos/appyx-interactions/shared/src/androidMain/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/demos/appyx-interactions/shared/src/androidMain/kotlin/main.android.kt b/demos/appyx-interactions/shared/src/androidMain/kotlin/main.android.kt deleted file mode 100644 index d5723a238..000000000 --- a/demos/appyx-interactions/shared/src/androidMain/kotlin/main.android.kt +++ /dev/null @@ -1,5 +0,0 @@ -import androidx.compose.runtime.Composable - -actual fun getPlatformName(): String = "Android" - -@Composable fun MainView() = App() diff --git a/demos/appyx-interactions/shared/src/commonMain/resources/compose-multiplatform.xml b/demos/appyx-interactions/shared/src/commonMain/resources/compose-multiplatform.xml deleted file mode 100644 index d7bf7955f..000000000 --- a/demos/appyx-interactions/shared/src/commonMain/resources/compose-multiplatform.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - diff --git a/demos/appyx-interactions/shared/src/iosMain/kotlin/main.ios.kt b/demos/appyx-interactions/shared/src/iosMain/kotlin/main.ios.kt deleted file mode 100644 index 1f0e256d1..000000000 --- a/demos/appyx-interactions/shared/src/iosMain/kotlin/main.ios.kt +++ /dev/null @@ -1,5 +0,0 @@ -import androidx.compose.ui.window.ComposeUIViewController - -actual fun getPlatformName(): String = "iOS" - -fun MainViewController() = ComposeUIViewController { App() } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index fde36adba..e73c2719c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -53,7 +53,7 @@ include( ":demos:appyx-navigation:desktop", ":demos:appyx-navigation:web", ":demos:appyx-navigation:ios", - ":demos:appyx-interactions:shared", + ":demos:appyx-interactions:ios", ":demos:common", ":demos:navigation-compose", ":demos:mkdocs:appyx-interactions:interactions:sample1:web", From 4e542114d6f530570107d608e9aebe8206d39ae7 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 6 Sep 2023 22:04:46 +0100 Subject: [PATCH 17/48] Adding expect to Android PlatformLifecycleRegistry --- .../appyx/navigation/platform/PlatformLifecycleRegistry.kt | 2 +- .../appyx/navigation/platform/PlatformLifecycleRegistry.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index f9692a200..dc93e8335 100644 --- a/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/androidMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -11,7 +11,7 @@ import com.bumble.appyx.navigation.lifecycle.PlatformLifecycleEventObserver import com.bumble.appyx.navigation.lifecycle.PlatformLifecycleObserver import kotlinx.coroutines.CoroutineScope -class PlatformLifecycleRegistry( +actual class PlatformLifecycleRegistry( androidOwner: LifecycleOwner ) : Lifecycle, androidx.lifecycle.DefaultLifecycleObserver, androidx.lifecycle.LifecycleEventObserver { diff --git a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index b38358e03..8f7c43724 100644 --- a/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/commonMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -3,7 +3,7 @@ package com.bumble.appyx.navigation.platform import com.bumble.appyx.navigation.lifecycle.CommonLifecycleOwner import com.bumble.appyx.navigation.lifecycle.Lifecycle -expect class PlatformLifecycleRegistry() : Lifecycle { +expect class PlatformLifecycleRegistry : Lifecycle { fun setCurrentState(state: Lifecycle.State) companion object { From fa56c4ae4de7a74043fa24b24a6ec638b4900c1b Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 7 Sep 2023 11:52:00 +0100 Subject: [PATCH 18/48] Added back icon --- .../ios/src/iosMain/kotlin/main.ios.kt | 63 ++++++++++++++----- 1 file changed, 49 insertions(+), 14 deletions(-) diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index 653d418d6..b16b25b65 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -1,28 +1,63 @@ +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material.Icon +import androidx.compose.material.IconButton +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.ArrowBack +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.window.ComposeUIViewController +import androidx.compose.ui.zIndex import com.bumble.appyx.components.backstack.BackStack import com.bumble.appyx.components.backstack.BackStackModel -import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax +import com.bumble.appyx.components.backstack.operation.pop +import com.bumble.appyx.components.backstack.ui.slider.BackStackSlider import com.bumble.appyx.navigation.navigation.IOSNodeHost import com.bumble.appyx.navigation.node.container.ContainerNode import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme fun MainViewController() = ComposeUIViewController { AppyxSampleAppTheme { - IOSNodeHost( - modifier = Modifier - ) { buildContext -> - ContainerNode( - buildContext = buildContext, - backStack = BackStack( - model = BackStackModel( - initialTargets = listOf(ContainerNode.InteractionTarget.Selector), - savedStateMap = buildContext.savedStateMap, - ), - motionController = { BackStackParallax(it) }, - gestureFactory = { BackStackParallax.Gestures(it) } - ) + + val backStackModel = remember { + BackStackModel( + initialTargets = listOf(ContainerNode.InteractionTarget.Selector), + savedStateMap = null, ) } + val backStack: BackStack = BackStack( + model = backStackModel, + motionController = { BackStackSlider(it) }, + ) + val backAction = { backStack.pop() } + Box(modifier = Modifier.fillMaxSize()) { + + BackButton(action = backAction) + + IOSNodeHost( + modifier = Modifier + ) { buildContext -> + ContainerNode( + buildContext = buildContext, + backStack = backStack, + ) + } + } } +} + +@Composable +private fun BackButton(action: () -> Unit) { + IconButton( + onClick = { action.invoke() }, + modifier = Modifier.zIndex(5f) + ) { + Icon( + imageVector = Icons.Default.ArrowBack, + tint = Color.White, + contentDescription = "" + ) + } } \ No newline at end of file From 818ad5d9c5192cf9e39db2095f73a92d191ee654 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 11 Sep 2023 15:16:21 +0100 Subject: [PATCH 19/48] Renamed package --- .../{navigation => integration}/IOSNodeHost.kt | 3 ++- .../MainIntegrationPoint.kt | 2 +- .../ios/src/iosMain/kotlin/main.ios.kt | 10 +++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) rename appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/{navigation => integration}/IOSNodeHost.kt (97%) rename appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/{navigation => integration}/MainIntegrationPoint.kt (85%) diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt similarity index 97% rename from appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt rename to appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt index 395140c3a..46e719f42 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/IOSNodeHost.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt @@ -1,4 +1,4 @@ -package com.bumble.appyx.navigation.navigation +package com.bumble.appyx.navigation.integration import androidx.compose.runtime.Composable import androidx.compose.runtime.remember @@ -31,6 +31,7 @@ fun IOSNodeHost( // Calculate the width and height in dp val dpWidth = screenBounds.useContents { size.width }.pixelsToDp() val dpHeight = screenBounds.useContents { size.height }.pixelsToDp() + NodeHost( lifecycle = platformLifecycleRegistry, integrationPoint = integrationPoint, diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/MainIntegrationPoint.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt similarity index 85% rename from appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/MainIntegrationPoint.kt rename to appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt index bdff6466c..7faa999e9 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/navigation/MainIntegrationPoint.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt @@ -1,4 +1,4 @@ -package com.bumble.appyx.navigation.navigation +package com.bumble.appyx.navigation.integration import com.bumble.appyx.navigation.integrationpoint.IntegrationPoint diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index b16b25b65..e6824f34d 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -6,6 +6,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.runtime.Composable import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.window.ComposeUIViewController @@ -13,8 +14,9 @@ import androidx.compose.ui.zIndex import com.bumble.appyx.components.backstack.BackStack import com.bumble.appyx.components.backstack.BackStackModel import com.bumble.appyx.components.backstack.operation.pop +import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax import com.bumble.appyx.components.backstack.ui.slider.BackStackSlider -import com.bumble.appyx.navigation.navigation.IOSNodeHost +import com.bumble.appyx.navigation.integration.IOSNodeHost import com.bumble.appyx.navigation.node.container.ContainerNode import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme @@ -27,13 +29,15 @@ fun MainViewController() = ComposeUIViewController { savedStateMap = null, ) } + val coroutineScope = rememberCoroutineScope() val backStack: BackStack = BackStack( + scope = coroutineScope, model = backStackModel, - motionController = { BackStackSlider(it) }, + motionController = { BackStackParallax(it) }, ) val backAction = { backStack.pop() } - Box(modifier = Modifier.fillMaxSize()) { + Box(modifier = Modifier.fillMaxSize()) { BackButton(action = backAction) IOSNodeHost( From 4e0a72faff6a4efa14a736bc1d9a4ecde0f9b755 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Tue, 12 Sep 2023 08:52:18 +0100 Subject: [PATCH 20/48] Added convention plugin to ios modules --- demos/appyx-interactions/ios/build.gradle.kts | 1 + demos/appyx-navigation/ios/build.gradle.kts | 1 + .../ios/src/iosMain/kotlin/main.ios.kt | 3 +-- .../NodeCustomisationDirectoryImpl.kt | 15 +++++++++------ 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/demos/appyx-interactions/ios/build.gradle.kts b/demos/appyx-interactions/ios/build.gradle.kts index 06092941d..01ce1ced3 100644 --- a/demos/appyx-interactions/ios/build.gradle.kts +++ b/demos/appyx-interactions/ios/build.gradle.kts @@ -1,4 +1,5 @@ plugins { + id("com.bumble.appyx.multiplatform") kotlin("multiplatform") kotlin("native.cocoapods") id("org.jetbrains.compose") diff --git a/demos/appyx-navigation/ios/build.gradle.kts b/demos/appyx-navigation/ios/build.gradle.kts index a6caf41c8..4874626e7 100644 --- a/demos/appyx-navigation/ios/build.gradle.kts +++ b/demos/appyx-navigation/ios/build.gradle.kts @@ -1,4 +1,5 @@ plugins { + id("com.bumble.appyx.multiplatform") kotlin("multiplatform") kotlin("native.cocoapods") id("org.jetbrains.compose") diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index e6824f34d..19699dfe7 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -14,7 +14,6 @@ import androidx.compose.ui.zIndex import com.bumble.appyx.components.backstack.BackStack import com.bumble.appyx.components.backstack.BackStackModel import com.bumble.appyx.components.backstack.operation.pop -import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax import com.bumble.appyx.components.backstack.ui.slider.BackStackSlider import com.bumble.appyx.navigation.integration.IOSNodeHost import com.bumble.appyx.navigation.node.container.ContainerNode @@ -33,7 +32,7 @@ fun MainViewController() = ComposeUIViewController { val backStack: BackStack = BackStack( scope = coroutineScope, model = backStackModel, - motionController = { BackStackParallax(it) }, + motionController = { BackStackSlider(it) }, ) val backAction = { backStack.pop() } diff --git a/utils/customisations/src/iosMain/kotlin/com/bumble/appyx/utils/customisations/NodeCustomisationDirectoryImpl.kt b/utils/customisations/src/iosMain/kotlin/com/bumble/appyx/utils/customisations/NodeCustomisationDirectoryImpl.kt index d10288c59..12c5671da 100644 --- a/utils/customisations/src/iosMain/kotlin/com/bumble/appyx/utils/customisations/NodeCustomisationDirectoryImpl.kt +++ b/utils/customisations/src/iosMain/kotlin/com/bumble/appyx/utils/customisations/NodeCustomisationDirectoryImpl.kt @@ -8,8 +8,8 @@ actual open class NodeCustomisationDirectoryImpl actual constructor( private val map: MutableMap = hashMapOf() - override fun put(key: KClass, value: T) { - map[key] = value + override fun put(key: KClass, valueProvider: () -> T) { + map[key] = lazy(valueProvider) } fun put(vararg values: T) { @@ -18,6 +18,13 @@ actual open class NodeCustomisationDirectoryImpl actual constructor( } } + override fun putSubDirectory( + key: KClass, + valueProvider: () -> NodeCustomisationDirectory + ) { + map[key] = lazy(valueProvider) + } + inline operator fun T.unaryPlus() { put(this) } @@ -28,10 +35,6 @@ actual open class NodeCustomisationDirectoryImpl actual constructor( override fun getRecursively(key: KClass): T? = get(key) ?: parent?.get(key) - override fun putSubDirectory(key: KClass, value: NodeCustomisationDirectory) { - map[key] = value - } - override fun getSubDirectory(key: KClass): NodeCustomisationDirectory? = map[key] as? NodeCustomisationDirectory From 74324c3ae748dbf23bbb28418f079136ff0be959 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 13 Sep 2023 10:27:40 +0100 Subject: [PATCH 21/48] Added back support for iOS navigation --- .../navigation/integration/IOSNodeHost.kt | 49 ++++++++++--- .../platform/OnBackPressedCallback.kt | 58 ++++++++++++++++ .../platform/OnBackPressedDispatcher.kt | 69 +++++++++++++++++++ .../platform/PlatformBackHandler.kt | 49 ++++++++++++- .../ios/src/iosMain/kotlin/main.ios.kt | 56 +++++++-------- 5 files changed, 238 insertions(+), 43 deletions(-) create mode 100644 appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/OnBackPressedCallback.kt create mode 100644 appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/OnBackPressedDispatcher.kt diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt index 46e719f42..74d985d56 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt @@ -1,7 +1,10 @@ package com.bumble.appyx.navigation.integration import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.bumble.appyx.navigation.integration.NodeFactory @@ -9,15 +12,21 @@ import com.bumble.appyx.navigation.integration.NodeHost import com.bumble.appyx.navigation.integration.ScreenSize import com.bumble.appyx.navigation.integrationpoint.IntegrationPoint import com.bumble.appyx.navigation.node.Node +import com.bumble.appyx.navigation.platform.LocalOnBackPressedDispatcherOwner +import com.bumble.appyx.navigation.platform.OnBackPressedDispatcher +import com.bumble.appyx.navigation.platform.OnBackPressedDispatcherOwner import com.bumble.appyx.navigation.platform.PlatformLifecycleRegistry import com.bumble.appyx.utils.customisations.NodeCustomisationDirectory import com.bumble.appyx.utils.customisations.NodeCustomisationDirectoryImpl import kotlinx.cinterop.useContents +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.launch import platform.UIKit.UIScreen @Composable fun IOSNodeHost( modifier: Modifier = Modifier, + onBackPressedEvents: Flow, integrationPoint: IntegrationPoint = remember { MainIntegrationPoint() }, customisations: NodeCustomisationDirectory = remember { NodeCustomisationDirectoryImpl() }, factory: NodeFactory, @@ -32,17 +41,35 @@ fun IOSNodeHost( val dpWidth = screenBounds.useContents { size.width }.pixelsToDp() val dpHeight = screenBounds.useContents { size.height }.pixelsToDp() - NodeHost( - lifecycle = platformLifecycleRegistry, - integrationPoint = integrationPoint, - modifier = modifier, - customisations = customisations, - screenSize = ScreenSize( - widthDp = dpWidth.dp, - heightDp = dpHeight.dp, - ), - factory = factory, - ) + val onBackPressedDispatcherOwner = remember { + object : OnBackPressedDispatcherOwner { + override val onBackPressedDispatcher: OnBackPressedDispatcher = + OnBackPressedDispatcher { integrationPoint.handleUpNavigation() } + } + } + + val scope = rememberCoroutineScope() + LaunchedEffect(onBackPressedEvents) { + scope.launch { + onBackPressedEvents.collect { + onBackPressedDispatcherOwner.onBackPressedDispatcher.onBackPressed() + } + } + } + + CompositionLocalProvider(LocalOnBackPressedDispatcherOwner provides onBackPressedDispatcherOwner) { + NodeHost( + lifecycle = platformLifecycleRegistry, + integrationPoint = integrationPoint, + modifier = modifier, + customisations = customisations, + screenSize = ScreenSize( + widthDp = dpWidth.dp, + heightDp = dpHeight.dp, + ), + factory = factory, + ) + } } private fun Double.pixelsToDp(): Double { diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/OnBackPressedCallback.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/OnBackPressedCallback.kt new file mode 100644 index 000000000..9ad13615c --- /dev/null +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/OnBackPressedCallback.kt @@ -0,0 +1,58 @@ +package com.bumble.appyx.navigation.platform + +import androidx.compose.runtime.AtomicReference + +interface Cancellable { + /** + * Cancel the subscription. This call should be idempotent, making it safe to + * call multiple times. + */ + fun cancel() +} + +/** + * Create a [OnBackPressedCallback]. + * + * @param isEnabled The default enabled state for this callback. + * @see .setEnabled + */ +abstract class OnBackPressedCallback( + /** + * Set the enabled state of the callback. Only when this callback + * is enabled will it receive callbacks to [.handleOnBackPressed]. + * + * @param isEnabled whether the callback should be considered enabled + */ + var isEnabled: Boolean +) { + /** + * Checks whether this callback should be considered enabled. Only when this callback + * is enabled will it receive callbacks to [.handleOnBackPressed]. + * + * @return Whether this callback should be considered enabled. + */ + private val cancellablesReference: AtomicReference> = + AtomicReference(emptyList()) + + /** + * Removes this callback from any [OnBackPressedDispatcher] it is currently + * added to. + */ + fun remove() { + for (cancellable in cancellablesReference.get()) { + cancellable.cancel() + } + } + + /** + * Callback for handling the [OnBackPressedDispatcher.onBackPressed] event. + */ + abstract fun handleOnBackPressed() + fun addCancellable(cancellable: Cancellable) { + cancellablesReference.set(cancellablesReference.get() + cancellable) + } + + fun removeCancellable(cancellable: Cancellable) { + cancellablesReference.set(cancellablesReference.get() - cancellable) + } +} diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/OnBackPressedDispatcher.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/OnBackPressedDispatcher.kt new file mode 100644 index 000000000..0bf083749 --- /dev/null +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/OnBackPressedDispatcher.kt @@ -0,0 +1,69 @@ +package com.bumble.appyx.navigation.platform + +import androidx.compose.ui.util.fastForEachReversed + +/** + * Adapted from Android's OnBackPressedDispatcher. + * + * Create a new OnBackPressedDispatcher that dispatches [.onBackPressed] events + * to one or more [OnBackPressedCallback] instances. + * + * @param fallbackOnBackPressed The Runnable that should be triggered if + * [.onBackPressed] is called when no [OnBackPressedCallback] have been registered. + */ +class OnBackPressedDispatcher(private val fallbackOnBackPressed: (() -> Unit)? = null) { + val onBackPressedCallbacks: ArrayDeque = + ArrayDeque() + + /** + * Internal implementation of [.addCallback] that gives + * access to the [Cancellable] that specifically removes this callback from + * the dispatcher without relying on [OnBackPressedCallback.remove] which + * is what external developers should be using. + * + * @param onBackPressedCallback The callback to add + * @return a [Cancellable] which can be used to [cancel][Cancellable.cancel] + * the callback and remove it from the set of OnBackPressedCallbacks. + */ + fun addCancellableCallback(onBackPressedCallback: OnBackPressedCallback): Cancellable { + onBackPressedCallbacks.add(onBackPressedCallback) + val cancellable = OnBackPressedCancellable(onBackPressedCallback) + onBackPressedCallback.addCancellable(cancellable) + return cancellable + } + + /** + * Trigger a call to the currently added [callbacks][OnBackPressedCallback] in reverse + * order in which they were added. Only if the most recently added callback is not + * [enabled][OnBackPressedCallback.isEnabled] + * will any previously added callback be called. + * + * + * If [.hasEnabledCallbacks] is `false` when this method is called, the + * fallback Runnable set by [the constructor][.OnBackPressedDispatcher] + * will be triggered. + */ + fun onBackPressed() { + onBackPressedCallbacks.fastForEachReversed { callback -> + if (callback.isEnabled) { + callback.handleOnBackPressed() + return + } + } + fallbackOnBackPressed?.invoke() + } + + private inner class OnBackPressedCancellable(onBackPressedCallback: OnBackPressedCallback) : + Cancellable { + private val onBackPressedCallback: OnBackPressedCallback + + init { + this.onBackPressedCallback = onBackPressedCallback + } + + override fun cancel() { + onBackPressedCallbacks.remove(onBackPressedCallback) + onBackPressedCallback.removeCancellable(this) + } + } +} diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt index 00c5fe5a1..7921e6925 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt @@ -1,9 +1,56 @@ package com.bumble.appyx.navigation.platform import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.ProvidableCompositionLocal +import androidx.compose.runtime.SideEffect +import androidx.compose.runtime.compositionLocalOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberUpdatedState + +@Suppress("CompositionLocalAllowlist") +val LocalOnBackPressedDispatcherOwner: ProvidableCompositionLocal = + compositionLocalOf { + object : OnBackPressedDispatcherOwner { + override val onBackPressedDispatcher: OnBackPressedDispatcher + get() = OnBackPressedDispatcher(null) + } + } + +interface OnBackPressedDispatcherOwner { + val onBackPressedDispatcher: OnBackPressedDispatcher +} @Composable actual fun PlatformBackHandler( enabled: Boolean, onBack: () -> Unit -) {} \ No newline at end of file +) { + // Safely update the current `onBack` lambda when a new one is provided + val currentOnBack by rememberUpdatedState(onBack) + // Remember in Composition a back callback that calls the `onBack` lambda + val backCallback = remember { + object : OnBackPressedCallback(enabled) { + override fun handleOnBackPressed() { + currentOnBack() + } + } + } + // On every successful composition, update the callback with the `enabled` value + SideEffect { + backCallback.isEnabled = enabled + } + + // register for back events only whilst present in the composition + val backDispatcher = checkNotNull(LocalOnBackPressedDispatcherOwner.current) { + "No OnBackPressedDispatcherOwner was provided via LocalOnBackPressedDispatcherOwner" + }.onBackPressedDispatcher + DisposableEffect(backDispatcher) { + val cancellable = backDispatcher.addCancellableCallback(backCallback) + + onDispose { + cancellable.cancel() + } + } +} \ No newline at end of file diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index 19699dfe7..63f2687d3 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -13,48 +13,42 @@ import androidx.compose.ui.window.ComposeUIViewController import androidx.compose.ui.zIndex import com.bumble.appyx.components.backstack.BackStack import com.bumble.appyx.components.backstack.BackStackModel -import com.bumble.appyx.components.backstack.operation.pop import com.bumble.appyx.components.backstack.ui.slider.BackStackSlider import com.bumble.appyx.navigation.integration.IOSNodeHost import com.bumble.appyx.navigation.node.container.ContainerNode import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.channels.Channel +import kotlinx.coroutines.flow.receiveAsFlow +import kotlinx.coroutines.launch -fun MainViewController() = ComposeUIViewController { - AppyxSampleAppTheme { - - val backStackModel = remember { - BackStackModel( - initialTargets = listOf(ContainerNode.InteractionTarget.Selector), - savedStateMap = null, - ) - } - val coroutineScope = rememberCoroutineScope() - val backStack: BackStack = BackStack( - scope = coroutineScope, - model = backStackModel, - motionController = { BackStackSlider(it) }, - ) - val backAction = { backStack.pop() } +val backEvents: Channel = Channel() - Box(modifier = Modifier.fillMaxSize()) { - BackButton(action = backAction) +fun MainViewController() = ComposeUIViewController { + AppyxSampleAppTheme { + Box(modifier = Modifier.fillMaxSize()) { + BackButton(rememberCoroutineScope()) - IOSNodeHost( - modifier = Modifier - ) { buildContext -> - ContainerNode( - buildContext = buildContext, - backStack = backStack, - ) - } - } - } + IOSNodeHost( + modifier = Modifier, + onBackPressedEvents = backEvents.receiveAsFlow() + ) { buildContext -> + ContainerNode( + buildContext = buildContext, + ) + } + } + } } @Composable -private fun BackButton(action: () -> Unit) { +private fun BackButton(coroutineScope: CoroutineScope) { IconButton( - onClick = { action.invoke() }, + onClick = { + coroutineScope.launch { + backEvents.send(Unit) + } + }, modifier = Modifier.zIndex(5f) ) { Icon( From 9393e85da3f8bbbcbfbdd9535ede3908dc0930ab Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 18 Sep 2023 19:52:07 +0100 Subject: [PATCH 22/48] Black background for insets --- .../ios/src/iosMain/kotlin/main.ios.kt | 40 ++++++++++++------- .../iosApp/iosApp/ContentView.swift | 2 +- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index 63f2687d3..6c2c97850 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -1,19 +1,19 @@ +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding import androidx.compose.material.Icon import androidx.compose.material.IconButton +import androidx.compose.material.Scaffold import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp import androidx.compose.ui.window.ComposeUIViewController import androidx.compose.ui.zIndex -import com.bumble.appyx.components.backstack.BackStack -import com.bumble.appyx.components.backstack.BackStackModel -import com.bumble.appyx.components.backstack.ui.slider.BackStackSlider import com.bumble.appyx.navigation.integration.IOSNodeHost import com.bumble.appyx.navigation.node.container.ContainerNode import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme @@ -21,26 +21,38 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.launch +import platform.UIKit.UIWindow +import platform.UIKit.safeAreaInsets val backEvents: Channel = Channel() fun MainViewController() = ComposeUIViewController { AppyxSampleAppTheme { - Box(modifier = Modifier.fillMaxSize()) { - BackButton(rememberCoroutineScope()) + val coroutineScope = rememberCoroutineScope() + Scaffold( + modifier = Modifier + .background(Color.Black) + .padding(top = UIWindow().safeAreaInsets.size.dp) + ) { + Box { + BackButton(coroutineScope) - IOSNodeHost( - modifier = Modifier, - onBackPressedEvents = backEvents.receiveAsFlow() - ) { buildContext -> - ContainerNode( - buildContext = buildContext, - ) + Box(modifier = Modifier.fillMaxSize()) { + IOSNodeHost( + modifier = Modifier, + onBackPressedEvents = backEvents.receiveAsFlow() + ) { buildContext -> + ContainerNode( + buildContext = buildContext, + ) + } + } } } } } + @Composable private fun BackButton(coroutineScope: CoroutineScope) { IconButton( @@ -49,7 +61,7 @@ private fun BackButton(coroutineScope: CoroutineScope) { backEvents.send(Unit) } }, - modifier = Modifier.zIndex(5f) + modifier = Modifier.zIndex(99f) ) { Icon( imageVector = Icons.Default.ArrowBack, diff --git a/demos/appyx-navigation/iosApp/iosApp/ContentView.swift b/demos/appyx-navigation/iosApp/iosApp/ContentView.swift index 03488f180..064196ab4 100644 --- a/demos/appyx-navigation/iosApp/iosApp/ContentView.swift +++ b/demos/appyx-navigation/iosApp/iosApp/ContentView.swift @@ -13,7 +13,7 @@ struct ComposeView: UIViewControllerRepresentable { struct ContentView: View { var body: some View { ComposeView() - .ignoresSafeArea(.all, edges: .bottom) // Compose has own keyboard handler + .ignoresSafeArea(.all) } } From f6491fd0e4acdb29008668af64757a9bd86a883c Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 18 Sep 2023 20:09:11 +0100 Subject: [PATCH 23/48] Updated documentation depicting usage of IOSNodeHost --- documentation/index.md | 2 +- documentation/navigation/multiplatform.md | 26 ++++++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/documentation/index.md b/documentation/index.md index f4e438221..3a52f26de 100644 --- a/documentation/index.md +++ b/documentation/index.md @@ -8,7 +8,7 @@ title: Appyx – Overview ![badge-jvm](https://img.shields.io/badge/platform-jvm-orange) ![badge-macos](https://img.shields.io/badge/platform-macos-purple) ![badge-js](https://img.shields.io/badge/platform-js-yellow) -![badge-ios](https://img.shields.io/badge/platform-🔄ios🔄-lightgray) +![badge-ios](https://img.shields.io/badge/platform-ios-lightgray) Model-driven navigation + UI components with gesture control for Compose Multiplatform. diff --git a/documentation/navigation/multiplatform.md b/documentation/navigation/multiplatform.md index 25b1efb42..614f3d93a 100644 --- a/documentation/navigation/multiplatform.md +++ b/documentation/navigation/multiplatform.md @@ -10,13 +10,8 @@ title: Appyx Navigation – Multiplatform ![badge-jvm](https://img.shields.io/badge/platform-jvm-orange) ![badge-macos](https://img.shields.io/badge/platform-macos-purple) ![badge-js](https://img.shields.io/badge/platform-js-yellow) - -In progress: - ![badge-ios](https://img.shields.io/badge/platform-ios-lightgray) - - ## Lifecycle Multiplatform interface: @@ -183,6 +178,26 @@ fun main() { ``` +### iOS + +```kotlin +val backEvents: Channel = Channel() + +fun MainViewController() = ComposeUIViewController { + YourAppTheme { + IOSNodeHost( + modifier = Modifier, + onBackPressedEvents = backEvents.receiveAsFlow() + ) { + RootNode( + buildContext = it + ) + } + } +} + +``` + ## Back handling On Android back events are handled automatically. @@ -208,4 +223,5 @@ private fun onKeyEvent( else -> false } ``` +For [iOS](#ios), you can send an event to the `backEvents` Channel to perform the standard back action as on other platforms. From 8813455db7cf279a3edc4187f83a56fde628b8fd Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 08:12:34 +0100 Subject: [PATCH 24/48] Updated AppIcon and setting top padding to scaffold --- .../AppIcon.appiconset/app-icon-1024.png | Bin 67285 -> 114038 bytes .../ios/src/iosMain/kotlin/main.ios.kt | 6 ++---- .../AppIcon.appiconset/app-icon-1024.png | Bin 67285 -> 114038 bytes 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png index 53fc536fb9ac5c1dbb27c7e1da13db3760070a11..9ab250fbe43f3107275388a365cb0d951803a877 100644 GIT binary patch literal 114038 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�NI~dH#oPx#0 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 literal 67285 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 BXNCX( diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index 6c2c97850..6fa7b6465 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -21,8 +21,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.launch -import platform.UIKit.UIWindow -import platform.UIKit.safeAreaInsets val backEvents: Channel = Channel() @@ -32,7 +30,7 @@ fun MainViewController() = ComposeUIViewController { Scaffold( modifier = Modifier .background(Color.Black) - .padding(top = UIWindow().safeAreaInsets.size.dp) + .padding(top = 60.dp) ) { Box { BackButton(coroutineScope) @@ -69,4 +67,4 @@ private fun BackButton(coroutineScope: CoroutineScope) { contentDescription = "" ) } -} \ No newline at end of file +} diff --git a/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png index 53fc536fb9ac5c1dbb27c7e1da13db3760070a11..9ab250fbe43f3107275388a365cb0d951803a877 100644 GIT binary patch literal 114038 zcmeEug3|C6$zJrXor!-9wa4 zNy+DT5B!|(IpSP16Qz{aQ1&)Yr%Q{-h+U_ zp4jfMhkTC#_#ywh0e;Aj5B^dR;Qu!w0rAh>NEm_Q|E|ezLr*?A1^!UE+|YN2!DtxC zKX6#WtK(oaecRi59(ro3QWnmR!shp!?^+7`IJ%JE1-s%S1uh*eJlN~| zQW|cymSAS`__AVG_V4_U=l;%fMT9*0zb)oqr~A)>t;$kg5&4(cWT{V>{5TAQVPMMF z$Yv*_T=U2#qH|kG~%9xJPeMc!~EMX{2`WLahHBxHUuRa2mAM5VU%<*Gu?l`m;6>V z0)d2`)of&<|F41I2-qCOe~)nugM(p^{4dX*{m-${7#J?_-&V0d7M>E!7>wc4zV@F> zgd-_o1;_qtb!a*`n2|o~UP$nNtQy<~hpqqj+K^|#jA%rRDn0#wZ3qn`%Kq2da2O<* z@fsnL@9e+JgS-GFtncuDh!0E@3}(bp-adc*+J9{b2ZL?@_u3HjbZ8hI{$@t-e~StT z`}BXU?SI1lpRoT!?f<9Q|7EKGgOUHi$bm}y53~ORDS+ep|II<311=o6+bl|-WTql$ z*>)p8GiNvP=1ogeyC!AVZA-d7|9Kg~eS0Y3EXWq2jA*arNcCRRJ=(d@SL04t_M3O$ zGrSKxvT8oAD$FykhrNviX^sfW6S3wXnMV z9bGNy?SLeAEyc|o9#Rc-Lk7k@pkj7WPD}I%iP+r~U6bLBO#cYO^}W0%0VT-2dbSU8PaTxrTKrLJ25rpM@b{dNNr%!}&!0D(zZ2Zt(*-5|Kt_d&ze+_^Out7h-nvSH~*X#$M%Bp!1{V z8st(!1#DR#i*0LikMlV~G4mO6x*ob=rEhlSo{5r48F7`m@3pUsQoo-||Cxbj->bIg z@j{mVTEd67eu!+X)j(67MIy&$vAb2_$NKE29o_LT4Qa2#Gi7El8u0#aQ{WKUY98~Q zM$j`ImnpE!DZ#3ju^xh*!oGH!3|feMsD6n%RiNFu=S_ujYtoC`W|Dti76|l{HeCNT4nzIO3R)S~f_Lu8{O01#7O@4>UN8ovx#8Tthy&ur( zbOo)#mZ@A{-XfHCo|{l)qwpalxyLznYrZD$$?^R)1tS(H^(*+D>N{?616rAbv;Q5@ z|6_hUm-+q^C+Cj){U?kAtfD5`-hai|<}0N5+dv!(he)10miweWOAW8UQ8)ZUChTyz z#h>J#T@Cgfg);h$2KEBr9g z{lI8=B1I8cScWz+d|K5|5_%I(A{DecDyu?ksT>KCoas>!&HRIQx}Fq4ePivkyB5`R@yS|V<3C{)33?6Z8$wq)59YL;U()=E0AydF=n9vwP9ohwqy0Y|>$ z!N3T9u{l&=vRj0zer?E%z!5v&FLc`9y=tNIO;*25>;TDgu}ti>lVBG6V0$a}b8rgT zSfhcl*07H-dw;4EB!xO$>QiA?**Z-kz19e{sOrhhMWt6*dPA(^*YkSpIIG5$Y|mZ9U=3Wvucn{5PrdGvnoh5a-!d^c80y z9jEtv=A{lrr{LH+<6}X-p%RY#_Q_nafld~5>*w4T_fL36&1_Ywa-=kI{yGdFOyg1J zGft zws`AAAsmc&$$axT0K;q$zSxdWHq&FwauAP-OST4mph;6IkAaNyreh2b;Ej){VT|mfLtYupF7_=hAt!5x;t}hPHvha-}(E4veN8y@iU}`&8j<4pG{e7 z)`MF?WbxqNQAg*x>kmDSi+LOnxSirP-EeH6??PRUh0x(vZ4pLf7Qci55WO-p8YcR- zI_D(NEG|*0g^t`smD6(_iOvNdAg?prB#s7$6PuaK56Kz?)b+M5dT!ZSuG&bo&L=?g zSddrE-a2%|&LnR2)n^K_;P8GRM$(wQd`tXo{P#nFlJgy*67wAc<0p2%f3ddx?s_6-yE$e$L6LOvt>MR}gILu^ zjfhGPY`(0`+u+#~nWM%+H`NYRn9}%NaU9$o*!Fn{7SQzu9HK!Eb143WXt*SkN$+dz>S97@`v`n%~@6sfKSejqExdSggx)DlV3^_(VT0)7<^f z%>#8_rw{JWxgf89Q{RoKlQ~!ntIc-~tTPRr)TcAMmoN}0OJoE$5)Ogzx(mZqKt+iz z$R~#N+$@9i=UoH0i;6t&S8bjyh-ER@+jul~Vjt*>sULoV4;_I^(6siexbqMA&L)zE zb6+NDkzkkM86|Fi+>msavWPYsgAev1S%Jv#Z&_?gcY+2T6YAC-w4fE08iSy_ihG3N zoeQ5yw{=mZCqQ6mmuN)KpM1TKBd>y|kJZ)aIRBYaEMaC+HYXg5d&X{O@d_V}>NXJbjvuaD0H*LU*Sf$Q@`e;b^b zo?gQ{8NKKpbaE`B;SzDU{(7zMD1U_7em3KhChlj*y% zO)_F{V>uGD8V5-bOxPz%Q}dldKR@QgVIF|okInOtwBwXrsW|b~X0F|pIlF0*T2Vuu zQ}&&^Ywjzi5uS|_oMa2G=B7IY-@!DdWk#_~u6^8+-yLODuq$~9KlIqd|8xY|gx|6d zE_B=uT?qs#ri6~myHdRw`AS`;F=KmHpmVuS>B-@JQLPEmh5GaNUo15?b{+OtFw~2d zt=hEqF_h`$AAE+{rJ;jmK~iZ*%C2-w$ArpJLBr)&BM(mn)o|S`bb^wN1^=4UH#&sG z5%h~CrnzO$Hf8;qpBYxP1~7ss!;Vw%c`ZtSfzo6Q)U|XFMTDPmamddc?%9Px7ZG>!3CHmtq5){ zW*jM?T&ZXxL&r-Ws$dCOGLipIww?wS%Ap*X*Iw1$$2Y>p$vsgbh8RK&qp3x&RJsB| z0tHOhs-{4P@?s9gJ}NWZ5HVaUmB|&mW}1%6gJ=y0nU0XRLZm7;feH5we~;>Va(asD zR;j^#q65Qe@QRro7(z8ylJppphBBIk8XWN~t;#d6%RJs)W{+}a#RzMk|EtL1f^1p@(;Q^)l?}PMM#T!YzWr6X zXQ+w$D^W#O7X{dkylKCYs<%n^yA!c=OEL5K$XAEiYi0oZ6X(Lf2pR7lgv%4&qY~UC zC_AKfNG|$C04;|&@IxvG@dV|?N?g+7n3Dl<*iuMFIG5c?_%WCIfIazD;%zEASUkUN z?O_1DEd}?KX3K7Pn@0A2+_c^NRD0z-bUh%S@CV$8Sw#lK(S38;a<0i@fY~%MQbmlI zV4l*)%ffr7r(R5N`_-O+Bj2FEC2SPiDiK0sGgn`3v}!&H-;GPZw*Il=#Tzu{#DPo5 zqO3Ps8oWQ6Bq2m-s@>ZFCTVCp%iI^Os-Hpx;STj4PUjkdH>}lIasn7t&y*Befk>`DZmP zR;XCu)tS2Ur?tA!ydnn}!->da#U;{@_B~6h-ExUb_7(e9eaa19@Bj$p7ciUn0E=2U z{szsj3o$eaD(ymcZF6ZmXA;*VI5pBXsHn+K6K%%%!$=aA$T1nl#d5Oj1U%W~G;fOH zA)r3-MsVRzJiT!xoOHJMXv-76zq>I!Z7Nd(-Lae4zJ^^TgNGmYkpQhpPw5Zu^C(ww zuo>cXc8GQ6_>~}JeUz*~qAvl*=hlw%W){@ZRHp1BDrlNCQm4cXLyX&Qm zTV0mCatFd-hD)Boh)&Jsq+bqPH|F3sBvgx@_c+Q)K8^DLw^bkW&jL90yqzK0!!9iF zu11Ld*)Gp-Iq5?O@Asz)TSpX}aWBg&S+P{n3Z%emJ*^q}1h^B15CS&wF1Ya>xIFvq z)mrff1ISn_bwyXA(PB=n>hA!DnO&Z`8jIkbEu_i%SQkBZ)Wax6T|cz%#*_h>5v9t? zVZig!lrMz!dk|g^C)fU|m1q?l=z}6r6y>o`m!0JM_ciM%Cmk|*%qzKiwfd$o&Z9?* z!X+l?xLD957~&`M=r<5J$O7+qnAxUPg}qc+fF;voJb@*h5zhq`%|S@m(V5So2T)Y* ze$TA)SDXIx9-fizJZsaVU4x&WM#%u5`A!5_+*U>oJ^m|oInD9jzQtI35l1aUu?(|5 zHpsXPMh>#c1oKiB&RX|ZEp1$L`W0jE*J_FO!xIt%nw3|#2+ot&$+8^+vT0EJau_gI zEM8S>pw`eJ@Xk$VU*jq_iINvai`WHdBXjKXfspg5`YO&lO|~qz6|%J6m<~NX*F`+a z7x(kz78?U_83Z=6pkIHL0uesb@m7O?$eHU?i&z*Cj(F4|mBYvm!VG-L9bPHPZ zRg;=8Pc!M~Pj`5{zhr^|!YDykC2|c-=L+v_lDl+UzI^07RCTdIEbhC_y&IT%UtZaR zr6@54_qW!{jb?i*YW3!ND!>I{#Auw7$4^?oOIE=;o{fZfgE-<0a?I=8H2+NsuIW0+ zAY%El|LcHY$rWX-(FOv^b6D$YMT@8GZ1)WW+zn_x@!9Fh2v*B%QUSGIQ z+9vkM{c2`#BS5D>l#zd(N}9B{`c3TmZ*|A{IKKfwc{B%neV-GC>4Tx-8~=bQ!>G$= zpZ~fMT5qXaGVodX>i95cBcw>GuR9PBT2ulq{oxSjhgI#^36JIKXn-(T{hpL&WWvP_ z(n)3rp8zI&7EO6e{jB6+J8jiTk&%=5$8OhXVyZ)`8uO}6YzGW4fN>?$Q}vE zc8~8Q6H{OG_4nm9U&%9)k6wp9SYM;+hio&d0G;bi>S4*d@I#%r?~N`22oGa?7IB8o z6Mvagn?c46o7v&DqLGd5+MsOO$6ZZNxO5G7q}Qjq+?-hvho1ND+5`QpVXMUKt+Mx5 z|Gl6^7(l3zLA-7a9aiMXUMSC zluGTT+k8+<>Su!Yg6T@gzoY+;$`^+9bdhLxTDXDh<P@1)}GY#vrO8HVMB_elGvQ+(!j3 zI78|zbkC(o{Qyso@{itM5dQ7t@2{nsYjczoi>AbOvvDcNfU0W_LT_`*OpF)Ys#C#|_tN8>R_)I}Z z-#ui80U?`LrbfPU@f~+-N>phN*7V|@hNsXHAmU`q>hr*Pt(lx!5-$>X>z|+f3o+&N zniaMU{MgAP;BZsj$BZej-60N7l@;p<3p&-6s0q!x#ypuvJhTu0y1>W;VtfGneyAb3 zYC?XF&ZPKsEc4~uL8h$Kr;IDBJ=COUm_QIoWJUPh6`+roz%Sg zT)2MUs>Ji$#Vd4QLpz%^Z~fpoFvU*J(f;D<<#etumL83bwlaHH33+EHC#T=i)-wMa zaTgs&=vQrG%@qj1T;GJMw<$|E-z<0dwD9J^0Z|31Fg3K*2cI|^Ge!Ta8zUx-UF>?d z(QVzk#obh19eOiOI6e)v_;69cHt$fUE~i>ZrUx za4JhFCr-%ueBkqCrtaBl?}Gxvd=8KW(@Ldxf5bAh(BQpbwzcE{6JG7eV0MMn-3N48 zv87t_fSbO-r=9U%yEt~tZqphA=C)v9UC@m zL_JqC%*Xwab^b{O7J@mp-)Z2ZhIUkbC~@TW#2-UfEBWb+@+L3&AN2eIv`>`|w7!dg zYlR(e>v139yBzpyE!WT7ov?7{>K}1E9R~(PCqL10w|IGFoDzsm*7_ynt-M&Bs;?5E zl3ksfbFE4E6u%gLU_h^wOpVFZXq~d$EU@2gJ*`kI39GLCXKUdD&IIQF&<9wUI=Slr z4xBzc@1P#G%qYk!sv}mFS9Mq8=Z90LPaO~$&1QsaVxHvjRnLjvwl%*)?w2k^FH7X^ zD~Tv@LT0z`W9fs-F;(I$4kV%7wr#1BiPh>Ij@mJ0>1*G%PXCs9Ft+c{xI8FI4`OWVwP_w(+1$cQc8Fk1zAv{CQ znaCvzov1l|Xa}Fq1QF&H! z1JlR=(ZjMrD=jz=I82`*`V~DvkU7*faA$8}Nq5-MzwW^oPz19ChkYwAu<03&s=NiV ztoq^IY^&nd<1zYpuhUo*`Qz|`)p+vKx$FK>sEyUvgkDJYg~3>Ur3}m8t2>$*z?bN7SEZV#9}EdW4UVdC2jI*^d`OL;A}<5QUGIL)ORsW`Sx^AKfcxQJ1{b z4V)_q313Vpr%;+Cou(d6O=hqc9rJr!lwFyaOWi4sTdcBOZ^ttyZ=a&PcY*S6E&_*1 zqA7=Ad@pH6wNfr^%^H5{$QfjKr~u7W+c*FMs)_-Q6}j|>7qKQd+Hlxukl99F_v)lj zQ4rqi#VAT*Jq3o5(G?g3*>a$~#8ddCtE9HY%u^}d(#{38@LVO#nNLrHj?o>X3nl=> zro1C{U6DvtJTAZr^EU3xsrZtnGcx}~0d{Rq&g-u!vt1{$hyb?B9dd zKwA}U+Yoz|zgVt5>(yaESZS{!`XZiYQeIO8;B@a@!u_*L2^i=!~ zsf)-pi0v4bEao>ZEr#;Ofp8vliGDs%U^7#^iysMJsD4>28&qhzL3Y%t#C?pU`_!89 zngUqN#hI5{XA6`F_P-ut+vgpnemo3oN*#tasvjJrpMVp;f%p*yi-n0sg-)+08hm_{ z?xxj5dkipC{0)#-2)^y9-Iqmk(K3yvr=kaX*milOZD%*gat_;N{!jEtD@+&Rzq}nF zG_5ury13YNK}1gkC+r8m=u@J71$h*Ne=aa85%jlm#HPdeHSCXy>#d2-FCihm=ZQz3 z|KohvOwlf#yWCfjY6SD6!*~6y0tpUaN%9kqEUJTtQQ|F=?;7EQT);>nM;9!ib zG2axGd*{q_u?>71#Ipq6$W|M|hel|9 zuiSGU7Roh9{=Vy7s^0)%K-6jd4;Qqd@>!U{ihk=?DcWk09_W@lS2A!!9?&~FT3|Ha zv#f8PaK*RX{AgM;z5J$9Dr#8;Z=`7UPpBE3j8j34`oV{So>pOQJPt?Ly1}nGD-r5n z0B%IrXqWlz7K2Trub-a^;nkSbd=7VGSy2#i7#qC~ZwfiElM#eDCr*uG$Xo#-2j#sf zT~m?CHDaH0thYe2=>Szo?GYTmN<QZo7=nhVXHJn$0Nj0p}3 zaK;{*(W||e&{bRoPViMk@Ro`EW-7URjk-kj1gF5aJI_t}PEIw%Tpo7SNz`JYr)&by zQl+5ja-i9Y$d8FIc7{vNPB$0pa+TYi->|}@45;JE@4@<(Y1E`Qy!nTSE^x*b2`) zc&Tbh`D4oe4=XT06)=uPH&42}Sp=qt3vzF+(Jjlm%t}K6J4KI^k-c(YVKBIN(ITG} z)qQ89{2_G|}$(nx`a@HF>*|ssOA8pF1fEfL&6>#J$ zjG&VO{7^vaoZ3uyFN*>bE6l9YZ2cILjZ9=LdIZu#3UJcq?bFdc`sY)i<=0Ln_vTTd zbGlm;*N#6vh}i%L;t@TU=q3&q2EZhZe_0`)TY369X_2FT8w}7cTD`YSd;^Fgsp_Q( zs76w9+A~hV@Lo!kPw@uj&HacANBn{M*b~%zvf4%609xZT_VcTeSxBEAU9#I@!EXU2 z(@a@wxWnn9374#w6I<4;nF-@gKM#^!!M4!RkbjaYAeBwrn14-s_|jr@wM?+>U>oMq zYO?7H8PGr+ig|GR+-Hz^^|0^IlvJ<3MEgU1wE zXRPv^p6}pRIn>u}$A_4vbU|JY3daNj)XB=d-*^9{h&s}w1!l3l_ntxv^uU0_ErI~rifvN;K46RsT>eQpdvMKfHr z;^nMjlqvGQsKoOpjghzPKgNd{nQhb&o0hux{J{#6NkHG|B2wpxtZIM@B!)h%CW7`M9-n2XbC5p z=wE(gHh+AM0R{oa5q|eH{MzUeqW@uW$+_Gs!nrhU&RQLnh@~%qJ{N*Oy=z}_4^!9A zCA{fcwBLJgTeG+xyF|Nrqy~00dW;!4qmA=_xRoPW%7za_TCMdx^}XRoqDX4eFT;|` zMqsb9H^j!s#E=~6oP2~czFO}{Z9XqJ`?#bvp*yN0Zx1tlj+I5}^%q0BEMFiUantJ# zXv7l`;QIKDT~C~8AK1~*f5p+*)2zHjR*k=W?P~TGIKtAic?bqxU-qJrG0mh zs%XcTQ0R|8(i$l~*a)dghULQ!Y?!vsbEgl~2Q5m4h^0o)S(XFlEfYNW3f6MzB2^1W z2sd|3$YuJB6n>BQoB@rxu3iC)dZ$^JXiUokxXutw1{}_z^d?sMxlW7U+}e zw&cr^9QMB=;V09a2cUd6jwt_GS-SL@o1K2t1h{VyBadp72F-*Bg_q-IgLK)bicQ~V z=yN2w#%wtpF?luRU++!3Ut|Y398LL9_oO@_{fo6n>j_)X$3cjFk^EG<5DtVvsS5f$ zh!3gs;RtQc=QnQ*df(hICZ!dr7qmcC0iT7=5XOI)|I0CO8xzH)qPGHCU%lwMZg22$ zv3Y`f*M1WL^zIFg=9lZX=5@_GkBIlEJO*2&*~?T!_F54tA1xZ8t?4~E{hl1)!uE;e zQDHL<7?U33n0g}HXr;GYKK9QC!ucMwn3?iZkV+t|gJO*4wr4%dSwiW3){&jM$x#Fss084(e_vSd z{XT)rxIrwEm#T40K4r{0rS0t4xuYM`0%@KsbEPuxSCn4LF0nz$`v?5BR~a-v_R!|;NU*}rlJbn(LY7tM@G<)XPU z%^iLn8GH*iV+hO2nFov4M{PiI@?Ms275h#h6_Jr%h~a`x+Vu^O z9~G$dke)3$hg@isvFsbw3%)rCB9z0&3Wpd1@DdTUDN) zVy_#aEq>12jvVoGFNzgx`ARambJjNh1x$3z|Ip`yZWn?C@~)UhI^6WpT~%FUqefIg zryr`m;!{>Q^<4qFOTjQ~@?rTOTu3{4bYkAnw5g|w$x8>-p#EgW+xd^)nX~_mdCjh& zo#b&ur>*u&vZ>NNEM1alOQQ!UkZ^ygSg-@P^Vj}Y`WL&lq)5ZZ>IFL z2g+Jxiax!sb$B+WC5NwXWuKGy2cY;7UN0Cz4MVZyz^dYkRAn-At)Y3@Z}~Ik!r)Wb$%i3vbny~kPo0YGtehZW zE9}T~qY8qylqx-YPM|h-CA^;1eG7cy^Z4(!#0BUk5CtZ%M-$~E9;s@!_nJWiQHA1B zz<9D~;Z7oUsi*ovf@vNOPdMaYKkj*d;JZAlz^W&=Uq{+^vxHjYU9Ve=M>eHa>T?!q zD(Rd8gmp|U&FtxI?tz7b8&yT;Iw7q<0neDCGsr@fo+(5u+?#qcmcMYMc*q`pp2zs2U>I>+FzI|K4JGt{P8Dq^|Eu!I-l8v(DQbwA&?kPjOdh zUyGkGEX_IPc1SgU7}Hd&mX&~)$;IU8TI3z?UF$8I=_C#16^|oTopj?F%^d814g=H? z0+R2JyeC5$b_<;tom|udjep@P89Ud!Lz-lOTvy~26-R=QaPOa>8Av6WM$pw5ixdKs znh7-||MA(eS}p>@MD(|d*ntDDYFoktQmTy|p{w-kHG ztyc^nZYQUpiRY+(o%d2d8QWu``R$`c2frgHeqkY-Y#DvyQCrCCeFox67Wjj88c(|L%mWk1YPo~*&KZhSO>wSJCYs4Tp0 z`e)*3)#gS_se30Ok&g`H8AjklqN7$GQR;0-+P?_&%q+I^9hms)7~>Vktl_fKUVFujF1{p}MSaZrR9C8fh&M?>Nba+una!P@vlM}2 zBkHX$6SWEkGe29NB?PR)@Wf?hKilalNXkJHQjqd|p9#0`Po*HjZ&#CBER3rAj~?nb zic0?TIm!=G3eu4zZ9Xp^ui`YnI{St@G5N8p!uLT*?%euVi;s^lk5p$|J_0+Zw16?v zOOWS@dfXO5e<=&B;z8lkSws}ix4SE&m5ESH&sNAall7vcvh-}d5k_U<-BVx;bf1HBQqCxnj3=3Y(#jxn0ZJGIj zg4QuLj#n=mM4EW$kEf7%O~r3MWCNGxS6y`vZ{xunl#Il<7N6NnovZTlYhVTTJ|gqB zpC$@xf6tqHwyYL^V*4E_OzDz!?6(vGWDJQMhpoIkrzhn$-v{kpsC#YM9Q$|^RvmAd zNy`~5anZ3MW<4)xI|Aety~5t|W*H+kEoZgw`tr1!I)$Tqp!e8sZnw&>M3aHX5|EON zumq8iN=#A7UR^ogx7@h#wa2|BkCON;X^U0MnAT)c{l>j>cUr=I+n{?4e?`CIFEuGi8Z{O+62 zK`J6J>-zJqco(^%E(V&(^wn>)E}YiUbx4k^dUxdm12480k!J|})f zGuE0`7^tuc5e2&^xg)pJUm&|Q_`tyGB_vsK#FR`ZiNP3q_gn2(HdO-m%7RpMje`1v zguULl9ga-n%C@cZIp;Q&V0~GC{_y8cS85-x$y=w^V_F+LT4&zme(v;BK~8}tATUZ7 zD8j|FS=Vxb*uTnaz*h3EyH%#gcN7X`*nE?F_|ctubKanC(Rl4@)llQtSoe0B-U(}sETdAhRh#Cz?awwA4%_;`52(+gmK6M3 zX;GtQV?KJ^!gOU}#p6MynJEdK)~9TA8{2ej*?m8Pf{-@IBAD5|+KdI}@D>_c{wCBq zeY!Y_u|^<;>t4BS4;-_}AoWy^riVHaz=ePaTe38b(G4f0YfUk%3U)Rg5r9~15;y4B2sh25Fvf4Fb5l(AJ_>q%| z_U-dA-;O4}ecb%!Y4EZ>@|g*M*YAeE)q&Q2Gg&I`KVL{HKbvjnFvG6jHRx`AnN7Q4 zyz$9VU?w{2^OUQHvBodU{ENhwxq`(wPKN5z2NQ74!w(g|?3osO@*75- zc0Wbte@!^`1jAI-P}fEchdxJI8$*&c3{!?A?_4O)g3FkXQ*(`p9-qo`W1!kz;*Vee zgqlpjdZf4yhYWQDJ?q+9e*wA>&!D|+Uem~N3(|Q#E{+xtoyc5`c_O{`rxHUWglh%r z@lT=2{~>DVY3uG}Y)qykUrgxRE59lsU6Y?Yh;F(iV+`N;^cRhzv+kth9o4=a1+7Ib z`ck8xqBB%XtWB)wCrnR-T(OIR`W1plICho?2S|n~BrGfP&UXk>!lAbC+ zYjWU;=erx`?%I|Z^HjjrOO5esu{mv(`XB~4X@oO;@t|snAHm3C)27^RI18m`a(TA# z#mf8ksk>d=)#!_1uI3(f+WXmqF7wRJU))jPTB!@Y{9+Rl=R8I3`N%L*4-5=!^4_rP zZ)|orl<;sz)XnGOdCpsNJF2r(OA?@Gk2HU()w7qI(&eIG_2gHCFe}cv^Q=hx%dXzj z(;y#cGWdN??BV=Zk7^3MD~RxqOLCmPM$W#CW4$jKb#%(~mSvaNB#EfNd5RUHekcB> z)|-XgX9IT^%5EBn=AU09edXHr>HRth!e4o0lUFLKdnAJ=XASyLHk`?&5_{5o4*Ed7 za5kK!KG`#W*S_x9kSNRwc`2SLKU^DKP!zih8QBY7w!d|?z5jXXmCHO|o;H4=yHp6k zo|7GPBsB;=zv;(T_@gf_C8|@0Rj*8I;8vqIEyC79W-dYwy({6X<1uv9abYNO2}hl zEAMsvUd{N}8}(OlUD*kf*P306N z&Q&(vhcEnUxQ~fJe(b@{o~rQG*00-6GFO@5s=4=*+g9`~gJ`xqp$!!vedC^%vSWX# zTC=)wUR0bAjSADl7oS|2oIEOtJ)I7?^)G_ozedbgTfyO0$m55(PhXD5sXR9VO&wTs zMdymV4jMx0)6mQZ`oGx_jO5Q|+>)1#AO<0fIo9uAFC@8XBqj(|sF_vtE9NJy`wM8$ zAFsoSugTdCL(uYRl^L7g#pxuriA!%HNKqPRzhMyLZu*}y?wbr3m`D!0)I2jS=2hL1 zTvJ_!4;ugG>9A-QY+F>x7&eoC#Sy&C>A`15yZ`8AHH<DHpWIn3)2t+V)#I z0<0}<{*Z%8it)*Q+I|w&_OX@ZXGc4BQ>PGi7Vyy)x{+T15HwO&*M_me_6sLfE;X)s zm-y&|?6$~gB~->@O!F?EJ+JOgXzm(Gi18@wp}p(mr9^6iyQifhjPxeLO|5vrlLg5w zJX&EMwN5%=-Pghx>vGo~OStMcHfssG50?^vmGuhxJS09uCeV1bfew)&{jM4JgkOeC z(u#_uR4>$(P1guA)o zj2N`S{O2I}bI!PMwa{EvV!nY0jz_SNINT3ctrm5Hx924et#yhGQw8oBJH~$bIHu;6 z2SN$_47m)E%w-SCGwh}7A?!zOo5KY{B-9wx3Ylqx?r5W1xXi11+EWClpU4&UV4Eey z%r0~9Hx}@WI;{>G2;vju(yA6KwcV{+slV*$X0BoDFSVe|BzKEQ01a{eNk%YEshtb* z_$J>rHqD%kUu$s^v#X3zeqIU$mfkbuKC0A+pIe~J?>gDWLesKTVrKB3OI8lu4+?cV>{vUh4hV~h4TVWQW5c* zZ*SJ-90J+_zF6b7JR!5BFfxMF%bao7oAw-FaXLiW_a({P&~K<|Ycge1sv%=<)?M4R z^FrafmYgGaKc=NQjAp5gnZ(b?Wt7xL^~y!>g`ol^%v!U>VGi%e6^A+O2D8>c#-Y`+ zzTW3~HCsLO#;KsqoocY%E6($CKT60ny5m{x(lY-WG!r|12Bem<@_6h+37F8f+n&^j^=uqG+|@O0TUD|bCpd}RfTG&kS<#v+2ul@A zrxEYe^p})xj@~2bl0&;&GJ{5Ir(jO4!p2oJh+h+i!Z>z8R$}M60oR{`$xvS$@fu2y z?zu?)YFnZ}uHd{xCj)Sks^kc@o>pJsA*zs1KQxpgc$y|+HLK*)dB|`B`hF^sKI8RN zH&cOqa%9OmG{;x`W$Nu- zAGGVMcnp)rim}6^kX!TM^OfO=#k+5PWM%Q9A9Cl_vo*3obt>#awOc@B05#}TrG(AR zez*XFwQnY?#Up;QwU8%DsMyzj+^MOd_|QlgDEtkzFuV`T3{Py{3eVS{zyj`X)!U!y z%X1X6CD)w7g*Ex(#8Xqj;^khmJJ((hjVL>^TdI1q8Iq0nDs}g^QRC4|Sbrk4(VFU2 zP#8Nvbc=T39#RV7`N>FWp(??Nan{u`4a!mw>0j&Famp)f$ZX7{^HBpLvS+z+)l3zk zoJieI`@ySuCNv?Yz2Ww$)lbPUVstm35|OC60jW7#dsYl&rw?KGqKzr_XCVR#RgO#` z2%T0Um?N(+3vQ;!4P}HMr9W$lOiWRCUJh0SUs zVdDP7PLcs)D7%-%v$?67+~`vE^1|pvT^du0LJ`i2j0$T^dopSoVUs^%(laiO>3L`)M!ZRG$%H}2dbd69q_+H)&4R5WPT&h{qtzkSx@<8wcxBBumcmol+r@0g+Uz+wPa z&vaA8H1yf~x6q+?#cp>%_R>>?uBeI-A4)k;XxGi}>FK3zJPT!+^l1zpz2hh`Z)R7E zf=d|uibNB6k3s52=%G)J<&AtiR-WA_PRKwv32#tv09IxJKq3v34VhCOFTz^kBScpKfT_<|( zVrPDT@mMq@y=xY!b4UmoZwvG?YZ`3D_I}Bg9CBYDQlt9HHE~hr#-~8Xmc0C?z*?(T zRlC+riKA_?_oR-{Tr|?>qeEz)A%6GekKTOtm~qN3`<2fER^dsh8R`2-6K(U~Csa7-Ud6H18&sT{Lk3oE@c^&VaB3v>i+^&Vy@68dOX(}r6v-BrqsQzSn5s4PnL7aS=keC26&E@ zSMs4gI?3s4QM5Gyz4I|9unW?|L0>?0V?i!8vIvc^+v2V49ek&C0OT|JHO~&*c6kXI zZ(!SGUW|ym)A#Y-Jyq7THw?Z3U{=FnKyJ2m(CR5nc}G{xvgZ*dkmj7js5|$3vsIGVNW7i#xi&gy^8#iT6mzubV z=);KNiK(m@y<0o+1-RA#K9U=J)uVn*V8i3#tO}PPh$SyFmRh2|(~q`uNqMR%^Poo; zRwU=Mip_FldNT;`7pzShlUG32@*~wJyy2%i1k0&{GICj9e>Nf$1}N70d2t0*7PoKlN|HN9m*&mBIW+Di zV<-5GgMRQQ`L|tWIl1}~MogCMuBY&JDrSMM6?IjV7GB3ECJ}eP+$YwfKqmPCo~tfw zdM4D^rO~SO{bb4U!-+n&`V@$6R?ycHsNK_tLkK-;O4_?_{VTfB5O~1!+z;!qhoU1C zUks@QwKVKGlNM%INGHFQL7#Qw!fl7D6W>B_-XGSyiF_vbynt`7)QNPe_V+}h({0%} z8s|NW1*fb#aXsS_;-e)!f1p=u2p1~&(}Z3-o$f)eN4;h&)|GQ}_f5*U^K0dsQ)bz$ z0Mw2KBg6xGE{&D0971MXGmE7ab8mz||H9Fv%6j2)kl2oJk9^6n!yEYjc=`&qD7)|L znPF%oB_sq%kq)H28ot>6)4U?elxD_Y=&SbMLdy z-fOMBPS~LakMsG(K3wpJhRVr#mx?{iTqt7vF--42LCk4Vy)C-V!CUVb-GS{sm7w!1 zMQPe<2CjoQ^KhRrZTHa&rjF+TYHGuyAO96I=ozjzx8(1vawWd9eICwWdoBxHUahdC zDZvJy&c-S?4Hx1IicdFHZyYe1WwAGiukAC-t_v$oRAmCx&A>Fk7i#3%if$%+-{3TS zI3uBQrXhYVB#iB!M85VEn~5#6)_x{feAG}a%QIpL1uGtQyXxgdI-n zr8}miGl(Z;+5VbIojBF6d|C>obgSC08*459ty(s=(x;zd5((H!0U^02Nf(w)C>?wNTvakBcqmfN}%%_DIa z`C9_*pKflBUQ(YhLN8$jw}Lq3MYb7|6YDKW$Sv ztjTc0w=$3#{xma$M{MH&j_!&wYL9nc9EDf7S1xwE2EB)e2I)nFEBX zix9f(0&eP+wQ_g%M7({D|4}m*zd-|{Q22xl80h)&wNN~LTk@<>l|5ZyiYQF1qcQiV z74+AVMJwoWJ)6^=NS6pjVi^7>0n>Q@bia2h$4zB#V#FzJti%F9tlWdt)WDDtjA@43 zlBOOJ@yz;=+VbO4EE3hdBzl-!bDwU>LKQFWq#@y*1)IHf4$8})xx1}CPTHK~?R|yM z{~y1k(&2G-yt_Brw4E__48JHg+k#&;rQMbXQY=h2C}%D>c7qnJ{5&3Z6wv?qJEx2Sp|YWmV2>INAl36a%1TQy2*fISY_@a+%GqS zyP->YTkZjV!~RvW2Xdv2W7Ij&oR`*)zkJviBi_zCXHF16E!2aQL>-q>y^6dp4by## zYO@#CKS0cix8t4Okhhh%)lS|bq96cpoPh}y&esMfXbA`L@>OGkRm53ygiO+B+-ORK z(ieXIJ4IPQ!9qCD6#>lT)XAS#EQJOjnU+M4&;5ljC3|N9j+)}DI*QHY>HZa3?#;+J_D;kR$0Y1lAm< zHC8?uVpV@%pEh>mH6TkY(8wvtrXRX>BYIo!C_xoTz|tAkAsKYIhNC_pE{3z6}p@E1}N9s!*$b zEW_W{Z0|sgmBl@ScEkmKL0?P=1<>VwTkNHVmFf}E2AbQJRUm}e2}_Ab-FBjaX=~Xj z)uaeq`h{eLHhczuwcB|QPtnkwPWj(Q00I9WJND#tJm#sBQk`<=mebGaZ?-AuLmmr@ zz0If9YM0OO8VZ|RYt9EKOo&j^2;&M{*1_r9m1BLhEvh_Qu=v0Jrv~nmc3CbcSdcrY zI>SWot2;dWQ}htk?nM_#yBa=?pXJj00J9=!eh8;Rh&YDrDRG9B<7M6kB`}I@U~oP_ zSXiAxwhz_2@x}leLz@nTT=@+$msXBu(U*?3)9Ci=;m7GU%pC12^-jqf2K1S)S4|;n znBh@}0p}@IZCBk@(Iz{#A(-jw2iDjd>(8N#Y-)8+%@j4hzGyqoK59a~NU!jA#aO&I zc;56e)BZwr)}2k90)#WYV6TKr)kx?61>YgvI)0$Xy?bDQm}~|gvET4U*80MOt%JpS zN$U~KOFf888XP%y5u{D`b&@^eFw$&>{o?u5xJ7@(vK?;2GINFplD^JDX64q{GBqsl zj?Gf;oo~0cV#)=BT07+Eo5s-Q@j+W-kUpPTrR|lL+gd$^NWo1Xs~kb;g<0qFwrHXD={E4b1~|t{v|EXRXiKVh43ph-X%& ziyB+m6FlR|Ro{;nG=>*#JiuE#0wT6Arww&|XUUbk|2Yi3*C6iz@Kc(444H#=OVuMg z=|nHH%wxps2J8VNhB@%4%Ln(XRzh_W}SiHc_1gjWPsTaKL~_1wxa!0k`Sh-y{kg8YMqlgg?M!1*UuLaAn2(f zWuGOjO3`9o(A$s41a|wyp2PNcv$4uT{r{oeK&nR<_R&w+TBn!RFI{PGmI@)9r6APB zlpXS>;_WcIx<}x9xzaz}Al}oakEX9oA&|A2VT>RZqu8;486jI_FN{k`ln?w?V%`SG zCDf&|>>~}((`n=imre<{-CtMR1W!E>L+4L`|Y6pNL zLOK6fZk=*@2l#2|F{D>1)zlgK{M<~HglCAq?+cX`qtx>Oijo(@PJJ>7Fuz&xaMt;X zt{dRenL%h!pKEdUo(J2{FPg*+A8DpId3AAEW8w%R{$0lf(&4p6KN46L7{KV@DUthF$NK}t<=W29&Kt}3As5!z zl0vqALssCON@Ea3sLtxv>SmSTpEWrTDCg+I7{8`{^(32d*>Adg|FF_k`9TR_bUyK0 zexC!t^0DRDnnu@3=z4krVB|B?=6LIw8q59l+rwjEE4ZA5@cl3~FCugS*A~FRV}D&z z*ic<@EU&M6lQ8X;hcrU*!#d%oQtLT2M9jjg@lA+J93XcoVj@;STT6j|8v-o&@?`dd zg&)7I7>}pMEV(W?VFk4r_A!o`6)k4}kSF`aAm^v0CeTQIPHp)IhvBbBE4 z`SYRbk-bZ?qe-!4fN4Fu!8%64W9@ioIci%5e|Jk(f6SvPcl2@u`r}s&1a$@v17*Dw z=>0T`QD=>?v!;g8VhC4pfjN-%Jq&#uZhN3rOgDh4!uFljko^2Gbt#&RY;(d7zagWv zY`@)EgaviM)_ptnHHhMOg6G0h5V!bc;yNE>j68I1>CNx-$YAVRt6{rZ1KzB)JfxVz zMN`gqI!^OMbk>!V;>1zL{BS#^gzy2|4GTn$X%zyp6eF@ud)H)_OJij&aB@E9hTmJw zK&%C<=56UsXp)$9X%&wnq5H;XpCxzOx1F&7GpMb1G{o3utyzCvCbU1j6ogt^S)7G0 z^c{p6WSbQ?{VI77Bub9MsW7YVFwPTrS)d|zrc|n1`MT0&^nE&o&0?A(n=vJyqeMR` zBygDUi)8(CttR^zzXX5cpjN1178ezP`(jJYvX}i^15dp@+b6AkVQ^0LLp@{Q|nD z#o#o7dhlRwR$wp?o#%J-R#jD1_hHgQUf&3@ck^!=kcKoB0T~|YzCR(S+?Iac%u$cA zS;~qKcVADrZZrCSx?f-dZFBhnUi@lPdC~8Zl0fL}#eRO-?D#WWK!9O{4DuEGs_&B# zRlE3B`=yyRc9}pC^N^jPx%SW(y{qFy)NWrcu|?K_ZSpkS6BxSZ1$#BUVI|dXKWZG^ z_<+x?_TuZ?IZ}u$KZqDhT!}?!;R8rWH}f!m_~$SV@lR9v2E~({0f=ivThg7QEJDD| zcQu+Kp~T!+Vi2WeX{D{h2IShkAK9}*d${K{^KUxJ1RhtB!MqH*@)&^;-QVCT3@hb? zN^~OV#2)^5f8ebq&VgF+-&u zAMY2u&4>QYSI+g@NEPN(+W4khNL_?aT@1^?hvU+jh9|7937jIP%yLVbCP~kyQxIZR z66)3qLqO}{6!ZwdIK~rU&aF*ZUQ0`bhTh;U5)f7WQ~H;%4x@>MIFAJt6Cr<7SW0%j z#6Fam?Uy@~ zVl~%nNJvhYb?5fi{{WJ40Xe}AsMRGJoppJ$a@USwS8oUkaH2GS#qb(ZBPUZ(m1C^w zb)yD|$sP6FRKCvR@ufvarJ=)dB#T*AeUo&_KDHr8SXxhuJoswgQQzu(13D3S5p^3E8#VO@eWL~)VMYMi228Fy^zi`FT&0=?Q`@8I7 z>vp|1&DaX-`~FLA4?whG={gK)@N8xlwCvV_tojQ5Z!V}|NgTPf=vjje&=V8Vt^ zB&;M$%KpF@zo-HmRj9bxy6$KJ@Ww{U__b zqPDn;QDAtv8gh33hC{_!y^Km{t~c;=IsFv1HyJRq;F9yEM5p`~3le}*#XcWCzR@=| zM|+Lco}9P$~6UKB!95l1r*(0A?H$9a&o%L!*AsnpCbsawlvX{Xvn) zm3F7YKeV!%hdtsOzU-|{{9IW{^+KfTOMrVC0Q8G}o>xOejBxJ!@xg7ih>}i;v;X+_@nKk@o55(!|e(2 z^-DvR=zRjCq%E`k(-87LfNsX_r?hB%JRgti}bpRff)1OjZmQyiS5gCddBPHc~vmx)*{2n7UPOENonQo4f) zLZQ`V={fc~IJk<%Tz#RL;XL;US01c(#YlJs6-#5BZCL7LIU5(ggieDjkUBrTKl>?r zi~EV)%Qdnswd966qisOAy(CA6YcHls@QqEBkYNZMXf!M?@ql0nIpZ9NTUh2qD``*h zE*uH>6PdqRajNK7*@Bopg_)5N**|Kt?bNnoR1*Qu;Af3=R`yw))Hcso?q@xNXsT$5 zLxT_xL9b%J^a^uA_{xqnv;CpXM+4e5dBe9O$d4uH?)5?7>W5IM>o$O%W;3jB0TIPYV+dBQ%&2lLM2_G4=K7wmE%_y zD97+uNtYdV^)V9wxxo9|D<(Emcn;qdMAx6X_NwHCYnB{2IQm;gpg;li2MDL=kKj=~ z%V4b{uSPip^_!Aw8YlF9*&q+?cz&Jl_*9%|YNXfWIhOYv&!bVfI?;G8KFc<7RF(}{wY4)EHZmAFrIyd(=CK{PB?W9q zloZw$=$)5_lT$L(! zu`=Je^Gn}EF@w2z`Vz^^vEY~cf%h|HgrYVuwcYl(habvVAShPTGSpm+UP+MGqQ3w& zHFf+A+D7KZpSl@W>e%)V3Lp;rf^d*r#M^c>EA*PyYe=}K3gouUuNi;W%XLR57>{;X z`6K0P0R5m0!$X)3s^-ASAbP$A`pK(YNkXPKq!|NvgxRP4fn@r=e!@`03sQ3B{S2P9 zWqQik>@T+TM(Esk)P%|bve3P+h@U9Q`amWME~D^`Xt6R0HoXhIIim!xMNOemAFknA zrKmJKT9cNg_FrobxSqpci97@mp46t|gd%XLg5GCKV*gzJcs;q~ zWqy#%H*hbxm}@3vWItS;f^SMfe$S(}kXqw4DV_BWvSmSP#!WxC>&8APGa~uq^RQS7 zKFk`dFb>8a{h` zN;W;^HAin+oaPmr6EPBt0`fpw1LN7yDf{xS67#`n^siVkza1M*VKcFm6iS#cfg8Bx ztK{+Hb4YAL-Rr8`Yla}3Z=0eiAeXM5hl%OWbpcP;myBweK!6sgHU@iYzgaG+c1l^L zYP;HfOE9t({Oa!GXjw>+@?zxMA-2Ems9YjRlqCt7+~BRr^XWZZC`7h{@TL`swE3m~ zP4uL*SpqRVO(AsF{t)yS$8GYnCbZ-`Wk>gck}>Epu@snDw&+QQhP4K?*%k>O$rTw&wF?6Q{a$x!Dvq~w2N%nm`VP4n@{@W= z_Ux}I=qo;EtrWC4q{K;@VHFzwlT`oI$6=xFfli5D1p8MuY=7CnM-nmb2*u0ZogdJ^ z4Sdwf$iPH64TE9dLFUb**SE*DjpClwHRY)|lQjR9pq%|ALp3-UA<=u6){hR> z;*z({eoA^rf#GJCcN~mmaDa67>NZTR%^$Ps5+A0 z8VOfeQ!e|QDgV-Vr1mV~nseMJ`<)LVpF;|Ups@-M0(mg*aaY`6@4*1Ic4ZxIFPx=0!a+@Osa4Qdt|7Eb@68Zs%It(cQ}0lF_P#2N8mx zFIGWE*T)$0qx>$hDd^!_9yzjd+hR!)oX0_oM7JBFVkaGFB+In1A6?!^@|w!)5O}%8 z8(I3(85LHLFm7oFC3OJBkhw;RR*)$aCZDPO->08 z9S%UAvD1O}_!NR;x6Uj^Hm+lMJW^vb;ke1$w(%)wza7g{A<3QY?{q9mTW!^HcfZ5u ziZDnDuptyq)3L)@x=&5VCkwAEiA+DFd>OoBDLf))0CZ_W0q2UA1*{WzCLUKLv4CYoMNk7(2Gyrn$*v!HCbS>-!W@+R`X(fu<|L}@F%vf&+15z%hg@;Xktvxq}&y}*S0teK?!vzx7{z% zja>bnzhn14nJk=Ht{{zydeCD1ko?Z%L1j~n zSKzKLK~2Cn1+>WoewLxfcj_dK%qL78x#X4Dl4vnx4`<@A%Der?*dpZVICHNHR(2J@ zYQVM(4^i77>pf?FMkR}KMZI$#^Oz!h08*~Gg*t@&b-L*w!)&=z#8gTr?o_->_Eqp2 z-K(AbBK}1N$?ZoN|(LDd}X^Fro zgmpy9%RIYlmSd~9|HfM1SCD|KNfso^kj17!hr>6d!K>PFIn5trU+y4t?o#M~oxiTF z3~gat_5H>_jW&Us(F~E|8G2!aBd_qvZ%Klh7)B>%wtsI_4RXsE*cZP;%PABo_wn6y zDZ7vPM(PNXmA(KmeQrA{H{TAhLW{%OHj_j7cgwpJ_l>unq+~q=Jt1*#RjC%B?+i|& zTl93rV2#dJt-D)H3a&HWG>Y&^q0IW6h}zM?yzew29~BV|7mq~7>>laiyY8eiu8Khj zok{1Eu6N8`H zH^{Dg`$Vb6F(U1zA6KJTOwa<8MpYqu9B&PX#{9K8jcS@eLsRZXb29bcW?@#+o-0(MeKTaXnJ7!e*oiy`v&Aog_ zlGxU`>G^GMJw>diD5fq+0?JBdmSTuuRS7PKYJWo`D7D%wxnWCpY%^-FyP+kppfIjWQ3(;(*pocHR{>IGKrdisLzzX`c= zEV1$+s1W1`qbIu0 zY;Jw6UrUMO+=w&^MQEJADHn&sX#ot}yV zjR0=b&M!Iza`q#aPR}mt53t&9gDBj2FIUXgC6Bs+c18?x$+?|+JA!@tw{L~pbi4oB%+Gi*D5JX?#;t&7l<6ntR@p;NrvtMR;98`_$CS=P9>rSveZW!3HO*Hc?e7ol)EE-vr5Y4q`;A5UUNK;8bMhjARK zs@mAj(^eNTyfS_>mMuObtM>R)YTTeqoTn$<6-bzC$1AZ`wd1zp?kO&hTH8!w@6KQc z2oSwWtFO|X!l%&zt(Nv^JvW-z0lv#j*Et0grDoWz^PFZgb@#(WyWWIWzo7POX|^q86iU*_I>CFVXmk-Yv|(Wm?l)UjAs>&QY2yHKSQfEzR7%`)lC8>0W8%NQ8Oz0=(GLl zwT$wB2V~JAy-~>ePY62+rq$(9_9Q<0{rPxW1s-!C0xM&LsrXnDZZsN=b2><5QN$wJN<_+9Z3I|*i9i%7?Bgf%F> zrJBsO-k?V6|C;%?5tyc5vZ}4ET`#I=>yF>e<8txE>=dQhkpX9T{?iovCv^UFlkH~P z$x-UdruH{RAwwymt8hOZY(`#rgc<7-L`(+9`7e~Dt|BlCcKv}F||d2IRmAgb=2y9ki84|3GrI$vnocIlpDd| z$Ut)r_tODphVcpBT+k@>$#byc&O+=n1Kq@7bAn7lR9m7BF}5{U3l0%FtxoiMx0~SB znhG&>IW^1|IzE{!lSK`s?b&eEzxFi0KYt{=5jj!pN^-ILJm`BkNV)GV?g_RgNS7P* z8SEV;QiF6oCKgDV%pleNmeJjqpX-_xGR3Am2V^%1wk+|o5zL2|Ys!zwJMqPWoCB)J zN{8-=tc>Y=^Fq?2wvHcwh2WHDZ|+b32Hu~kMkI?;%sS(N*wb3TCC1VW9Z=520~Zte zre;ys)r7t8>0$OG9irDq*Q)Pu@bhtlnAGzz$C-iUh8PqVJ_GE zHL<})P;ae$0Op%OGrHo3AhQI2&{q0}K=ZdxTpvUxCPFKzn!j*i!(71B*`@hZ4_+_S zC7sk?C6uB=ysw3F1LuyJVPD78WMI&jY^G)CVRxjY`w4^9aK^`tn9NOMsY-N4PMLbh zM+Jnt(5NdV2c!fjaT@K<0?Sz;#w4cP2)zmZ27BelH1%RsON=ZC9h)gt4;%pJp)1>~ zeGN&}Y|Lf*6Y(TKrpy=Oqy#b`P zlwX%gf_O=vs)0?X(NX&|Yew~L7++acJ-LR^#}<)o}h)^Ix-; ztW(5Q=>Fn^Rz%w3V>cx%09<(7p+%|1#DEE#8ZFvTz!4n1MU(DVW{NX~X++Z~73)`- z9xC`wS<9@}LmgD9HbwoSEzuG;l$%Y<0oovhz0x##<^8xSBe6EbGsb3EXgv;_zGHD> zdn5AZtg$er2v2#GLfXQmI4vi*{=&)^{IVwvPGkKRXI@FrIFmGVHZMp4v8yrOu=S00 zy8R&Qqbw(YFK__)^!`~&Yz#*N_lhu&?o{MobF!zjPx+xRw(3|O{NuclkXpZA+jJ+C zF$AlUfqEVNeSBwc0igo<9X+hD$ryxd zI%#`;%#LE) zo$XYzitePwo8!fO)BXeI-zi@`YKs)^b=<}#r$7#al$+f?6N)VU7k8LSRAimgNO!y` zy2`RYCH=trlTh`3<_y2vHzm4_qyhlv{-x}EPM@q|_%l2BeIov!UrSN~j$@I3Yodrf*Q{h41?tBDh;{Hu|EZ zDs_K+(Dw?1;hqY8^mq>P|2d0(%Mo<&Q;_@R;LJ1pYZ~d>@4)jaiD-`VgwgTGeWgit z6+FJ=kJY&m;aPj#T1;7NdjCRZjadF{u4RLP*V-RaoqR)&nTQmie>Oo-5QdP0G8$UP zyfp3@hKnM$>Yf_U559iu?`@yr1Jzv$1#G35$=*2lA3ZYknVJ$leyI;QiC+^nsBuvu zrW_OnC}D%2hZbe)c?xX&I&$|i*W55j^3A^Y#7=#U9$wu$8=NkY9=dpNG9vt(l;qzH zTtnb5V>+(8{Pe~j)z#PR(ltb&5Lx)19Mndgi$!JuaeDgn*dKjiL6Y`@B5v^Q$d7Qf zR}_W4+>pnlp{59-PrX>nRI}Wz7Ua>7Br}#b{3+NehNXT#KPo~J*acXtJ*kMm7}IX( z9WSUJlqRW&R*Jt#q$V1h;rO3dqJN@aEX{E8|eT=S*#zf#Q+eudrdAREI?DIQ&7W z4)~Pg{=+&rgCHCCVhh*2&nR5>xrB0n5rW}+`dM7tRcDy#3GcKAt_Fy6b*??BUFvJ; zKOiZqCrUM3`kVZb!u%}xb`~qDnAhB z%w&uz#I~9G$q+=kbf3e?bF==NvF)#r($oU2Oy&U0J^%m%36_`?2xV()*S?3)cTde2 zek`1@VX^vp0Vh^73dq?K>TK<8h;eQ2v_QnY_^ncD>cO&3ty%!8HaCY@%PFd)%^{XkO?&V#G#p8wegwLS(m{JSO*`G~UfaU$~TU3*geR1yv}3Bht> zZ*SMN5%V(gYSD*{+pu5iyFMM+Dr+}?SDq}mG)aKKlxce)nHT7sbhntqYM*lGiioq& z3bB8_GMNkQ4lvd2_!a$1hb%}4$n_m*abtH(vJ9#pBWeK?=$xEp+PmYeUH10Uaz-^i za53}TV8}6sYVwGr(5>M4f%U265{N^#m{6MG1Uh7tB=<@?l!NU<^ZN@sq09DP{-F10 zq89I!cMw*OIznxzJl7A|YZ<$6Y$4`N_?Qj})eEqIg-GPHHx}7~E(xt5Px|$?kH^Jf zuu@zbw1GYDr~6wgL9K77$`A=pv*7{FO5ci=3`njYv_hDMLjJ;?r5T#6Pq`OWULw zW}&2Er=7E-mfHvF0#LoOSE5&|JxRzEC9CU`ZmXaX|`gj(~o;(qbNe3ct5w|FsAuV#GU7HuGVTlgMQ_Zw@+>~v8v56>lb zwR6SEx9U*yx3+jFtd&@vt&qh+EO46hPa%OC{-dDpQF05mi^+z<$;4{LpeF{HTIpq* zX+u?z4wmib%`^ROXqpM!lA@uh8w0Y@Q$Kr&+nHx1HumABNLFki!$m~n*PASHHED;6 zho%YKg-%kk2(wlg>xYmGuGMIsbF=v#9KyH#K*0%s0RB*c2QBIWvkybTngHMe zJAR!NXJwdIef?Gryc7a%-b`@g#!yVYE^ic9*_TvA+dkJ0@)T~aX*G;|(i#AywF&IO z6tp9c4zC=L{)xdP3_-ervgHg-n3Y_{HB@2H;?bvP?SoA2Cc(eoah)L&0SaUFm6K+P zRa*S3?*{l<$rWi4p}6HVdL*U~q>LRYTed4c60|}9{(}PQ{-+4@BGyFUH*%Wr+3bjz zc!c6ecJn5RalHg9Yun)$WpK!Z*8^{*rnA!{QVD-m$vmY{Q~PxkyF4{^xDJ9_U*LN`bq_V-}nUVcOl569Ko7G(5=PcrPHa)u<7j}lgy zAL`>)b$#A!;DTTQr=3Zq=FcFjjKg6GxI4eKEj#v5UbuoO>gkRbU$89R8-7r)NDA61 zwuUM#w87!HE67)K+bh}N+mfzN);el(z}I=jLd-`mDBwZ8!mWQigw z(iEq6PG|5N<)PpVL!o;`~=pEZ*UZgUiJ8ADQc$&o)JnL)=NvLd%*&s3H2E za#D)z27Ey(RuTc9^=2i#J;=%$W1ZAEW3pKx86>N??L8BLpDNLkaBmR(oxWtAYP9LL z*+^MdG=QB!lsaCl24G<9I5_`IjG{T2@@osm*C}(iX5NP*F!%dMv0FhUj4-j{R}GEk zgPTvpca76OWxys?j0k+htsEdirR$>RitGd(n^`3O5?h`2KV_> zDDV~<0AhmAD~zks9;tGj?P^5`B#VA@^1xt8M|L++6$v_f5dp^LlqTHkgI5&1aezBG zKt*h#YXXW%-90!UK~IQZpSs*VBgyC{_%Xv0wbEYy=@@y3@EZ^Lz2*{bvSpWy)HDvK?@|C?PU1zhl z#@HvSvpC^jDH(5+p|YU>Zp8!@JxHnq4C0#U?w99ZYJZypggGg&fONWQcF3`bgPQC1I+gLuL)P7Sq z$JiDN8f9{lDD)~|8*6;rBpN&B@o}>63tevK|1t(f70?Jp3pk715 zW-o_s9n^_{u;1TzPxs*`min!aW^tpa|LA7q&DCxW3R8$?#~)6aKQ7D2S;S7d1)h4~ z4!c?z3I`cFMTs0nb=TtA2^j$QZ=ZyqjuS0sj^AN8D|7O7kCA&*-)C7A6WyAsV?2cWbrbog4mMo}Q}M6GL|mp~(;!;{Ndp{eS2zfVLCNs+OGw zf05q1d}vS!C?bc%Z!CaxR`F8KX~#cQSm~ZJ-@|ig>Kw~7v5xd(ZLaZS5t7NX1S&A` z#>1>-0yDK9{UlO0`fI33x;x zV@8?WCK4GXP9=SP;&2H0F%g95skKsL83r5Z!Q(guW|y4~Fs;`*?V?W~-O)pf8=_QZ zdqHD2p6Uj49@%bY01Y{4|60EvWX~LR+sv7y{Y?RMz_UJ&Upg)wDauAY@B^bjQt!?| zRvmP$#Bd?_Ei8v=wvO_8OHRMi)G2yIZFv_!y`&)LtH6vH(Mye5nz<9{3?csJn~t<}a^SoU9dsBIg*b~9(X_4DPk|4nQ7{_iuPznPXO zpcH0e2~;n1{%ol0x3mMj{sdwp-)fat$Urk6Efk#V6{3o`Vb1WW3~ficl4$gT z0uq1d{fF|(XZ?EM;io8IJX`Vjxar1fC|P27Nf$pFhgKXs!7WfYmb|~?G5uEJ&fq@f zKY~z;Z%qD08&kBO#AvXxSWx95zqL0)+o%N>C{vfAk;{)If`oOZ6q{*f`DI+kM24Nd zkO@r`9$9vW6sfiaBOaY(FZwyo>G#Z_Qc>?Glhfon5Cr_?YdnA1Kw)*tDk2=Z4I_qJSvN>uG_H{H-sy(nA*jS3 z@fgp4I@1Alf!F?-+fMT1|FKr`K#jJ||ET5q-j~z3g=!*C#kFzgqlz+4%E%gE~KNAmBTC*lK#bzSaacTPYsFCvweb=@eQ8w10l8B@+C8ZO8X7W*i zN17oXIy8`JKG%LR@-oUTsl3B)8R_)ry@)Svf(4RjGyKG6T*@r6aTj(bR{-+H_tXhHQ9}`+Y+19+Q)Z;4mQCDVe0bbz2KQDb zoUpb~8()+B!;y_Qv29eW8M@lP9pSwm#@Lj~I4gyT7}(Mbs%`pL$^(Kj{(f)AxQ_2TYtP@)NH6lGk;$T(S&v|81)#)vxhYW?e;3i*4{_I94Ixg_Jj$3?dwFnb?)QG~?$!nu- z6h|Dqn&hR}@n=)DA9?RhftAG;TmDBA`=bcjT@geq!&!u<@4=w5qWlUEv=YYLfI&S) z+j+(#(f~|#=0)aS{CtPbZ6GLv1qi?Qiun2b;;aw90Ubx$`+k@_*ZTDP4?$*<0=gij zXP>(|0~+@Biuqi-pk53BO{wzO!)p^KQ~K?e5Vgk>4#>BzYBZtBSPSR}v_MR6#`N{u zCIL}#LRO%j->0|h&X6j?QN!SyM6%?93j9c7hM;LwSk{#a`KrpRACC`U8QhAwAAn*( zN|IKmk`rCG?du;vvfb89)L0j4aH(2`UW;wFVuv`(br4iHI#AqQ9`v&35BE79`-j|- zoZ+dFfsb)q_8sh>`4KEV=6ScCleC+f2Xj2WE@EpoPXQm^Zz|hlQFfS>)nmB{z9j?4 z01)sh$*&5piH=#g{UC*q>8Xtb&Qdr0rnRDa?7sEMs_$0S5-_XLs8V z3@#WU9s`{CnwrUw65DImJ zgZw0OiD19>mw3&_;3hFf1@{B6fyY|_+eB!;{t4xj+D$Yf+)@f(-vSy<^EuMNN$x9j z_*l`$R}d>?jEj-uvR0Rv5PvME3<4#>9l{g=jPLoY@o4x3Q$)qrEEU`tTK zjY&j~C=}}f?Ty|L=1G#0Qg=9LOxsw2&vt5!uFaThyl38lby6aY9Gqbu>Zn+DpV1Z$ z%l(&E9^4bu7^}oGmP-13yRy6_?TS;1FzDcYYBkpkc+TH(fSX zYW*j5i~(^~um32rYw9iT8V_$6)oNMa{A?1Jq%LaHN zzAfQ*T^oPTi(1b=ybnHH%&ITNUMh}=1vnapKlmLHyVh76U&{14Y2rE2#td5Y<&35o z2_#!OqQAa;L0@kK>gzF5nX<4pqTBJl1U?KRCaZwL`=ucO`PyNdpBZhreahRL*8_iI z{E&(70;hg74=Nu6nV*Sw10%xh{-cSG#3Re16;=Dc7xRS=i|MUvYO#rD(;PVg%EtP8 zj*I}d!HUCK?8N{hf#}LvxW4V?tqGsD$B7+8@a&530DX7$VAbzRBw3hncA{GyPzkrE zehH)q8YO)?Iu5+UQ4hRXrc=^Jnx39+N#RTN*;6@ku?L%8+7Uk)KPwF{D7~e|vGf8# zE%IpcIDwNAAyqzKNcQD=Pj29x4D`iJg&BZmJ^|T1VHE$y+JJfxz+Qjg9uD)x-_oA_1~@WjoaBAUGerWm zJ0v~P$!?#ZiEC3EIps~#=^QKDBxb>p8yipJE>1Jkz9 zvPfRol6v|5?^Dm)M^T|;^b6nb+EuJjv8v*cUHtcQ>Ldq}I}Jx@o9I;-eXL+ogKu)y z)<0PQ33%}29|JC+DiQ6L#MS-iY`YoRe`-Ra9dK=fd(TP5J4Cnlt&If z<9`c(Ya`_}F9hm{R~-b;-s+=?=$`_*&&v($_Ge~z9Gn*u#p(vncyNk|{?+f^oLF}w z^YhQ`M|+3R(?38id^>~kq%Kn61_}e!eE6k|``q%c&oT zgeCs^wTz6BRi#YDE?Vl8f1PeA`X>V|S}z^>{nfwMam65GAzOncZb0U(MX;yFhyNs9 zi(DF{-mb+T#oA_L*dvib`;wVH|A{zO9~bkd2)<~on9Hp+?Sus5`~*B9)<}Zl*i5mA zB^uSwAvVp)cnF>A`PUj2RF8c0CfCRtBRL5eev_datzWDju;aE=48LmLO`eoCrGmO! z&|uY6z=Eqb ze+3%@MNF1=L+IF0qsP7@ol}gAQ>(e*dpky#8fc9}bYgNK{oAW7`k&8}Y8Z?z+a8jW zoFsydmBg;%Pci`D>SgPaug`V;ANc>|EJYoH0!U{cSEgxW5Aw2>_4ixf!`@(*=DszD zSmCUFe5RaK8||e5hGEuORwYovqBhkflf1gqc5o{koCuS+2i{!;atkG3me7M^R+WB$ zs9w!pxD@g^lF+UT9P&txMPu19(e+wzU===Q-p>(9{t$LoaJ)QoOgLb+g$9=j(BsNW zkpQo&RXlL{uIr+RoO@c5R(WOERaQq2=b>4W|_XOXTxL1Apn0l5tW zl1Nk75pM8+i_frz`S?=!Ps0AIt35_(AW(7QDmc>ZzF=2MmmF-jM_$M;ZPOCj*)gt? zg9S3A)jOia2~j8syHqOu@jmDOZ36TlEAz(%94*0`ZEM$?EfZnLD|+8db)LHg#cBn; zD}jtwR?$)y2B;6`staMPQY^j(k7{(?SPQP6>#@`BfY(Kbr=mjT>=^a=nPfy)XDZVa zu@j=^mAr`FNEyP7!u+SRscnh`hX_?;nMNy*~;!uo=i}a93Lehi?+wu z#K5)1VN^4Ko z=)W6S2CcE?%=yV6g2iXn+XEFzOl~hhth5^3clmv(I-jOuaG+_hLfwBo&5M^;oZ96^ z5smrZ45N`khu>3iuA^X8QMh19SmxoyR?_Y4gJg3=|Zq%=s^AWBFojg)kE*Sr^h|MxQw zaPGbPoU`}ZYprd2y}RwP$0sACrVV`%eJz#;UKF^b-Q~lreEReC1UIdoxxPD6M$#;~$I=g`= zcyy?Vu3rY(qW~z83^}(}Qov>wTGqC2o#}s&N!n1x%M9sYL6fJS+i@6_m0rGF z=A~7^=_X42w_D96@;`;7X+N(wGq|&9>Phv5t0NQF_UW%M3eZOqH>(6y_Fl0>0zTXJ zwO@D?#K|PF>+IUpF9LicQFJ$-r^)H0*XGM_N*OT6tYR00n=|9~fuMg;i(X^wyg5Bh z;tDA-33zlsh+Pqi(#k`R9qe%heOwYz6IxU7;Uc!jq!8EOy!9M2-zV?IDD2nc<^o*2GI{-$x)tlShG4iaGV{~&bibDS(9iqS7hJ{_t zb=3^tZ6XFJo79&wk79p+WKQ5+Um-iN`a5&fP#HILG1rR)Osf46rf{#8o+G$J_=t#F zqq!;7mkdY>n1iUWj83;6qr3%U`H<_;RANpgB^X%>OU^FIdec`j(G8&4K}i(QA4z7% zGthq0Kr8vdJ(Lpj#2Jt0CEm2VR`j2y=NvwS4eCt^kQ{aF%^zP~3HAQ?P^JE&?TQjQ zM^}|#4tNeAr59AJ=<3!#V=X#p(_a@dH>t2Yn#7EB3CWQ_z>>Py-e`1^uT37}mo;3x z$`te}BTy*A7%~JgBGMfqbTQ(^ps!g*(x;oi)RbS?=JCcV`_S=;8)nMEUbF231=_9G z@oGd)We@>8qAJSUq!s%ZW$Y%o`Q}6uycag;X{PE0VGD<>T``dS#kNb8+(vHB{Y=A@ zQXn$D*tX+>S>drSpkEZxJJ{z6?AT_0e!4gNc*UMxP=T2$Wb3)%3k{|J$=Dx}(DeT7ZvWz-{Wol&_J^&dW>! zhgioh2lX|B6kZC62mT4{Ri=TPUAT6ay?(3ExTw*MxH$qC-*{gwYg+vuaAy-L;{!Cb zZ_XWSwh!jSotj$jE;c1_((0}t+j=;=7b`oEi8%3&O)B1)>?6drHEtKb#`A1IN<>)< zG~7Rs@?XA?$a*3n%kxni%@A-RWNW#C)W(-fWc)5PuwfgDC!GEL4d~tw0fJ=^a{!?- zyYTRP)WkN``h|!5N5ouvKZTLvxzWsk0eNxEZCtFQCmrXGaQM+z?P~@9IvOV&(OO8Bnj;5 zM{^(%W>Rr;NQg!qRWImmYnE~;)|F*AX1&PkJM1{xSqc48Ne9B6HjX+i?O$w2p^dQ{ zzVKDCWx4@at53ME#4;}8Nl&VGx4(xfJxIJz1@Bq6m7dDaufg=s${KDMtS2xSOo!`M zo5AJM4bq+V_z$yYIkfLvc1+i=;qeG^o59XlG2^(-a2!DRQGz*sc+B6|`@!8|J344! z&gSC8bl8(PrdXE}1F zV-D;gDWcMG)hWC`zT=Tk+pX;}$l1N>Yhwe>Qi~qvHS5WmH-qi_{{5=GLwMVDF-O{L z&=S?Uj`*2J+S=ZORzBgXzXn5l)zqLS8bCHUPL6lJSxM&)ubip+g59t}rHqvif<2;8 zn-c=&e`lw?It7wbzP3SM#luzoP#1?j-6UwW?Rb!$>1 zlmYk)!lg^(4=@wMzXaj&WQ_f`yky1va0UPC5fxgzsUn=0Cpe_{D0JF*2L#A5=crj< z&j+Q_2AIjj&iu<1;RWI7Ya4}MA8khY8%Gr7=DqM-vJ5_@o62Z^6GIw*vrSH)){ug$ zdVQL+%JY(A428atysBF{^agmXE|-2g=#e7rm-rG_5iSBF%ZcYC!h9&syT)|A=R#^< z-%;7TYEO9{GM?A1=>2@BHA^9BSpDb1i3&|+iaI-yRlo);PA=t82<+H&&7DO`n;{h< zfh!cwo0aiYPtSM^L%PHeuF~)!j`DJDb6#a`W0_cofB%lolF73_ANWf^{aVo3ba)i; zr*LD+7O4n<&F|#ddGZ7ei{Aq0cfkn6?~?u-cI+{sD9H0EM$|r-?M30@ou)|3yj3r zN7rI$%1%tdl=W|nEqIu<*-?`icF)4mtA7=r3h5RTmJ&Y>B-}7nw zCiN}C{H@R^c_sZ1sRg%%l{de1Y`gjIp?|ybqJ$H`?A%jwYS3qJMM)m4rJ~T;tEv#L zk)@(=h=Q&J%Zx0{8(!oI&BPEP4Ze~Yc%=xyw?8k#ke5D$DYZS;TT?R_I#I1 z`B?A3;*heHs!He3@SNVW+eA^Ca^M+J>~ivq=YSoN?WSrDA`hdl3@oyl5iy25beIl6 zw||-2d`gh?%bj1g-Ic!R7M%g%$$i$6o6f*?84Io+8jAmnU0euAtmuw4a?Awd+oIY3 zaI9e??t;H!z92v9A;X*VK7F^G^1dq+#!>2e35;`f7{M+b;hSi|tYZ&PxEoZ* z3^)lFJfEmq$M)YLFh#!>vT1B{G64gk(>6fcW7Pm!yO6Oax~_gS{5vp^`s>e;-R~mR zq|79r1?{8t*SM^(V4kIftua%yZrS$#-r> zBj~?zZ51?OOmCta#3a^M0}Bd0D8IePc@T}>CF2(xg{TA(4zU&1*b6%~??_ly8~nJz z@IGwOj)MXqh)=6%W%Ho+*$K1;XJb_(zIDY0#-W32}#F&WAvO-blQ~PN72?H~$9e zS5l2JjR3b9#twdbbxK5taJRv&b)1US@IUIXef7%qc<9YFalWd^h8al(d3p`d_>PQQ zB*vXdxnPFeCC_o{X$ECJW#g876hUk{{zh6iqt75W%CHc?YDk{%XBc@_vt?Qt)#Q+_ zheu}Q0)Fhg|M)zl;PL8r;V~T%v{y&6ZWum>t32y3uwrR$h{sd3F=o;IP=lkFa?mY> zS6(nJSMTc%nFoud+7b*#_zG0D7*zWwjd9f{-7zhm`r@%T#QP!%un1HsS(p3ojey?Jw>l(4*HXYkIeiS7m*wMTc#-m%ZGPoo0jn!hx%HSY z;Ow{8o4yUY_EwWupK(tm6#oGN9OXRzj8v4z5gt#G2Ufkm94axApa&;1w`A-VCZPB2 zLZoxp?5s`4JQ@KpXQ)&Hr9>^d*n z>OHt5nwnmBQXi5Q2~>{+%H@+FCc7XKXEhE6*QO3wtiYY$`pPavM>u-Xr_MFZv4pT zSQC&!V*^AfTj;qan|nJqXB_-KzgbWB7%ZN^ zMF2%fkgS?d?*sUIOp+(L;v*&N`Ucw*6Ozc^`1%_>W-IkjCzC%*o@q)wV#5TrvYSuw zQ8`K_-}YC8tTr*nt70r24h|R9XIqz(T`@fC}La$i5JSkOyfN-*(AKT(VTTSMRkT zQwHkx$aG(s>!S?M0GOYIIjv6QH(Ap?eV{6ak+Ev^+u&#v)>EyJHr;$0z7Vrm%Z0S>>Su=8hBAx z9hqbz+rn~0S5vv8{J;kR-{g_ch4!KxMj9(OZ5|mR$Qy%4Zu=l@5FxejD^dQJ`cOHv z7}UH{Jk$LAreeON+Fyv5NDk`%6y5igG9`_k*u6Dd*}Ze<0Wr$?yEZYF0G)O)Q~Pdf zYwU0o(>oWE6c&IBb`rVDh>a%wjDNzXP9?vIq3^UpR?w|xO`@LtQpfy0!#4VIb6@Jv zOTbhMDie^)a4MtwEjOyfQV#n+uz@Nl=n3g!lcL!nz=}S_>=AcY6XpnF>>VS~G^AA1 z*|E|oZ%_s!xI?PFA-6hbS#&@4&@Mv44eWpT*>OURZn*wV7G5)gCQ%vyqu%5`q_TOV zJE@oYZsyKaLEooM8KZYVGurwk#l->`IH9}ND$f@3nE^=aepND}1BJe1mN zKE5-v_CXxG+PdFW=;lwtZ2~f{24gi00_cxa2zivP5K_tTSd1yJE-o3>;CLV-#yUY5 ztcAP6Q$l&?R-gkPCId*hzGDksW}oU7-3}2&0%6HFiM~B*w&FNWZC%ZkW_2dSNrfK{m`0In zNVd;~jIPO{??LOesuA0LR5_cX_c7Uvvpl=e@9aq0IS`HG&wFHJK4#b_i&*UBQhoTd zzz8T$riDZ50J1Rpj}ZQm^AgUcpNWeuJ;&hBJuve)22LKc1&>jd@G z1~YPyx8bWSk_EkELFnc`sf-l93mTg}{cwu7s()>@DRaw^gF|P7(eV+gT}AMlhk)kq zeVc;`0L%au7roe;TORy&Pw?$^4I}Z6)rx*zz97Eg$SEktSP5^DrXR~t3b-K&$Bi|| z?l+BEh0lDJ=7f~9A$BmjpUx&%3C^M!D266`{K+HElO!JH^aT3jqvzinK~#72)*Yn3`(W$M{%OcT@vbh+y@&?ZF|VtD=8% zd+;3Qx}-AIBb?!1T4&!!ZmN7JPg7Hr4xWiX0ekcN$huwP8Lo7$YG6O#Mi`7R1i+pg z83fU)Rmg)G>1m86UYf(?wdokf3^b}Jmoos9qp}x;Zz5H+>2W=`zfX-83#gA_BoeCf zh0LMp8s_q-!}Xqq=oHJbmk+=SgaJ~f-BR}m#i@iOqGa`vFy5DFI3f46MB|!n1 z=qA#0NX6m&fSr|k6^m;)A2{F0_3Ii!V~rZ>*DQbch6)NuiAl1T?8q^uLY3Vg*}t+y z-?ldLdiCZ@ux%R1Ungi_yD8tVfyGD$!Rj{hUu(o!^P=p%ukRHGXzVpL%ojz$m!Vsc zAYVeh$NhKiXt6H#5#^AZFCzk`L%wfX{M8Zss>MUfZsq1OGijhI6AqT5yeyB9XM1)$ zsYgEF@vSmM8gto%-0fQ}KG zov6?gqB8}iSVaRSKx51XQnS94wz-?9N6Vd=^-XbB2)|#4B4sU~?wzS8opO_?wxHwd z#LbPKV|o8gMR|82KqAX_Qyk0h{(^MxK@jcC(7z<(_40ky50X6vpGPX>7-7&Y{!U!y z;Hat2*>BmGXTR@YR`7DzAxY$bQdEoG#jsT}PITqYAC(R>3qxhp&z_5F00Fvskn%<$ z$%?kNCVHUP;vz;Ezi-bDIRfOac)$VnCo2R$FXF>P#G(q@*I(Cd}wG zDynSH>Ny@a2^mYKq(~!%15rX!mJeXu{askG_Un`9tbo(*y<2LBI^)l?esc{x@;?h_ z7Ytrzb50VO{A?)N+J`oqUGzXQ{#oZCRRUn9Qrj!*WkYclaa0JaWte~ZEqY+|R=@v}q`PWs?v~j8cn$;ZOB3qK($=xUY&@w= zmn(%$m<%+7ydT=vy#cL&5%?gf0DHD~zAZb`26o&Z-hDqbq7zQysvq0bdHR?S0K`;} zie#NDMpu^v-c?H85%N>^)3bR}w(ssBbzDjIOA0xIYvYXfK$;eqK=2O=OAVV-##j}C zDy$v_HJj@;edx?K}TC$XzoXV>~BPhB3{rD<6jBL#I=_K zI%W~jX@9dAjHyp!n9GlffH<1{^}lyVk{DoX-fOrIyoJMm^jn<6OUyMaD?;uAgq99`om4o-1nO~*F~Z= zTj!Kx)8ePlW>$og_n1TqR=*dZgsT4tTCO_={9Bk1?+ov_MW|)Oe{ad&acO$>punvt z*C=4j=C&Y9gNHxPtPKZ5&_Mr)oa_u8OZUv$f>YqZpCLE%`s)ohW_~$z3Fe*nUa#WC z{@-%SA?frn3_bcl{n?4UAq*ZtNOfd-i_k^6>XajVRGGQYgW%c%{XX+}Dq|cPP0`VfS1w8o-?- zNNt1;uML_!<*V(l`F>rSMqmWV14=Vd+ajN)?Fsn{zH0G$WUKYME(#DB@X=3?au?ltcAT$KM{f{ZdE zIE1Cs76IRpxxQ5ZZ@N=+RDl8buK)?ZnLBP`i<&x9QY6TO@3AdCw~&d??#9Ql+aRrh zK5T9+&U4$MplsKZ8454@Oy+Xob7sS?@o$exVR4^eNQkdajkaVGI+hCEtCauiW*~0G zYrcMIq>0;adU>C!s1R^7O75#3*53u<$wL@ad4qk z!mYBrkPIvxx(%kY$f_-4D@&nQ&JR`5UH9D(RfQU3u@FgHgCs7$;`FU4BcxhlGlZtD zMmr>ih9Av8S50q{`IEA1E30Uqnf6#E@+V&tp}eUS6Up*@E?13x24ce%3>goGl*01* zG_+KLG{~0`p?d=ni<`7UJ;mR0{S_&f^5gO z2o*5&#g_swv-jT$W=+drns3DMF@)h~v#yEHLCtLRNX+M%Q@7-^q%lmfUfm}Fwbz37 z1$Ns&D^&=h1G+j6xIRN?Q@ZpC04;nv01~#j2KdM%fYn$I`1dqM%-NfMw|-lc+vMv| zmP+5NP(UUK(@6t~`QJ%$*6LiY;c>O7o!N5yf}?4*^LJhPRRlgerKvPu#N9)o31q4? z`)fMk;8qBb4p%_CJQOMdi1$_*92E&(etkI(uxPQkwUBpOBE&9{*I@>jAbRVtq|G*& zi;Qglzzma_r}8dW5dFGZanxM6F&`Ehk2<$Cvad7-i476Vzixe2@4Oxj z(@{nrL$=+9Chm7^xcyWDEof2Ga4j2d4gwZ1_IQMc7fS5DYOLHR4EliUcPdxU!KRsK zQCt+-9#&7^(g(N;xnE<7kvxbk@rOaBkevT@G8(SEygVAmFc{B4sd~%Nhbhry7(1Ux z^fNMkd+t-DE-B*54^aMU>Q2Qiak`gEumR>TBE7_bJ?!J^poAF4LFeCxI7YM2K~T*= z&xze!vYm4tbRDvdU@_e;z${;VT#W;D_$&Te5#7%vhxJXi@e;EYbf5s(A?T>yBqS-Y zLTZ>v;(okSPV9XP2s^q1aFUdN!cDk*)*8*&`Pbgh2-DbNBx~FT4>GL_4GY z7O&UB?35n?TlFny_m0f@3z?gxSqQs&YvJV)@H2+%)vOS(}CYBmw$$f*iKbllx6^Fgfq;NKHI`q%KZZoEl=r8n={4 z!u#x*oT3QD1JGN1y=~-V|BrS-g@O3qUF0gw&+#KR=|# zsfWq*{axSAz9f~qy~4fa(J%NaWA*~t*1EC-y+9lTmQ_7Z0av6SdH`c_2ro6St)>Bw zW?U*_5V@}+zS$?_aYo#zDRLvhi13qrwNc6pUj?+l;>mnGp&C};O?Z84YB0?!)qvkh z!`1bH29z|lm1lCF`NH#MY1x3T!&@@_QlwM{FT+WBb3OHT7G9#S-L+m#o?&#JQ zI!CrJsR3kI26%9UjLZ(}=Ng0VCcMBkRyH=#eO;2r6P{PFiu+FA1!XvNiz6^b8HBaH z_al!pU!Tsrj3~_TMM0@hAJZYABABQX?|cSE=R00PsWD>c{MOrLc3}moH}`}m`@5Bw5a~gK`xRfa8Mrw% zCEwE@J!an1g-&-!CxHM{5HuS>^+dbNFJYB;#n{oP4-?>bDchx;9�NI~dH#oPx#0 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 literal 67285 zcmeFZcOaGT{|9`Wj$QUBI}*w$dt??uHYvwQvK>VBJV}y7GAcwFB{SpLdzOqi=5Y|& zGkc%sy7l?}zMtRo{Qvy*{X-w8PwxA=uj@Ttuh;u^i_p_iKSRMn0fWKLXxzME0D~dG zw+I*+3HVPi`{hvZfy&|fbv>u+>epSJUEK}ctgLO+ZCq^J9jp!1RbVjbs3>D|dp2VR zg`|q&%NM#ru~}KMRL2r=CC&yvpNz~M+Z3Zl1z$UtD93zT!lyV~6q`ECa1c;nP^M}4 zJn?#hfNbD9@0hb3DfF>K?;|3Vf465}{X;J^`C^4wan;rny=6QA1$QnZO>Q%P-?E#a|?1oocKbSzhI89UI&(+acI3 z=If~wJ;R3$+Q|p+?~*smIVW>X(lwRBOwPWiUMuQ;`%3hg zrK%wRmlwy)xM!rZJlm!SQjay<%WD#!^8~m%RKH2)ywl<7s|h^_#;D?*nsK4J(ZyE+ z8OBeQZzo=IPxuv1lWP2X^wF~dVTa-t8iGxQ1Nk2wn0Zxom^;NEg=TAG|7y0mN7-Mb ze%4?9gnesAGal;W*>LT9>&lJ8(yNxq6rMo_$){(iIbai$mxK!ac6c}nwH+=!>xeS3 zmuy>qwp%{KWD5^m5wdfT9qf_Gw0*8DxDq+FPJ8>4LbFNs`$Ux^OQAA`R$lq17Rjd{ zwO{c(+}igtNqI{)87sp~$?}3%7OWA=IlSrW!it(?Vng0Zxq-&hLssP z9=9*f{k)=*Mc`TM`O>&*Z_HDDI>^^P$Fqmr){O^yRYOE0HguPb`}OZD=gy~d#qxbK zeDLDIPgzYWiM9l8j|UqSKe4_ zv5*aPF^Q~FyPaA!;4%N`f*p&a(4+PdY>Im~q0w@7u+VZ=%JlRxY0#>(j)g7_EtKv>81?gWYW*idrM^jZyhlH;2KM0d= zY-)Uy?E+~R>>ibiS)Bzyr`Q>$X9 zbX=yM@MtKW;|@br`8`?Q%JK@*k{>BRw|e|>zD9gMz%oEwfkCm+E%e-YWUc+d%`S-4ybBrlMlUopH5y zi;daHxI$p?fB!)vh)&RMWEm3rqDLSMz4i=FKL}?9C?N4x9`=T24ub=pP0WM?+ObJ64P5b}49$6ZUCX$ynw8-bd-bKk%OPYcu{E8vjnn|AxkYL*u`-^*>$ZzxnXreE4rZ{5K!|iz@#YxBveErPBltNUy2= zgW(C}ad&Ul+4L1sIowtkqNd2!XexZiMq?m$P@vHiv(VD`e7Gz~kh_KFe0={aItPKb z-}&`z2s$qP`xFja`!8<0w%d2^=b73Ngpesed*h8w>jb7088lz~!#Cu}X<$PUp`?G= zOSuTmSJ%}hWa9kL^(I-2IXnAL(cJ4v1H)d1malsg)ic-a=T=3&KC8EQxr%wPIV@$o z|7iGj;F@Z@f~i4v|2Q4P5aqeLzx1PC2CX-X6vB3+|G8Bc#gk=@qjrqV!pPTKiq4km zZKc^fB4m0?)?wx<)jPhKw!sG3-U|8HGD(k+Q~&JvC?gka!Ud-%3gI*~9n)IY0-@0Q zhTV`h;qCS~ddvF-wklGT&~ZsS)iV1oXIANhz1!ZDn&18wZhn0tIE;5>&4?AcT)jNe zDidL@sRO(E`)YbL{ID>xz9FHMpl;V9z83e)W@dbP5Pi_lIBmR--;B$`<%T@6nfRg}_IK%S z79p^Z4ec95CoJ#rMYp*IEAw%=e2hp+t;X7qJ}9e#2|=xY=-uy!6{ z*AoV-Hv%8)Jg)CcudML?F?jBXvj6$2P=4>TuZ*T8ar3Y+(b;P!%gW?cf~A#=B#oTh zjp615*8016z`cqQaiJFD<5Kl)FY>boUZ&AHn)Z0L?bDxYE)?82Nr-zU;OVN~t5 zc^h?0kF?g>(t^8Wn@n=VSgtC3C{uh;6_Wg6UF~F*yqCc$A0)khei9D9Rni0nw^o_@ zg#xV|?{uXE3*YkI;cyK$&3 zKVR&nZAx%HDrX~z^^zzCbHDS{IF)$_PUH)>%!=qmf2 zRL|pl&u}QX=N^&=*1VgC<(HnBR)!A3O$&r4a#`8o2KnFu3<=dBz8ntN{~e z<6f^mtt_!GMGfnBE<7M;JOst=$c@WZDi;^`^K%5bc1p^??Mc`n@83Kvd=0iNMcU_Y z(k{R~t$IsESc`Bb*XeWDbKXpJtramb8i`|*vNx(8#x{#OVbk4 zg;qC(sJ^6obvDVCsNPZMU>kV2{N2b!8Lr4qnP5Es{-H*v<&7YiVkxVQD)jK}1>k;% z`|B$w`>sGsHr#t`@#)4Re?s{?@wGNt0;A*?#lWDC|glm zE1O%Di)-)*y>lH}_gXZJ2u3Jj`}`j2m~xK9 zc_q47v0^Fbm*~0o^~;`(l)1}=6n(e7`GPIAXLF}l=UnCJ4nONj&=i6qhscr7K6CO( z0x|hBMi?V;JUDDh_}nCOJmC6muHvpkRBHSW+~%>PoAIK+*vAO^Xu-benUPLg((-^G zNP|pT>(~36TI;9EM|I-PK!t^C2dYP|-{np!g!H8ee8ziEgB#vd&vIIbR`NH-liTOM z4I223VM;fq;a%8ea zsJBngyv#O~^Zu0WZ+MjY_EoPKCh>@*V{~M)zV4tJPl5ahLYv;LvkU@n*Qng1Le*^!{$~Mye8Fl zDk`pBT7%^;L3W=UavfOEnwFNn4)h7lLhj>q5T4A~f2L;gQuM%FCUM|;BO}K0=uO7V z$n79yh3b@3`Gv`pCU;(jJga(rWwUEGo<-*3hZal|{GU`-2H8(j!j!3SvZ{pvfsem1 zU3Kv`d)`~SU37=?;xgG0u31LLDm(9llAd@bm1;*%jdoJUeC=lr4!WGzW}#_+bdey^ z;ikGS^%GTGWp2>$-2 z4(clbH*YN?%jMYbz2>#vd@N3Hn`z{*cTW1GM9{2Nf#9nv)crwl=y<&Z+Udj+#Big?GiHUsxUwYRNJCaHR6na zF$UQ)kcT1S7y6-^r>URzgCv?Xg`;1)#`+7h_YTQAWfhuDMj=}!VJ_O*1ikOI5v;vh zE-Wwqv9PN1Cd_UyYl`o027|4eC?-iSKly|s){$?`ilG)XNy=IoyXunLK4+D*(9N*E zur(qn)L3bK&kP^!?oS?GW;|tRsOe9xzGWI`cd}#U7nNZ3rA#0GHaUMrdnc)gljd~O z+m%j(yKL~{=&VT1L|38mv?Hz=Kk+iL`42imqh`~~f%oC4-P9k%No;%~CWA@iuQ5i)=smbrWIle6`!n@e>cx8;)v8z!t>TFU^>~!wN_)o9WJpy}&oJ+|x`xd*!*jKl` z?L(OIcJVIu!1fT!F=tOq7n~?xd&iW599VFN4jVM97e8nx~i+i4@fNymoB6t7?+2@a3sn+yaQeW!uZ4 z`P$LM3wrL##mD8Q?7vr>VmX_e^%$bT5*JQ4;L7odT4vCjp9bWpo+Efz&AgUu z5%6K+nNs9ME4-sqg+IsYifnMS{QCF*ddE}ih*0T?MdMEM7 zo9P?HqWYK%t=JpYBAnOn@RMBF1MoY>(sGO)ibO80G#9~)4(H`@-mhu-zKH|lbG z3s6Vfd|G$vQu?3hC<;cqtXi7*A9eg1>OHVDa%eugep4F%mY)r*h(-xOHzH@FFHb;i zDd(ptQXYQKha=0&8+Pff$J37VTab9O{zo=uaI2HmHPxy&=XI4n%vI;x zP+6bfBRV+^qXJ`JCa5IU9|Pz)WT|X%(k2Ua(J#YMmb2quORKIQ3$V_Oe+~CneLjDD z;B1t7?N>Puz=acUUdj&PYs+|f<*&(ncqnG5DfX+GPd@TKbehKuAWgcx(y`#uAtH!( zBNodR3EQ=Nl_{Bl3)PzP_tK9q4;JO6ipbtRLwOEE&KFpD!!v1F^k@4o^NY2nPJ2YH zyqg07qS^z65x%m}0+l2{A{)^^|8!Cuj4Zia77In@Y5Pm%??11UJB6f77*<%GihWo2 z%xZ9MEHAie|UiDKzgwV`6 zerr(!$x>(~mLl$&f|i1~rsgeB>?0(k`yp(w&g+&@#$1(Gx`OS(f9QV{zxm@uT#%wf zb|>Sg(R7Z;?sT9Wr%i~SCxTSiyc(PaN-Q7 zLGY}FD_OJ7*L?^!J0;ju*U`2~eOY2;+tRZ3T@`;KF1yF(GNsn6cl5%H!c~b9UU)u7 zq=}1V{`v|$A*XyqEshepL@0Q0#S%Ij2pF?5tPN~a%Uu4#>eph-;aM0GEYjP^=rtvN zF}nhj|Lzo8o?JYaxwkZMs&cpFS+&q*knFqm{#=WT#)u*_6wmiCCQ;0&F3 zIvg*jD*j_&udGOrkk2uW`Zjmobzw6}!1!UoZ$~j1lYFnd#!4qWGjrMUB+j(ngraMm z228X2RKyV9J>&wHqRzW<4tj9)lU8}9N@l^?Kc~viN8{*y=@B;dZ>yY8N|S_tVrTwo zp1@zIZS5UuwkT;M?#KO2(5bJsngl#3zcEOZ%#n30#9BY20TIJ}QnwuH&r%{&AU{e`mxBpM093Vs*8?!)-5~Bci&WzHBsF1b0>_+0Ja&}mfY=HrF zbxhCqQbfHwp43MXDg^wX&^+#q#X>B-{i{-R zccPUPh(|c@Yu$Sqx7d6gkC(h+bG4AqQfofC;G*%X`{cJ24otJ zaYq%Ef|?|z;Pd$yx@qX4DMUc6UYkj#1*>#3sK=2kFDN`TAL(31^~?z7mTYyA3*GG! zx8svDh+w$H^h#KUFUzSbO2CESwY7^&OyI1?G#vicN@)9^0OZdA{Yk~qLl|s9y)wF} z5L@SORJIwBZBIZQ`akpG0jU(#c(qP3m?$CE?zA0 zlHVXQbK(0A2?W0(ZM8PcHyFB}6}n43-eEWG4VBZ%%DWjMfq5xII+hJJO$U;z>?_)t z<|Qw~;~j=T1(RvU*JV;frpU`md{ETY6;Nf%E0Gf{RfnNtLABN^($;OERZ5E^HkG1W ze5w2}B_o$j8cQD zWUlWGqQl-Yem)Q^F_%FsR>b}egpdR$88(NtSJ$uQQ3Yyw7WHR#;m_E8+<>cd7?ZF~ zN?i`>M#Z+Eo)l9rqr7$H)J1dEZ>2CU*}22(sJ$2CU%8 z@0Gzl!N#o`rb~*R>qBqh+20=8nyc-MD9nhB@p_1eD6r2-(sy&*SU&7kYZ}A8xv$*6A^>dmaV6 zcaxUVYgP4g_}o;&mn$RztJ!gNGvrPWx72Yw{1JC4=ZlHRd#EySO(=rv9XpAg2xUfE zX<<_PKFVgZpq0+0o4ks^=9<*e~h>D@(RmT+?h?qEkDif+E^pi=Sk%1 zRdg+v3hM>fJH(yu-CBNEaZq-UffD9AsU=FM_8OSiFu&RCksf1Mxvc$%-gc{k zW)_+Lt-KODVhPKLIunEI2pY04ARp5(f?Fyuv=U`=`g!wSo-a=R%?zI2Bwv{XaY0R2 zf@!5rqgP^#g!$m4Lrf`yJCTcx!nD3xerEDnfqK~od>1x5S>S&87}}GHv3&uk6S|^@ zY*59}tFPjdUd(v5Qc}}`WSdxFZybp_hj%r6`ss(xH>COx04e*KrI#iOpHf9EK0uC4 zExf|y!3p=Y{EopF=E5G2cWDYgGjupYp!y=8wEb-}>X_2fMnKH~`5dJ1mm=2HElYZA z@_NLqK^vWJ9&vx~Mw0ru-B5dQ@uIjVm4>|eKaDHE5~wyi61!4R zq^AA9J8PLMD<(jq@3A?kGczJYt`Xg;n9SKN`Ke3MmB{Vr>S+b**nRt}9f6}LUQMVF z-9*6Vi2p7wsAA2s{Qg0hVnhSm@=b=zG;j;9H8o0v#e@&nTINolU;Fy0+~b$$l+bfN zMnD0C^MOZm)7Av4B^Mby=*@n|z&+(T2W*2YJm?NZ+)XXrAR4UWRY?6wuVM;oPcf-O& zWoP(J3UpSw*w$@fw+d6>LDq640afTdn2dwZ7y>;0=P(enrfGlZKpt>0!_8lQ6{;m^ z?a%t#Ixp8jm8cQGC{&~(5QE%IChj0*#RK$ish4_r=k)xmD@;bLcwK}}4-HmIGnAEi zAB4geB^;C08Fn_4L>_jIykeqC#k%+bYZ2a(Ao_IA{B7RvVM-XKp~;BZ6qbJWBWp*a zas0$&QR%s;!b4c_UWg!i7}ahKtt=HZ`1R}#f2bLc)7#$>$;dfq_H>X!&aSR_R@esL z&VDsTXIhlJRXOgYa2yd*fLMqRe`HheCdgUqMRlfHK1aY<`G_cl+a5#E$6pSbfHi5r;qB->T5r%qM1=z2xU$G7z{(c=mE&Et8q zI0hm_053piCY`EQv`Y0N@Vq1xr>ESMeYiUQv`4bd^zm{ec^%rW6WGBp?(A-Q2+^O|1J-o!<1?&&mT1p;4OkGaf>eF$m&4L6;-WswmGU| z8+3>Op^3zR3u0iLVc(%%iDlMb3ov3-G za52~5V&Qau%bWJC2M$+fRtLw_DrnoILO8uH{K0Sr+S+Q?CB@>(5S=-m@f9Pz^x|LUs6!YeWNbiVVW+3GQSHvzt{EzEm&-!Iy%Pu%#JMYN8CYMf3t9`xjZ!biZef}>pwWK zCpNe0D5furNM@3rj46D2MtD#oyn=Q57Seg+8_*&K5~PeXb_+c!uj@;LtWyIeN=#c> z8APlNAeA^-Lc>*0(EnQ8zE_nGa~m>>bfh> zwy4&7!?m56>V+g(>$gJYA`^But>{ws^Mm#80WR?Z)SE_W4<-<85g}6FwsK!{S9&O! z2~oLue_sR*O@5aSd4DehsecOr=XEox62%8v-D+c-T#4m(UF>Viy11p-H@q*dmlFLQ zJXH`SVBD@MV;~tGbGtpjiE8;V8h-LxvA|~KWZ2neZ2DIf;?0zMbJ8~D7tkT&i0X{b z^13hQs6+%DuX~4Pb`08xyQ`>(&6?i$JK|FUtp@=TdL15x${>*7wjD!kcD?s}rqVT| zSQ2~I`xBguu`1BtI$6vZ+%k+)kQ0V*yQ9EO1-YT-EyE?ez+r-`Jce~-*t zJsUGpkL9$>+G_3~M-_3M=*$y*Xj!Xl%fZhs^YjoZK2sD_aWUP$^|t*>p@K=Mm1;up zFS|s1>qc5LF^dG*{7CIX^C1atZxQv(yPPJDo4ZeHO~1tiM|j`;5*@NiywHDUeqrN& zWr@F$&590L4>I+(`Kxm5jNpL-Awh+YRu^1ekQ5PxZxfwD4z7{QP^%}tb7vdyp98@7_X zId&fY%vtP=U6i^y!ceYr6Ce^mEyi+li7*%Hlj8f+M)4DZRRv3!z1{P0GK3P?JQ&NX zOCYGd&`-CVYaCL`g_ms?5AikmSZ7?9>+kX>34(S$5w!pZX9~E5@RC+{trwa7p0;_o zyRpATec3a0+U9QUyY9u_rEDwvg{F9WRh3_e!d zYqI@fzRj+@reM=Q64D^Tn1pQb_Ow-$pTJEyDcG=AGLpKY7Y|)}UHKi` z(|`M;8Q3FIG!?3mMIpm1Wu&62`LfMx7)RMCtXo@4;MJtzIQ7wUQEt5juuRPwQoUeA z09Vhq*z0FFPjb`(ar=%%9iK&MWIa$Mt+ zdO*$4KH?c#-BI)JJU*_w6PNq_02P<0)o8A`;Lh>1BP-}j|C#uOgr1BqK_C_sJ?uMfgI_1EkCpYvUdIp# z^)F9C3V{5!Te-)74c%G4PP~6eel&fGu9=~<$;};9YoMiv zygd2WYgry+&OFC~x-S??*$!m)u)gt?!75?5zvBC9KktH$$fc);_M67YI~TkWE?c%T zw~&;yv&uwKLsO97r2O`zzko^OUvuCvx-~l4fB0as&Rog8x4e&760wJ>KgI=(#wVZw zjS>oBDsg793rHlxKYtyD42L zg9kKd@iO(xLMa0-Kjs<|W8WQmX(B7sa;z?IJc7ur51fzVZkAO7XIdbo_r@t_Fg^mU zqGrujGv2tRc=88$6h9~)3p%r}!d2;|iLeB)a|6K6 zFQg$4C@`1f&cXGr7Yk1xqS4)Qq<&{_iIpmT@4IGx@W2c?9Ozvo)4)ffL66@NpTEPtb#@wYNmpe z9^6U5_vM|^1$Aqau@}|uy8m3NJ}IWGXi=@}VndkI)qkqrEVSUyAOiNcz^E*^ zc=;3{n=rH)G}Vf~uo?<%5aNzBy`F(nEWJ=W{giPx*wSu~aZymKy3HUEfGSU-RsY5P zpoeExCbxG6E(Zhgf}YOwYeKeT=9pc!B3Ka^n^3Bboq`-oY6c`HLrFY`#vf6kXtq>r za`agZfnO_{{eKI0^;@T=@VLc{CbqE;t+kc!1LQO9EVaLIYXpUuv%KO2hgJ&B5t5$s zafbl@cA~cCWjgm^@mGUg3#K8p^~v3((qw$lUoX#Yc>Os()1VMaL2qpy@4CJL=k~cV zX1aIVE~e)uVFdeY#{jMLgCVva>eBmXFt{9Ie znHIlP+TnN?%gGa>lmHNuAPon1NPRxs#wt5_2f{;!P43>ShlzQeL$ZV?V~1QdPQ1J1 zphkdFBEhh$3^1&`be1))63Fz8wd)+gyxEF1?~R@p)UjZ$=&Gk}f+iDZkz{C%aJVB3m-APx|Av@{Jb%Q!zj54F1gH zVC!O-+K3Agz_CFgH6{_`;9$rBG~xf%`e}h|NjuH6xNzkx!{9mf#N}lN)uR+|w3wBS zX>|3Qp2{e*6^7EQ($FY}#tprG=Vl_(B_yZo`K8Gflk_p98Bn>5<~D2uLn(a{GyKS~ zngFQe4f)W*8yG*ENM)pMKA(5TjdbHCyZf7}>d#%ps6-~XqyMHZNStSIA(n7YTu6DB z{20_2=r|8Byp5%YFhqOk5M?$!yp$OnyuX}9gi;z}0c_xy`Nzr{*IT3m-u}k`pz;T<&9qNDyx=%)29}g|wWGm&yOiL2ay*O>4-XKW5K683 zp3rSRv%6kVrkGbU?Li(``gqzyVa0`k9eqRxV$m|7`Ycf}1-A5tnj+?gn#p@q#EVh( z&B5{7O)%`<`bKAPa8Ue7-w~?WC5XcqCGVV;UV^k(9v^BaIVy=fH}N)gCgvY)EG{Ob zEM8yN^>X^glp~l{dLBa)hY_{IPs8oOPn}-VEqpi`<&r(E|Aq>32b3Rx&+7Z}3K9kVtDg(8Qof?SLq1FpSBlz=#|D&wR5x6$x7NFRR`w~+2 zx+`Qw9}k33lIax^Jab+l>J$otKfqjrDAZ#xK}Cx;3E}qZuKrPpiJ52mfuGl(Ai`HEt?uA@^b)-|AB(eFO{cCgIG{6wAGH$L0#vTVd&_z+dhI%$1|J{#ugKl;ETi zr{~oUj%z0vI;i#1JO*aOA@`OtE+zb$eCbaxeJF>Nro8PmaWd>psChCElQlxhtG5rr z>O-QH&n*KFMQg+dwKG3ngW?ZJoJ!jDq{7aL%Y)?Mm2#ooxa`?K4jS@OLYWA;t+*R? z8LEFg#E&mi)W-`hQzHnz3=5&HC3tf?oX05jKD5lA- zW&eemHUwH7UNyF%UtXuB`TPM?QlIE2 zs4Pz1=UG|wnnJ31HQ$eYp95J!!EMpsmesc>0PF$b9K>wzD0b*l`ZlNr)tcJT_Qbo_ z?{~|STD(&I_z6H+0*$lq`eTARKnbEqD(T%9pIxqr0HdzA>rveuH!7%WHjL?!QNL$)MLY>!P@=pQc4V>_kBYT22+}`ZpTAL~DRL{E5pP z7FMDNto0vir2ZG4ljywyw_>_`(kk5=m6$HTEKBTeH~09 zZ&uLo`vOwNJ5CI9(@#T10`320PRHLF<*hnMZA}Mis}+6UvDuP(961z-Tz5_Y{m;u; zmz_z|o>kGqH&6UKi9O7g#cWsZ$j6KzltISPn7)!lsHIue#N@Bg4`$-QNVSS6s1vh% zs5ZiU5IY_4l{9NZ|5YsQngWuW37Kn6xM^Z*^ey$_w-R~AGcT2LvaIkfVu)^q)+6-e zHs`c^@~4O!<^!`JFd?$W-Io5a-S8APNo?KvBXM7puUmzlgo}FYg zHmx2#F8(Q(u#G57)e|F7CigU~pE@0pU2~LD<>##VV6*2z0!8JBLR`-O_T4swET?f+ z6=};Odk^or>asiTsp?r5#J8j3qRz^a+p<}kk3+Bp^w0J%>F9ehM%Li?p8jEF^n(oS|+zn`6W8y&J)3;m2#`<$F z;cRXdFa;k+4YgW&ieGtLBR&lubxmxJh3^E?Q+CMQxM+QLFqWCN& zo(`D8+~ynMc@BXE`|(><&w}?$<7Vy_i9k`To)*PRSKGIK>QQlhT26S`=G@zJ0`fAv z*`3I<_uQamUjYyiQEZ+a9||91sQKTfE>f>&E_9~$ZsN~&fB^S`Oapia>0TwCk0B*m zZ6#>3;;TM8HD@o4a|-43hSI)RzCUj;$TtEZ7M>98*>7EZdzeI&a?0YI9Jo|bTR*@)vI^MjY2h_$S(pxPHXKHkWP*!XuLQhjbQozm4`y>D$zt&qSK4ze_NUTBD> zf5yu4ZwWmI`}ncYqt}4e{^x~Uoba>7(J6e&)7jFN8_4d1n5g}N($f<_xR`hv;+-7? z_}Q7#?CMTI|2j^pRr&`%kPh;)0v}d~wmYb`)y`?%s890s39KuBI&_*lQBm6ha=4W( zz5))n3kf#|Gv29!5~PQCq;oC+UHLU8XjClga`#JF31cbbv8$yY&@T3yivm1O_K1Dt z32H#ELKgI%fu6CFYE&IZkWBU;F+*pbaw-0xa3wS`@JwQCh)z6{XmZ!G51+C=ZNBK# z%)KdkMSnuLab6SBp~%HWjRljH+8Y;Y1bKFr0S~*s=m`XDRJ(nN>d*nh7B#I^K4Ey>BGf;}19Dh$of9}D(UVe%rZGroNQbRqW|Wf2m{v>2er}x06haOn`6aC2eP)Yi3RPp zh}^IE=Rl@S+XnT`(Y5U|_9>}742XKr?*h;=<8pahA@cRd=wIk!AS+ZTRJn2vQUGpr zX;pU^1hyeYN-3N^<9Aa>8h%m7TzivO{5u44P8FdJrk9Dk0I_r-J50+%vD(Wqv5ybn z-@YJsZTo0~YWoP(q9W^8tnA?iyE>q~tiF2zXGYeurf-OPjLUH4GciecZ{4YSc%Zr+ zH*EHx3K#%##EDr3DChtBPl_H^9ni+^w4RrK>wRA*L@A26x;uj-WtpXI{gk+;&(14X zpyt;kbbu)kP!U>7e-o3%LDtA#mtaTB>u8>ux$?XXZy7P~k*r|_)UXHP9<6)U@IWCN zxXyeT_$jrHDpft5AaiHpT1s%jpSX%Kj3uLK=X!?VISy{UYiReRX`i>#B;_Nx&h}p# znyW(FUSeN*K4v(z zWK@l)`W(!9Txap826JLKBJJ@3#r zNQ2&{*YqrQ-_-idsDMN|1mw>U`QEii17_*HInkq~kM8VCYaA7j&r4Y=OJY7R?#tOt zku71ZBX&AyKt++H;Ge0TD&(=_H+=qUO62-6vxVMkhZ?z@H8S)h#S_%DL8`Dmen2Ek zZ3}PSy4gSSB4{fh?0EmGe#qqZ*{&7fPJo#ppSm+@*C(w6&rZ01`c&onw)n(yfk_#- zNC}53Ei2ptp7$POG)IMFDbYCPEfRz88SxjW*2P?P&D$|Cih8PU>-^wW@j4C2QKKwzy#G2 zbsWR+2@)&pYKWlu{1jw=hxlmh6EEk^m|%(WFGq2mUw@TKI!r;}n@-_VH> zc?g*XwUVp5qkl>ouB#p#-oxoj?VriyuLavVSw_U`rj+(73VVc`o?ZxwtFpXrnfs-; z{f|cH-ZKFd)uVIIA*Dv#fuUDB;X+9rDy8L>BAR#moKH6xty-D79>@6FAso;54Ckk; zaGbF4GeNb*g$9bjSt?FI7pMA@KqU2TRH=J*|X*C&l>qW`?`)hG5f*C_ZKaN(wCoV-^h&|ph-T9 z2KG60&pe-+I2P0D=#Wle3u9hOfL}xT>IJzXNnI{dYyM&l5#uf-ML$hoTN?pNTY%{e z3mpdL=&Kl;34SfncidDH_c!#i;Ltk>FwswLx@pQaF~{S^)3W{BGhTn*{6{U>@ctUe zZ#YlE28w27?e(|D&jpU-gRyIC6=K#KJ8Yb~bZ*+Ju7pOB1 zL+Qwp0Sw2qQW_RgJ4_=DElV9}2R^3`7$&u@gk>cT4@iu041uA4p}09CQ6i%H+WEol zsKv&7$uH9e4g4LFXktrbP{>#4)t8qHl?b>nd9s(;4ev8AEQ+kYTb%7Sp6jm@ zT{Bn;YTTm)qHLPmKyr3F+%B2sXF)!HqPOzu_h058UnadCa9w`viB}W8WA4EG9Ua0q z!Ar)jP;Q1wx-zr+iQ`of<$jx>R6Q7tg9(90zb;DsZm5u(UQ>)qA-f?-^5od9FaFNk z)2W|u_NPhVyg=|yL$JKPqzT-MWFp*C~%enl!sUR*{`PYPFtY$Di% zObZ-Bc#f&R&f<4#XK)aYlW;Gl=UT*xelv|>vX!%P;pZ^rx7nsLlm~W3^ ziP0Xi>YJ9BneniWy@&*}ne)imZZ9$6&C}mQ>Jl-x$&OwYFgh>SYtnE@Jh?0KJiU(MSElx zpKHNoSKQnC>^aV^!#^=y!6Q`(0na@jv^bJzVJ>87MI1tXjf#$<(p;F z{GA+#+LM>^G_>EQ#4QD8LdPEf*tXJ zF}q0;9bEP#_z3l+peMX6VUuv2tpcZ_#j!w;#f>N2>BprCwG{D za~`qp8MQFW%0B9uXA$YF@Os8g0r*WZP2wN))LKOzjZ zT+Z3l)it*N=1!+hTpOydYP87EtFEWNOXMr z=K_M_d{36@ow|~@sp@6I&J6e7m>+b$=@1W5DY-h^o(c}Y%N+tVpYxTfZd>7GFXbDKFxy4hdv<)=I20(nAE?HI(keW+it7?S z&V^^Hak;_ATy&+V1qW^Llx07htX0(%_Y1U5kJwWY=tVtVqw_%Dzz!+rE@&q(%v|cA zLOyF^CEsuHa3(b*bLv7v6Qlv^`AUU{M{~egpO-F8)BdUcbbKR+mO2svp+5CE8->pA_BEa>{YwL_wUGi3f5zTMLGzmXy<|T{ujFpb<+Yw z@Lr7s@_iTFz-r-4nE643JfJ2+;0?nMCk75)5dlG4(Ow)O>JJ#)OXD-#HEq zs?c{r`O<(;qyOBu5EpzLHcp}KOMCW_pHZkzCjm>)Mag|$TpiDq$ldzbcV6!iIyC9& z)~cfLAoLEg(fG#@HZlf%E>osn2le>*(JuYK3fr98i#N@h2PUv&?e1b4hU0lg{;X_{ zPUFmb*SML2T?WcuTJW8}r|{Ny^&0t=Q(U@*)u>}cbxlp%5%N@j=f)8Myii{Gr$NZn zwT}RqD1G2t&d&*q!0s4^S~i(Or9L-t>ROUQ-=(}H;b^9!Wg?3F;fhlC4dtBx7KHJ^ zeq$-hp6P?~=`y4^_^pMHyUN5?Q<3Pyr)}=Y+hb?YDEOdhV?n_9p@^w|W>Wdyr?&HY zM(Dz657|}hv({s$Ky!R(65*pH3E%i9CGV=?vm3?x3GvtR{X8jOzi>_sntKAqU zc&X#jwdz~CX9_-9TA1dyV)9>~B2pytQO-#nx)o2(R07@^ytH~1Iw}jUlmv^Q?qj}g z^`xxxTLSg5*lQ-CWg=IJ5};OlP*X|pM44|%3lj`0y`+7APWhuWXJe;t&5v3&5_n>C z(OINV9~Glkhj*F}N%z<9Qjf6`>E1(6zdCnSGMm~NcLh?FUer^M0Luzs(Tw(7cAZaO zkQ}FKCxnLZriVFLbrsbCV!CY-Gst{vf^_-&=BBwPrB^LG-}j-}J?IUb>_qzCr-snb z?W`e(0A~t&e<@}_v8yKdrKfMzeadR*h(?Zp^N@res<(uhIBZ~CbH9P_QOqaeV?NgU zU8_MZzd?b6lazTA=h%WbGWy@6^E>4g^K!)Gm|Qj$Sv^2*g9*e!i`4MC0PblU8TNL4 z()qy3sBP+E&px50$*5E4Gzy=^SkBZ0tVf^03kH(XSJ@`|i2Gi3!9VX_H6PFMA$qXN z@^!V&)j&0t%TiyKh%fIIC`K#~|NOpBUIGy19j*M|jb9%a#|Oy^XV(S&h|^&n2^HNn znRs@+kwvoHjE`Nd_6z~T&0CONPl1yP_`UnYwmOxmj6$M+YLD#jdVMKuy`c4?xEDz= z?D(h3VF&c`OFriG^oYhps<6OdjBr?LZ>iz=B97{L)ZPQ;hbIQ5%h8u^uIC~Io+*LnTDJdAt#En+;j4c9 zp@vC#+8kBsLQg39r1ZwA3W?OAB(6C`SP=3M0Vv5O<*XG$=vVVb_1c}dSU zxaof_Q67tyUyefj2-oWm22Org!N~qEPu4xEz3|fnm3uqzFF621u?(gDK4%!U0sMtgz+*#{BzJ{DHz<-sE$zs(DEP%Hf&oX320YoV2HS@-ri z_gi;C*%(zSrJX4Q_s^W9;BT+i44$8MQ!LE{o;vjxd1iqSwdet#w0G37sZgLD z&u>=s6Q8v%R(P-Q zAV=z~hF0IrKq)Sb=-CMMu<+%tWN;1q3B1MA0~#JNg|mci+#){}j!152|ZRLpRvSSv_gy zZy7o|+153k%nmy~O}clbY!zHS^?>hX#`w$QY&(=@XK+-A6(U+U^hHE@@9!)JV4w;4 zn!FOVeJ2e!x#vSi#a<{#+=PY?9llR8j(d&paOZVO^9xq;2hJ@fM1a&|Ok?+Y!NZPE z_LpIa)8%z%#klqSX{NAq`=*)LREU)0_|O5rC~$ts8tQJGc&~jze4CG@HnLSil9g1r z1mj##Uke~p{#LX1qRN}9Tjav1jH%r5iP6_#;GLPKrDppj`n_rYgHk#9mh4fj8z|lp z%b6XcI&`%8rGoREKi^P7zql}G+Xo{Agn6VhttFR*%#XLUya)&W#=!r>2_Q zh^{NX08AXmv({yI=}vEoz{>Q%khL>##yrPV6Tq2qIyv{W*HL&wI!*g(aM2b-k_;Ug zg2eH!`lr=^p0S1};ID3p4hH-Z#zZ-`9i3IQC{Zq{Oh0z<$z@K>Z;WY_;UPxt(~@FcoAbcZhXi+qO?3^?kcug zDb{C>a02XQ+4eTyudNc@ZMQyYeBi;hC65Q$1{=53KfF>*a8OEf)J#vBcfTzmBm_pk zcLqW%^>@>f4)*wfUE(VM9BFbgiH6+FSKZZ>_xsiQPuI*;-TfqYa*-^1GazVPt5HVJ z?HH%K6%G^B;hke^Z(9o=a@Ve zlHq3E(9xD@ldfl8jb}HCVutPjFXm%&-cVH`z5_#Icv@;-ex!YGoXtc%*UDh7(yYIR zp=9~np_*7DAU}+8J+%|kE{3sc`j6=ZFPdy|y223+m~{?ev=yn|r|`jH8L~2DgCa=U z%SM%yIqSbS@4c~ctTKHH-B*s09h*^|eEO-`(w* zD7=7=y({jhT#v2`{rJ_wlP-~aFtXMsy8ef(qwFYo-BH|DKDFzC0D|K{>->?i;BTjhs^?r}YkcYN%8LW|v5@QVwOz z_$|nkJ6pyN`igsF$XIk=)75*7BTrkk#PTA72j0dFPLww$p*cq6$E|wXCP)}26tkyk zk)HH8B8INOp-^Or7T?hT@(DmHN^&zLHwIVu2WeTf;B#$`q zsU9bfdGj{Q8XBrDrVu{)-mA?trJ|(TEx(+Wme&&;`lVv>)CWo#T=pp=Luav~$87)E z@e6$iXPOxhZw!gk2`sTCxe02~Qr}4)CopobJEMS(dyyqhX{`_>BCZ{07pwsu{$ zH0Zg$qr$_hy0;|HKets}&&;5S(nWL7=zvhN zKO+9w(@UOu)I&be=WU-PJGKAicxU2(6* ztPTAaQ{u->1+VgBuO1XKj4rnh;y?K~-?q+W^X9JF`UGy7L(IwBW)F$>c%Tdn{K{VY=8aA?MR1gmzDyRfd1!ASZdds8+kAz3 z(0T=*2j_60i)8*pMT$Ac>d(#>D94l8m-wb?xL^42BFZMP!R7_bq@Lu=>vp&r1(BGB zW4?uccR-B~o33CheM|C3lI!yeHT;}(wUy$(Ug>At7N-3$%>F{zALhr$2A|3Y*44{W z5*F@rHb#|Fr-T6zpot|x{hjp4-6Ac&YmIvk?fh~?B{n*wTu3EpJF9QTuLvirE{lS{ z=Q0`UW7GyEHojKU^Xixeyx7lo_MsdbDzL$U3}nY`C;H+z&c|_TPgQE5ciK%BdqgL- zn}jOw8CEz`ryWBjKL}E;MHXi7?yQyhd;9AJ+OGI<(0#4`tl1w#d$tnd+*xTFbTA?_ z@#3D|_xUz~rA_tjY;%KA)@*9sX<9|k9^Is4+9IET4BLcBlFGrs{|SS3?nYPGq~dn} zB#x{2kh#)Wg}>dM6z=7i>b@U-=R&Mmj5$C)EAE{f)ZNo{p@InI$!I~3j6B|*UJLkz z9d#vLXd~H;0NtSEV?%5iQ(SXxnx=J$Szlr6+oJTZNl4bcn)$1i7B-u@laQK6H@^MpVxvYj56COOl-N)zLMpszLH7tw`nnXuu9jt8h zj1ASBZs#X`hQ$I0KMNPUswyTm#X(%J4+tPD5~TFkbPUM$I*jU&fgl3qM|n=A`{x~5%G5S^b0SqZ>LUq52Eg>;k0coH#|@7V7m%4e0(0uRH3XcXd&VKY@)d9 zf?0PFo{I%U@Q>2!yBXK_4LK@#Z0(25fFuMNp@^)ZbT(^uqYX)V&4SK#rXQ6Rv8$44 zxjktX4E(l^)hb1y_sAnvVpV@8d~o9jaenaP&?=B4_1dL4#aWwSvv5&qoMVTh))I++ zA84Vdz~egANZMG#>;oJ#@56aiv9h<+=>ky_zRIHGA)|_09@bYY9f-_*^>TY>iM?72 zE(R0xfo*a^f80xyVW2V@ry5u7ut@ibX*0&e`KtT1&|hM(u^>;4D zH9vS}y=}JjMceX~D)&OIUW2QN)uU8%ZI!^&+$xO|qqv;6W^4^p?|83Q^oj%*j=q@0 z2C;%LyfQoDzAMASgKV|SJF@!l&kI8}XcjmR_v+lvuhfi-K-+1bPNPc{P^|)6umFYG zM_~9!7=M#e`}C-`vl{*&L^xj5IxYkm_zsoo%%i*>8R9MYxmv7l{nYt_yTJyhKJNrx z%5O@XZ*bW{m-^ya^-P1VXw5EOrYLoF7Q)=n(;jTK4lWoYK zbWsc|d<0(2tP1oY0J%@F- z&QJR~1#$nj-DGk^JzZia()X8jby#=KiAG|Rt%~khSg&o!BtiKCHT#;}8!wKp zK1)PC%91$ytZ;+>^v*TiN^6t*FcrD?%dWNew}#N=CQg~~3}%ngWeqN>cJe-P6iFTU zfmlA<0EbP6@J2}>V4<9vN^x|P4cFtX06#6&562as&HRQH>FnqERRdhHh#XHir*GVA zd%_i<2bHpKZ4CBw}Zo!sL8+|)>1)fA))o1T)qErlm#(WJoEjL{ z1i{RC@MkM(?bjWF`IxcN6qy}4ZFWC|+O3pc^)jN&6erJ~f_%m6I-Bsq;Nqyv_%e}K zhQl3@A*p3o>TxdVbAZMm6T|L!y33UkbpPoKrUEn>O_`>myLq3OLKFzmT)q_r$$aPE zsM#3zt1WQ2apQ_Pw;T^T3(H5Ckt`9(O+u1)@45P&vZt#XKQhsg)O=KK zu1rnmF6WB4ZB`#F?PPX0BoYY*0{4W89yszK6qp0s3PC zZ;8lbTi<(>IJY0ZWYhlY2ss#}aL3^7zF4|)*ZIC`?c!0=!-cIJJl<}o$qRc@Mf+cC zkl}Ftv^3hsIk3h`T{o&oavDORfXuFYwGPf|t5-5jqoynm20~5+?Ck^zT8nsRcaC2a zO?;Bx0QlzFN&*&Rz zXuv^d*xFK`Sao!v#^ zCA!*{rAwVn7hhlN%?U9V5~4siC!MB_e61iU&Kb1)y2Q$%_?J>~7jB`_tuNZz-#Uelp6~rouJ$4#I{5=a4$DprS9Ia@ma-ofEt($u24Snu9tX}gQe7OCeuBT)S!+Z z!X?wBoAcf#pWn@)KwO-|#Wm~QhdiO#L>D{JsfRgXDIe5-s0=Zi(4KH``rGa-Dh_oa zq3dVAI*=E|wB^3fOLf^h=XJ69v|y|qSkc>97(3)#duScWlW~it^Y0rooP#u;3bcb7 zC<$2zj$wtbjPb{i#1CoWg)ozFyGF-qaVPzd`~^LshuxS|$F+Iu`IDSOgEF@MiPo_% zYM%`UrKPvRLXVriv)yP8f)S0_oG|Pxna%TKvTUY4op{3PANe|AaeBN1Dapc;^nJY^ zDTqAX^kld?LLs4W|>99wyUqTOy!Foyvrdm*40b1w}H*+sz;N1RB@7>Jy*P_uGZpp z9=`rs`}68AQI;k=n^3`u$hyLx=nERIQWmAZlyWDwZ54jhb%Yx>-Vi*Gm|m}OZyVVs z>qZI^NTeQa4t#soft>b~I$}oWz#H+Z{OO!CDvn-(!)9Q>4yAm;th!P&9=B5Gpc^-~ zl85Y*GkC%gX;qwhlKQBPW#!788_Rl$ey*N>Ui}`;&I;{Mj1NtSRM*CQLd*Mj1 z;)=QaCJuFetiQ@tW=~`%gIC}hw`v{PdwZUuzP#Xx4aiIrY=4!I7F!JoagL!hT6$7kHm{paE=10Gv5S_UAT76 z73E&s3-eETh61H(U&|vIO?SiI>j}_soRpPrHFj{0P^|`gS)ZM-w$Br#5Id%+T<0pM z9}(bq{8_Par~^5C6+@sKX_${Zb+Aai_z~EuO2qULf&;tz%f%8yfZ_3T-1#Ln!&&}Y zMz}VVeP6o_HF+1eDv;+Ve8E}1{`{HxqCqx6aQkxM?)%Ui%rME8rRbgDy+=oZ>S}7a z{P$05{EnZMCqva=-6=a5^Cs7||FIchXfhe)pO7=0LwTo{$n1Hwm$O3Z5Zr?Sr>o)v zq9Kv1S}zCN9{#HS5nptjuiE0#G?GspLokeH`aXgRO>~oKZTrJLY*PK1akD|^rpXxN zp;z!S=u`KxzAnjgepMHLU5?0=cL4{h{mFx*N4dftW995`6|ugX!YL1{*pE4*&9291 zHyS(iWsV9e26AJJO$>t~hO*}HxVI$u;ccTL-kDLpADmLX1I(8+xWpAWlKnLZP*E5%eaJhQ+xlItKx7k zY^uB8coejXjz^~1x(7zLt2e^`Wv;>J`8fKeDm*dvz7Aq|B>M^KK zwYIU(l9ZUrI0j#d_d37gRx`qUEI7E}b#BPkJ~(mM-S?delsxs6hGD=2e?4TSV4kT| z3}&fM@K+cfOZ~iu*42Y|MIF+TcV;s_RL4dS9n6_xwDyCo%I3`FLnfEvJ$Kh@Dvqmj zqY*&}k$@PH=26nF9Gwm*D2%-kt@ReB27^EKCv6 zpv|Oc^{Qd`lX5k^3tD|#>y&tnOA$g@my`l;TX!w^l@i!CcTb;e&D?HNQ}I;%4g$}H z`@)lWTjnc9NAg0m+j0ky2xn|AH$_R(4T7$LK~?WH>R8$uV_5i?G}{sDhS>_KhZlJ% z({y*6m%O-bebut-voLukB`n__z`MI_a*o$WeoUFhCoD=j$95splHbR$Vd~BC1~t<4 z2mvI#eS4UE>J>=kZWy9iY2Wxvs(xqboykYzRhhs?kME@Kp;7fRViH&u^TMC`Ox2VZ zH08azO;F++VLs!3pKXb2)o_>-o8i$;$6A=u@Q3M~)g=brn3f;C%6qHV3!T-{!#R?? z*O#3VGU%p)B2-#laGu4<@3&1yX}Yoex?bZ-hdib54?3}OiwinP^#Hl3=!lBfJyaOC zX}1=FwS}Jrk0#9rU{RVa7TtH@mV6w?xAtWZO{sj*!aS!*$!cq7=xOjF!9aPuYOyOz zP@G-;)V_?OOU=2PT0Hr9k$mEys=a0meau)!>z z&AuDX9mLTF(`|0A;R%ZltF8@h4Zf-Q(KCh^r?g--)J~b?*aM{F6gjFRhCR>USx^y0 zN8?}9)fTeUFJFudte}3jVp_uTLtE_lTia)%ujXHiD~g}_3_V;tI_Lu;VQD%_nLTx} zd+`?B1^ZAPAiCtNLLoYv(ZbDXF$UUM;7?n*;#%&i<$aQ$*fL4}z7@}<)Oi(SlkHW- zNko>hy}bJeBW)P8U0|)oi%eKHxM*6um0FcSaP7HMgNdwQ$|+QPIpY;SXHTy(=@6UB z9a~ZBel2;9!5j1uCw@{96IQ%~!P2+{Y4YS|xdrilOexcPbhmndsibQfH353Rz%Zjq#H!{>e5{o0szX&`sD zkUG>-!I1H)@+mR;z{rSpBA@MID-++4(d$0VXu+-d*9Rm0V#n7HYEsN0U4AIAdx%kHDO>vSYMvT}m@W0DLh zV@N#h4$l$SwJT+W_HnG`J$Vcv8~w~e0yh%vK1-jfN=}@Aiw%ukG>tD9;&rkAk=;X< z#V!`cf-8EJJskoS$9vuRfsiQ{mJlj-oK+@vU@qG=#AwN=b&S!;cCiO%v_2{G|GH-s7mIb?Dlr#;OzJ~#J4CyIMz8c;{}^s+>P`sE=u^KNXIC&N!^;4?!C!s#Ye z<~KccDN`DQV7Z;nV_%7uOEYAEO)3xPX4U>hV>7(Q!_FkKp zO55ji&gdZJ6Ae=yLQ0q`;bD?w!65dK<&XkjN#HkcVxPNd=vPIIUjw zCj9C|Yox{83STYz>o@_oeqVQ?{nLTr1?@zYK{o%LNU^wB3s^ZEDv?aH%pdJ?q@IkIDh=O;KN`N{F36{y~k>glB|+)dq(#?{e+5sz5?W_&xmCA1#8M8G%&)5C&OX{ zBtKQ5t}qln-Vsvauv`KzwX`D1gCLEOjT_M>qT|}nYqKO$;Ky@S$)1lN1|>2UA7eDW zS+5+AZF|P}&?c2kxL9)kCqY2ixq;ZOu?|(=TgDiUNU`nUc*^?2rO>?7pFi?khrMQ? zA|ed=yDov((bN%pr&L7C`HM~PRQZ;1YEk4thI#76IZ<_y=2L-E&s3Ma}p!P(E_p}UWUR7&XoB66W=>OOn+0(DvDZfR#TgSj>VSPtcf{n$( zIvm3L?)CM6eBGCG1^3N(4CLNT3b7;%mz6{u3-0hx+LiRj?nel42hRWK=xUjaez#K} zVQ!2{a}9$)iG>LWrDiP9&DW>zXMfwL0&HxNClQZz)|xDu6Pmp;Ts|E$xJ8UB)cacN`QNP14Zm6w**P`sNrq7PCx=;`%!1Q`>@$4N>1v(K5UC zC^28B>eI9Bhn=tA)+Aal9HnK`DX6T254J8!Xhz1b4zY`65rqg;!T3+gFbpX>7T<13 zbiIzn8;ZP|TifJ)J9!!-5}K^GNe_GlrUWX7yc#Y%bo8eBk0HZ=9wNzx&M^)^(wh1z z_K5FxtR}+KB@pAYTTe?yf4}oZDYLfzlM5pH>mt~k6|ysw`uH0It0jHF9Kq2eJf8Fp zql`hI$@+D|ZRgHhC#&&~52--2lQ9WQh26+0qKlNp>5mEFP_*HddtjN&BHe~I$MJ*Q zfG8jVh9op-TQ)qt)MzN>%;o9@^3%}O_<}vO<7TrocXx^N5q(yuq_0zgk}oe^T(uc``>C!RKyBzJ`>w|qf*K3qUAv~aJM&GDP~xSAdby~iGBX(rYz@lrB8j2=sb)7+dn zO>BOx0P(o!q=F_im{UYw&a1I|*C?}ETwr}zV@Hd|7WZ@)v!gAqg zRh}&MNE8|&?8k1c6W_;t+ZKD|F3`zh<$Lfk#2BK6=Gq!-WRLp`v*u5yxP^7Tu#8tZ zAstMf;tn&oICb!7y+ZDP5pXBe8A>R{EYUO48RKk4J(u;~cp?S`A1j)yXH zLjy-q2=N2(AkH5|+Zelr~f3y}}{DHe%p{jMBxra8!$Cx-3o?WSXz77p;Zs^$3a=2O|pD!q* zTG;zBC*wS6V50pO<2RYRzltzPZFRy-_+BV_WPONHFd4^iRbkEXOw0>J{H6Y zjjpK|iu63|*NNGs5g9;ch}{-S42N~1GuIRONZ}PI_Z>q5%Os>Y^V_t)~Mc=*2>-c7NgGf!Z6c-LFumg>Z;gRv5UJhu*SPH zP_*-~Bgr4TgaIFM;**Lm{8|RCwzQa?Wt5y$?2~D-+$O%-rD!x2C(;d7QjjsG$P{Bs`4j-EjoNdJ_V!E&&d;f+|1op&-3mKw}tb}DPJeo zD!I!Dt%a+}b}_}YAIq4<H*m5F_lHYH)+I29~tQk^9B z+>Fk zS#s{&e5;0q!H3Ulw8?|1D0fG$&rgf5jH>Uidt0Unb z$|T3Onz}K`d^3R2C)>2kH>mksFX*E5e)`?F(c?evnSEoms{UlCgg+Le$V&0c*oK0k z0qBx$$HbV5cHxBU4-gmVr!hOwuw`0w4ZOMwD~+z64`t#augqQ--0Ug2wTG66uZ2c& zAZ?}+q}n$~zsqcMgWwF0sr$oix~;)?*44XR3ZtqdkT`I0U)SZmlg=IC?-vP7$AMkQ zi`QP~{@1zB9w2y8C`!U|I|K&BRPuva7_i zac6)Pn_yIZw+BpNI}Ac_U7X}|VvvUQlge6G%ej}M=DGRtcN!R}pG<`qo#&@)Ki9Co zo%CL2dV4$x&fvooE2RdD{jkKE2u#Xgh)bYOV*ktE?(F5+0xE@etOZcIde z^$Hga0@*8|DlOaHcBxVYO58J(1_|)}ZmkH-MYFk=(jT2GhD6^42lm)p95}UpE=Qgk zav@KTgpg1Kz#J-aU_9A|^!b7^heokuHTuIa>Ow`k>%t5S!LBp2?O%$a$ml%$1J$-1 zLjaI3+?kW%bTx2#~OcxqG@tLNNiR#mSC1|cCW8bTYm z>QhOzGU(7p>S&{SPR@MN6kAC+vqAF=Q)x&*8b*ijHg92f+s~6%^BdC{yxen?! zA7ii8@sk_wIk61cDDkhYmfhZ$d)mmMfh|;U6_Z6>xZ1^7jiE!OUFPhQo3RVFM?d`j zJ?{)l+`$r5%?1Nva7ugL^`nnPE2 z)wD20VZH?IiPdz_%N#q}YpXY0S34C=x1B>0#>gnfK(Q|haO_1+)c&A8V=S)ibRwQ{ z(u3$;>yd-{_*l8}+wKq2jKRE8=fEnt`W|*+nl+3@R6XK9sVAefFC?^0WH8BmC~)m=(#nzoI7}@Da9}BHSBv=&c$%rHQyc36@8G>pyrB9 zO9kqi*<4==Wp5ZwXX7WL5F+)yiXLf)&k&++HC50Rj3DDLHz_l^OxzB@tt zJsl>;B(jN@WC9?xAm1xlhfmUK>jp4~qG(X_u8b&=)Qnt!e0*pDH8<|zt6cZ9mUgS^ z&C&NypYn9WVY_#51FmD3*T=mTl;~)I1=2ZB5pgqz+HMgy{49}*&$Z;hEA>I82^MPQW1px(p##lOQ#emR;R-FdXUAJhudz zR;6RFW3SLQW?5e4-`}M`;{-l}E$3ZJpA>XqDzzc2xh8VH=V-7Ouk3!lW2yGnQ!wyJ z^E$_rUX;S-du;TI1AeqAN5Z49dIe?pr>vZnE(v%U?(OyLS;o|lB$ST!5jP6L#3FeW z)tzRIR4clp)lN0X^fau@w7R97SH284z!1B`@G1M^gcfb^8bxgA$&buE2C)z4m~S&K zl1Nf{gm718Q=GC7g{r95ZsR}*u)-No^`-1_;zQp*DdllK$jr5ncDe5=Rv<1o)W)Yy(vx>(aJ0dsqKshcqmZ(!U3R26_-QJ zAHrg^u#aMI!P)fpI_sfNOul|4a?~~2c#)UvuCEax!F88>IRuT3VyQytzUA6gYL-d{K zFHmLnP^E4FYdXO0NA=5)!aQHxekpds5_2we3zR034j_w%(1=W4-Q~cVZL@Cl1 zfWCdn9@hXigbj4QDGI|PR4##rF|9E-R4nY2^{`?Bd8P&?!yhk_NmsPcPJ z+l6Lxt>j*L&ADJ=H@vzpikRmzt&aG%{B6e!)ht?Id$A4JU0>%%y1Hng?Z5LwRYW>CHWreT0 zp3G-vh>h{gXgMTV>*1wfdR+R4P!llF0G?OlzE) zZ+6v88wa4b0Am!s$BH$hz;%aAE2X8itkP3wk&Crfnx+RmG)}X9;2>U|bSWCvMF#`L z(81ZTBugwQwOsW}$HOLlG?Ob>%66hj?}Hx-OT%PnkTve@-p+Ek?8QP1`5GdKLS|~b zx|RtjwOm{QEvV5jEZHJ2^Nz*5DHL)^X34;0Fq3@G2i4dlgrP_w_yW3htI;)-41ym9 zi^ME>cDG-04%yU9n{Bg-^Rh}*M>UZ1j0wTK(fp|oNF(fIgbnfwy)I>yegAVHoT3nG zk>H~LIMBirNp9#N_;PVAaZV`J#k=oK&3%Kz+9Hwk{z`-DtJx+;@o3Ru>Ouxbg(`3!9&Az@+YA5@D@5NiQfCG=kyRr z06KPF0sWvB#2g=0khO{hT;!h_xPz*?*j1cSAGzXATJE5sVbCYsLqk~oF^(XMQ3zQv z?Tkl&X(GwwCU-UzdxVCt3tKVHN;z)Vct$ zD*@emiu#wK;PCr^0p0*bKarDgvb=}vz4}Yj{&zkaOF$Pd$efNrIB5e(dQH*h1BKv! z-q!@@RrRe+1tnR2AGJskfKz`v9o19ia`wMJs!(gcq2Uge_{UE$eK5^h$kqJIc5c6o zhPVNsP*7B&{`>H#-`9WwXQU}+dD%Pi_t6S~LB#P@ObV))?C*2@6QlFb>i;*SBT5Zn z&08BF3rJ?a{($en+|hVVfbPUZ3Bw3M;tUQ~EHBW#-w7H@6#GwF{v z!R&`9Fu;F3LUpeB13sUg!7!xq*?fVnVoQeosAXZH_b)>EYe{*eU~gtxmZX1d0PLp= zMQuaT^(YPY_sNX1K>QJFM zi1xp^_@vV52Vmq#waYhH!NFIA?QTrBB-_oziooh6)fn!yLQ$RF@7MDcEK3@gb$fB^uyM+i1dKyUEkPcXq?!zfN8{-W$ZaD@bTqj2CV zG3P%-{(^(>-Qyk{08yYlcmeRH63|lqJ3CXE6o=*#owHasu493xfUCc)5Dr9AHb&yV z_`ih*-i1ScLjTK%KJjA_d5|kERiS;#B#>}dWQ8U+M_ zW3hZqR*2G3en0zv%&Gd40eWr){+x5q{x@RLlYqyT8IlXZmw!_MM3@Pn>3#V7+gsU? z$c(yMg7At&U}&LJg#SJ=Y9cLFU>oqh>H8llgTV~JIuH3vcJY8-!$mOI{58ww-;ERi zVdWSeOZi_mViXAu+Q*paF!r&Y&{hrv^6x7EwLnZ2gxqNqRN|(2jE(jgkNiP`$v?39 zO_lf;^-$kd02_YHNCe8H{s%5601N7?K`QLL%rJ(pI{V!BUq(7kVX$bh}fr&hD z$^ALjClDwhmGbcK*1rD&a1%v!{@0fO=57BB=myUHQ}k={fBx~mxn}$T2~0)OijTaO zaGTv2U9|5^m-siRlUd-9y~oP0)a8yZ$WAWaN02qClkFCL`7 z1>3rf(>(s))o;B6aOIQSXKe16_m6M(%t{uv=}3x4i{RaL!h+S z(4K?iGOD%UKky<2nwV6twA2;wR)83$vsXh}<^K*F%t4STM0AQ`dYeQ*qx$!)%Wt2+ zYE*zi_~&%!fc?@y?q`So_wm2{xBr0S@?dBnV5{harZp%6|6_O@NY|f_g6IEVhMtr1 zC>H6d&q4k*ybuE+u5bmbJGj;W+@uF*DDz^m=-;WQZnSt+E|=9I(34p)u@)UE0HY{+ zLgoM8^}!@jR|mR?UC=P&4*&#&1B4l2B9H{VFIh1U=Sq0k_;CMu24RoJk+B{@kdL|> z{r(<;2rMOntAvCRgNbA9<=vA%focuJ$m3ePX%wo6(Mh>I?|vB)bg6M^aUeS1&ZB+w z^1^eBSX6Go|9w={BtfcTN^=%G>=g>GjaQ_Dt{s({9890-*NFsJr_s-u( zqj3Oh^dc#_l7o@R=VYxaxy~4Kwrta|6DdU!8+NG8#f*N)i+>J`ReHoT83&6+&wLNh z?|f&xSp2bPS@C&{QN*?J|FcT;f|l^(hzu7x<&42Q2)5(a@@03|e{oC75k;1aLqi9A z58DQhZ}v+4zQe5ofYF;jB4Yo`?H;3czL)*$|AL{XCIGI7iCp{NQY+vExYAj(#q(c9 zX&n;)4ioI!`zYB!Do+!~+7lpj?H@#k<)9>lh%X-%u!j^qRF%2{F0}ug`woyRQIS-e z|K$z{I&eH<#7v3*Fmh7$^q2GAp{?D;sJG?74u!t8sQhzsP`rnY=NpF7K5}OMYq4T+9DL9zx523U&bDV~lh_a5E@1p#hsN<)2MWkT4Ch z{#e)LciM!k-9n*PIt|zk?zfKnsP!IT+|AlpPZCGLU)E?<;GSCBnIxk$1mor+F^uMF zT_|7{{^%nEeiDv$Ay{_X@1*!T93ta>$>iagP z`&42i@-ow5MlwJnDQK=o{O0*4yag-=)k{$`?0&cy$}D1tvsOw+zSMxrlyV?>0R|hfP`Zg$ zm(a^^P_kDqFZKNh)aCAdbPDQ}nr@6(mqzWbbu{@nWgvQqwz3iUx^XT1Ip6C?J#|oB zZ)qN*ObC0%zhuCIU>+D)ls96sYgiyCBOlO2EAkcQDv(Jb2@2nXq@pk%oE}|sKD^TF zK@17N=1qAB382BT)u4KZ^lpAJV0H|y<6hYDj28#^RxIp^PK(i3=^XanNJSiFNW7t+ zJmd#6!5JD4P~=R2cLyq^wQpOPRd*SG5RSc8uAV#L@ua$J;$_lBIM+5%xw(L3{EBa> z`3Qo+x8({H&Qo?Hj`>1iagL-V%S)ROurpJod~-fIGE@6ebTQ_6NQF8*W) z{3`0?C&)((gAWXx_4HZ_s~tLt2)ABHS03Bnsz|I zw7TAbU~TpLAPv@f9&%t`Hhq9rby!QTf{5TM}Y^*~$m$rP@#w`%^jIH=O_*~}AeX|;-;Q4gaIT)Zg z+ppQq3cRSKO7RC}-3$Td+fjOBf((q*q%pdT_vT*-^0M8sREJsOp|cppBE^g^UZ3WA zJQZMH?1INLHibOXGb8O!GXXwf^y23qBD{8ng;#^w3ho&M#IA2=GOnUSENWW?=hJX#(JD2hr=!Ht&#B+7i*t}0Axx!_b;DA4Y+%uRr_x4=? zUJx{CE?nHD`M&+-Ft76gNKvbK@x1V>IK`3|EvAB7@q&at9Z!|T(~dSu+kNcQ#|hD! znn-O+)rXeAP%r>=2PwZSPZU8A8lkzY_IkjJb|*yH2$cJ8T*=PPe833sF2O03i803e27cQ5t?-{_sa3_EVSXBUYXbsAwLPze|Me z?iGLPSkW}))|UxZt&i^_{5&HFZwAEb1kS$5FyU{lK)8+tQl`{KF+ZWYMxhKy8mPRN z*40!Jd9xM>si5FWw!_MA6@}H$20&QmX~ZP1A(helTuvm_SITeG5%6C@~_?k93WF9kQZnv9JHnB=EOnF82#V_TZeOq{pu^&-5Ow;Y!GFZc(f zw$)lJfvC%4L>MOTaUBu^20&Z%qC77D`oR5TdL%->&8*|gt!hopYg!HOmTwPXg$CVF zrXj;=eH1J+Z%Zj`5_DebrD!x(8|J#B@!b;G74kR{X(_;=aT|y%+9I_$10HEE>9E*x z9s>rBDc#ILgBxgaI?EVtD*(EOivj050f= zQ->;u%iG~zeFq(?cdUCq7F$`9-gq6ix~R%|jV8>aE6>v2%2Yj-JIhK=g0`DHOIrv} zY3jc?7TUfI&J(5f))#*;170ekfFnaBlNX(s#izs{#Np0L z2>KfQ6MZdN!)F{<+`Qn#JcbdYWHxfsE72F4H$ldZe+1Bv@o^k67YONVL0sK8+`49B zrB|39Tb7iSHg^vQn4`%T%;zKCJks8!WW^F{X)j&%$ubnkGTytvw^xH=r#)4E>|&Z^?qZ?9fE%nd*%{8vPbDLo$(ZZv|dkkIckik z#u#y+Gx7F1a6;Sm@zF2thO|1tEk1|F&1&h6$1Sh$W=G(lMEr~!TK1)p4VrUN3yQzEpQi>3>>N~FSz%nno1d*qi z!4RYP2Z~it+7oYZLSEe6Ontee)*N$$u;{4~Qu%@NAhVO#%txM4Gn<8D-P;UuiEf?p zDJQCv+H!28fG?36!fr#FBGEuA>;PF@-`YH#sa_oj>6kTrdXvL=gBwZp5rLD}YU%3< zK8btO?Eie=)!}Gd@eoFG^`G1Osyox9c~~uMqZ^kG6G1$-=ysna z#+Fr8nu5P~8RgkKNG~bbNQ!%t`FkvK<&Pd(WgM~@j;R6ukx0bFGmLBgLHzo2WQ;I! zqW}CUDy;X9|C_1hhDD*uAJ$!{1QIru*uPbIvG1EfADf$UF|l_9KEw@Te^zjVh`%Fl zJH}T23UDg;GQsX`(qsYW2vKCAdX=76$7~PXV)ko;8j|p+pHEoNUd=G@DjJ<-@hhLl z6e>ogRtkX4gCh6(R4uv@|JH2^&WIUf3D(|-a`>|wL0B1lK5vFZJIS&Q%Vjd{SvFHCA(5ON>0jM(ak zdE+u_{|u%cV^&qe+%jIiaYiObG*%in?yAUkk34FaE}4+-@6kEcQ%N-ZRwh>E4koM& zLr!fBFl%-RekWdMKU$>YbMt|vX2`B$c-v+`m|;dP4cgQF7&Rv z-z5vv{LM4T{+rKlp_-fJ-DUghWy+P=E7VUmTa-WY(5_)q%K7FUmG{LbP#}OBS@hzF z4qUa#eU)eEd^hXp)!_O|OSFSqLr$~-e|F0KlctJzO++bwM60ic(vpjA)Ln0#hIB7i zxjs}Cj#l=|tq#*08QI;`T1tWi}7Hvv%|_e5AXazy6^F;`6Qh; zE7$nvUNmDjXj<(t6=S!y3#X|*;KD@_2KPMxb$bP5_0<4MDm})Dk2lWCNRuSH;=+r; zX{}amIqImF!EY>u_3(Cgw!wR%()iC(4wcW{8zrVsCH((d(~d4{MtNa_Mzy zg!aYh8%8^EaDh83z@+%3<|8m5wFKJhpM#(6s&xIL7EVw*#tkNh9pf~vAiT0kU9&Y?P0%^hZI*Z2j;nU?7Fn|9K zkAO{MQ*G@HJoVP?GNBfv6rfH=|Mfl^x1*p}qAGgCKI=egbtS99=^?881WCBvYFP-1 z1WxPUx4^Ww8fM0Ab+WD`G?XBzw*_GHfcYT?lASG@;}dAvkk zSc@R5^xMG4Lx5>@mV!}?aTW0n1^PIEa=B-qJJ3+`GH7w5jN#Xoepc$%h^yZEi0ij< zd$y46Z-?zPf`5}sXT&+jZe4dez&hQa4juh%Gn4d_C?EkGK`s=pV5+UV9U@`D=oZ4m z0t{vhf}Z{#U{3WR41uu;RUdV__N1RA@CYvrl9ch49u#}UIi2;M)Wp4JzeUqfS?^!OD0 zpbWmkp$gRF$tN~pMoBUAUe>HF@j+iek+0BYlH@zEY)G1p0V(zBBPEt&xKA1t>*M9* zWRHb+3sz}=Uq;kw=gH?IS*%6{OLxt5BB)$d(KU`Z0HDba67=2BvQAp_-V3kFoIl!S~J1j2lr$_vKRlYQls^B~pqcb0TXas)kuW*9e6!m#0#E7j^alzt|x@uG@8~byE zg!Z_i%(L*1K&Sg2C+IqTv1kS#1DGG_t$Ahn^xqR*Dkwm2ca{45JvGOU$hJMYNi3k1paD~SI(WoLp+Bzg6j0R(* z$n~r18}pvXtlfS^Gt17jGviwKr;4;`B*V$@!!j-p=Xu$9T)ka@$}0c;DKZ;@yK6Cl zzuqV>Bv((r{~{Wd?dQXe40^#j5vkI3B`U!4>;JErs0O9#8Gem?wLd{Q_BbrZw z6rwio#~ymx%Q!eoZR16(luo*Xk`4uwU~ZvsIw4*Y5dBc>z<+N8kg*!K?U z+0gmp7O9OkAnat@!YjQ`a(zv%?+5C2c~JRiY6sm0e3K^x+FKu1a}4Z&i9~g}tF89H zsQr=^8Lg2@nj^VL&a*;~nNnkgfu63wLCuur2m2g+gxyn;mS{#OzdZHSTP}0w6Na?H zVrNx#6?s);~EdeHTS6YHD+?6#Fu$qML@WL?Ou^Hxd#nRFKUi-O=t{`K6> z`vzZ0)4>EOK=lnW;aLnTv{SY%#jl;lQQcP)_-n0{Rp3~pj8SV&*nF<6TYSlG^+!13 zEB;A}3=-4~JYcgqcUJ?cfNk4=4!I7WUNPYwnX+q z?Y{i-?NY;=>f4r2o@-WKv+T|6sH}urejE8COmvD;W=%HZG04rTGK}$@Hli3MTBVUG z2bG;B#JHVGC3OiPVQV<8riMIvb9x-nn`*uCopM&lod&!808PRnSYp5ILERFlQ=DHl z*vT4Nx8y&24rz7DV_Q27>*mi8eEyTl7Ur1H^@}fm<;Lb^L_Gdcip<)-zYj2Bz(EJj zr^DG_D=u%c8F>2u4X<*f#!{bmn=*FCFb;1oaENYw@x(84_9~>l`MRO(?jv5-RSAM= zT|=ff9uuL)Ljs&D{2woG@!Yg+Bl}3I-uz0=38;Dhg}<%(4+@R!)B!l5p0zg!jM^zg zV7|L+yMbmSP)2TGtft3kT}$l=_U4^O%!>4l=(IF0L7a`PJ%StmXRXa;&97?%3jw_0 zc^`&0gII7Fu(t<%tVF{Scoe#ztbf%adJphXRN;La^um%ngRP0NaU`F5?B2 z8P7_y-Ex2g^Grg*s=G3@K0iK?H@SJqbzSvu7A7CS&1}X0%5VWiMz{z`z{5x0Pjv@? zn8x{XJseX^D0^o$eO-#EYRP2!yBax7kaJ3N+1g+~`RB*b*tuVr7O|RY#1U1uBSUE} z2B{ojHozw*?>oLh>j(qF;4NMM;&E#jAvCX8`7I7ouCl)KDy3FLL=Y4UR}aj2VP-&D zg{b-KDNXk`FbZf{n)^O*5kXytKOJMAAjnwI8E)LdKvzcG%SxY=z_4Jfn)-!Yu{kR= z8~}a{XFQUdO98mdSQ3sYxc&ws^srm%l5p;yipR?Ek^S3ioIMF*gQ68Q+&!E$d z5XBV=HQc@G(bHGnIqxJ-Z-a8?;|jlt+usK~RP{w)&op%F?6jDYh(o(?#N9alD8)!N z$Dzd>Cmt#tTjzGV3a_5Qdm*oc?_i|-gi{tvPEPkXO=U1i z6;PU-79=0>bK#Dj^O}-+z+A~=5j90YsDW1v&*LyG&D5!_IBL{VKQ4RFwZG|kO2%J& zw*tr;)7b=(KAap2<*T^tlQwUmehY$|SGQ=HF|OQ$&c3k!FHZ_cAR3w2^`t+?DCXxb zGttS;S=mT^mZa%|2scVleSUuNd$}5*P<3pO%*@=dUy-!aF>89CW^{+% zRd(^Pyx6MCDWMX{n``*+5oeQQX|&%IX~8pi$=y9Yy0_Bnp#>76T+DH1YQ1&5qj2R5RVT_Ie<3}u{S%VilZoghIv(z0Q?c0#0?>e_BZ~gpE!Np zoE1zF?%gbj_uSv<7M#w>dF|cycG4G%{h*0-o~}^lw7Mtbiy-F;BtMr*eRw zpB*-TS?9RAy)e%z9mCjW=<<4bMU+NV;S+Xdv3n_v z^NvWBi+4T9;(uSUx5#sP(w&@o_?%q16s`2;j#X;&$?9z)X5>`Ju?!3Pjn_LYSuO71 zl?qK&0|j^lj0Iep6IcA8MFb?dGP198*5}bu7N|_-)4Y z#3^0#ZCDl|w^2geEAqI5W~z%Nn$EmM9&D6Vb#CWnpZg*RwJMgm3re8)9e zNH7P6S9|h!s4Hu?!J-2uuTcQqyo{&wcPj6u%~lm({WWVd4-dJMx!7o=Oa_Jr6%2yk zmzkBYrO0YE>`ipaM=BcfU1_n7m*S5}7xJ?_SssT%FqhH*nl1r<24UDr-#v8cR!N%s z^*BdEZrbTbGX}|r=sYI#Qg|KE5dn(7@3|9?!N5mANk190(^7X~!APgFf}RtIKoi$y znC8*EX-3U_c*$w?$mJ!?#*`@28Uqcb@HkId6&ae}BEc6k?8kg+*AlCk`CR#Nf4%77 zt@zu5hS_7Q5A<{w&JV=HF`kG$Y##pq7@zP!7$@DA%Tcb4R2?k!b^2I=+hHo{p3`$7 zYj}8Pa^};`B}BAo@h+a>WVDc{)RW&b4(sIeV%U1Eaj*L-%TWVa8z;xHRK9ZAhFP*A zEeT>~ePbJJmD1P;R7&ewO_y2f-Dfm*qD?lcxE{BkhyCikyE3Qb1y0RzJZ^MNrNHh% z5laa5DcxWtewzIXVj?aAH9GpCCvokfPvPVF06Se8K{#w5_2)UvWBmL}NQu=>uhs|k z>u~sKvHRnru=f)DJgmSqL|K@c*E(orC;+s=Bp72xH?B|DHBp`UdB2ISZGf7p24bBu z_s+}nrq*`A=IX0k)D-*TRf@A2gI%m5cAu+t)lp2G2JbgA`geXTSAvMAFut0HB zw8ejz%L+CgH$HYhpxF-{e@qiQ!!)Lnr-CgK{L?))@N=1*j! z1=<na=37hB74esjq%3(%v(Xy?@O4B zDSv5nOqKx6grv1ZqeS{%>Fmbm& z;V@;+T<)DIt}7MO( zN(k^;VY-D}9Vi{D_NKXUk&m&HD~0T)AJ@=_yD(|i!N0N&uww)@329+$CazK9DXB>Y zuPt{lc0_QJ)?Cu2;R3y+S{K zvgKE0+E&L57VkU!nxh#CKk!JMDFLQ~2T zbn)kf=mtFWJ&lruy!yxJ=RN#-<+0r^ z0_psBU*sn}A!u%86%#pB3#thAMnkM0?o*Pm zy&ft}upsaPMF3D8cG~@E^D?SGG`AgC(>X{WL>L?*h5Tg}*}-m=HrPvG1whNrmHfa{ zy4myWy7v**jGCk{979LPy*(8g51U+W*H?||PsM&bCEW{_Q8-)#w?`!|-P9L$=#@EsP!A`Wpd_PA7mlvqj5e(FKW%OY2qTzp1Eln#pw{pZY2v zmdu_4CNd@qzQq6>A4#f4EKxOFxYhITWnt%G2hP|*cap!fnF)g^S?(KtMowV%U@=&R zJaGGbP;2Q9p?F1=q1S$YczR#X1(fG;K<^Vw1&m25vT0^yU=d}P@np~fEFg)nWczV8 zBo96;P$e*egzEK{#??GD7@3-;!?ens!K6AfbfM>M6n;Rxg-7drgB8Fu>PHz#~ewX8jwP8>~H6n%cO90L#65jCiuJx>cWZEO_1pvTX)94<-NEXY$*87 zj+U9!^Yq=&vhJl)-4$?;$e53s=i}ZF^@n1oJM&#WgBL>>c+kZ&r~RrR-)I^gP(F|< zuS@vv}e`4&G}QBp6RBFUMTI`~NfioNwG0`(Rr5la*e?T{&W{rw34#M{qI zKPkzXyUX@&ZqYmo&qtTBSSOafPqmld@ZsJ7hnU9ahJnmTR$`ZW(8MfWj!5HLLEG`2 zt9&*mre3DQ6I6xIUXh4C;SKa0&7YY$UW#KmnpLnyMS*UHYkEAL80(`$N$=e|(}E<* zrwa`z#UC8EPTqko+?~Soh~)J6)<%!TE(4lwH@@Yhp^<1qY*n2-hYl9tZOHXH^Lg*g z_#6G!4>H*}s$bfAH6nVuP3GDL(r%vWS~o8Z)YxagQ(7}Ylm5l{Z`qav`@TFVdftw4 z>oi<>^tz2Waz_mL3_by|E*$)#0SZx6or38&;ln4`S1jfShTm*#au(XgyXun=C4{^A zizC#vB6u{0;9d~*@EEZtxfcR2#}}L`LYUp`J4i2I;!zke=GOeWy|sRo z;fJtQ8n+$s+Rdk6=kkgW4RXcN-5h}pwxq;PNELpj^9UOl@9$Q=b?ONEb8CSHtVy$J zB`F7=UmI3Pzg6J_J#1xPC1;5`)!Xy^=MEjy7$2oG;ti0o@Us4o$SFS3Y41nmBikfe zu12^7E^I zM}wOgA8)NHbEHU!_m5IZ<0eZP@KmU!-Dxxa<V4{ayVJSW2AsWysuDH^-L24_)M(ixu>cS(qU?b@)RaT zymKz5h&uwF#Kn+^x+D8#$mlM9l~&nt?InHgn_xmMB4dX~;tKFJh(Sxpz3Z2TQR9?Y z3KCg~M9kcQ^lnHmBu~p9>6=EOH;97wCBr$CAXZVRXBS2hU0>R{H2~+V--H62ZF%k! zQEEMU&yO}JXd(1e<^;hZ@2GR~7FxvygKuk`p1ZF*26m!7Sud^UMtPxO+uNBN4D57XLv}Qi>1w4uIaw!zpg}DyDWMlx z#=ZOicz66?jTX3D8+iY{S@>Y3jy&nS?mv6Pl{9P6J=@P9e+I#90{3k5#6AeL1VFO) z9hlc~;`ro4bA@~fK^`6wb!FvTUOTj1#D1DUdr~4 zuqEZ|@YWbdEoVqUXg0vN*&~tVA+c_-7}NsbbZfR@51hzRl0J|Isnv=G|KThT8p)70FBTgI6V~ne zihQ_NIq)7zR-psuCKp>=488hOQ4rr5?(Sw=OuW;h0jJ1n_O>^q59H zD4VU;d#9n^OtsPT;gu`uI87Wad`7&j24I;o$iuU~(ge3|PnT)aH+QudVtjNRK1fgZ z#FEFvaupkv&%$&3+AEzAJUW5^>0s0r&DNqPJjW#1_QoI{>E zkjXsrE-@%oq9%*G^dhD9i429Qc>23NEy)k2FIBM!4YxPS=^(duC=;I_7ec=jUrvl) zh8eoAnnklbylp~zd*QGdP%{QY9{JGO7UNthm>KL|#I^dG>2~9!ViyeAVS+Sekq(wo z$CCi8c)D5}{eX_z6Q9K+6qPZ^W)-h{Cj1Nq>Il$(oB$V(ac-yQN zhXF1o<%!&)Ee?1U%}4gPmvi7#hF4p&znIl`E5`#OOvvKeZ6SeTf1z5k~Z|t04W2rktvq9&IhPC&7@;sm^Dj z>IZkLf1s(FWy6)0!Z=K+EJ52n);NU(O|D^4*!9d07I@exx2;tH3B?&taG3I2)T}hq zyQpvwjT4PuH4eWxnPPK-<{>W$IT6YEhICcTUDQ*h3TiAU=F$ zeJuqwt-f$0z%_2mF-`1Vdcb@lj1u_m@5Z3hDS87=o8i8?yVrhS6jb_m=+sd!#YLI>HqO$zs zQ!lGAeE4-1RF73pGCk(}Q}Ug~H$K1wyo_MG_MHJgBPU%Q*W#_vVo8g&Eo@!g)#bb} z4qrdr)K@KAnrGB72tjgTDs-12;lya_^t{nn5n|$@AuGkiuMZb^`)mrG@&J>vsAg>3 z`}bqHJa#5!ovkyIX`Y;P#pmSsR%k2vMSTeV23bwf)-!?ng_iMFs&O@CYKl$|2XFTg zEzuP+*X)izXes8rJ4zcS?Sui#?60AATadMoV6G_dH4RbHYpfR zoL8%i&VRg5Q**ib_5f}75 z(`7ovo`y1JCgrL77+xKts_lMfxz)4f8b_RW0#>JKSPfTf{&BiB0EKX<>;nVLz-$8T z{E^0n$5qXXwsr^wdM56@47f9Bm}L_7{3ep;8c!UZ!XQz9-n*pL@Q_EBNQ4)nj_+8f z6J|Wg&St{X3im83H=Q1IxL`pxzEC#!UBJcnA+q*Dj*%X}n?uZGlZfuXtc$6S_|Ij4 za>CVCSbXy-{)g0ie>)tm`M_#H@!x(;LNdk94H81rqkJ#vlJ2oSVSjsT!%7_(5l)5z zTp04dn1d0uO=_$QF>I_?#sDgv78V8u} z2s+&RtOeS29I1}gp7f5E7goLged~o=M;*`;3BV}6Lq1J*ANCpLf>h7WDcTK;Mis5! zOMS{Fk1Z#N$@{irDwq_L67SGf5D1n%Ltlh48=TJ9%o`zB%JM~En1XuprP!s}Z6 zl7crXv#6v6Tkd&^Pb?bQ2oqYom`^$*ES$H=yO4IKda36A4C&wEg9&M%I!n6EdQY0| zi?iZP(`xs&jK_v)mY%s7X{_C)#o?gGMcm!8W&1-QD;oTzWs;APsO8(@DhiX%UO+7ECYvWR$?nY|*r8|I#+yEeb7^z4f z_v~@V^XFqNRV@gQ>u^kOsU5o=+})2j7MjCK*hOSY9nAL-;$_gCq>48uFNFGeyOM0$ zQm5(|H}%9t3i5^?2)$JAmF?dQ#rS+H){H{)y9S(n1jT6*&x!FX(W8I5#hT{DY+Bf!>6d zum2_aAyIkCE^6GLMZ|>u)=`TH#O=@rg%e2LSP7L4Qr4oaEAO|A)uQ%GwX?=O|HKA* zurj-#xxPH`SrSJ(yAz-P8c7&u@2o!HGq z`;8UDwy?O1#b{kWQbE|quuxupt!wBMJ1;aBN?X@I!zDDua*Mi5&@&d~w2VjqpdP6A zVZLP>s|2zu84syGkp5zjhb z&B?U!`9=ETf|LalrImxUA( z?bw$>U!2rp4L!ygRgdh1a58@9tev zU!qz@OAH=o+4ztU{H7-BstPvSJzM3^)s;3q>bWSnSs>>KZ2XY&)R+GDHa!dpvVgPO z_+~PT43MDQ;0KaR7d!CxsY2DLvUD^4MN@%DXJ$&Q8#1|@4>A}yhRNbyD6vO{!*iD5 zlc?dt(mhVC+9O@9;xrqdHr783coeE|KDTW>;fs_)L5r=1+gNB5Z1A#;ub>h^Pa3A zox(8dMigPW&2PE+#b|LqQf|z)l69FwykX==meJ9XG)hnt+=Ni&AMgE)e{6ht%OQAp zdI<0^@Jy68G^KE^jxo#br;oZ;>1UTt9T(l`=@9w6Q8sK++u#Ag46jV4jv;=%2oPka zhRfvO6M3o=fqA;8h~AO((Ocd=!v`3I9zt2fONy+cxfw0dT)d`9WAE8}YR0%v(0!kF zkeO;;-33=86P$UkbfkRn40_XS!oGCt+Y$BOMjKdRQ;S4tiGgbfARxTua{X$MwoGju z7%VlX5}x}02ze%5J&Cx|d(1sgIr~Sh7mIsQn(fF)K-_kH5Rb-!O+dQnRue+4(?{eP3X_`(24xHEvcd*6OFjo z^5_Rhc{mj&iah_2pLNq$Hf&&XM8-tz@#BdsS+0eC`-_7JQ=v~@JNxyUb*v}Vza(LZ z#`tw>fjQKquGhTBo;2NRbLwzTzSgv}H3NX^gV7EG+YyAN1lck=x;JK*INvPbgsZP_ zqN`p`%e4n%L_JB3fd9b3P5S`9nZW6O2d#=SyRHlAJx&)bM0XPZ;++Wubwny{&XVs0 zZV&M(25iNx_?@{WnImg`#hOyZJ0X!&i z4152#r>6tzFYF4U_*b3qD1gI`%=cwc=XIRcS=~aEW!}I|yRp8ROHi0M(h(VLG%{;d z?^S<3to03>BU; zQ}gfMN(uA~a4NsM_s#O2?eyeF!)D%Mj=@KBe1cf9QUAuB!X#VkvcUPCNl~2Gq`~;$ zEx(PO5`#JE+H>$vBONn*i#q}bqOq-}cEyDMI+)Zwg z+uGCDHT~qiBas)<@(CMy_JLzd_!ojR4g*-R!CcYNN>5@#4US!Km$V{y*ckm%z;)vx z$YqH6KkY=(#cPru_O(UMWL6)+-81P;mcQSvh{XJ=hPMoQz%sWTBXvD@aVrt6)UuvJXQjdDOLeYL_H1?~ef*Thp;5K(gQ&4Gtg zz?&5P((=@{Q-WU|KC%i;av#}jot$)9H$qeL>*j45+e-Prn&2&?Q!!qlDQbx59q`R4 z#wlV*6#f}kI6Ar5$FW!?@~`IDI8Do9)3M*EL7hk@GC3SnuXZN9dCW zF&bdJ&qsk5+OiB|0g&UBcdf&GIWk%Me%v*u{`Uqag!estK)Rq(gB*s?)|0>6c2Mfki%!PQYx3lph6?3xSrsw1A{-kZjjm3LQmU2ACv3eVJN^CgiR zVQYx#CAXvp74M=yqNVS6+FUUaibtOg?_3-=xV3YeEFqs)RV*;9`K7io@dVN8(Wyext2s))XYMjizn3Ay-fnsG5P};b$EXAW zMa0W$v~CW_Ig_!)s>3$fKtzp*I>}UNJMz-??o--W;!ECT$osBnMp{rF+>&K@yhDRj zgp+1UE!V(kW`Q^hhrjE^Q%3@pOfQwtpD>2VyuQ_L~{%y z2Q><2h7-&7Y?jS@xSCu%Q9P@=(xA*_bbSccPsqq0f8bXb9FB=ee7_$pmL{!G$o7p3 zEqkQnt>9T#w>fZ`rMI5Ak*Qn0me?kQ74nhMyaB+Yy;yRGqy^C!lvtbJI{ndPEg*V) z7^d>fzuj{u`~5xko%G!{ah*bx-vA;mug^I#f8F?g-VqH<37M!(mzAg(}0>W1eJ}A3hW99;90kA@9?wq;Rfsmt9Te}eS(Q!<|3Y;xy zdG#CSp;{en;Rw~DiT#sI-16y|u~I9JbBD8kTcm-a;xvvgspYj99^+mMu0`(l>Lf#QEYadv5; zn9J6$zA=?R6T&P%K_ z(DbZP*1$Wdw(7~IhH+$vm_@`q3+R=QPO-;+b}Gf1N84|L(hZpsos+iwJc()%EVXl& zOvpc1TV0mPMF77M5I!iKZ8NWHYw5?`cuAeo=qmgs8 zL6vvOa98>U%uxeKH)H&@PC{jDv5Poyn{9VXqOX*VlhO*~)M%%DPk$?-hWUvFogAO> zfIO9=%625LKV9{M^`j9oFb3IF5Vd>qM_VxE>t-8Ovgc4Ir)k4Ne5)11b1JKAdon{) z;C^t7wtCW#nU4x4gwVJUyNp&}uV>ydo?FOTl)fB`*bNfP z-Du@|oq?BHz0m=k96F!&AVPbP~$)=O@OIF;RXg-~K~(})TJ=XlbB2AN_ivPjw& zMM2V)rxYiVk(8;AT7dk+t+#D8b|nE23m;dQ66cI0kk{JZlfB1_N-uwT~ zU+z6Y8(+hza8hg-FFFihQixo16*%9|&?Y%-ZY!PnmrHWzs->mux;RAGQUhz=DsT`L zpk~!?fR{2RHJ)KR$jI0;sIxML3@vk_st4H7_ zp3AM-tM(H2!^OAp5@px#q}SImA-Bzh z{pT*{v}IN!Z zMKU!8Xug!*qKPa0b^42s(_@QBqgWO4&x85@tq4*Gj1lP2Exvaa4L-R0&I8y@5O9$S z>0Q3_|1IRDB#YkK8)lh_yU+o|w@(sO?|HWO7Ht7%ND-W5zQ3&|z^V|(Ete&m7$vWO)%d6)C$1P$QIIR|dyDwypp9G-Y%UQqzVEW;% z4>llUG=!(`XV3)EbNjB1?-KO6K}|uI=061`a5a2{=8EYFGxpq4%d2Ja_zv_VJB}ZqIu}bnLR{yg(?aFZ>3hu6KpxdVU2&=?5c_f@Sb1MZd|H-S-L|zVNxYgIw#Y>VS~#_C(kGciBw^3^pKHFN)|HsSGDDv z>1?XUxd!eZtA;Lb5P&eM=?$jTvu-H^P!Ur=Qp8P&*N^`p80Fsn5q<+9bN>#Vr{On| z7W}U$(@1MBYCGvMqsoh4ora?J_FVwKAHe>>OIX3X%%lon4Zr6vI>HBQjC6feswhn% zX*1`xSK{$uq^S>A@l4<5jahON>OWN*idzP8tIjGAcld(-LcHuzQ5>>>+zw{`BO+b{CX z>4ABUlK#HATBvZby_srza7?6Z<2&GLrhfG*tRq^v0P*4^NO!;>VR%j>zuJi%as5u9 z5-p6RKpP+OABzI}N(y=NAy~yilpLfx8%O{F* zo^xF}e%>{w@q0C={T@)QapXIV6RO|u-=R;KS5y_J2&ul!BXAy-Q0{^9?N96*NekYh za)Ckk$+{!5^Yw`8@b&-Xf*gbr{rp-M2ADI`U*vz0R;V!2M6Z7h!oS{3ueV4n+dplO zQc+7!82PFvz|?Lxw)chqpX-bNpd(g<3IYt;89HJA&w=v3@uFi@{X!($kEvf4@L0M%tLde3&xu4(-05|b-{L+yhnqMOG0G-YA<4?^}kh1 zm*b>`-TnmEscJ@Co)ZX;mLu!Dp^#M{^r5ANt~?2ZGvv{?f`G$J$`9=VPr$RtcXt}q zmt4k>s(skurGCmMJaLK0JUm)w(%5kP@|5x`z5(DQ#xt~|cfmJwafFBV$YgYZ z^ry*rmiz?I3-AzGma8&(-CJNmg2vJOeJE9m}mC*Iv@;}dMnSLCQ z79U9pBq{bd}wVXyRGi77~tBQb<0Tc0$^?@-Fns~3U{HJTnx0j)hnfO&-&{S{ z1^eh|3EXMR>nA_)5gY(W=mQPx0Xu=Z6-RVNyeI=>PL&t*k}JebcSLT?PDfHUTKP4M zyZo(MfuHRI_Z*q*yO5Kcj)xy{JO33w=zw(pX(cTXmq*FWrng*|xLBCI<)^tEs4G4D z`NTaRwJVyrTBZaDj{lNryh$`KI!a^+TvLEoD5J@RD^V>{+DYv{Z8DJJuN1;IM^GSh z>dZeU!CC0F%1=*Q*RsmI^gZcuqlV%>wRux;@;Tp(5z)BWp4<)nJ>n@XI=q z`Qmg~*<_aei!uPnt%?OKq-5qS2gS(>KFQcIeSLnxdi1=?+@^0N`V;8QcqSPvy6iio zGF*x*e##vo|4je)zfi zrg=zfoTI!xc>@-(?8SE1(2KVnUJ@lEzT%(%zGyi zE`Bku`2CLm^UXr$#WQfLNLP~#x{VBNog;k9tDiCUJO6*186fOAf_3mCilG!-2|$W2 zvwj21;Q>NHmpj8_c`WO$0*KD>oeT|5kLM}*o**M!7{5Eri(bREAnw?6b!-7Z1UMRQ zoAH~M_zGsL5sK&IU2^XjDR^{R(%b{04*y0;`yC=;FG$wDHWvP#&xSaRdeY2cdH|J`;_w>oP zV;yQqJTne``jfwe+}6r^C*psqwGhw#5XweRzlJ9Pa+L#(m~#Kz8t)TKUZy<^$#|^? zmYK{X8sV)Co&G=VU3py0>-TR}NgCN&RTOUSMJg3xB1_YTgwb{@Z6ZS>H_=Rlh>A*^ zniiF$g%-kSP(&N1(qdY)Z&GSnXXbaF&$t)&_x(rvdXyovY&*<+!OYn?^dgMy`r?Pkek!{s3aQere+9KDee|Fp9$Y0 zfM9dfBL=g-!~M-AC7cCUVUd5X`IVl|YwWE0Yk(Rdp=c31=>EW`lZK)-pjqHZJ&U7J zpjs+=cCThj^R{ItcF_WsMvn^K$n30iD!rIy$y$#>Htn{@7k!$VYmby5+~`u{yoi6Qn7Y< z(ux_&PH>5u^*&YhlPzABwb|uNk4_&n{0UuVcOXHI<&D82jw5>bic$>b-R6gCcQCVh zl|P7f3PCPbRXIwq*Y4bH?T6cKpx)rN`7o>QxKq`ASi!88-0d#c@&lI zN)cVsf=8~#8mU;{AS>CjT%*J3qIz|H9Gw{%s}l^-l;>3oYv0CEF{txcm$>rC0LLeq zu95s&%X0FNm^0_F(smfA4C@tu#yW1Nwqfo^<}a41)YJZgyOZ(q%>7z%gqndZE92#a8*Xl}ZKYiFJc94#raYEK`$vjz&A z9iQN|`Z8uinHgpMIV0ds1O&@KlKU6nVjxx)pSR^t-etjsG>=2kW5}qE1~%E6kl905 ztqK+=i(xeGzD*^vx(*vU-EGUsyj>C}+?>0}lugIR+RNlP?&gH`C$-ow*3IsL$WtX$ zS}@3BaQK}q>ezs>x^S`3t8QsKrKhc^a1z{7m2)!UYoL##gK0?J)AV|1`_wm767L=9 zrAfX$K1|;tnYYp4PT#hrH4kFxY1^~u_K6bAvQh4`azA~t_QXn9lgfAo!IIR;oZ4X> zq!<9;08+u6rD7TX0G}tkt}bgDG2v@?B>sEVr&fyhrI zum32KHMEC7JN=AINt>|@03mdpT@E)f-M~A>7U_+6wH@46`MQ!X)<5^IDuk4Lq|~@e zV%hCDUC!uGErG=)6Uv&)102NPiD70DgwAr_tQd5+h#10qQ8LY7C&OO*K8;vC{3y{l z|FC0M1m%s*Aan;zd$qua;40lO$U_|+VaHs!B6^ROE<$Rt47@x69 z`nfn~&gp8`=F&r-t{k6`B=NBg@C4vGCayadA;VcBWCaxozL(NGDp)mksTUq)TED-` z_Ok-YS8qjXI>3Cp_!~u~^45ByF>8bSSGejoga_q)N1Zyr32wTX9BPMLiMK?Z?+us8 zx%@dRKw!2J4f1!~Q(9x`#ZhSaEusQ^F zPFj&MYV$m%>tz==1fa7;DY4}*2x&-7K1tlQvnZh^^)&iqTJH>=OWB_^ae{3CN1TLkbA#BbKt#xW08vJnyjlyZj~B<;j zuV3LqsQZvVeZcg)5!JY~kv8OdT=HB*yu;pJrys+ParjziBFECzRp+_#hl~NA3rUaV z-XeNfQ{qsR4BMpq+lS;mvq;N(3kMIyE=hXid2lz~Oo&lCkPRu2MweS7t!a0^xbk^I z=!Qt87wOwxnE_35fY_Xq;7DEKUwKT|q-_o-$$m3*Q_G5q^O$ze^*P*LnPz!l_|(!@ zbk~!Z9Dhh~B0(vkJmYpfv1acA;>W>lxuy0VxplOwu|-WK=S<$8`YSPQPfQO#!-$L{ zP(uJ?w%{~@rAc_mEl{R!i3J0TsFqV2pt}x%Lu9$9PEpwEOwJKyi#%yK0Fo`EsW~-k z`vopCuwY1zfW1;IPAceJ>He_EtUHNT+_9?Mt*yY_BxR|ARaV4OK?cSuQ1Li0E)i8i z9!#Ufkr16RTXagrc61e6Y+5h1?}A#*lY4RdxE=02P3M0z)3xMsiqXedkiHl~_=F4R z4-aE#Ld>YQfW%}`^iz%6{>gzg=uu8=3yUYXXAt`_5*M^I0Rhkh#cn8uYKelF?Xtp` z%{HBD0qaF<36uA6G4*cx8d*!(n`oWtd*HFZHMd0Rnj)lsz?L^6TmC!$HFN1sE6s!u zqLkmw=tWJb=QATO@1D9bhvi31uVr8L`1HHQ(c|y_dV6fQOvHuJ%Y89mN#+f5RZ1NZ zF$PskEez@voqKt06;_BK0)Zr+oeOWNbzRay&K~73{VKC&SZl@D}udE&T z2KhR&Wq7ZMza42PpMTKm?$6;|)#)gN_FU8Q&g@g|G~DwV3c)amO+d9+=q776a>^>9 z%Rpr95(NT}HzW~_+P2-e!!u^bpS?SggXN4_Av@~k{kelAj$9xVj@L~!KA?&#&O~BR ziNdZ%*W6RnPF21QM^Ymn-!G|(SHU1(BZP`{fnye2>aDu=d~En9*3a zpO!eIwOt((f+{X&O!v4rsRu|Nc-t`mraKkK?j)~;1edxCe8AWDrIllsJY|w>o#IJZ zm*VWP#;T$d2s;FjHbc>~%7|*}Ie05fk_Ld#(tPddQNwkiqn%)zS9|7u$gVQE?eMYk zSY#z(Y}N2cw^uw6?gO)AGEtTYR~icl<_UZ{16xl)gq!Y2B?f$U^z!drwZpZqmTq}z zdK2Z0ZpPHY)clufB8TlmvYeTL+eQf8XX7<9%GRJdEL*MJ4NoF!I7gIt7%al86bUV$ z33WVZ>&MiT@drwBo0^Tul^NJ->ZLol79Z@oPHrylxDu>B%sc&M>-p4GRo(UbwD#5{ zhsZu@3t91QM{ZOr!_u+Vd~{6b%nJ!EgUnNnAGuIZgbtkH0JqU>F?im%sR!WV{0!D`9LxFesx@E&?ys+^3JQF5NxO0k-9jg^}l=9)566Z}byaHruJ z(85Sd>eO)h0}TVyE_uH##=0fr6Iz70WcJ3+#V0?8-fGCpnaW~6BTb)}UF)|;mD2jc zG9;H=&pD@KAZ_nE)i#rLptC1)Ec!D|%+4D_TsRU4Lr_|!0=wT!K?*K}54Jig z4x^6Vg?-2VV&}08WR8s;w(znuFQchG zar&61Gsi|r7-pBk%M-j&SlU&Rf#vBHvGnSP7^`vL6AlA53eSs5e(yi|syuu__M1Ro z?pmXOwV0$tU0^ z!s>OPV+2^WXTKXX69a>qBXZVGGeP{IzJB}t2f2^Dwh@#m&&a%+)cbSMnF9oZVGwfO z>-Zh)?ZF9E@5^x+RhD1!5w+XktKUbYesTP+;d$}JV){bZB zD`q1i3#5MoNnhe+876()?R2*2c37-s(W)vRqgxU=yqjScE{JpZ=AYr&CM#l>4#kz&=yw&Kjeg$ z#FkN<6Buj6fI?i`rd5ec6ir3O$Hr+olG7VTYzPV)KRs{0=3t?VZRvM3IB(Z#H??=xcjhQx*q?nxWXS;CS3QIcZg*Y z@LxSM&tra#{!%$oaP<7Q>H@E+h{%84aQDWOYc+j?2iv37u=xj=m} z)i=M%W;)GG<{Ku2I#|?6bpKFNKHo8&-kuO0J)czFDpmbCFmPgSP3y(2HBWXK{ZZcU zzu@Yv7xLSz9B<5r5*sObBQ_^a^JM?YG>!bmue_!V+m49I(~l=|Gk3>67^qojzppnp zTVrIX%Qqr(yi#=nyV+p-B0Cv-)Ud8XNOUTar|B8H?FZlV4oIK-DA|BUSR%WhSg?9b zh@ZK@4D{>ff`xsD$l z(=XTY%XRQ2@ar=C(JuZ=)KMH?;VA$J!`R4h&o@LPA@B=`lThzn^6X_|{~yn) zlnZh5DP*InhdYD<^vhAj&5tU>a2DjnG#9aXyp^XM+mCC6whO?Q@m6!Atj&L({XYoP BXNCX( From feb64bddde9024d0b818f278996dc38ba7312929 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 08:26:27 +0100 Subject: [PATCH 25/48] Cleaning ios appyx-interactions sample --- .../ios/src/iosMain/kotlin/AppyxSample.kt | 22 +- .../iosMain/kotlin/BackStackParallaxSample.kt | 1 - .../ios/src/iosMain/kotlin/main.ios.kt | 2 - .../ios/src/iosMain/kotlin/theme/Colors.kt | 14 + .../iosMain/kotlin/theme/MaterialColors.kt | 309 ------------------ .../ios/src/iosMain/kotlin/theme/Shapes.kt | 11 - 6 files changed, 18 insertions(+), 341 deletions(-) delete mode 100644 demos/appyx-interactions/ios/src/iosMain/kotlin/theme/MaterialColors.kt delete mode 100644 demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Shapes.kt diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt index 766ee8b2e..0291d4b8b 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.draw.clipToBounds import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.bumble.appyx.interactions.core.DraggableAppyxComponent +import com.bumble.appyx.interactions.core.AppyxComponent import com.bumble.appyx.interactions.core.model.BaseAppyxComponent import com.bumble.appyx.interactions.core.ui.helper.AppyxComponentSetup import com.bumble.appyx.interactions.core.ui.output.ElementUiModel @@ -43,21 +43,12 @@ internal sealed class InteractionTarget { } } -private val containerShape = RoundedCornerShape(8) - -internal enum class ChildSize { - SMALL, - MEDIUM, - MAX, -} - @Composable internal fun AppyxSample( screenWidthPx: Int, screenHeightPx: Int, appyxComponent: BaseAppyxComponent, actions: Map Unit>, - childSize: ChildSize = ChildSize.SMALL, modifier: Modifier = Modifier, ) { AppyxComponentSetup(appyxComponent) @@ -66,16 +57,13 @@ internal fun AppyxSample( modifier = modifier, horizontalAlignment = CenterHorizontally, ) { - DraggableAppyxComponent( + AppyxComponent( appyxComponent = appyxComponent, screenWidthPx = screenWidthPx, screenHeightPx = screenHeightPx, modifier = Modifier.weight(0.9f).clipToBounds() ) { elementUiModel -> - ModalUi( - elementUiModel = elementUiModel, - isChildMaxSize = childSize == ChildSize.MAX, - ) + ModalUi(elementUiModel = elementUiModel) } Row( horizontalArrangement = Arrangement.SpaceEvenly, @@ -94,7 +82,6 @@ internal fun AppyxSample( @Composable internal fun ModalUi( elementUiModel: ElementUiModel, - isChildMaxSize: Boolean, modifier: Modifier = Modifier ) { val colors = listOf( @@ -117,8 +104,7 @@ internal fun ModalUi( .background( color = when (val target = elementUiModel.element.interactionTarget) { is Element -> colors.getOrElse(target.idx % colors.size) { Color.Cyan } - }, - shape = RoundedCornerShape(if (isChildMaxSize) 0 else 8) + } ) ) { Text( diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt index ca9fc6098..e2cbc8ecb 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt @@ -43,7 +43,6 @@ internal fun BackStackParallaxSample( screenHeightPx = screenHeightPx, appyxComponent = backStack as BaseAppyxComponent, actions = actions, - childSize = ChildSize.MAX, modifier = modifier, ) } diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt index 620766628..e0810faa2 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt @@ -5,7 +5,6 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.window.ComposeUIViewController import theme.DarkColorPalette -import theme.shapes fun MainViewController() = ComposeUIViewController { AppyxTheme { @@ -25,7 +24,6 @@ fun MainViewController() = ComposeUIViewController { private fun AppyxTheme(content: @Composable () -> Unit) { MaterialTheme( colors = DarkColorPalette, - shapes = shapes, content = content ) } \ No newline at end of file diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt index cc516d953..838abc859 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt @@ -7,6 +7,20 @@ val appyx_yellow1 = Color(0xFFFFC629) val appyx_yellow2 = Color(0xFFFFE54A) val appyx_dark = Color(0xFF1F2126) val appyx_bright = Color(0xFFFFFFFF) +val color_primary = Color(0xFFFFC629) + +val md_indigo_500 = Color(0xFF3F51B5) +val md_blue_500 = Color(0xFF2196F3) +val md_light_blue_500 = Color(0xFF03A9F4) +val md_amber_500 = Color(0xFFFFC107) +val md_grey_500 = Color(0xFF9E9E9E) +val md_blue_grey_500 = Color(0xFF607D8B) +val md_cyan_500 = Color(0xFF00BCD4) +val md_teal_500 = Color(0xFF009688) +val md_light_green_500 = Color(0xFF8BC34A) +val md_lime_500 = Color(0xFFCDDC39) +val md_pink_500 = Color(0xFFE91E63) + val DarkColorPalette = darkColors( primary = appyx_yellow1, diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/MaterialColors.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/MaterialColors.kt deleted file mode 100644 index c4eab6977..000000000 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/MaterialColors.kt +++ /dev/null @@ -1,309 +0,0 @@ -package theme - -import androidx.compose.ui.graphics.Color - -// reds -val md_red_50 = Color(0xFFFFEBEE) -val md_red_100 = Color(0xFFFFCDD2) -val md_red_200 = Color(0xFFEF9A9A) -val md_red_300 = Color(0xFFE57373) -val md_red_400 = Color(0xFFEF5350) -val md_red_500 = Color(0xFFF44336) -val md_red_600 = Color(0xFFE53935) -val md_red_700 = Color(0xFFD32F2F) -val md_red_800 = Color(0xFFC62828) -val md_red_900 = Color(0xFFB71C1C) -val md_red_A100 = Color(0xFFFF8A80) -val md_red_A200 = Color(0xFFFF5252) -val md_red_A400 = Color(0xFFFF1744) -val md_red_A700 = Color(0xFFD50000) - -// pinks -val md_pink_50 = Color(0xFFFCE4EC) -val md_pink_100 = Color(0xFFF8BBD0) -val md_pink_200 = Color(0xFFF48FB1) -val md_pink_300 = Color(0xFFF06292) -val md_pink_400 = Color(0xFFEC407A) -val md_pink_500 = Color(0xFFE91E63) -val md_pink_600 = Color(0xFFD81B60) -val md_pink_700 = Color(0xFFC2185B) -val md_pink_800 = Color(0xFFAD1457) -val md_pink_900 = Color(0xFF880E4F) -val md_pink_A100 = Color(0xFFFF80AB) -val md_pink_A200 = Color(0xFFFF4081) -val md_pink_A400 = Color(0xFFF50057) -val md_pink_A700 = Color(0xFFC51162) - -// purples -val md_purple_50 = Color(0xFFF3E5F5) -val md_purple_100 = Color(0xFFE1BEE7) -val md_purple_200 = Color(0xFFCE93D8) -val md_purple_300 = Color(0xFFBA68C8) -val md_purple_400 = Color(0xFFAB47BC) -val md_purple_500 = Color(0xFF9C27B0) -val md_purple_600 = Color(0xFF8E24AA) -val md_purple_700 = Color(0xFF7B1FA2) -val md_purple_800 = Color(0xFF6A1B9A) -val md_purple_900 = Color(0xFF4A148C) -val md_purple_A100 = Color(0xFFEA80FC) -val md_purple_A200 = Color(0xFFE040FB) -val md_purple_A400 = Color(0xFFD500F9) -val md_purple_A700 = Color(0xFFAA00FF) - -// deep purples -val md_deep_purple_50 = Color(0xFFEDE7F6) -val md_deep_purple_100 = Color(0xFFD1C4E9) -val md_deep_purple_200 = Color(0xFFB39DDB) -val md_deep_purple_300 = Color(0xFF9575CD) -val md_deep_purple_400 = Color(0xFF7E57C2) -val md_deep_purple_500 = Color(0xFF673AB7) -val md_deep_purple_600 = Color(0xFF5E35B1) -val md_deep_purple_700 = Color(0xFF512DA8) -val md_deep_purple_800 = Color(0xFF4527A0) -val md_deep_purple_900 = Color(0xFF311B92) -val md_deep_purple_A100 = Color(0xFFB388FF) -val md_deep_purple_A200 = Color(0xFF7C4DFF) -val md_deep_purple_A400 = Color(0xFF651FFF) -val md_deep_purple_A700 = Color(0xFF6200EA) - -// indigo -val md_indigo_50 = Color(0xFFE8EAF6) -val md_indigo_100 = Color(0xFFC5CAE9) -val md_indigo_200 = Color(0xFF9FA8DA) -val md_indigo_300 = Color(0xFF7986CB) -val md_indigo_400 = Color(0xFF5C6BC0) -val md_indigo_500 = Color(0xFF3F51B5) -val md_indigo_600 = Color(0xFF3949AB) -val md_indigo_700 = Color(0xFF303F9F) -val md_indigo_800 = Color(0xFF283593) -val md_indigo_900 = Color(0xFF1A237E) -val md_indigo_A100 = Color(0xFF8C9EFF) -val md_indigo_A200 = Color(0xFF536DFE) -val md_indigo_A400 = Color(0xFF3D5AFE) -val md_indigo_A700 = Color(0xFF304FFE) - -// blue -val md_blue_50 = Color(0xFFE3F2FD) -val md_blue_100 = Color(0xFFBBDEFB) -val md_blue_200 = Color(0xFF90CAF9) -val md_blue_300 = Color(0xFF64B5F6) -val md_blue_400 = Color(0xFF42A5F5) -val md_blue_500 = Color(0xFF2196F3) -val md_blue_600 = Color(0xFF1E88E5) -val md_blue_700 = Color(0xFF1976D2) -val md_blue_800 = Color(0xFF1565C0) -val md_blue_900 = Color(0xFF0D47A1) -val md_blue_A100 = Color(0xFF82B1FF) -val md_blue_A200 = Color(0xFF448AFF) -val md_blue_A400 = Color(0xFF2979FF) -val md_blue_A700 = Color(0xFF2962FF) - -// light blue -val md_light_blue_50 = Color(0xFFE1F5FE) -val md_light_blue_100 = Color(0xFFB3E5FC) -val md_light_blue_200 = Color(0xFF81D4fA) -val md_light_blue_300 = Color(0xFF4fC3F7) -val md_light_blue_400 = Color(0xFF29B6FC) -val md_light_blue_500 = Color(0xFF03A9F4) -val md_light_blue_600 = Color(0xFF039BE5) -val md_light_blue_700 = Color(0xFF0288D1) -val md_light_blue_800 = Color(0xFF0277BD) -val md_light_blue_900 = Color(0xFF01579B) -val md_light_blue_A100 = Color(0xFF80D8FF) -val md_light_blue_A200 = Color(0xFF40C4FF) -val md_light_blue_A400 = Color(0xFF00B0FF) -val md_light_blue_A700 = Color(0xFF0091EA) - -// cyan -val md_cyan_50 = Color(0xFFE0F7FA) -val md_cyan_100 = Color(0xFFB2EBF2) -val md_cyan_200 = Color(0xFF80DEEA) -val md_cyan_300 = Color(0xFF4DD0E1) -val md_cyan_400 = Color(0xFF26C6DA) -val md_cyan_500 = Color(0xFF00BCD4) -val md_cyan_600 = Color(0xFF00ACC1) -val md_cyan_700 = Color(0xFF0097A7) -val md_cyan_800 = Color(0xFF00838F) -val md_cyan_900 = Color(0xFF006064) -val md_cyan_A100 = Color(0xFF84FFFF) -val md_cyan_A200 = Color(0xFF18FFFF) -val md_cyan_A400 = Color(0xFF00E5FF) -val md_cyan_A700 = Color(0xFF00B8D4) - -// teal -val md_teal_50 = Color(0xFFE0F2F1) -val md_teal_100 = Color(0xFFB2DFDB) -val md_teal_200 = Color(0xFF80CBC4) -val md_teal_300 = Color(0xFF4DB6AC) -val md_teal_400 = Color(0xFF26A69A) -val md_teal_500 = Color(0xFF009688) -val md_teal_600 = Color(0xFF00897B) -val md_teal_700 = Color(0xFF00796B) -val md_teal_800 = Color(0xFF00695C) -val md_teal_900 = Color(0xFF004D40) -val md_teal_A100 = Color(0xFFA7FFEB) -val md_teal_A200 = Color(0xFF64FFDA) -val md_teal_A400 = Color(0xFF1DE9B6) -val md_teal_A700 = Color(0xFF00BFA5) - -// green -val md_green_50 = Color(0xFFE8F5E9) -val md_green_100 = Color(0xFFC8E6C9) -val md_green_200 = Color(0xFFA5D6A7) -val md_green_300 = Color(0xFF81C784) -val md_green_400 = Color(0xFF66BB6A) -val md_green_500 = Color(0xFF4CAF50) -val md_green_600 = Color(0xFF43A047) -val md_green_700 = Color(0xFF388E3C) -val md_green_800 = Color(0xFF2E7D32) -val md_green_900 = Color(0xFF1B5E20) -val md_green_A100 = Color(0xFFB9F6CA) -val md_green_A200 = Color(0xFF69F0AE) -val md_green_A400 = Color(0xFF00E676) -val md_green_A700 = Color(0xFF00C853) - -// light green -val md_light_green_50 = Color(0xFFF1F8E9) -val md_light_green_100 = Color(0xFFDCEDC8) -val md_light_green_200 = Color(0xFFC5E1A5) -val md_light_green_300 = Color(0xFFAED581) -val md_light_green_400 = Color(0xFF9CCC65) -val md_light_green_500 = Color(0xFF8BC34A) -val md_light_green_600 = Color(0xFF7CB342) -val md_light_green_700 = Color(0xFF689F38) -val md_light_green_800 = Color(0xFF558B2F) -val md_light_green_900 = Color(0xFF33691E) -val md_light_green_A100 = Color(0xFFCCFF90) -val md_light_green_A200 = Color(0xFFB2FF59) -val md_light_green_A400 = Color(0xFF76FF03) -val md_light_green_A700 = Color(0xFF64DD17) - -// lime -val md_lime_50 = Color(0xFFF9FBE7) -val md_lime_100 = Color(0xFFF0F4C3) -val md_lime_200 = Color(0xFFE6EE9C) -val md_lime_300 = Color(0xFFDCE775) -val md_lime_400 = Color(0xFFD4E157) -val md_lime_500 = Color(0xFFCDDC39) -val md_lime_600 = Color(0xFFC0CA33) -val md_lime_700 = Color(0xFFA4B42B) -val md_lime_800 = Color(0xFF9E9D24) -val md_lime_900 = Color(0xFF827717) -val md_lime_A100 = Color(0xFFF4FF81) -val md_lime_A200 = Color(0xFFEEFF41) -val md_lime_A400 = Color(0xFFC6FF00) -val md_lime_A700 = Color(0xFFAEEA00) - -// yellow -val md_yellow_50 = Color(0xFFFFFDE7) -val md_yellow_100 = Color(0xFFFFF9C4) -val md_yellow_200 = Color(0xFFFFF590) -val md_yellow_300 = Color(0xFFFFF176) -val md_yellow_400 = Color(0xFFFFEE58) -val md_yellow_500 = Color(0xFFFFEB3B) -val md_yellow_600 = Color(0xFFFDD835) -val md_yellow_700 = Color(0xFFFBC02D) -val md_yellow_800 = Color(0xFFF9A825) -val md_yellow_900 = Color(0xFFF57F17) -val md_yellow_A100 = Color(0xFFFFFF82) -val md_yellow_A200 = Color(0xFFFFFF00) -val md_yellow_A400 = Color(0xFFFFEA00) -val md_yellow_A700 = Color(0xFFFFD600) - -// amber -val md_amber_50 = Color(0xFFFFF8E1) -val md_amber_100 = Color(0xFFFFECB3) -val md_amber_200 = Color(0xFFFFE082) -val md_amber_300 = Color(0xFFFFD54F) -val md_amber_400 = Color(0xFFFFCA28) -val md_amber_500 = Color(0xFFFFC107) -val md_amber_600 = Color(0xFFFFB300) -val md_amber_700 = Color(0xFFFFA000) -val md_amber_800 = Color(0xFFFF8F00) -val md_amber_900 = Color(0xFFFF6F00) -val md_amber_A100 = Color(0xFFFFE57F) -val md_amber_A200 = Color(0xFFFFD740) -val md_amber_A400 = Color(0xFFFFC400) -val md_amber_A700 = Color(0xFFFFAB00) - -// orange -val md_orange_50 = Color(0xFFFFF3E0) -val md_orange_100 = Color(0xFFFFE0B2) -val md_orange_200 = Color(0xFFFFCC80) -val md_orange_300 = Color(0xFFFFB74D) -val md_orange_400 = Color(0xFFFFA726) -val md_orange_500 = Color(0xFFFF9800) -val md_orange_600 = Color(0xFFFB8C00) -val md_orange_700 = Color(0xFFF57C00) -val md_orange_800 = Color(0xFFEF6C00) -val md_orange_900 = Color(0xFFE65100) -val md_orange_A100 = Color(0xFFFFD180) -val md_orange_A200 = Color(0xFFFFAB40) -val md_orange_A400 = Color(0xFFFF9100) -val md_orange_A700 = Color(0xFFFF6D00) - -// deep orange -val md_deep_orange_50 = Color(0xFFFBE9A7) -val md_deep_orange_100 = Color(0xFFFFCCBC) -val md_deep_orange_200 = Color(0xFFFFAB91) -val md_deep_orange_300 = Color(0xFFFF8A65) -val md_deep_orange_400 = Color(0xFFFF7043) -val md_deep_orange_500 = Color(0xFFFF5722) -val md_deep_orange_600 = Color(0xFFF4511E) -val md_deep_orange_700 = Color(0xFFE64A19) -val md_deep_orange_800 = Color(0xFFD84315) -val md_deep_orange_900 = Color(0xFFBF360C) -val md_deep_orange_A100 = Color(0xFFFF9E80) -val md_deep_orange_A200 = Color(0xFFFF6E40) -val md_deep_orange_A400 = Color(0xFFFF3D00) -val md_deep_orange_A700 = Color(0xFFDD2600) - -// brown -val md_brown_50 = Color(0xFFEFEBE9) -val md_brown_100 = Color(0xFFD7CCC8) -val md_brown_200 = Color(0xFFBCAAA4) -val md_brown_300 = Color(0xFFA1887F) -val md_brown_400 = Color(0xFF8D6E63) -val md_brown_500 = Color(0xFF795548) -val md_brown_600 = Color(0xFF6D4C41) -val md_brown_700 = Color(0xFF5D4037) -val md_brown_800 = Color(0xFF4E342E) -val md_brown_900 = Color(0xFF3E2723) - -// grey -val md_grey_50 = Color(0xFFFAFAFA) -val md_grey_100 = Color(0xFFF5F5F5) -val md_grey_200 = Color(0xFFEEEEEE) -val md_grey_300 = Color(0xFFE0E0E0) -val md_grey_400 = Color(0xFFBDBDBD) -val md_grey_500 = Color(0xFF9E9E9E) -val md_grey_600 = Color(0xFF757575) -val md_grey_700 = Color(0xFF616161) -val md_grey_800 = Color(0xFF424242) -val md_grey_900 = Color(0xFF212121) -val md_black_1000 = Color(0xFF000000) -val md_white_1000 = Color(0xFFffffff) - -// blue grey -val md_blue_grey_50 = Color(0xFFECEFF1) -val md_blue_grey_100 = Color(0xFFCFD8DC) -val md_blue_grey_200 = Color(0xFFB0BBC5) -val md_blue_grey_300 = Color(0xFF90A4AE) -val md_blue_grey_400 = Color(0xFF78909C) -val md_blue_grey_500 = Color(0xFF607D8B) -val md_blue_grey_600 = Color(0xFF546E7A) -val md_blue_grey_700 = Color(0xFF455A64) -val md_blue_grey_800 = Color(0xFF37474F) -val md_blue_grey_900 = Color(0xFF263238) - -//appyx colors -val color_bright = Color(0xFFFFFFFF) -val color_dark = Color(0xFF353535) -val color_primary = Color(0xFFFFC629) -val color_secondary = Color(0xFFFE9763) -val color_tertiary = Color(0xFF855353) -val color_neutral1 = Color(0xFFD2D7DF) -val color_neutral2 = Color(0xFF8A897C) -val color_neutral3 = Color(0xFFD9E8ED) -val color_neutral4 = Color(0xFFBEA489) - diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Shapes.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Shapes.kt deleted file mode 100644 index 8a1fac3a1..000000000 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Shapes.kt +++ /dev/null @@ -1,11 +0,0 @@ -package theme - -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Shapes -import androidx.compose.ui.unit.dp - -val shapes = Shapes( - small = RoundedCornerShape(4.dp), - medium = RoundedCornerShape(4.dp), - large = RoundedCornerShape(0.dp) -) \ No newline at end of file From 98137ed2ae815fe805da9da1ff0af86d87b11778 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 09:07:32 +0100 Subject: [PATCH 26/48] Renamed IosNodeHost --- .../integration/{IOSNodeHost.kt => IosNodeHost.kt} | 5 +---- demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) rename appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/{IOSNodeHost.kt => IosNodeHost.kt} (93%) diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt similarity index 93% rename from appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt rename to appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt index 74d985d56..0d7a6971e 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IOSNodeHost.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt @@ -7,9 +7,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.bumble.appyx.navigation.integration.NodeFactory -import com.bumble.appyx.navigation.integration.NodeHost -import com.bumble.appyx.navigation.integration.ScreenSize import com.bumble.appyx.navigation.integrationpoint.IntegrationPoint import com.bumble.appyx.navigation.node.Node import com.bumble.appyx.navigation.platform.LocalOnBackPressedDispatcherOwner @@ -24,7 +21,7 @@ import kotlinx.coroutines.launch import platform.UIKit.UIScreen @Composable -fun IOSNodeHost( +fun IosNodeHost( modifier: Modifier = Modifier, onBackPressedEvents: Flow, integrationPoint: IntegrationPoint = remember { MainIntegrationPoint() }, diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index 6fa7b6465..8ca0dbfa4 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -14,7 +14,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.compose.ui.window.ComposeUIViewController import androidx.compose.ui.zIndex -import com.bumble.appyx.navigation.integration.IOSNodeHost +import com.bumble.appyx.navigation.integration.IosNodeHost import com.bumble.appyx.navigation.node.container.ContainerNode import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme import kotlinx.coroutines.CoroutineScope @@ -36,7 +36,7 @@ fun MainViewController() = ComposeUIViewController { BackButton(coroutineScope) Box(modifier = Modifier.fillMaxSize()) { - IOSNodeHost( + IosNodeHost( modifier = Modifier, onBackPressedEvents = backEvents.receiveAsFlow() ) { buildContext -> From 4f2936bb38eb21b880b19d14a8dc451e1164f249 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 11:27:58 +0100 Subject: [PATCH 27/48] Revert change --- .../appyx/components/backstack/ui/parallax/BackStackParallax.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt index fd0d882f0..9b6bb61b3 100644 --- a/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt +++ b/appyx-components/stable/backstack/common/src/commonMain/kotlin/com/bumble/appyx/components/backstack/ui/parallax/BackStackParallax.kt @@ -95,4 +95,4 @@ class BackStackParallax( } } } -} \ No newline at end of file +} From f36aa77c69c1236143f49cb30d7dee0665e11daf Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 11:51:28 +0100 Subject: [PATCH 28/48] Updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e8dc7362..b92f662f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ ### Added - [#579](https://github.com/bumble-tech/appyx/pull/579) – Expose `AndroidLifecycle` in `PlatformLifecycleRegistry` for Android +- [#601](https://github.com/bumble-tech/appyx/pull/601) – Support iOS platform for **:appyx-navigation** & adding sample iOS targets in **:demos:appyx-navigation** & **:demos:appyx-interactions** ### Fixed From c3af4bb02ab515033b1ee289ce8e6774df1e0524 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 13:29:54 +0100 Subject: [PATCH 29/48] Updated doc --- documentation/navigation/multiplatform.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/navigation/multiplatform.md b/documentation/navigation/multiplatform.md index 614f3d93a..dc9eef8b0 100644 --- a/documentation/navigation/multiplatform.md +++ b/documentation/navigation/multiplatform.md @@ -185,7 +185,7 @@ val backEvents: Channel = Channel() fun MainViewController() = ComposeUIViewController { YourAppTheme { - IOSNodeHost( + IosNodeHost( modifier = Modifier, onBackPressedEvents = backEvents.receiveAsFlow() ) { From 0efed6daba19194bc01017ec3ba62c446c52d239 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 14:33:30 +0100 Subject: [PATCH 30/48] Clarified back behaviour on documentation --- documentation/navigation/multiplatform.md | 29 ++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/documentation/navigation/multiplatform.md b/documentation/navigation/multiplatform.md index dc9eef8b0..d15999693 100644 --- a/documentation/navigation/multiplatform.md +++ b/documentation/navigation/multiplatform.md @@ -187,6 +187,7 @@ fun MainViewController() = ComposeUIViewController { YourAppTheme { IosNodeHost( modifier = Modifier, + // See back handling section in the docs below! onBackPressedEvents = backEvents.receiveAsFlow() ) { RootNode( @@ -196,12 +197,34 @@ fun MainViewController() = ComposeUIViewController { } } +@Composable +private fun BackButton(coroutineScope: CoroutineScope) { + IconButton( + onClick = { + coroutineScope.launch { + backEvents.send(Unit) + } + }, + modifier = Modifier.zIndex(99f) + ) { + Icon( + imageVector = Icons.Default.ArrowBack, + tint = Color.White, + contentDescription = "Go Back" + ) + } +} + ``` ## Back handling +### Android + On Android back events are handled automatically. +### Desktop & Web + In the above [desktop](#desktop) and [web](#web) examples there is a reference to an `onKeyEvent` method. You can configure any `KeyEvent` to trigger a back event via the events `Channel`. In this example the `OnBackPressed` event is launched when the backspace key is pressed down: @@ -223,5 +246,9 @@ private fun onKeyEvent( else -> false } ``` -For [iOS](#ios), you can send an event to the `backEvents` Channel to perform the standard back action as on other platforms. +### iOS + +On [iOS](#ios), you can design a user interface element to enable back navigation, similar to how it's done on other platforms. +In the example mentioned earlier, we create a Composable component `BackButton` that includes an `ArrowBack` icon. +When this button is clicked, it triggers the back event through the `backEvents` `Channel`. From 54b28fe511966ddf78808952f5576face2dbbac6 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 14:33:55 +0100 Subject: [PATCH 31/48] Added content description to back button --- demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index 8ca0dbfa4..1e57ce087 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -50,7 +50,6 @@ fun MainViewController() = ComposeUIViewController { } } - @Composable private fun BackButton(coroutineScope: CoroutineScope) { IconButton( @@ -64,7 +63,7 @@ private fun BackButton(coroutineScope: CoroutineScope) { Icon( imageVector = Icons.Default.ArrowBack, tint = Color.White, - contentDescription = "" + contentDescription = "Go Back", ) } } From 7fe77da857cad867740128ebdc86b1a54aa81dc5 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 14:39:01 +0100 Subject: [PATCH 32/48] Cleaning --- .../com/bumble/appyx/navigation/integration/IosNodeHost.kt | 2 +- .../appyx/navigation/integration/MainIntegrationPoint.kt | 2 +- .../bumble/appyx/navigation/platform/PlatformBackHandler.kt | 2 +- .../appyx/navigation/platform/PlatformLifecycleRegistry.kt | 2 +- demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt | 2 +- .../appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt | 2 +- demos/appyx-interactions/iosApp/iosApp/ContentView.swift | 3 --- demos/appyx-navigation/iosApp/iosApp/ContentView.swift | 3 --- .../kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt | 2 +- 9 files changed, 7 insertions(+), 13 deletions(-) diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt index 0d7a6971e..02cb3e7bd 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt @@ -73,4 +73,4 @@ private fun Double.pixelsToDp(): Double { val mainScreen = UIScreen.mainScreen val scale = mainScreen.scale return this / scale -} \ No newline at end of file +} diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt index 7faa999e9..fa4e777ba 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt @@ -9,4 +9,4 @@ class MainIntegrationPoint : IntegrationPoint() { override fun onRootFinished() {} override fun handleUpNavigation() {} -} \ No newline at end of file +} diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt index 7921e6925..46113be27 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformBackHandler.kt @@ -53,4 +53,4 @@ actual fun PlatformBackHandler( cancellable.cancel() } } -} \ No newline at end of file +} diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index e5fe398e2..6e9b0c471 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -85,4 +85,4 @@ actual class PlatformLifecycleRegistry : Lifecycle { actual fun create(owner: CommonLifecycleOwner): PlatformLifecycleRegistry = PlatformLifecycleRegistry() } -} \ No newline at end of file +} diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt index e0810faa2..a868e4645 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt @@ -26,4 +26,4 @@ private fun AppyxTheme(content: @Composable () -> Unit) { colors = DarkColorPalette, content = content ) -} \ No newline at end of file +} diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt index 838abc859..a0140715f 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/theme/Colors.kt @@ -32,4 +32,4 @@ val DarkColorPalette = darkColors( onSecondary = appyx_bright, onBackground = appyx_bright, onSurface = appyx_bright, -) \ No newline at end of file +) diff --git a/demos/appyx-interactions/iosApp/iosApp/ContentView.swift b/demos/appyx-interactions/iosApp/iosApp/ContentView.swift index 03488f180..0c3a964e4 100644 --- a/demos/appyx-interactions/iosApp/iosApp/ContentView.swift +++ b/demos/appyx-interactions/iosApp/iosApp/ContentView.swift @@ -16,6 +16,3 @@ struct ContentView: View { .ignoresSafeArea(.all, edges: .bottom) // Compose has own keyboard handler } } - - - diff --git a/demos/appyx-navigation/iosApp/iosApp/ContentView.swift b/demos/appyx-navigation/iosApp/iosApp/ContentView.swift index 064196ab4..4fff14055 100644 --- a/demos/appyx-navigation/iosApp/iosApp/ContentView.swift +++ b/demos/appyx-navigation/iosApp/iosApp/ContentView.swift @@ -16,6 +16,3 @@ struct ContentView: View { .ignoresSafeArea(.all) } } - - - diff --git a/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt b/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt index a260e76be..eef475202 100644 --- a/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt +++ b/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt @@ -5,4 +5,4 @@ actual annotation class Parcelize actual interface Parcelable @Target(AnnotationTarget.TYPE) -actual annotation class RawValue \ No newline at end of file +actual annotation class RawValue From c0a17318ed673c930d8df6f45907cb55161a1daf Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 14:54:48 +0100 Subject: [PATCH 33/48] Renaming --- .../ios/src/iosMain/kotlin/AppyxSample.kt | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt index 0291d4b8b..f13348922 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt @@ -43,6 +43,20 @@ internal sealed class InteractionTarget { } } +val colors = listOf( + md_pink_500, + md_indigo_500, + md_blue_500, + md_light_blue_500, + md_cyan_500, + md_teal_500, + md_light_green_500, + md_lime_500, + md_amber_500, + md_grey_500, + md_blue_grey_500, +) + @Composable internal fun AppyxSample( screenWidthPx: Int, @@ -63,7 +77,7 @@ internal fun AppyxSample( screenHeightPx = screenHeightPx, modifier = Modifier.weight(0.9f).clipToBounds() ) { elementUiModel -> - ModalUi(elementUiModel = elementUiModel) + ElementUi(elementUiModel = elementUiModel) } Row( horizontalArrangement = Arrangement.SpaceEvenly, @@ -80,23 +94,10 @@ internal fun AppyxSample( } @Composable -internal fun ModalUi( +internal fun ElementUi( elementUiModel: ElementUiModel, modifier: Modifier = Modifier ) { - val colors = listOf( - md_pink_500, - md_indigo_500, - md_blue_500, - md_light_blue_500, - md_cyan_500, - md_teal_500, - md_light_green_500, - md_lime_500, - md_amber_500, - md_grey_500, - md_blue_grey_500, - ) Box( modifier = modifier .fillMaxSize() From 535b00150b659dca95696e42eeb5195a0fe8929f Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 15:19:28 +0100 Subject: [PATCH 34/48] Added detekt for ios code and fixed issues --- .../navigation/integration/IosNodeHost.kt | 3 +- .../integration/MainIntegrationPoint.kt | 2 + .../platform/PlatformLifecycleRegistry.kt | 1 + .../ios/src/iosMain/kotlin/AppyxSample.kt | 43 ++++++++++--------- .../ios/src/iosMain/kotlin/main.ios.kt | 1 + .../ios/src/iosMain/kotlin/main.ios.kt | 1 + .../MultiplatformConventionPlugin.kt | 1 + .../appyx/utils/multiplatform}/AppyxLogger.kt | 0 .../appyx/utils/multiplatform}/BuildFlags.kt | 1 + .../appyx/utils/multiplatform}/Parcelable.kt | 0 10 files changed, 31 insertions(+), 22 deletions(-) rename utils/multiplatform/src/iosMain/kotlin/{com.bumble.appyx.utils.multiplatform => com/bumble/appyx/utils/multiplatform}/AppyxLogger.kt (100%) rename utils/multiplatform/src/iosMain/kotlin/{com.bumble.appyx.utils.multiplatform => com/bumble/appyx/utils/multiplatform}/BuildFlags.kt (83%) rename utils/multiplatform/src/iosMain/kotlin/{com.bumble.appyx.utils.multiplatform => com/bumble/appyx/utils/multiplatform}/Parcelable.kt (100%) diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt index 02cb3e7bd..f35d33cf3 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt @@ -20,10 +20,11 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.launch import platform.UIKit.UIScreen +@Suppress("ComposableParamOrder") // detekt complains as 'factory' param isn't a pure lambda @Composable fun IosNodeHost( - modifier: Modifier = Modifier, onBackPressedEvents: Flow, + modifier: Modifier = Modifier, integrationPoint: IntegrationPoint = remember { MainIntegrationPoint() }, customisations: NodeCustomisationDirectory = remember { NodeCustomisationDirectoryImpl() }, factory: NodeFactory, diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt index fa4e777ba..77ae8facf 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt @@ -6,7 +6,9 @@ class MainIntegrationPoint : IntegrationPoint() { override val isChangingConfigurations: Boolean get() = false + @Suppress("EmptyFunctionBlock") override fun onRootFinished() {} + @Suppress("EmptyFunctionBlock") override fun handleUpNavigation() {} } diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt index 6e9b0c471..506e3c52f 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/platform/PlatformLifecycleRegistry.kt @@ -37,6 +37,7 @@ actual class PlatformLifecycleRegistry : Lifecycle { } } + @Suppress("ComplexMethod") actual fun setCurrentState(state: Lifecycle.State) { when (state) { Lifecycle.State.INITIALIZED -> Unit diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt index f13348922..bd058975e 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt @@ -36,27 +36,7 @@ import theme.md_pink_500 import theme.md_teal_500 import kotlin.random.Random -internal sealed class InteractionTarget { - data class Element(val idx: Int = Random.nextInt(1, 100)) : InteractionTarget() { - override fun toString(): String = - "Element $idx" - } -} - -val colors = listOf( - md_pink_500, - md_indigo_500, - md_blue_500, - md_light_blue_500, - md_cyan_500, - md_teal_500, - md_light_green_500, - md_lime_500, - md_amber_500, - md_grey_500, - md_blue_grey_500, -) - +@Suppress("UnstableCollections") // actions parameter @Composable internal fun AppyxSample( screenWidthPx: Int, @@ -132,3 +112,24 @@ private fun Action( Text(text) } } + +internal sealed class InteractionTarget { + data class Element(val idx: Int = Random.nextInt(1, 100)) : InteractionTarget() { + override fun toString(): String = + "Element $idx" + } +} + +val colors = listOf( + md_pink_500, + md_indigo_500, + md_blue_500, + md_light_blue_500, + md_cyan_500, + md_teal_500, + md_light_green_500, + md_lime_500, + md_amber_500, + md_grey_500, + md_blue_grey_500, +) diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt index a868e4645..85df3901a 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/main.ios.kt @@ -6,6 +6,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.window.ComposeUIViewController import theme.DarkColorPalette +@Suppress("FunctionNaming") fun MainViewController() = ComposeUIViewController { AppyxTheme { BoxWithConstraints( diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index 1e57ce087..712a9fa4d 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -24,6 +24,7 @@ import kotlinx.coroutines.launch val backEvents: Channel = Channel() +@Suppress("FunctionNaming") fun MainViewController() = ComposeUIViewController { AppyxSampleAppTheme { val coroutineScope = rememberCoroutineScope() diff --git a/plugins/convention/src/main/kotlin/com/bumble/appyx/multiplatform/MultiplatformConventionPlugin.kt b/plugins/convention/src/main/kotlin/com/bumble/appyx/multiplatform/MultiplatformConventionPlugin.kt index e758562dd..a29a7306f 100644 --- a/plugins/convention/src/main/kotlin/com/bumble/appyx/multiplatform/MultiplatformConventionPlugin.kt +++ b/plugins/convention/src/main/kotlin/com/bumble/appyx/multiplatform/MultiplatformConventionPlugin.kt @@ -34,6 +34,7 @@ class MultiplatformConventionPlugin : Plugin { "src/desktopTest/kotlin", "src/jsMain/kotlin", "src/jsTest/kotlin", + "src/iosMain/kotlin", ) } diff --git a/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/AppyxLogger.kt b/utils/multiplatform/src/iosMain/kotlin/com/bumble/appyx/utils/multiplatform/AppyxLogger.kt similarity index 100% rename from utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/AppyxLogger.kt rename to utils/multiplatform/src/iosMain/kotlin/com/bumble/appyx/utils/multiplatform/AppyxLogger.kt diff --git a/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/BuildFlags.kt b/utils/multiplatform/src/iosMain/kotlin/com/bumble/appyx/utils/multiplatform/BuildFlags.kt similarity index 83% rename from utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/BuildFlags.kt rename to utils/multiplatform/src/iosMain/kotlin/com/bumble/appyx/utils/multiplatform/BuildFlags.kt index 38a3021a8..133ce0315 100644 --- a/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/BuildFlags.kt +++ b/utils/multiplatform/src/iosMain/kotlin/com/bumble/appyx/utils/multiplatform/BuildFlags.kt @@ -1,5 +1,6 @@ package com.bumble.appyx.utils.multiplatform +@Suppress("ForbiddenComment") actual object BuildFlags { actual val DEBUG: Boolean = false // TODO: provide value from gradle } diff --git a/utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt b/utils/multiplatform/src/iosMain/kotlin/com/bumble/appyx/utils/multiplatform/Parcelable.kt similarity index 100% rename from utils/multiplatform/src/iosMain/kotlin/com.bumble.appyx.utils.multiplatform/Parcelable.kt rename to utils/multiplatform/src/iosMain/kotlin/com/bumble/appyx/utils/multiplatform/Parcelable.kt From 55d56ca188e50ddda34615f675a2426104f03b44 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Thu, 21 Sep 2023 15:32:07 +0100 Subject: [PATCH 35/48] Updated gitignore --- .gitignore | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index b12d693fb..a05967f1f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,11 +18,7 @@ local.properties site/ __pycache__ iosApp/Podfile.lock -demos/appyx-interactions/iosApp/Pods/* -demos/appyx-interactions/iosApp/iosApp.xcworkspace/* -demos/appyx-interactions/iosApp/iosApp.xcodeproj/* -!demos/appyx-interactions/iosApp/iosApp.xcodeproj/project.pbxproj -demos/appyx-navigation/iosApp/Pods/* -demos/appyx-navigation/iosApp/iosApp.xcworkspace/* -demos/appyx-navigation/iosApp/iosApp.xcodeproj/* -!demos/appyx-navigation/iosApp/iosApp.xcodeproj/project.pbxproj +**/iosApp/Pods/* +**/iosApp/iosApp.xcworkspace/* +**/iosApp/iosApp.xcodeproj/* +!**/iosApp/iosApp.xcodeproj/project.pbxproj From a7cb394231c99923c6a2b380c6dafc11580b2c5e Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad <74541941+aashay-gaikwad@users.noreply.github.com> Date: Mon, 25 Sep 2023 10:48:53 +0100 Subject: [PATCH 36/48] Update demos/appyx-navigation/ios/build.gradle.kts Co-authored-by: Zsolt Kocsi --- demos/appyx-navigation/ios/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/appyx-navigation/ios/build.gradle.kts b/demos/appyx-navigation/ios/build.gradle.kts index 4874626e7..c2626097a 100644 --- a/demos/appyx-navigation/ios/build.gradle.kts +++ b/demos/appyx-navigation/ios/build.gradle.kts @@ -14,7 +14,7 @@ kotlin { cocoapods { version = "1.0.0" - summary = "appyx-nvaigation ios module" + summary = "appyx-navigation iOS module" homepage = "https://bumble-tech.github.io/appyx/interactions/" ios.deploymentTarget = "16.4" podfile = project.file("../iosApp/Podfile") From 57be977e3dd47507fe36f2808df812397bd4287f Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad <74541941+aashay-gaikwad@users.noreply.github.com> Date: Mon, 25 Sep 2023 10:49:08 +0100 Subject: [PATCH 37/48] Update demos/appyx-navigation/ios/ios.podspec Co-authored-by: Zsolt Kocsi --- demos/appyx-navigation/ios/ios.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/appyx-navigation/ios/ios.podspec b/demos/appyx-navigation/ios/ios.podspec index 36ff11c6d..7f593f49c 100644 --- a/demos/appyx-navigation/ios/ios.podspec +++ b/demos/appyx-navigation/ios/ios.podspec @@ -3,7 +3,7 @@ Pod::Spec.new do |spec| spec.version = '1.0.0' spec.homepage = 'https://bumble-tech.github.io/appyx/interactions/' spec.source = { :http=> ''} - spec.authors = '' + spec.authors = 'https://github.com/bumble-tech/' spec.license = '' spec.summary = 'appyx-nvaigation ios module' spec.vendored_frameworks = 'build/cocoapods/framework/ios.framework' From 313a20987265b09c4c05b25cb5cffcff4db875a2 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad <74541941+aashay-gaikwad@users.noreply.github.com> Date: Mon, 25 Sep 2023 10:49:18 +0100 Subject: [PATCH 38/48] Update demos/appyx-navigation/ios/build.gradle.kts Co-authored-by: Zsolt Kocsi --- demos/appyx-navigation/ios/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/appyx-navigation/ios/build.gradle.kts b/demos/appyx-navigation/ios/build.gradle.kts index c2626097a..e182324b4 100644 --- a/demos/appyx-navigation/ios/build.gradle.kts +++ b/demos/appyx-navigation/ios/build.gradle.kts @@ -15,7 +15,7 @@ kotlin { cocoapods { version = "1.0.0" summary = "appyx-navigation iOS module" - homepage = "https://bumble-tech.github.io/appyx/interactions/" + homepage = "https://bumble-tech.github.io/appyx/navigation/" ios.deploymentTarget = "16.4" podfile = project.file("../iosApp/Podfile") framework { From bee88a6c91ed438fbdae94bdf7d4ab68add49fcb Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 25 Sep 2023 10:58:06 +0100 Subject: [PATCH 39/48] Removed unnecessary deps --- demos/appyx-navigation/ios/build.gradle.kts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/demos/appyx-navigation/ios/build.gradle.kts b/demos/appyx-navigation/ios/build.gradle.kts index 4874626e7..ae6fb99a5 100644 --- a/demos/appyx-navigation/ios/build.gradle.kts +++ b/demos/appyx-navigation/ios/build.gradle.kts @@ -33,11 +33,7 @@ kotlin { iosArm64Main.dependsOn(this) iosSimulatorArm64Main.dependsOn(this) dependencies { - implementation(project(":demos:common")) implementation(project(":demos:appyx-navigation:common")) - implementation(project(":appyx-interactions:appyx-interactions")) - implementation(project(":appyx-navigation:appyx-navigation")) - implementation(project(":appyx-components:stable:backstack:backstack")) api(compose.runtime) api(compose.foundation) api(compose.material) From 5f6cb23b67c526c08cf4a10a26f2f1cd5994ed80 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad <74541941+aashay-gaikwad@users.noreply.github.com> Date: Mon, 25 Sep 2023 10:59:20 +0100 Subject: [PATCH 40/48] Update demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt Co-authored-by: Zsolt Kocsi --- .../ios/src/iosMain/kotlin/BackStackParallaxSample.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt index e2cbc8ecb..7aa961e71 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt @@ -26,8 +26,7 @@ internal fun BackStackParallaxSample( savedStateMap = null, ) } - val backStack = - BackStack( + val backStack = BackStack( scope = coroutineScope, model = model, motionController = { BackStackParallax(it) }, From 3b37883eb06774806adc0aeb2a4e78abd9b3758c Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 25 Sep 2023 11:09:52 +0100 Subject: [PATCH 41/48] Removed casting backStack as BaseAppyxComponent --- .../ios/src/iosMain/kotlin/AppyxSample.kt | 16 ++++++++++++---- .../iosMain/kotlin/BackStackParallaxSample.kt | 4 +--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt index bd058975e..01a32637f 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/AppyxSample.kt @@ -38,12 +38,17 @@ import kotlin.random.Random @Suppress("UnstableCollections") // actions parameter @Composable -internal fun AppyxSample( +internal fun AppyxSample( screenWidthPx: Int, screenHeightPx: Int, - appyxComponent: BaseAppyxComponent, + appyxComponent: BaseAppyxComponent, actions: Map Unit>, modifier: Modifier = Modifier, + element: @Composable (ElementUiModel) -> Unit = { + ElementUi( + elementUiModel = it, + ) + } ) { AppyxComponentSetup(appyxComponent) @@ -57,7 +62,7 @@ internal fun AppyxSample( screenHeightPx = screenHeightPx, modifier = Modifier.weight(0.9f).clipToBounds() ) { elementUiModel -> - ElementUi(elementUiModel = elementUiModel) + element(elementUiModel) } Row( horizontalArrangement = Arrangement.SpaceEvenly, @@ -74,7 +79,7 @@ internal fun AppyxSample( } @Composable -internal fun ElementUi( +internal fun ElementUi( elementUiModel: ElementUiModel, modifier: Modifier = Modifier ) { @@ -85,6 +90,9 @@ internal fun ElementUi( .background( color = when (val target = elementUiModel.element.interactionTarget) { is Element -> colors.getOrElse(target.idx % colors.size) { Color.Cyan } + else -> { + Color.Cyan + } } ) ) { diff --git a/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt b/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt index 7aa961e71..7d20114e9 100644 --- a/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt +++ b/demos/appyx-interactions/ios/src/iosMain/kotlin/BackStackParallaxSample.kt @@ -10,9 +10,7 @@ import com.bumble.appyx.components.backstack.BackStackModel import com.bumble.appyx.components.backstack.operation.pop import com.bumble.appyx.components.backstack.operation.push import com.bumble.appyx.components.backstack.ui.parallax.BackStackParallax -import com.bumble.appyx.interactions.core.model.BaseAppyxComponent -@Suppress("UNCHECKED_CAST") @Composable internal fun BackStackParallaxSample( screenWidthPx: Int, @@ -40,7 +38,7 @@ internal fun BackStackParallaxSample( AppyxSample( screenWidthPx = screenWidthPx, screenHeightPx = screenHeightPx, - appyxComponent = backStack as BaseAppyxComponent, + appyxComponent = backStack, actions = actions, modifier = modifier, ) From 9de10551845a2b4d31c9863fbf1d71224c8c13c9 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 25 Sep 2023 11:11:09 +0100 Subject: [PATCH 42/48] Updated Changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 971d9cd56..789bc941f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ ### Added - [#579](https://github.com/bumble-tech/appyx/pull/579) – Expose `AndroidLifecycle` in `PlatformLifecycleRegistry` for Android -- [#601](https://github.com/bumble-tech/appyx/pull/601) – Support iOS platform for **:appyx-navigation** & adding sample iOS targets in **:demos:appyx-navigation** & **:demos:appyx-interactions** +- [#601](https://github.com/bumble-tech/appyx/pull/601) – iOS support and target apps ### Fixed From 378e881c49951f84a3c785aab4b52ee1faf3ece5 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad <74541941+aashay-gaikwad@users.noreply.github.com> Date: Mon, 25 Sep 2023 11:14:49 +0100 Subject: [PATCH 43/48] Update demos/appyx-navigation/ios/ios.podspec Co-authored-by: Zsolt Kocsi --- demos/appyx-navigation/ios/ios.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/appyx-navigation/ios/ios.podspec b/demos/appyx-navigation/ios/ios.podspec index 7f593f49c..fb435758b 100644 --- a/demos/appyx-navigation/ios/ios.podspec +++ b/demos/appyx-navigation/ios/ios.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |spec| spec.name = 'ios' spec.version = '1.0.0' - spec.homepage = 'https://bumble-tech.github.io/appyx/interactions/' + spec.homepage = 'https://bumble-tech.github.io/appyx/navigation/' spec.source = { :http=> ''} spec.authors = 'https://github.com/bumble-tech/' spec.license = '' From 0f8922cf51e997ecc9b0e740b0e9eeef2b9f0802 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad <74541941+aashay-gaikwad@users.noreply.github.com> Date: Mon, 25 Sep 2023 11:15:00 +0100 Subject: [PATCH 44/48] Update demos/appyx-navigation/ios/ios.podspec Co-authored-by: Zsolt Kocsi --- demos/appyx-navigation/ios/ios.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/appyx-navigation/ios/ios.podspec b/demos/appyx-navigation/ios/ios.podspec index fb435758b..d63a0f738 100644 --- a/demos/appyx-navigation/ios/ios.podspec +++ b/demos/appyx-navigation/ios/ios.podspec @@ -5,7 +5,7 @@ Pod::Spec.new do |spec| spec.source = { :http=> ''} spec.authors = 'https://github.com/bumble-tech/' spec.license = '' - spec.summary = 'appyx-nvaigation ios module' + spec.summary = 'appyx-navigation iOS module' spec.vendored_frameworks = 'build/cocoapods/framework/ios.framework' spec.libraries = 'c++' spec.ios.deployment_target = '16.4' From 881734c7fbb6fb5e63509fe700e98e0d297f28ba Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 25 Sep 2023 11:17:47 +0100 Subject: [PATCH 45/48] Setting alphabetical order --- settings.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 772afa4c6..6c3c26c98 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -45,13 +45,13 @@ include( ":appyx-navigation:common", ":demos:appyx-interactions:android", ":demos:appyx-interactions:desktop", + ":demos:appyx-interactions:ios", ":demos:appyx-interactions:web", ":demos:appyx-navigation:common", ":demos:appyx-navigation:android", ":demos:appyx-navigation:desktop", - ":demos:appyx-navigation:web", ":demos:appyx-navigation:ios", - ":demos:appyx-interactions:ios", + ":demos:appyx-navigation:web", ":demos:common", ":demos:navigation-compose", ":demos:mkdocs:appyx-interactions:interactions:sample1:web", From d664f1d44ac18e8cae78a61771a55cffcf342797 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 25 Sep 2023 13:51:41 +0100 Subject: [PATCH 46/48] Added license to podspec --- demos/appyx-interactions/ios/ios.podspec | 2 +- demos/appyx-navigation/ios/ios.podspec | 2 +- demos/appyx-navigation/iosApp/Podfile.lock | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/demos/appyx-interactions/ios/ios.podspec b/demos/appyx-interactions/ios/ios.podspec index fa139697b..8519803a1 100644 --- a/demos/appyx-interactions/ios/ios.podspec +++ b/demos/appyx-interactions/ios/ios.podspec @@ -4,7 +4,7 @@ Pod::Spec.new do |spec| spec.homepage = 'https://bumble-tech.github.io/appyx/interactions/' spec.source = { :http=> ''} spec.authors = '' - spec.license = '' + spec.license = 'Apache License, Version 2.0' spec.summary = 'appyx-interactions ios module' spec.vendored_frameworks = 'build/cocoapods/framework/ios.framework' spec.libraries = 'c++' diff --git a/demos/appyx-navigation/ios/ios.podspec b/demos/appyx-navigation/ios/ios.podspec index d63a0f738..2ca6803f8 100644 --- a/demos/appyx-navigation/ios/ios.podspec +++ b/demos/appyx-navigation/ios/ios.podspec @@ -4,7 +4,7 @@ Pod::Spec.new do |spec| spec.homepage = 'https://bumble-tech.github.io/appyx/navigation/' spec.source = { :http=> ''} spec.authors = 'https://github.com/bumble-tech/' - spec.license = '' + spec.license = 'Apache License, Version 2.0' spec.summary = 'appyx-navigation iOS module' spec.vendored_frameworks = 'build/cocoapods/framework/ios.framework' spec.libraries = 'c++' diff --git a/demos/appyx-navigation/iosApp/Podfile.lock b/demos/appyx-navigation/iosApp/Podfile.lock index 62fa30b27..587d112ee 100644 --- a/demos/appyx-navigation/iosApp/Podfile.lock +++ b/demos/appyx-navigation/iosApp/Podfile.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../ios" SPEC CHECKSUMS: - ios: 58dfa3309ac6866c355717e5e7cafc202f55ab67 + ios: 310d76ca95383dcf31f70ae1688b136b92834c28 PODFILE CHECKSUM: a1e557981a2880940a401c85ea35aafdd5895941 From 60bda2dd60a96f8d060a44b9826615cf07a185c7 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Mon, 25 Sep 2023 14:24:40 +0100 Subject: [PATCH 47/48] Updated AppIcon for iOS --- .../AppIcon.appiconset/app-icon-1024.png | Bin 114038 -> 98448 bytes .../AppIcon.appiconset/app-icon-1024.png | Bin 114038 -> 98448 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/demos/appyx-interactions/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png index 9ab250fbe43f3107275388a365cb0d951803a877..e84e02ba87f4f54cad248afd345179d27416e14f 100644 GIT binary patch literal 98448 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�NI~dH#oPx#0 z5`}VvN@Th&!0?r11a9!ThMGv{E1?;jb-ap8{`eIyF>Z8-eIdcWgUrR7@R0T#RcAy;rc&!3NK>UxLHgQm84C48`P=8!SSyxBc zB0m}|4_x=C?&1eT&EDwt;2qYLfse=8G`uS}#NBHmeQ=TrDJ&ICz-0v1SvE!=y|k|* zek{lem&k`lYJ^Y(y&~tV`fl3#5zN<80j_I4%t{qnWj%dgb)%Qjd~q-6GZQ+Zb`u-E z9q=bjXXUWnWT9jF>%~8ac>K(}A{6^bq19KO#goB(C~?&K7uHvnF@QwC65d!v;PLg4 zxER;_G-B%4yQohSir6T1>m=FH0_0OPp*N{7%*m%A6yp!bl63fvQ^`>~t8Hev404QH zP{F>dIlnXhbcMJdJYsV(;w@kx6T18|bQPe4C=}Kieys!X&t(5oAg+1{iT~T3a)3XP z12h-daEsh2#CV-u73Y3hq9l@`it)hd2G><$l+n!CIFl0!yseie`rj8ydXrO_*dy5cd<&`!x*wzE8cCC8vB1 z;SatG)W$CR4@>lYT2H;k@2?+Ak1k|7eAAW3G6_Cz8MT^VJ^&FJDddbvj8_!+E zJh>$Bx}@R#3bM8{Q&QERPyCLiqEfcXgGYshEyw0JX2-)9<%BfSDf$)RHu#{&N0=i$ ztg~}0`MylpmQ|I~Olt_6VyrIoi!9KLO+J_DUqZTE2w45pQOy#}yPxtr8%Ud9Fd;PD z{DuyjmLbo$Ki@;Ex90oZk`Lhs+cxhzT#%Rnh5g@Lciuk~{|lbn@MOY%qKmaW?1ViU1ov+ z-kU$n@nQiQ)=U$w%77GcUCSZm_qAZa3Vj)z!^RAeWkS#>?l1^_rm6@4Gu+TLq*%Jb zyGQvr$&L=idAKLnU%Sw@B$gW|c}3hGm;OD-?AFDOjna^(_-vU@ec-%3lTyc+7Tf+e z2xwqSvLKMxUvFgOPcfGayr06@jPD5G!`0b8kOJ2ki9W;=&A>_dYiuO6<+0a%{${yb zDMsQ7S2y>*cPbvRp=*AnJSTPGt?`REf6@RlX1{nY5cKg`Lh&FE7l_Q2zbMtN=J7vo zn25=?2O#59hxDrqH=VqF`SWA`$0J>G^Dm$dJn}vvfos3O(>}x+*W8PZ*=3lO+B}bw zhng2!&?m}37w1p<;l%k*-b~L6|69>fN+>sm=_N_JX9Zq8P%NBj)2YI|iDEH>fEkE+ zEkXN-6op-4z(?~rAoX1mE;Aep4H)4Q$zQJ8BL3UF&zTGIw%`>(*3}3Et39S`-dv!S zP^fm|D#bj#Uz<*>js+71?|^BW_zv45vUwKHkJvwO`h zll%2s{U5QbXRcZ8Zm2-z5V?4J&QogFqoQ$BHwlH%iT(f-8RYF(s*Mw0$%5QeEX48i z#)PUGqGbN^Kj%39=0FLhiCPKHvT~@cVRNGyN{HZP_TF#fmiX zGTXsmg)|r(IEDlXpBN&anS8!ug{;Np{56F+YlM9Ghzoz)!%i%O|DUoY2B`82$VSMj zUV8ShQ9ZUMB!^HYoei>m;$tSUgm|i2l$dt;NM4rbks+io^E^yIQmdnkvXAck83i~x zY&7dSOyGQ7^>8Uld{raOhYhdk)*W&dlByEjb#WQ?dDQpl?UcdeD=z*f$ft`n60ng1 z=|h{-t=BHg9601*kg!R+0GNWsh7OBQh9 zkUR6*a?wr$V7Xt#y=I`d*N&SxlrB9N=4W@@x-1XzXk~gNRo415e>EP2A!ZRIzMtB_ ziH2<=iBfJldXPs6nn6w}2cL^-^fwkRc1lx~QQ1=FU<_NLEsV3UQSN28ZUPCI50;vN zWHvdGeC#~wv$nMckIIl>!yE>eU66noNNv+P$fv@l@g+NDA2>F}v66RxoDllOgNtVk;BKV$p8&p#O9~8 zHBgTORYQjE|CeF>C3jIae(L^!PArd9JN{d~9_@y+eG@1d(c=kdpJ@_DKHA%^xr`l|jGEZ_5oRZGV)M~2WRsyT2TGZpE$ z6tT9*LFBr|(C?}H=J(SZVIu-TOu%GCL0xF-_kPeOh>I}iEw;3vc6553E0T1Z2+z2_ zwztK$F;m^z5+|paR^T=fr5f$NT8J+|`l-;yD!u9YYWGxZ;~jM{U_k_ZdQC{mZoGj?uhvi&H%05b`vmSt-(3iOkIx9UbL z%E0QpE-MWbb1AeVGQRI2gwa-IWGW;|KyAv74N6(_z9qL_nlT~Uk9;f8v1HI62O!02 zjU8)`2V^MhwQX{L39tt}A?~$JwE>t&gbAqaxz9)34~`z4owH!A{e9Y&5XD}U`{G|W zBLyBqobJ$Qj6B(5v-w z0anc*}zj&P_rF;tNcY~z9Ja+D3I8u|HC&z#Q>mTjG# zKOYznf7o~qq~Y_pkPzf*sT(R>#)mb^qymN^;@;IRQZFd z9cF#C8Ct`N79*MvITSu?FT*dlq4qXRx&hD?k@$Z6!`Spq7k)gIhz@BXdk`?70V~XP zvQ34z71rP14^)iGm=_6+7nH#HKqV+#lhs*;VpwJW3w9#w3otSPNxy%N2seMTX#O$u znFSe9>9QoKOb?E*CV3mA44!9sL_8Dn=TM7PQ0oWg@|mbC?VHW^UP&^))1r0J=aB9UGKmnc67{);&wv?|G)mx??d$(7w{--P*FciIHRt`M}wGD8! zrH&MM>@q%SMG)kJ-K{h4TzT%{UYmL55LNYlGFO07-F&ux%Hu-K7`V5dF-NsKU=q@< z8L)3E^;H2F9oPyqmq>Iw=4!mkqa3~J_XfFNW{yY=*suTs;`k~0&IKjL*>QVH1mL*k zOkghFm0L4I6ailX!m)H4p?m09ARaRL`h1H+GR(9d<3l|C1)|v#)RwCy2P={~GU7fF zU%wi?74CR^R}2gSGAu8@zSvfCA`}azB2XJ@B9ETFdKWccKuk2hXu8>v7)46^i5}72 zyY!;%3j<(m_T(9`1ncX$+GV!y3bCD&(f1ueghG41a^D{w(ZS>q9(+6aY&j!%ylF6XWYghdU{%Vm4jMEFWtffZdTA=XOf zWUUax%fPcIib0nldj%B$_0cf%0#`-7=WI#FM+x}YX@qn`eJ_mEpy4X$mx?{G4|9g! zQ*OSXs1sPkhs365j~)SqrY{TdfltOLB{9=(XMGGeOarFv6Ud#Rr5jV{_hbHY^R_TT zUodNGL%?)I?;X(F1{dPa0(v#Qiy0E~oV!2OQzZLTsqG(u3T=~dzwC~M+&*fL^Ig!} zOiTc43M0{vF_I47N-t-?=>i;GUUfWtHTb^dAEG=@f5darrvLRPBYM4H(5vkpb?$nj zV`DksDtRk74Q~dezqOJE6~p!zTR>YR9Cag_Wf98k{cH)!X$PG6%b*gdrH6F!&zRA_ z5+x=PPe2kz3uOlm`dMpFKe8k6QO|I^SBjXWG239(Ecm93NV#sZ$65pZD|mV{EHn*e zKY!GM`0@W<02b!?;R+>w7j`8k)i?!NqJwPa%b-!9Y5Gka?L_wVe(EOjk_>TbgEM$z z&6h~VxK+GZxH6ch!%sj#t}N$hKsOq3+&c>B2H`b$4Dy($dPg*^dtDc)8|L{I;N?zB z4feBEJipiC=!Z9VQwNwS&RFxZ8erlGa{^VMPh=UxUy6e)6#=)p7J_x1pB~pK$1)V( z##!a(xA6!cU>Rv(8_K}8&LvA>9Ik#-hbP&i&H$6G9^Xn=$o_uTQ#bqjeqIdjE!q*1 zS=dDCzG$aHd0tf2QGSuhF&i~aIs{pXjF4e2=lcgF`Wz5t`# zmG{F8#t4?_NllyI-240YuUUjOjb6-bzQO(7VUnj*T}->;1*&Zv2tub zA>sAG{B`<{=j_3ZU2;l5{B9BIIZ^mG_h6@!?mn%85mM?2nia|h#1saP*7`ZCWp2NSA4O7XHQl< zisF4Ji_xDRGQ+`e`ABQNr&FY$P!|*S)nybgn4y~W_95XkEU3YrcZ;um)<<6(v^?aL zx?VhpHELzsG!1-Ej-4Y083JDaP!UX=>+6J)@%5=hZa4u5T7I)RQup!1bJYn_m___Z z7y=I5rU}|0^yze^5j zfN7k&m{wYG?;(9lxn{J@*lzK1v5F)$L~^*F)MS7hvm(vvkd z#_Gqc%T)x|XRY(1pn{LTyp30~o8(Nq_t_r3z6xz1i?0PuZSx@fBH>9eLL`1EMs4D{ z4F*-Z5+^Msdt_Y=n@{RlOItaYedMa(2%0B{VtsY*4?|^P3G0rjzK90Hq0VmA zEans=`iosVqLt7=^!BlH6rg?iCMl-U)6~ff*Mh7;Y_d^u)xjB{*x)o`hD+{t z-5=~u7$kf)7?o>WJ;J9oGvfBBjX@EzfM?*|F7MjaHcbRRQepu;D;O>_J|Y9&;s@B; zE46zzXUN?@jDq`=P*5?6E*L~dnko%xyksyQV#BHj&vyq2bTB4;eIB%a$RclXyC{MB zfyiR|wym83r5@=JCipt=OLr@*q3lt>76x``4C+TnYixH<(9%P02r#{DGOdp@!f+AMtqxmI4O+@5H+aUuwLsCr|mp?`CQyIAGxQI|>m z^O;_bcor|X^P8E0Z%>}!grBnK)&$c^IB14C7udsqXBK}GrXJ$H#vs39b}AzjS({A7 zIdu=awxkSJ2%X}P!WyznjxqLpHwXK?X$ValjRCF>k*E5mIJ#=q!in$qZ4Iw9KmYAl zJ^qn8{cjoDF>uhKmz3N22K$R;wT*QX<7>UvAF|H~FK}=ymutp*w!N;5FD@<$u{G%h z^T~ov;D|FRhYN-upB$y9w9RsC<0z}|5UJJ?u!(~K8i$Ft+XnTYT z7)~@V5-j|e>ZiBIVx<2JRzUxGVBv6~a4BitJC6TC^(#3<0YTWl-}HxL=|dO$(x<$a zf)ekN5MgRkEu;u$vaq2?j2v-Dozx-_~JUSc3UwhZPM1SnTjh6Y~ZFm9Df6P z-vC&U7}dmw3+9~OyCU4tcQM`2os6(WcIyD9vU_6qpp7ugtTWbqjO%$`;MSz&(ohip zodL^OCJr|n?W~`SG`B}F@Taw*6($-_qI&2dZkB{eOca^5cvaK~S5BT?K)FR*yv5$Mh z0w?#C^yvdcne})H=I_J(pMIJCKHg(=PY0VUDsy?|-dI`K9^+FURQ{%&ZX|331*eP% zK6(>hIf%GEq<=SGlj`*)Z0I5GoBMCr?fh7BnlO#8edenLCVd>9=)T>W5X9Tz+^w7GGhbiaw`vFB4i z!X}?Xms0LB%MZ0GtO-@~!O=^4r_zjmGGQJr;&-9{uB;8%+SPBZLxyuI#T&D{86@w* z$a5IotuuN+O~sc!IE+6yqi-ZnsKUb9|7zF)rU@EykP5!|PHxa};o3&HAPLvs9m>_L z#q*1L!F+p73zI_5)YramhUqCT?>f^Z-7OAY*}|y4Dzw3r*Pog9&3>x#_*2_V35tXC zLDhbf1hGGX>sd$?(0Uu?Vu+bULYFZmhV}(4kQ%1=Ad0DbN4-VES`CYp(j5-Mp~Za< zz=cE;I9l33{37hlGP)=G`MITUgrOd)g&qspZ!mH-Im(8&aRT>a&Y8mz855%%==RGP zJ!rdseW>&)T&*R_R<6vj^+_vWzb&MItZIwwUBw6PkM_z?PLS<4r(ZqB;_u1RTCOhQV~9A+ z(i-r%em?w{i$$U{S>nSyTam3Ao;$QD5!raXYCv_l#R=__n9Tkd-MLVO`1>R(Okp{y z;KTd<{nz`8U*Py)YZzxwB-)rI2P@186X(w)cx174gQ2$!6NkXv5Nv#P7rD z(luJ2$G%V0!f0&pSi7r50RgKv$-|uL*F#3zJM~qHdC@lshX^ccr%`Emd%OlUJcVO- z2J!Z-M`&016qqa~C5e099B(0s03)^io}sl=W8|>d(m?jLs`N}sHE_J5r;kNc*dZcJ zIpG*V{Y)a~E)ZB<0$wN!mtfW;hPrMo^zuy-h3MzxdG(iqkU|vuTEK) zTS`0Lhv}&0*}LEV`~T9@#-i1X-IQUDMc38xC$2NcFI`{pbIr)!#qOIvf1L|>8+7Ej zz3uheZQ=W6n`j6Uibzb9L+p?M2P>zvAgACN-MgK+V15KF1Q!P%SOg1XMF@P1QDcZ$ z9@;Pbo1E)Vq@Y8iGQehKv0oZ>x!xMnw@Z0`nVt1*=Pf-}p`%Pe{?GW-{}z*u56*Hw z50Sr#)YcFKMoVAhEDB$RiZhAMG%e2!7(;xF;i(BF=5Q=Z^3 zYQ4x%;EDQZ!7T(jCXip-88m|;K%5|#kHh{Z zz&0+|I1u@5l+yS*c6dnh$?VKqH^cgcqA{hHA0A2l_lAZVVdBLu7|HCCKjIJTW~3gD zo6scw#iIh145z#d1HCfl|Ikg1=QsZ`f-Q;*^5QW{5o~xmYS#al5bSq?*=k~LLGqGa zIl{n4Uxp-zDClrFGB%%p1X-m{ca13Gvo0+T79+xQX%v40YOJSq=4mjf^>-%5_ef`lb0x8FD|Oe1Br5USlFF!X{sNa zCM7i(Odh>d+&8WE(xSx?p=_s`zYtTfJlqj@HW~ar_-m=crh5OZ!&uyZ-{~hKf^r_X zMBWrVsj2F^JQ)S@qs_THtb7Fl)~<{?h#ma@ZEWcLK! z5bO20epV4WzDX%IxH;j>TIg&A9rGOo1)a)#6jP4m&cr<=JH}9Wkd;*b)_n!)!|xN~ zljC{BXOc=&I5#KBT3MM3by*pna!Y$;^Bl;&fHwo@V$N~9U~I)=vDuzPw#BUXs}Q+f zVBg0JTcW9(W*(HhPV_%HU(IKI1r~<6RIvdrN+7JTotpwgQUD^WgH++k#upZylsE5{ z2!IociD9dsby(WR&;FV8rc%%E!~N2sVK#TQe^uq2JpY75W)fG~UQbrr&bz@lIo1kB zM(WwpNr+U}!+*=U9|}(~t=+!U8xj|>G-V$wIE9))di4*l3p-(VPeLZ@_lcBP$(l*g zL?qX8Ig=z6O%)-|vYeU*bI@qcBZb3ag{Uij%Gvrai{4Yf+gRPZC8{WtSurqDWja?>V3Eo+pjrEkM zq@gD0`C?z5@F&o>cZlnbCstBSn}$h-PviCodD9&sRE@wk$X>{r8kotsRdn zirvk$$F;G4HC_|5d~K4B?vCCKTV7z3hDF#YlFW=ueAQgGwwoGy5-I%p#btz$>y7z4 zhO1ucb90SnjVqTvWBE~+(J%g0l_Ph-SrcBDOM8{6&1bLlbzjoOKjV(BKJ(zolN3_D zAse{Gnh3Q$vnOgl?(WhZ(%ndRcSwf_(%ne6^wJ_7(kUP*jdV-5lprC} zE#2&U@%wxK=fmgjz4Oe>IdjfD0qsb_i(SE#(x44N4Tmx(hd(3x?@tVVCv(L2Z)onvs)c{>E$=O0-J^U2Xe9oW+QA(D4$;u+RObfU~HVW`T|Dt z0*I5F^4)w!1p;t;tD--K*(_L5hYVmQxF4IYuv9C&H}ACtTiQPPc(sKT^1>z?zc*$*%js|d}(}P;)WuOq~`~eR!#rVip+TG?!ps%#}lZPP$4KAT`JufNl zzjV8V2{zKH&^W2al;89;eDt112qcakbL4q3oFcn{q8a6P+@f=LH*qEhZ8^eCRfBg! z4vSkqgw+E89TzTA-?jt-Vtu9w9~UFnf0%<810q~?;HkWR+Tg!aLhH6pf4+GkDc8z% zo2k4LxvdAAs(F|{dCG0S+GjcIC(N6)^3;9C_pMXv=zk7jM?W7WD7Qb)Y9p82`g84v zLKm&S>stUk^5K&((}MAF^0Z!S$Tx8|DnbDW8S%1hLjvp|*-o!%X5!2(L!EEuVNue=nMv*dU7NnQRvau>WqzB5@6t9GDRl z__~)9{@~|YRDvT|c2IU= z8R=8OC{9Gr%L!CcbpObj!HQ3F76Z+m4r{^bhvDGv^BtK*Sre|-)K@^Hq#gGrl zR|HFvUflkCuU)0PpB$OHn>KkJ6NU9+&_R3h9}D{YQAVku>mtD`Pfh%>qng#sK~KqsZW;d{+m^bCBkTVsoa#T(4k1PtzYvVCs35`bTN?)GFs$@2^eT2IHNl z0PwTy(sy}w$TK-)Pr8dJGt4q2knqV$=VsHUOPrQ5US78KaSCFaJWxvv z{9Ei`HAzWt!@qCUf(%9^Ylmvr*5@_FmTKb4!(!e~(a9i?(172NW%)1w)HmWbEt5 zLFb3d8ggS)r?wUGKm&p4ZaF0D3;+HA2y1rXI8@^8g&pY&O}S@z3C9BP;duV_!U+UL3eRr z%k{Le&rYaWB0JD4BigzB%eAwV;Er*Y#>?aS7RRn+L9S2C0L9J|L! z1&JC$JH5)APxr@Zot^b+q#kmL@<7y$BmWF44i+#yKe0l`9qs-hH$RqxE=&e~T)hF< zuWpnolgfU52)k@wkmI#B(B4`bElH%zO#1xZqloGYX;7nhCa#{tr3GiI9`@uTE;N^w z;MDz*=F58S{&)a2eZZm?;Z#3LWfRa z@UYm@=B1^4Q2s05nwAPX<=Yx7cibA5PwugT^Qc?E=3fT?iu1cNPgNT*q=h2!shC&-~mT1Jhek zfQLT)*sHvmI2|omEqa)CgtI=%cQ&lBE!g@ct^Nw2HA;~+?5(D5=fb1i+vJ=(CFsf& z^dG>6XhS|a_MUY1K;I%cNR^=3a-n=8`R3{31krMlo9L-8yYrK`5d)3J?Eu?a$~dJz z6-Q??f#dLB{q8uQ!o{fwDpMUZF4nQTpbsm#_BGry_Aq_T*FUjihCBw4cZGYfcyLkL z-xzrP*(Yw-(J_9>4c2_&aTEyvfTM*HZo%wNTcdDilK>97z7C_S5k&r^q6Av1saSlT z&@6$#7L#ac>|J+X)LQ+g{+ub|32@l?R|t0yxR}0|O|3R$TI;y9al_RIJ)i5@50Z$P zd~l?-dqE^{@GAAuRTKK}^Gk6slNPXoSv#e~e`1OVr6x(VxhqVxNm@FDw81WAnp*@l zKvRZ~8fiU7j5vXZ!93ivq-j3qkJ3k@t=-BD{|J1 zr=>qgu-*08UkZOACNuBAi}RpWjPzvH^+ho^IdtUfa(PB8kF#L z@4L9Ch*mp^1(Zy$VWLD3GH)ls3U!ptA1cq#Or=9(u=N7NdNXq?(8oGdtzB*`7UXHE zuKoN3;Adi_eEMLJ&fb!j?OIfjN<>_36e0SN8)p>N$>^O=iOmzEi^Ngy`9zw?@m&kq z?VWw4nG4-`Id_vk+9HUClN8xBpHnAH*3Aa?wm`G*9U3$ac@_*NPlB5gB}FOTl0yDG zhfzibt#ZTxqTI1fd-KrL32Se9XJSN9%QwVG`1IWdV!hqJ*FhlN?Xd3|g^pRg8OLX~ zCytfb@ouv%eCc&ndFxLd15lcwN3DO0bG7L0<_vDQBvcyeR>~EN{2tg((&U20;MLWu zbj08=wSO#8@|U8BC>sSL*SVRD7c(LL_j~@~4GsGa+xKIM>ZdG}Og5Rm=|Zd4cX#;Y zST|qaS?^@)kH#a~YV(3Fw%ep+d_VVLP;A zE3kn-t3u1M{wQmoEdZVZ3rog=$ceRgrPnJ64ya8V6!Ss*iP;SC4;RNTxB+&$yB*{V zZ@VFGGXp$~Ee5=YZ}ItEvY4Wey{5v10dtZ{)AWeM8iu$b+owcH&X)llHkJq99Fuwm zhfl80UrJKY`hJi^fgjsP-;nkv5?(y9n1Lx-s{C1qvv`GqPPFnGzHXwT!K|L70KdgD zN*|PO@BK_wo>QoOsjD;XR9{`eNx~8*8@B^D_+%}L{_CQ6X!G5D-NOix9-AD{kJ}ak87e#c87wYXMD%zmR0CU1lNa#Gi}y@!+$AX)rVoODKC= zVXu%u?EMm$Z1tWaq*J?I)~2^>0Du(>z?O9$MFHV5n|!wS`}Zj9^HJNU`?~!+pl|cM@ad|PLtxdgd;sh{@^{dqxw2ea;ewq=(V3#_N?T7iXvAPpsf{(W(>#NsjQ3B}5I(B>133H%YnLn7t$_U2k(i>M zYni&7nSD~#<8$0T-s?sT*43T8>vDK{$=Y^Z#s)G(v7H?e&OdedkK%~Jo+=<*`iq-8 zG=z0Rk`SAPTesN`jrqMl?57?|vcG;c~iW7c#`$aXtDgHg$gv+wRWdf%kIVf7FLAIBpPHXe$& zUINK9G6^?bil9FzQH;3F$5TSkrTMQm8y~toa9m_9YQ?i3yYS!iky4{iebsyFQXy2_ z<_HFL3URfod5iK=8FZ=iBC}P2zc+oT;=#5(XOg$^Fz5SvNIEoB4y2fiTdBo5v{W$l zW#2*($(wEJ|6q|Xb$%ba*Exm%JLKF3I@6nK&9GWuT1klpkhZa3&a&s=k=x-lpZMoVz z7b_raIlISujT=E~dBY>-y4Md_u&w-Tar|Uc!bVVLagZ+7bMmJI8|?zV?;lU0Ts}vt z%Nrft98s2j6;FPCbCKbyyt$my2lE}~xxRQn7Q+T3f$fW!0^iVGpvhK!k7v&Em)H*j zMHm>4(bNrbOm-x-T{*)uf;@607lfWOtxy1)s|xQ8S4{2d{ZRAb zWBh=K{q@@CoQS(UA7z59-z!+(d6D>W+QNC<@pXvIayf~OW}XuZKclH!n z_$L%Z6)L#&DFY?5=wEDT$w@LAN#%IZbDvFRf^YqU4695C5)|6G9YwZZvq5cH8Ca@X z}wDWrR9b@F-T23oJlDb?__5uO z)kixfl3Q*TDpef}AM9bA3n#xfbcVH17pT36Yu5Zuj8Noh{y`DoPM$=IXev`Iv&hNUxJGnTM_1u&q)zd3|IV`L=jB(lgxl#PWwRF$9{wg6t4w~zu$9$e~;^I@)M z##gXkk1nZNoK5)k)gUI}cP%02qvu;Y4F6Z0p-{Ef3k8l`$^cRJ7llk2NcSuoT%|BV z%fm`2`$gY$sbQn}C()NB>9$6K?>C4;)MM>fwVt z&J@f}*Xy<6-5{VmG9iLw%1Yv7mI=Z=@?Jmrg~aCw4qmAWm3#>w3PqEB`ZF0fvLNp& zz*DJV!yEiR%4h$hWcNw3`gOz>M<6FVi;kD#iHn>Iin6>2C4orc#*4c5r!8&|2h~=6 z5g53AwV*}>Noq;?E|Q$Z_acuZBCOnZxLz$Y3$7 zl<-&Eok*`*cVyrst8HdzxwW~cq#e!PW?_QQ3D$qr+dIoX{bmexo2E%D?C@{OtSYpw zmBs^&(fl0Op3PW|VNGW|>l0B|uw|ux%8$Q>@*6PLiUUnd11n@ZMnd~8%Uf-zZ!&%q zAq}DSAm+Sb$kNwSNegI8H80%sIffMXn#f^kQVm7WtpMVA3>)5DL!QThj?KD<=65BI)@yvJBukF7%K%U5F7anAc zbfMT~GDIsC(aiodkD$*D9IgBr92e~yVu!n~houh}Icg*3F-_SX_?<-H-QqZl>8`^O zmaW^J+~i4d*k?{S8QJ`=INg%KG;@YJaR%T|AvKW3Aft}G_&DS-^k81}sb?H8uTE2E z;cQ4C)k7D2f@@?$3lNt!*Inr7JJw}EK0AuUISMjpAa0P8s^^VC&-M%8P_aOK7dj{x zDv!S}!b~Ix67g9=xG8#MW87~cww@&tM99Af>X*G{c_zhJG;HB-khQ>S=nX=U4Q&7Z z)$jT+Vcrz$#b51BHq}0@)xbKv^o8oRFZ}fR4hZ8W0AUQ4jO>CFCNy%ZQh#Hi=ySJd zY={$L0TO=mJhTR?VRsDnYwCB{!0P!Y*k9V^Yb4LrW2fV%G&s$8u%UOKs@n-i5K|kO z0cfwGTxtd<*z1+#jy@41uFP|PrhAW-y zZwY>e6~TLnDkTOF^5;1W`4j5y&fr9?6YLm8=sg`nk9!EGemGvBv+%=_={X>$N@s%T z9hz3Ja54lvZgAwG>$}NHhUvON1`w zsQ(y-H1z-@cUbu2;x#->$Y}L-Wxd|OZ{_xSqcy|B(DJ^7`NPD>k5}SRgvlJ^PIJ2Y zFP?>6FFbk;b*RxBXSZ~2w|I*tD32+|bHLqMJw6MD*XX0btR){G=k?L0Ee(sG_{^~X z0NJUkD^HubPFzgDA;bD$E)NQU6O;%PfqB8^xt>8@(hfG z>5r(jvj4hXKor7Y#92f_qB^=wUhbAL{TMX80&{b}Be1syF2i(IBl-qP{c6Y-FLqaY zxE9o%QalK^`$6&-RetNDaF-H#_Ze)>G+j5YrgP&;Y~hu7$QB|-@q$Tz%#iegD>4y= zF;Rh7y9BekBkJgxvi}c}UX*~r4rD756|f|+i!fW+j)NQl2f^*SW65SkpBakz-+Wxj zk`4riXT>9rG|2r_g(MYLdmn_SQ?crE(#&dtpAu-R<9Tqz%wxW!C)=8>NSE~a>cy;B zopmfa28J0U8i}2?oc-t9NaO~7$oAvF2hKXQ2$=ZbF${r-YW6JXxP!wsTMj>JVyAXb zn<{}2b<=%nCK$Pt29S)v4w}lT^j$`EkV3i{(w-UMy1yRU=IEjQ5F&KqIC`smB?T@aM&iVjilY_I8*0vi5)2!{5<5$C-5PUwrkqrLoS^3YJJQYR zNQ#uE)xgM`x8Y6#s*nb|K<`ti{(mdn$;wupY_Ct6xn<`?CyLZ%m!}O z_;-f7*bk}kYNGw>Z8_eWF(z02z0ir}Su7tjz>wIsdk6n!YWXsUG(kW-Zs@DM+}6A7 z$Gn$}Chzv=YusXGfe$J7`Pb)mO~JwP<6I>5(OOy@ls_u=5d$Fo1_3=s;C+z*eyrV% z?UYBPzOzwzxy`07{FM5_^bfA9VivoeO%jQ-?$b0_zh8D|v7 zmc@w&Fo{n`;oS)t%1Z%rT{B50+n08%;VSa|6*&5OyJ>J8uD59=GHx46c^BxyCr0wr zJp!%KllFv;!bD{+-UCy!ZaCynA$VLx zbkgQF{gwL@OlkZV0uV_wXrUtJi>H6gX}Tg|=Vu$gWVeM!84w+y1Bm&Q?Xa-51+?3z zQ7C$~zMmZ4Z{aWgU9yj;9sr8syi|AP4OdCXyD6$wv-7(zN?KiGZAJ{koE7QDOfpf- zT&;UJQx>hA;Zln?J%SUdo<7!g^?8y>BjPfr>5q?VYm}nHTJBLb1Ku{iuKztx_|$ zV#H^2-(qz7kvS!jo~(0T&!)g)jn2EmEJt`P?5{dgnCJ{v8<8#bFq@W}ydx*umNNiA zwXkP(pfZ}N@+M_@4{xYnDfmi(AfOmtvJIQ+7rMX|?-11}Nko!2M(2+|7LpSL`1guf zs0JWBgM+PCX;nN)Whty3?=l?L9y%RXTl@c(fby$2ll2O*r-YJQd1D?`f3J-1gEY+d zzbamp@D^upGwm>c(HZ$|o@=rz;`&Mvr|fjwMvR@}f*%vyoiku)G=VZSFNWiDd{mPi zRHbe%bYB+Bl9p{i5sX{-dbBATqx1!YR&cb{GHUzu z@N_A4DRIZW8P*jk*pc?NS9PG*LH?3H*_I*(N zggqpU#s;lulaXQaISS~|kf!=jCEM>o^ZE_CqU|%;k@J2$t0dGzZeBD{E~z%=CjXsf z_|o^NfAcXrWXsy)!;tl^XKlo$B42Znx1R-L#KCk#J8CN?%AmR1O02-}1o^Mc%LM@? zTpjqkL`hX>grwS+OKC}y)%P5%bscbVIuvs7^_*KE37a&Mlfbd-{5P@8{^a9L7)BEQv4G>FhM!#^I!3ab#%bxWiHVVat&I;ki zj|veQ(p7g;{T|jV;XE$}LlWMYrYej|G097rYwi?P6jVd?pRi&#O8e(@hPSa+(^lHNvsQvuk*8k&1bRY%;)Q~h6-~|f zQRjjvyFA#&Il z8_RizSflPI@|#(sX2{rsUV9%T`2e)}8bfJ}7EVU5!(4pas7; zck9FUsG+YM3EuR~bOC6C@4XF2?(*X`H}}CB31QEtA(mpl11(ku!lz^2t%_5po(Pc+ zk|42tZB?PK*@K~pm_C7IgXF}D!{q8Q3WVa4jFaEo;PkE+<)H4Vi*oI+MrU|lox5zm zUGX!Bq$5{XPS6LjEoD_c%L#a-x=RhsfAEQ?CjAQJp;2Z}XJka;t^*B%o8fa%KF<`Q zz(an7zJfjbYbGVGD;*Z=<~aY3#g+`Fv_wf3Vt>dP0MLYEIYEqj7L#i&yk+;*Rm%GZsU)LXdU;nSpStnAwr-(h^Q!OZ(GIzRcR&c953AbX?r z>#E^=kQeq#9+Gi21YM;ADwhjOeW!K?seax1UO*~9%`arjqdx64(_G)q${G#=?Gg$t}cXYGSVzOF&^xlZK|(t#uoY#m9n z($2RHx0>PO%*rHWD#IqrbI$sHm1#7){3lnf0`U-NtISd-x~JjOo$PVn)euidl1HcO z(J%9F|9l|{GLp{OXul6(!5oEWNNYVU#t!%Drh~<3?tW?=*0*fIRHmyBw?DPWlL;3( zc}K(R1!-Pmg3<9>g`;!uP&!axw?l_q*yalZS9?}EPCbscN;twXAAhjKp3it}%$1yH zrJ&=@e|cHm%c?0I(L|tw0Au>DWD|7UYG;Wg>|Bq-uj491dp#5Cx_C>EUf6pU^zr-@ z(_iSFJvRcVaeYB!7FZZOr~ySFaySn9Q%TlCtlKD=IUrWVb1Ub8_uhdOh?B4JAO^ib zm&>)`4BqqX~YCZV(-xRoKa6$@mekLa&5@>%ho! z<+AR2BYtbVY3)xe$bJ3=t6)6zEy71K0+g=ke%KZf!yAQfXba}*j6##&Pt)zRovOA} zx!0BU^sR}{K8y0bu^X$#tsU1*(mV|l)mzmRH7V1Tv9@CoQ|7Wed;g2oneQ}kPcGYZ zqT^`vgM&mu0t?5bqO=JYfXP*XjGrIy?1xjgxA=^Oug&+JtCUcEFvd&Zfn)O7D>F+b!Ladx9}j&I zI`^#p@)YDsLj%7R&<831+|Tv>A|DZ<`6GOVYlZ$lcOc-cXx;d%um0jRM)bTFIg@}_ zgk7sG``$PXP>1g>yQ{vMuQrLd0K1;vKW1Z31}u0OV~owSW|GgZz!tbv{FUKu%&Jnd z*tc?z5sIaTawUtUwn*b_IuAPdSU@^{LT&$~*i))LqGM8R3}kkWg{W`d8ni2#|a z=jDxvlyQEqrD(#Ob(U3?g);6jnr;>dD3n_2J8ERk2cE(zp<6HwLv|^7ceMkO8lgAzqNE zQp63t9n~K4?tFB--LI&2o2!eiwJxPQ0Ax}zhxm&AF+$TqQ;4rc@U65{5ERw&sV0Ia zzT+#`>{~jr+zo3S0E$VVL8%c8hFDCH~$gj!|PC^?!@jRyq@#Jrd+}7(T{S4`MlOu_m!l!DZ{)Y0T z^65abzymlz>yKo6z=TzLh$-Sdbv;2Dh&LCfuosD}I+` z&Po$vj5aQcd|Z2(U~qO6#*LK+D;*(6hjgyrlh5AXQIBt^0EAcO#6ynU11ADZ4c9ZX zcVEj>hXyw&efT7!r2CbHNFDnna$9=(4Q>>Pkz0Wyu2GEAdyIfY-dGL|hs5Rn!gmD% za{@rBtisDGsZOaCni(G;iCe*p|FQ+U88vplbU1NIZG(+38nJ1z0Ho%Zip=WIt<$(s z+j5sC64SKPQ4P}&+s@27Ip7Ci2k%km>pa}HdAMdIMN*RD31PL3|9q6kix*MF8j0AR z=Yg3K!HIgGww$eBIiB@Kb4ZJ@B?1nGPYn^~>f4gtPQ7tKsD43NwR^C(4>21hGxlw^ zY}c~_Z@clc{X3Nu*mD|&t|5nR@?h!cy<;rwh&y* z{I=ga&k-0uv*Bu+Cgo;M018>vR59fG$zR+&7*S z{4&w0m%_e;*^G}kC9`(o|91f_g`UGCdcMF;OcPvKVLCJ4L-;CKexGS`AeVmW=Jr7y zVNI@{r_)r+LDTdCz|l;ZWzGS2&gY7;iioFNe|Hsr2lb&p2(Niv51rpCPB_Tszl7j{ z@WR6rXQZewhc_YUN|PPjtdz$XQ9&B7FFJn^U{|S?WQ;wFRFHuAZ$H%ppmjJ}OSYHa zTphG<8|MQPX8?H((>ADrUt{vIf}ndJkg6NN_VPBTs0{}rFbhHXZ~Yn;55E49B*$@? z58A{S{vt<5nvO(mhAPp4UpA80S$GFmqL?|{tccgZ`j8#zqsAa?m#G`e(o>{=7NXSb zfKowz2(|xlqLTeDZTeonVgqJ;B{pMQ+N&0%h(eCqA}d!dD2h z9cC5U+QqGz?!Tl9bH0>$g`BL{J1dWNz7PoTK@cV3J7mfBGyx012%6n=;ap zp87ch_awz2E-l(|HESpNdNcW>AMYA#D{B9qw1iC?DU>bM#5 zvi;X|dO(qe3)O2`Z_O7ymG1Hn#H-&z03(BzYKwt^9~I;%20Af13%v%!UK!Q{JmQM$ zhg}mndzqwQ3E{oNsT%+DRD;clU(RW(xw+d_oc0S#$dXU7YcDe81-E}dU;t&I982P5FQLD5&OIu!LQUl{` zqFgQ@_{NBYaa(bw;%EMvI`zZ8)7n^CQn9a`+hR|};yeQBj8_0+z0hyil#;|Z850G| z2Ct9qSB{Puj+V;6q-y~~ZC@N;|RQ^)s;b1hDIVSsmK?rE>CI@qK2)z&#F>sdi| zi7we2t#OG^=V`x_E%<3Em1wbpqa~@OssYLwnj5;=tz0w|6(ls z`3M`27NTtk6%vvpW@f+v3I$+GyZCEvtFjdYPfCUtJ0_+61ffjQ;IC#h`w3gwpX?KY_yx{ z%xAVoI2Wd~u=1TvB>xhxDr=mfok+vr#;dM=LzD4oFqa}J9&2E08L-wPlmSR=&}fdXH@N}FLbq-b$2O6L1d_kJZdv)!D;h7tEC*Nl2tgmz z5mecaaE-}~MVP0&f?!jG60-08PAas)LyU+k&6CvJ6Q4(0&+HF)xB<>J?M zoWE2FkK5MF-w95qNIdCUo9ryR?G{MYM9PtjsP}LV?f3iOU{UDSvZKc)XqKKh| z_`rKKQ7&+hdf!*8DXf*Hdzf*~pz#0qHHdMbcJ%cJZmk?lq^@gcK51r7SQ|mh?sfyK zEX@-=W;RymY~m&;^J#5~Vx7Om{g?+;83C@6|Q;u#;MgXj;(r zVVBLP5~)IbsGV1fjg(MCsSDTfw8nw~*ll9?08_t9T(xdob3>DGJ~g~8CgTo+W6LgM zzh141LK-wPa4ZuDA&TBiRx~6 zwkhblaJlm#%N8KiT$tyzclf9n``Kd~*rzKTPz^15@cre&0^+Sc3N%2UM+t}58Da1( z%jt*|jL$(ytd=bw@c8+a8`TLb%IMTS>zVHCbMeK; zmZdnIuiK3_pdI;#u}pe&e2JT3D3>&4*&ntpjOJ_6&5jhMlwCz<7zUHc92}{S*c$+1 zE(;X3>~o@NO`Yd5!;)=jjiVsk1Z-kF&cC>%qx&Gm))$o)9;yBuh45hVRINwY#a@`h zdvEE9wkZzkj)^wK{lRyD>2VICuty%}l4Xi!>VYmG^7}m~9KZ4u>-DW_~E<3G;adBm(p3e8s>q-?Xz zJA*Gtx|~dVvz*M)Mi!J+CW!Vzq*%>3u;2ERGri3yd(uLV7F`RO%_HV*tzPOtNYKg` zE}#32qRRF$#=aIb)saN*SmZI}=WZFEG>Vy;Gv;1NhvRy5)H!aXbCQ}%fHG7`O9dE> z0_GVCh}S74py@j5B1yS){=U_I4&f#m`N)hg)yNM4vtIcjA#SCv-5TBYuXv9Z$VBS5 zNmV|Q(Lnd=NbX7XPAXg17x3%!E_{&CoSQ$s%MwbmQF8j34iQBsdz!F#gADlW^qe}k ztaqmT(g_hOhBXzqh`FuSrBN^N07ReDF`y6q^|q`Q)pFE-u{B zXQy{gvOVS^BSa5nS|pN!-w%e`G?XDJpHV?xTlEq$#TfB=aySaIyeLS4Z}ZrpCmihh z*Fd+(bx$PUBfY6RsR+yVqd*6nBgw^^{b)pj==sMCFuMJ+t?sxIc9^BBr7%Nkl0TWy zX336HhUpK-`4idz+Kn)faF1(;{GFQJ)YBOSsmA`EW2oBbWyvig<*f_57kAHaYWz2f zwq5>9X@>iY`O$%2533$qI_2mF+I;F;W}_o%8W?67qF;;~wI&MqJZJ8Ny6pIxQ_qYX z;j-vjA1CAyW42(?g!h){gHyl=wGcR9`5Hq>91~ntF$CQ*lbAzQ9SOFGbEO1GyqzS^ zMHKLnqpsFl16tYmVO(HCiQR2ilyJ#aIeaL1Z;vv;-nm`zX^&ANRsH&iN5uy{-^)QH zG;~6*MtC$v*~{Zado=dEJFM!JF9q^~`Rk6khvjHh!dtr9zQGiY1hYDjEMbnGPdzDx z)st=D^`xa|`p+Bg&9{tt#y-K4b19lUnfpSX*_ryURB-e)B_6mg;m}^NpH_YjQ_}OW zP&ty#h2kukbPy#)r+q+|M2iKebzC6wNTS$%Mo%?~_l^l})6Xg?tOwfQ+ zwM`L>?!<5ks2B_STo-TnS$#G}-gFG4l*8QD1THIs*)MiBXnDC)XG%IQOPYqK{ytN4 z*!j5%O-vkq;nT=53ImkS5@8bkiNASO1SRV#UJI!8&~{yaDZ~=0EN7A}?PR`5{*z(0 zh>C(7HHyLjPI8F4FRf=UUE~Jdns^_$gqwBHiI+Rxq&s#Fi82%y@}R>j zKwpoV&y@in<_N0%9k$S#Gs6C64_Kzz;;o`#RoeiES@vUzy)%68bZKS#m9Wq6&U@2y zvo$1NfSUH~Xu*43ACk;J!&Vj*1)d8nbUayQ zS`nywZ@-D5@s9vE7Zv$?GGBu~?r-4&8?gwU>nVZc@db@XuVeh!;~nGRmaMa3>jZ|9 za2e%KHTlS+XMgZK4pjT(dGNBGT59O&`FfzYRYdfl(KNU|Mv^8Yr1tA_!%kUA9=|?_ z83c%b^^QMiznoAptXZa9Wa9QB^@2G|eU1J)@ezZJWand()U`V*qQV8HG(*=w8&B4d z;?pg!x4-xgRo&$i`Yh>vOHR-FjOco15_?6~jsSx3L)lE>O%xoxF_VzsH0@D$*janI z*#Uc#t`C2QZe~`OW~Bcjk-Nt=WymhkpWOF8va3Jw)83}_oplv*8HCUlMoF$bXEmqS zNg6`%0}OR_56oSM#2-ehayUIgRs_f&!j{suOf8-r9T<|5R`I{S#Shn7xazeJF;Xw@ z7HbN%UdeT19n}N&mX>u=fzf(wkc02F5e3-xggwvfz{4Ffv#|+P*!5(6>WZqt#P#ag zA!l=FZxSRm+05A4DqteP@_pfat{*5IJ~)Z!Sm(1e^e&IxoStd>?9@27pPMkM{vu)- z@#E&qOJ|%_mlm8~IZg2Q!w^y82h8vdb9e!hmO zM*GQ{kF5rB01t@tTwjrP;y7MSE@NWZSb?3UZf9Vpjbsu8pQs$bwxa*qK2v_|q3)M< zAUVZ&vbf>vKptuqZ4c!&TkY0-9LWV@1GSWvpCcpP+}R0uYS_$V21x|IleVj)}E}*E0$LA zU_$SK)7FmQ@oIzZYXHIP6ihs1J|!ELO!Iw>2JTn&X>r+VIYvHToAOcl>pblE`>WT; zkU`>0k)*aYFTONQ(!IZ0>+RcN1t{}wR_GWFU}?>_Zo7bV#r!5)iHnz`M>{Bq<7c4$ zZ@~!}m}jq-&U=jzCrXOcu5c8A!L)L^;C+_!@>Kh zQkL+&s z*W1SIWc713*ISivCi>6r8QI_Kd=fNg9F5$MTJZ?fB}9nQOe%YX+St*d4T!oJ9%C|q(32O3GdhT`Im{?^ z#c%HSn>Vdg=-sg{9^`S|vUJP>#`SNm4wsljy#KTc2;!qpdD1`Cyy?t zXig9yRmI+F=3A~9`J)o6GW>kEIV0w|kj*e+&6*@W>{vdTpr_B+qECQ-{&wuQR;R4E zWLgNKzNzc$t6t=zuU!kx_dc}I+nU8OZEB#v4G0CHp z7Cu8YCUY)7)<^=);SvS7!|kF^z4vSf#>rfvy?!X+M8|dh^P95}sV*is07*_7ASdVO zvBb_w0jb}5NBVLxi~MKER4(xb7`D7j%3&&Q@y&dh-%CF&kNl=Ef#LD08bv%la%5J!uoZe{; z)OpP3I*%!7lQ>lqZE1CR20av`NQ=LU*<*V-L8b2TpSoK{awjgzQhRkRvCWAoHp=p& z{^})MbH7k*ByHWh%XhcGS5)hc=Pm`~Qbj1H{*0SnmV`pfQT8A_ZjyC<@fO8b)irP2 zF|BtN+!_NBxB_>3WUmtmB$YPyK`aBHG5KZV7eQt@nwc zh3JQ9P}YJ>=A_dMIfQifqFv%-So7^kZNnYwA0=7B?Mmik8S~K@CU&Qe%#$>4)37V` zpk+oKNwh0j4sRG*t(7f5;2JXJpSIRRKt{(bQ^5NMdfH0KK2%m9L>xq~LVVr=2V_(@ zFkka#WKXdwAU*7JEOfg(%a7S#g!ytZ#$QQ-qPtwl5Cm<8fgN@MSR=c;rFMisb0&YS zy?~nIZAmWz?CSc489IO)Hm9FuUo=#`bw)vW;O45pqO0(${c5jfc&FB(V~>ATyh63< zmRXdqC55LbwNs11yB#0CIlZ+#xx$CB?&Sd_L~;AJ-DlErslh*W^}ONnchm$Lm5S(7 zy8p`>th?ESq7n{oa9>06saipFh}Oi<^_|#-Kp?7n7qED@&T@!g$!}(q z__>HP!{IZLtN!PaZKVAj`hOfdwr>n`Nr*YWC>{v!7n%u zFV2RA4nmGTA_8;^&bkWJqsCPOsoa=vAw;_8%emR{uTXnrWg_(fK7xoZ_6Hi0QuF0d zN2jpg-9IO-<7Rh5PGiF48t#qTnR2uRH-=ayyjp-h05K{UPcH69ZcFo4Ww?&^Xkm55 z&AjKqNqg^A#mDj9X3Y@b3UZ!z4Qhw{-;xK^pKek%Q*A{;pOx7@+{jWJ#yi{z-6>@V zj7e}{7tQ3pIf)$Ww@y@U*t*^ybKI~CPU-?>HwOM%LPkhJIo3G}ue6)GDt%!K0vAAnm zR& zLyXgOF9tym1X2Z$>fLm?Gfx|oYmrDs=!(b;Zy9WEW_#wJa$)No>r_#oju4agHquQrg8>xKMJ?&_+Hf(o4_+jX3q$cZhom<BBQsag?X>?h#&8tNPtG{4@ad*dJ6ZX8{G-E=)AW(81^;MP7_MUMOSR9}N%``8#QPae27W z+eZtvpFP@w^-~GacJqa@R&_2bKIjGIQr|pD;~=H*=DxHMyl_|$1buZCW9(wED+$fh zkq`6xp6+ml$m+{voCOT_6F!qVF!w>B$_ zfIMl-pN*D3jMiUYnGLe{!Dz9@M%@ac|g*vtu*sFW(cDMc8l z4(HcrUoT$U>Lt@(8qHZ>SvpDv2JJp@KiVq|Mho=(DWPF8(MT`(9^cEtrur`!qjWe7 z(>_P)u9ZQv#Mpt9ih?ROzwHL$nX~B|RO^D6%XGqg!BJkl^zrYxsN|kB%l(^e~NI#!l``u+bA{TL4&iOW1q<2i?bhhyE^Rf#1 zU1XhScRVTz`|QO_A&?C>AKY)q%Lv0eO&Uy6DgG(_XRbP3etCgq2@VNTH_@zPugs8k zw!^WX<%d8iNP-XJ5Ji<=8e8V^s4?TWs@$lOGm&lGsaEMuS&!ULUcvUMt#Wi?oW|{< zquYX?o;3GMe2kz1KOWo8GPP6c>Qi#>DbPW_cwId8qg2~t&j%JnF%#Oz{CuOp7Xk@5 zz+S)${Gv8)jm8~-9YU|CwlOPaOf>rSUF<3-ZG_g(_?)fO>2A}OHO!^6N=nvWa z@b>hp52X=VaG|=D&w;6$+2S=tqC&~&87vmHq!QqS61*pc0Q9hf`a0a*;BA_wH}A$@ z!Q{KC>P(QcJ!#`S7d&2j@7YaE*yib?6x}d-(xL|<2No#lAy z==g7K830>78nO3Cw9xAx^+Fdv1=^1OLQf!@6I(=e=7fcsgk_uyKwhR5LSvlz0AQe@ zin~UF*|5XV^q*x4Tau4E;78jEF!rd|Iv zaLj5ILs28F{VP8rV)LB8oJjHfMv2!!YPs?s9GaP6%;Oaf)ixbXdl(t z&!EdquC#haA2X}*VcX(J#hikQxL?Cl-21kE$%Sp5WB9tb1sms^I`KFhztnNZ)s}-Y zI6^a735uL}cTrU2N#ocdqfe!XKMP`(MM%5VU=Z2LM-K3SH5xum7!obQHImT;N6j4yKkb08x}5)EsgUyFN0~dXLg@p)6-ZO=Tv=5)d@hXhZA=@j zxH;`-=f8>wU63ic9~McPPwMIO%n{IyUzFXjZeuihMQM4Ug>yv9n)xZdiQD7@g;x7`tbKOoX_H5zB$m#tRyJAlU0c}PmnW&PNX(c>~W4HK}L!g zJd%Fq&P(L`|F%mW1YO$e_8flB3AVd80iqELLN#Be>2MIti0&_&qI|!-bvb&zsT`;Y3QpqF#%ClXwV3JDHTkIS+ zo``h$-L3JGrhR+PqS@TnizPA4DGnC|p3NUzk6b+P2W`-Erc}(dD36V$IvE?!@lXFk z`?u?wH|#RkOXp|`GL4ZCnd1T^Blb(e936$Tl%DWGv3ct$j`sZWfJWFcVjNr$#chU< zo306h@*^~(${`T`)bg<;F04T!?{_bdDQlBsnN2M(;(-DJwjQnE2jgH-_986D$!OS4e_Q%F$3B;E76%79AK(vUN zhmGr4$MMDpb>i*l&c1ao77K$IfA~iV8#Qa4u~Bn@g`7M#A_?Bc2#Fg_A#>DEK7U7W zbR%l_GsM&gH258YGq0UAj+`3rzA16u_JNNPtS4%o_B|0#Y6S32eRRgP_ z*8EPiV)-g#gR6UXr}Vd|@d=)of;8FnPz!Y%^%|tWImg4Gp;mPQKb~OyOF`uCv~7d* zAN>=77tWYR^zH9eud{wTw3?#X6c7M=)uvx0tJ6?qwhdW8Kgae^)Ya9*&qP)p2 za*~gYakF|sE*L5Rw3vE}eZ!XfVZhy=mpTD7X7cVeA9)zTPN2N8<>v3d zNylSaV<*Kjl0+sY*3;W3J37Cs4iPT!>+RKI=lAJL^-Em7g-i9Uf%t`)pa6|R<0P%P znLRBKbWTh(J*6n^c5B?g7*)LrD>(0K`EtIvdalT& zf&{uXXG0;_w17d}xtUA6ytj+991}Vo4my%luMfNQ1N#7$fbFG(y$!A?HmP@xd04YO zRb}w-X_>6z3}enR6I`3A;ocUj1p6tL&m?K8zmPr7GoeqKX4J#e&DM-}d-#J&Ns&9Q zlOBsl3PYYuo+|QF;G}3t!j^&zu>{S3TQN={F*@+Z4R%p7`&@zcwf&;^x(E7e?5|W? zMMZMW=rD-WVPlF3WIIq*yzP&E(LK(Go>GRiZgJSd7Jq)uXNK?WDyHmT9p_D z?^k?RSu(&y^mED_Fcm+hIX7ApTy9G^4`r}y;`u?pT#@&nnDFcT^><7EWTf(CBF6P` zCwl$xegSA}8l^XJUnT`sz-nwi>J+L-$DSAOI1bY&uc>uYzFth;?W{7 z#nJsik`zLbqqKHDHT>~fP)-q#y8HLS=4k<(iR9ifPP7;iUyk-H!eKIa|-mtkVy~mRaJd*KB_Y| zX(gFWyQ)&Pzwd!ddOHFg`kk{;b6Q$a*FMvM2fa075JzTB_9dGGTEAW_k#iyCi9Z6XJ;xZPHYPsqpgJ@|=+6`5E;{4dJndNuaV z;iwb@1&J27$*6mex2@XK)s;9%(H3{Y8*VAN)&@7Wptx7~dv~iPPy|R-)MxY9wrcIB z&tZNpR#&MEx6MI`VLbE8;%E5&le5Ki5I%&7LL3B$oXBH)Z#!VB_$ONXPm-coYcG*; zRLrl&jfLz;>FIer8``8?qKNDz2d@0Dp3HwA$D0GX2!497(2C9$7zH*8{TYN~&|N;S zgW6iTRD9L1%XcjXX)WgvPC?Xb_n9M#nIAylKfw@Qd;Su4G49{xfDQbeB<<}o2r)GP zWdxlqle!GS$rXKDpa^xJ{2_hh=tZHI8AU-e$Du($e@A*mgB0THzkz#Jnc9 zZtTtbm;ycvH<6GH(OY?-+GvB*WLYpqR$poz) zI$jqhGg_L1cSH$`pf!#i)18ygy=0Ca@u!;1EJh z4K@K#QzIksJmSXBw-XGeBpQJNI+RclH{0GrZn!AKpx$d|>rAkSwM5jVMmB zmpQpo#q~rc_KW@gw({U8&$(`@-ofA5HJ$Ef)ZgvPjkUhK51K5zVQhAhJgs&%0cc!s z{|l#YzdFcD$~mz$yQ?BSd00nIk`o%i{OBC`eqe59@EF(J>Qoo?SvCT@-?#g7pBM&k51l-MF(lK@l#Th^&$K3cC^`Nc}+c`2>#Iqf22rP+}@9U@Hp}R5od9?CTTdjqWE84o9E~m%Br-&&jh-K+a<;W zS=hBg$e(O*`m4bGY3Ya-VJia3R_PBcf%=7f_ix5LHm25#Xb61SQ&W3!Ww21{=e!fN zG=2|P7d$y~4Q7VjnxZ1KQo^4Ra^YtHy3rxmosRZG%^d)W26XP72* zOBrqN^grRpZsoUw8;-iswV2ZZ?_Dp4O62wZ_0kzPiNk*(q1$%i#%D&8lAXQ_^gsc+ zG~e8_^;`~~i5)FJPG3fKRDa`j6_)rmc+dNa74agQiIM)B%51oDSbVDpKVQu)8U8E7 zJl33UhtaKr2w4&ky(BEn;2Sh916~MI97WL)SBFx^JzGb?7%=__z}a}k<}rp=IocAFK^e10BzQcCQQM){B}G2HiYCW^Y|Be7s8pzP5JvG zV@ZX5bI&1qj|!GeqH#?H4`9GATG-#R%2T>CeVll`cI)<0xskXW(t=Vw?PpJc>Zyj6 z@Blaj0EV&ymuyp1bb=e6$t6=Pw*8aC(~O6@{9QI`3pEk0KEZ3*Fxa2}ps9lQnM2RE zRc*5S&`c(6b&OZ)eimVQIPl<`Xa6WkEEkKQuyd|%g@n>DxSrcl$ts?Oe|^W@j*j}# z8^&VwM|#Q@`xQL>??h?xYVUT>-Os8wnlfx92-~0++dN_wX5@s=+-Wb3S5=h=KZhTMb z7UV>USCz^?absy`zhHZ3q+^olzy%cFMoojW&4$F}$?tVUpficst*+E^bEy6b;CU!x z?aEVQ!?B>3bAvqE`XS_0wN|X)QM78Kj%`h*rI=+ja3XmMP5j|uKhi-UbIhmQ1B;Xo zGOhPn0K3MERC$xO+MA7Gl^E=V3AFNKT_P|J)61-tYYa;xP-a&kNo(kt-El%@E*Tz| zJu;y;OZiYfn6{(YJ$%$PywvYf5nEgCjmnDIkNnod!wsjxxa`2fl)5%`>2h@Wq~Yi%W|UdS%;T&s68K?71_$t za!V4Ie@WK%ny#AI7#lo?FI_2}I`bhUj&TdBEBqe{4!d@-Oj3r6-dTM|@vNg@Hb?dp zwS1amRs5y!gjc#wM6S5uJVWdO&&B7nv#7#bMbcmW8~cgxi#}htp7Kv|nQ8!mnv2os zss4UYk?7S08yR=6AFlZ6ReTev|>TAuM!`pAx zaE`pp0~>Cf-}a#re|!aoG6ByQv0Ry=QIS5ak`)TB3{Sll47L{d3|(#En;!T$feWq! zz9q{oEdRL-!4|v4p%A&O!6VTD{wm+PeNR&dcR7d8aj=89NHpp?YJI}9&u>YqAY77M zD4ZhO&^v1+X-c$O$;0Y)vjt<^bZcu#Pqsqwx%{X4G{3Cm-ZW#t1BL}59bag7C2@;L z)+sO5DwxtGJS|QAdw1L`Un}zEb_Ht#AD?tR-t_g%71~{wjWYaW40Vy5LL&F*a$@zL z7TgfT+-)ZS!jwvCRxEK*_;9&{t8l6Z_`DJnqOPljNj>2Uu3k}9KZf?c@m#2L)HdhN z!Wi@bVB%Pj0e#kq%q`fJeh>={hy4bwLR(zlW-N-Hg}n<}Mj zT?ERnU0UbYoiN(ca$~R!Uen>)%bq1P-mh~LMaWcI^_tVEX=fR{F{sb{COMuJME@@q9+Tjofqg&mdm4+ritcdtENgjYg;(JSPB`!Myj z;~LkfF>w65eDE#lg8tS_#KvpTLL5LFP~U+`Ekyw~)1}evE`ddPZVl38QVyz7ouH*M z=yShBY*gTsAja7t{8llq&T)8>1C#C%HIR+aR2k^9Z0d)CMU~H)Rp)=v`Dz)mUimw?F5SG z;l0H|N?%9G7j4I#ePa-%#j}p{0o2@CP|>Tf{oogf5h^wpV9=|HI?82vMi(vGqqgaSwyv z5}!Bh1&5BV>)+hYvGtaVwDQ}(#i3YFu`CsP>gUQSR-6sCa*7_txbIN?+}ZL5=jDAS z{Tn{1K6Jt<eP=1A8E9+vyYZ+&6fTEQ-HqKPbt?|+)& zg^nr`r{$WKKeetnO2#9}wrR5gY$(tbx-QRqJ=4DBB@~~+S(4{>54d$eta0WY-C|(!O_I3x(DYvniJW=NZ=Qx%u@zCPBRA1masu|F#p_iud^{ThnCX}nv1 z>qMQ{2Cw)Qfu%Fu^E>Bq`|&GCrCgn^LJ5g|Mx!R}Qhe&{^qf%Y4LTJYT91S0UV3IH z)VAcr0C))qV00;3XJ|1!DQI|1E@Cdx*#86 zQoZxujguwVZshs9OM;OD$a46O!+Sp&7;H%uK=SZ_wNG|uowPD;tG=rxrKK!OU^TRQ*`Acz z{v-d#SD&u@<0an=XB0-`*=$#3HW-0>CyqZayrt@(#%i!wdRs}wwVrQn_{i=!Kkab& zr9v=lP~v9eOW%JRw{;xF1rgh$eLi}G4T}g~eic`ayg*wwN7m4p)kh(SU7szIR$yb$ z|ERvBazaBjB+bJ>c3PKGJ5goFqLJgLzVeVui6{4cf?Vj{a*(rrE3-7o$n#=n@PC>w z$)qHeeCrp^2TSxn9WbkdSTwJLY-@C`7`0f*37fU~fc!3Z+#BmGVt6;SuHJf@zp^zs?fD`S@Rn@axhbHtEf~grH=cFh zRW~j!_r9m6BC4h!v=UHRiW0(3uycKW2)C_p{J9es{H@J|)%jz|o(z}Yr{_%TCT?ZT zqZS|+0Xy6dDp3AiL!IG26wnfHh7X5daj#3ue%lfwc7mz_2k)5^HfS#Vw++ek>bfOz zZ7-o}tN6ZxwL%RKomXE2PpVtEV;;-*i+XQCM=o>MyWYFi=*hfGkIy?i>#v4^E^qrXOiiP`aD~xfxXXXWxt=vkx{k-+gY&R_Pzuy$~pnY0e zM}66ribxpmSfu(Q!2^dTiK<|ti=|XtQt}NlBqt6NnI#AS6c`K}$&vN=yS-!*`m0?; z5hE?kTA&NBV3pvzX&}2f&WDT7uu^`uLc8Pkn+NFiq3}0kHI%CRKxx-6=914?RkuXF z9ji{Zy=v*1BA+%LEzEQ>6>tAJ#Wm1>QmG*lK9W8AbygEB7(s7HB4agVK0%Zm{i{*L z=<4s;+J#m;bgK=|9`0I)(dS*cXi$MK8Ncp9XK|mp57Uzjs6#1 z{FIMHk|gUr-(8kUe4H1BjvlGybuK{Dw-u61Txe^kpulJV3Lwx>B)*an)W?JYJxck! zaCy$}dx=XmUABPS(U;Homl}~D^LoKQREQcr2)B1X+;L1_jzq~fZzO_al!%xkQ_Fhy zf_&?6;@ObKW22|WAD70b`$}>PR3+BS_vi4d!;0i_vJ`X$WJ5{~nzD_@eKsHY7yc?f zx`?rcc$=x#X{sMYS9$C;K59F})wj0tS5_5p>iv~oaB%fLgFc`&art8VJPza$}tktSmm`fye7xXHA{!T=VQnWWO4 zP-PnXR#<)u=^XcezJMM-dR73fY-ZNH=f5m^T>A$$)fWHNq8qXh)|4WtB>pe<7As+H z-HGT8`$M+YV3~g}c)>ykHauzVRpmbKfj1!AhM&Lw3*NA?C~kjk)BObdEMOBNo#8}a zhJ`<%Sp9g7jj}&63F6QjLG>}c>!{>5IYI$(114Sc6G%Lf&V-W>xft%RSd@6nb4InOVqd54=u%pA1@|LL;IN28PY`C&!K4c zg*AE~`;^RQn2`M)d;4=zgPU^^_-*$nst;TdYQQ1?i73qTJ8J53fEgQvH$?+K zPV!7hSxKq(n8qGA8I5X=)dRz!mYi8RWZvkJ(rg#+dJ_pyIhUfT`!#(xYo3|%TF^WB zcD|>VlmDZb(m!i*=ZtPP@vxGpD7tnUxj{VuYb5tClI+;?+7Om_kKTR9>X`?s6~!B;F7sxe;~CP4xUj(fid4G$X>V_`avFz;F&wVcalU1K3yM~_|+Bg>#ZynG`a9~J4qi{ro zXs%XEU~qWc!XgsL5{R1ut%4`Gf&j%-r$~s>SqMA;GfLLkCl`s&lgnA}5%pB9I(!O4 z0%pfTa@ZQ$ao18i9z?Q*JTfZ0pq*&%a;J){WWNiZFGC6)_y977O*zea(@+6Md(Q5at|ce=ylg@qr)N6S&9xzo3XY+X#At>wljAtRhQL zV`Oaf4y7^q9u9g;4r#Dlrq@s3Y~W$n&HY}b8yU;(xk7}yb$(wLh2tCsUiVWW=5+vY zIq>Cbi|7-uQGqUWkUsLJw!53S>HSImD~=fAhZgc=Cjb)lgf_^->G-q;A2F12qZme4 z@pw_L;a^z^q;sZLdj%95dMip)62+zW-hJsScDAVZ&(HztxA?x#)LWLG`|!<2i7_g$ z9uoCyv4`P?cajWF`+(U+jqcu6hb0H^^f@D+GM5(5bcYs95xu9s^1=lRuY@75fyoK| z=(8hsXCHMFns}CM&ZpR;x)OEICS4ZiNY;OWGnaPEC-=C+e6Zf}IsPO-`m`_nXef55 zlEMg|t}TDWM>C@q`CUGNw{*JnFhFg;BC4o^C{un{1Sloo2~banzr0ZIAv|Gc8g60D zJT_0RGp6KXqK0UVNF9t&XX-o*2B84R15W(Y1afKNYS;4`-eQ+D566@&m^d4rwlYWH zFV-X6Mff%?h(Z&uiY3mX`>{0|6jjq9gL0yb(>xM_9{e_CW#{-ztgzgqkSfKEACDyX z8ok{<=9g!xZ!Rn4WUZGoxw9!*Xg7vYksx_NxYbX!B0@ws6yRHGZV~;wl=5(i2c~}O zTWBCHM)%U)IZdb_f=;*y0=Rdc`{>CfkM9Wi(97S5;}#D8+$)?c1zySQ%7MNEK|8OJ z9H17auF&;=Z!i1(@6w=K0|?oi8o}+7?r`GiyHM5V)u9uD(3VE;<=zlUc7fh8bS-qM zmaQY}B_xLi%kTfh30f4y7z`x^{uT#1+%+z1Lr4^Rzh`u&RbgG2n%)l%qyJ);QANO& z-&pOv#gh8Y@jmt{8u6g9iwtihgr^Zr59d}NM@{7TPTR4lrS_-Q3O$ZvaNmB#1%B%I z!8t@(J9PjaVZh+WNwLW(nY~si?fLYMCK_<*)dqQ9jE2ourK#+Oq3-SxJ0cMigEhrQ zms|B8ob1QY6H$RFIN%E@BA!pkPLpLH`Tg$kpKgP&*<_>|-*sA*V_2^U;I58kl41i+ zrC>QjdCUnjKB7J^=W-8{p*?)WUseb#_xN?W>|hXI^|9!L%m$RaS-y7K{d>o}G)+x2!V>i#nKa|nQBw5lFyifR2 z4{$I<_}tQR^EyCjkA1D;Ef{(6_v1_mU|jl$zOhp7rGGkx9?g>#`rkCM=vSA;F?x1v z19P7G(X;<<#^LV}A?Y1=}n~?Zkr5bo_V`w938KKwAWt09HKs$4}&=WPWU2<-<>6kW{D0T5gBe?00CCrX%3ev}9+RiqRvz5A)$rseH=kWW2r$?7NdUe&NP+ruON)NGE0 zeJ?z%SpL9{GGP`^D{&qg_!u^#v{SFb9-yxkZ)TrezL7b{e-EFkiY9((u=WjXFYe1O|BUQ}5 zc#(j(QC=nI9M+dRVf)8cY;dcdG!}O_`k>8X^RY2C5Nc823x0}!ww>+IwvwB zFAC~Ux-9YckLCPCQn1cb@uU;KVXR6G(=K6(B+0-B72oMYc(9k;b0ox5^7bIXF2X&k z$ZJ%HK*}Kl8GXJ9vvv}C-*Ho->2qW(nZ2o!CQ?#Y#1bTo14aSjYG03Iy`H>B)O)K> z*{k_CHz$IiBr4SC2$+>~#fLG8Uc};f1-l`mKPV}wmiK3hEZz&HJ(!dWvt9=#En(WQ zuj#5~?a8++l`fM2$by~cbqIhoomM~)PXjz^CAM^e`&Vcl%bV$m@l<$v^bQs&Lw zp4Lw5xe-+osmj<+4Gt6Znwn3QrhwftYsHR&8JSX0;F@Ppk8sEJHK(82j#TL%gNM^X zxpC~@h3YuIFt;nrmRpIq>9GV>Ju|rXr)H5WaM%syg^A-2pMzIRFaVAfEwBu`FUX{rB}NDt4F%ik9Hz7a-+$U=^-57=GFBxo(5%6LAqmmFm=q&pL5slaMr%%9rcaS3DkHd4T7x6YtB7zA2l% z1`~tX_b?`VZQnsdC9j#{9`TH7Xcd~Ya^!-1NihMah`L@AXTTNCI;8W|hG?Xp9O1J# zM(v!^(`d)x>m{@JK3(5?a7-8&yX&4edxD^AopR7=Wx=u@z)a~DMQX}U1e=0xI(ict zYxL?!`SVTfMnmM&?P-U8%u|boD%UJ!hvC9;3K?sq7an`k2L?9>lBJ5F-iH3Gq~&qr zqMiV(XDm5&JZ}-1)pG%ZW^L!>(=&NhSM5s`QoXwj((tK{Cu~%!;bUw4F($Zbe>T5} z$OP4C{aG7ypnoAf+RxQfQRGFR~*J)eB7-GYg71G9OzXNAePNIO_5A zMwJ%v>h%;oW)IZm8O7<2`#bD>vN{FIgHq0KFw7L>;(OH13Y}O*%4_F!32XyKHFws5J0mkHa>6dp7h$|haAqWS0V6A zTc-Vqd|~tpJ%Fb$M(6TRp~5a?#I1;fPfu8fQ8{G@!}be%obPuic=Ubsk~e&o@%jM& zkno+Gk&x77r${88YW-n3%Z&-Kl%joXlihu8Foyw?QBNF#xR&pCLIlN>J8^w+P0Bl= z%{hpT-u1(K5!=uYl5VLTEhlPmwYEHLUz|%e87q^2>i9I|Qeo$7erCX>@7$BrlS=Jn z$iF?{esW7_%y#e`lD$B~cihorKBb1xS1c5cRwZG@%k-Nr}e2m1u^~g;f(j|!z@zaD_Exriedc{aGJYDW>cH$qK%DIt2tapU*3gkr` zpe3SA_Sab1@pxWYRq}zoNP{I(n%0I5a?)kW-x>0Usr3e~Oo`DLN)vw|<&!MJ1uJ79 z5K*>m@II^fTP3YN6HVsZ0-A7XY2_#}z+&sH_vm$hNZHJ&n6_gA!k5s5a6?sBJ{<-TuumwBo`P3g3ZACZxxUMg=Q zMGDViOh;s#i$lI1u?xJCJz7@+Ks6%K<&}a52uGa!!>|2`OC+C$=ue(b3iY7PnUOr{ zUm1b5=q5H6p?{5BIegE?;onxg;l3#eD~ssVM>SA646StUEaL~guB2^vpHu{TvI1QC zqR2-75yWdRN76$eXF9=F79w(0Cs~?yL|j{SZ8m$ef{KKQ z?paEjx~uM4F_qX7skQckAhLfGaYtNOK>WnkL&+=tgA{l=D$iekp6B^9lcPd5;So$;pL|^-pEnjute>_&lV(7|RC|KmPiS5OJe%v* zoV3Z9*wt0WZs`8+40;*D^C`t9Dijn1vRh1@hXNoBy-U6jdWy@E+qd*%ePc5K7c_A^NZfyu1P z`kMT!3SF*uEHW!cyMpO?Ps@(pK4{bHZvHhbF=@G3#pv!N0)gpXLMPka?B?kn$SJoO zl;^By)1GSpmRE9(LYJHMq&3iVxuSL@z4ib< z&JO~lI|><(kIHteat6jJNpL#;H@mT9HwV7WZvQbNc~MWCfd>R&#N+o-iHXXilh{J8LL6*eZG7O))ew5FhjHH#uWMdT&A(&y8l_)FJKXtfVaBBG&mx_S!RP0v4GCKI z1Ol9zQ{uQGb249qKR%M0v(U^^K5CoOI&c;CEPuYfCD+C?3TxT)oNTrdD#HXZ=lrXr zP!YKj-LSWM-(%f;cP!O>mI=WL;0TGPm)QOd*&Byn^Jfe9 z-@KA-l5$q-MEZYF8~{MVMUCj_tedz0vMf0HCXYoE{h;co@miDq#wnZEQ5C218f((h z@4RI1pkYa==e^JCPvgYu3ysS$;^S1&81sz%wd0zzS_e`09D#pqq**v;Y?O1uJuO)sgkI{`+2LnT8J1~8`Z zl15gFnp^9Fb&`-<2B?itsi}wjlL?+85-^vq-s@eA4|CnEb;ux8GhVh7@g(73kbX35 zL=B65uOyeNsgaeo8uF)CA*oD6Mw-Vh`%`$@Y#r!!Qr_P)6s1lGR7y znZasPe#RdKl*vyOW&A#P=V#gk@4AOV(_U9l3-+h@2oKqxv)&{T$mpe*qZ1B;~nPmA6_w}hxV ze}|?&?s>lak>+Idb%4C?W)r;9^>3o3uc zpBsh^w_fqu{y{^m&1Jg7a5lPJ4TIrewmyY<&LnAuJFP}l+Ko!8DtfI2rM0wBEUxka z+dc_ikKX?ZghG z;?kJlJ=vD~|IIR4cOi>`<98Tmt0-zsyMZ7Wi~{NH!z$6n48MHyw&-U4v%bVqw54fv zSzj#PA*7QmKu-e4>1g|4Z>QtVR>UJ7yZ6hqZx~Xf$Z(9UL+Z`51uQ+%lY3yw6PGjbyTz$mkHtr^#M5(LED%5O zz!bb)=5rrX~$mu_q5eO;O^Cb;G5+C2O~r~}QaQ*9}Q2Rl|`d@73`*DFrsOzDJD_%2c4UF(w4;O(Zf?h>(=D zP*M~qaz#!2!4!dVHm)6he)*1iLgFe!anmzdCn5=?jo~Yv_j|hE3R=U2bJ^^@vTN3W zKnR46`V}A_nMUNRfbwdaf9lWHNNo6K8~jD2q7?=se-z~5Q=IkPk!`;D*m#Qu>pzQ*zS@3x}8VL6S3gc2Zos%ogWDZ7y|#8_iw*G z8QJIe-99KJ4^TDP8T0+-uM;cr$y_@R02GgbFeZIA4@oPknZKV>Bx5?vPT}! z`0U2#c;_FhYK_1Zh5R`ik7m$6)vclrdOkBzwehNUVY;$C0Rzu9*HfDJfXUYU77LZD z0(eJ7EBXQ$P`Mw|`JSR4^J4bemeSKj-ER|6L+Cz`J8Yh7UWz2LMHiNF@cCekKF3+? zkM)P`hnCaw3$1h`F*YMy{ZM^20##!DbI+m1Yl(ovvls$Ihq$dh$Pa9 z&a{HXR)us82x=xk`p<~5+Z!&aJjKV=x7SB@OAV2D72jrpXbgWK1z6F)+f34|f4(Q% z^LAfSq4HniutfU6hS)ZY5SVW<{^Ht^!>?Pp{{Tk+NcPYfZb?t%wo%`z6t#VAlDBUT z$s?W&nz%ftpU!zCEYDRp%lxZiCR-b*)R6r zC|cJLx(b9$^T#VlXDB2R`+3+Rrg%dD@pv5s6mcacFv|gU)LrNx1la#oaWaG^lYD&Y zRh$YQN8|*E4em=U=}Lplg!3aB5ScoO%R1Y*rZQ{WY5)Q5+M*Yk}DS5PvgT zWoIAn6Y}YRYvJV?Zo6n|15ziVDOihx-G?}hUn9sw`z3z4S;IbWxaLx4UdS2hYZ^!= zDw4X+eS!La=xYmP67T)5wz(#ssV)LM?L=;50qVYYLGimu@HbU;ZK}1?n#Iz0vrScH zQR`F)h+e$SidJzSrASDbO2$9bH+J97V4^EXyaQ^Vf|@{mHEER_Ai z+Njnz%)VsN*DO?~?|Q2`Bq12DbqUG*(CDWv%aITZ;Mh|#9tnBpwtJPn7o4r;FTS0Jd7n&%g{^NaM!S#@d(QjVVV={u!J*JkfIn_|k8gxTvc~n$ zW+Xn@W6ovwV@G;{=V1ut-d139H3HFn$IVxAfy~pCh3>kc+#N3j-rQjwjF?TmsDLdi zR8qis5dLOK&D^VdPaLVxex&E@AF`G|0(~M^>W3qS$`v)&kwpnBDrqkHPTGwPSnVaj z#np-8ePJjt2Ub#~g|LQ?M8fskwK6`N+o4wAZL=V=&Knv&f;XTR3^^k*`>qrhq1S>3 z<%3#`dI1Rs#|1jK^D!~qt*w2kB7_LO;SIG2m2DlrB_^@l(7hdjXRJL>X7oJ%xS1J- z2f7Q~5j_F#1aiFW=NdxR*48AQsL(lsR0S;TD)R&8U|rV$Ct2&~xDU;E4g`D>xZ)V7 zq^q5jMZ@yC>gm&2P`)!N+Z+vy(Nw#f!m~*=oTBsb-pua<_CC_?Ob(1&m&OiieOql4 zIQ`T{0+l4ZBT{HN%S~J;n7w0DrvWl@)X|^HhK|i8dXXqA+R8tDG5g)vY5f)V z>*KL)l-jCRxn8g5v_C$0`>E(F&jdfJ-~_Xqi4koNky7@V?1)lUgW@ET#E??49xL3IbFn|$v?2w-(OUcLrkv?xF3V60QdP%$0(m^@vpUF(<}OX zkr{FK2+gygo-M4jlwR#esx~5h7dlW&a%&BY_bI!vCyI>@%6&ne92cov*QqNhvgzV% z|K3Iz|4ErsdRBq9v-I_>_xi&ENR1*3Q(BI6=bH7+6iluEzY3+ca54D)Q^2H|6t$4T zQegLD);8R{^QRXZ+x|_4|xQI=H8+#Uqq~!Ua#iOQ>jAXgu9J)OeYk6~iB`@;uI~i|P++ z#OaX>_CVDC7C`M*O!9!1S0b}mRrd%^Gmea~kwmX&QXc|Z*b%(PpbZ}dh%KXG)@NKNU#22i< zDO*+;Wn8PQ)kdtLo@rx3PRlmx^;VFOriyc&gA{L9^nD#0(ec4w(h05^MKA2ek0mEc z{ub|(vwcjvkzV;AB5d)}68lSH%HKLkhkxmp@DbdKmrf6O;@ooCGs$_uw9EilPez;0 zH^@N~vU$pKZ%9Ul2;m}^P%+cuRi)SnBR!l6f<2oZI6O(Yn#;;l6U?_><&e4>D2_i! z-}u#o<{KaaKnz5t%CPphLv~5J>F2XKU(BZ(ePM_=%Ys^I$)?PFFGfL>c6sm3^2r!$(>(5zjgh2MhVTv-E7L0YU^VR7e8dyuic!>_Apln0 z@Xb2OrxZ9JqQkKKYbBJ@Oa1x zjv`VKy~crHtP*2v4_^W6SSttY3DlC>m5&G_YzdKvtMvERZ|xa3zo-dMsHJc>CWAWA@= zZYf<@2!s&&1p-7rfGp+_HwF(T1Q98Rlo*iZ{$yq@2nxGU0_o$zyC!KUY2enx5Wj4( z{BuNKw4mycte@<2hQ|t{e^F#r_e;QxMi?{^Mra^7M(yRuWpQclY+19?UURc)2?Q1v zbj)tC%I6wSco5b%iK=TAdUjZc+@UT^;}GQO*7-4GQab4tSxO)I`{YI8D?g4fLt4Yn zDvM8hYZ3fXP-_R_7yeQ(^g}e8(sy@3NX51+Bk@q5YUb^};p?iyR>*t=W)i#0@4UiS1Upt_ z7ZsO!S}fQYwcBvzkd~RLlZ$8m1pSc6FeLzh%RDMuAGcI=cVmT)0?}D6yJJ7A+4e3h zpNGsbb!LL8`mt_4m&T9d*Yrcn33({``C7@Cq0iPY;0AefXGdSFB<2bT0MCRxxy#Uf zz5$cfHnue~9~&{{Oz*Pf+W+hTW{_;qK`oL@9gclAtMv&xD=GCU*ZzWVO#)^_;D|gV z0uJkn235KOG*}CQov8z1>8lx6Oxz0+C{;;$oMZ>#)U+1Nv~7Iw?Zrcq915yGH&BKB zU2^#c%ZG0~9t;Z zY`YOw{q3~?6GUj>f!$_%&_M{qLP*PIrT4BEng3!WmyL^nvdY8Og-RN&{eNswi-A?X z@iSDd-6y56y0&)j-sdQwLlA`VR?cn~RQWjKN75MxmVxh+n52rdeJuZGjgO?@`8~f< zj!vfgsCb>=$an&@nc__B5L`YOy7j3hB4ZtmwQ<)xmn^YJwK zN?dS==XrlAzv$WmkY5ngRvz$H)r+{c2xPY#CQ0DlQ1{~f#_HJQ?1MLGYqZA0dOFM} zqmtk50sl(rE)SIT4Lr3|gd6CQYNGD09UsK*_-+bA$?IQv1@dn88kIfgT^-XosQ9C5 ze&@?9;$XAZW7}jc#U8({sngI(rCk@C(1DI#FH$RJupDW-X9mxu?4HHEQmf5i0xA0Do%FJjb=+{O)O?gqKoU+081qu` z&SH+W&uGPXG`>0hVewq>?!R`F5veM?teF9)`jV%cg|<}4CVuwe4zZj#zu1~<$2X0R zbiLX)qkIN~)T0~^$U6%S7}t=ruH~g{422C0&WROTAD}ZpWsSV} z$;n+&ktOUW>GKEYAGNaH9mgyVz@F7_leGmsrA1$!T?@S&{}wy^4w6y2kVt)hOA-2N z^PaJ1Tl8^%`qf5;=e#z&O9y@N=umoL2fv%ND9$U1sv6bmp!wJK>gA}CbhE_v#_09e zps!ryU0>0!wkE&Y%sL8!f;*NL70oUmn55;<7}p80M>DEdDI_Uu4sPDR85d+)OHAG# zSbkw^))L8aedkRhfjG9OH3*4Vh(?P_HXNF!UNO^uCUZ!j=8Gx1v6*|gKm?V9gG<+0 zWt_b&*j@}Yc2!~<^2OSUeWrzfO4&U3y&_0S=@nM5d*t#c6ZXN9;ow&??9M_LW@cV^I_f+rcTpD}pckE>P{?f*(P; z&JoAT-06KIyW>jQ@wz6Izq+x61b`bjxdX#5o#X+z*N?9&u)?Z>@6xlAYmTBp-?*vH zv#aR2q|x``FagM`3~$_)AIXI_13#bFAAE(W0sX0HLjT4EOISP@v-=bo5b?U4))=)M zeY|v(zR}HGqU2*n|?&O`h#Yz@TrPEu{X*a4n!OUrd{ba5i?T@XbKTOgXn8~kA5i9kf#yc@HA z#o}$55*ju#IzAvGsP}P<33q0>F3y%QhJ1kA()x+%4ObYbpQC)GqO%ycf&~dx@TAX5 z%e8xKq@0Cq%^DiY>r6;Esw2#f^U4~ye$uL9#8MdDhK1;-#l0$XPf{ z6m^|>h2qXV$f?E2i8W(t^c?)1m7AMvjNVzTH3I0a^Xirec7DF)geJ91v@!`^CA&r_2CWIWZHad^wX7@>MGE z9oPfK2dD1Da*+EymE@hj5N#~?6?8*#0P@x^T?L0el#jioh4zLG1pW1!1o3#IG zoPF44oN#!krRm{;+c=hmi7O4S`}A(z5%tw+J!J3BU_@8 zRLyRll(oP|4+7YJ@1ka*n?%fStewA^o^Z^+O}u)UWG$gMJ?8n<1yG-jWOJ^H=n zeCz>)-)xn|{U^l>N?}hChzrv~Yf}I{T~>DWztY^Rz2+=De0=RBj&F~Yj{Y1(pkz*D zW&67K<8wIa7E51SllOXCQA|jM|7T21tVyhZBWT`(n{0@S;M1OQxyQ%W^ydAJQP`f> zK4peDRUUU4UN~3p3&HZc43s|z=K#pE>^ z++WTiJYHr7CpK!tTzz2Z?>{zCkxYundaRx`>@CgXegeuwGy>UYbN*qc+mppE zGs4=>iTS#^u`I7xE8okKjJx`DBnJNpHdrY;78Pl<+#f!C9HiUp<>dci(p`GQ4;~?6$f^;hyv`kxdkN| zx`Tl;y>f_>Lag_EA5K-dej-(k+<$kkMvIv^U78utA&7(RA7cF-2Zm3@URAxZPg(kt zH9=(YgOw7#;Rapu!)bBXHF@c{JFN^*M``niZ5{~?MwEbD_DxxxpX||GYLDG`FXTky z`MkMVNN#_5@}|elq6hlmJr6O&x;!Lyr`s9(1%*(tQonC=RZ6DVu1$C6wK?x>6DOG9 zF%nr5WO$*{^4z3itVXCW2-JcLb0dLN*eaghW=Uq|hGnkF^IzrqwbOQ#OBO&o~H=Q@hG*+fw*wocT7Z<1{o?LqKisxqL%jaZD z?GQ8fBGu>je=2{#w0^)wM-^;z6-q(=aHeh;xa}ZXNC3(r#0mNDUE(Vo3tCP)+C1KWjC1ynhLctGR6V$htpQ9vBOzS`V((Dgpf6k?qVDR=` z)x#pnthNh_R`~cl<-C+@r!klHk=;kP_9<9*V(*=C6D0*wHc`?SP7sLb9WPZ^(K@B# zxb=m3!rEir-zro<DJPhxb*Ceo@ljueEve{Zi0QJ*H3Pol)9O3 z$y~8s#|k*Yjq^fRw|}JlgR6dcf9hDx|GvkUX!w5*0^p$&Fy?~6ve5plff0`6;EiVg zUGC^lYOktHU%olb3zdaii$G>rdad-&On+Bmv+i$puP;}*xU>A(-$p5roQ8rS$n0f! z_9t^n;ah$@D@Un1 zM6AW}?sU~TNn6?Ykoz%D=5o0mjp=j_?=SiFK!3c_(SMAViq#USPFZOsL3{7##$?=9;8DPKj2g*|b2deCALw2?*QU)j`t$unu&M9S z+0eQDTNs|>FMRt26#KkWut_VPOO@^T;P%1g9O=MUuaA|D@11Z5;rF2QN=R%VgC!IX zIC4N*?Qwrej&c@#?&g80;)OvAL4&)btbxml6tKXtr9iwiy9WVBKRy89IexWoS zmRUgX15gHdKK7IZBnKp_vwuc}#s#GE!#6pC=Yb{lyM zbc$*0sSL6*!rY*cFRGzQg2qb9BrLh(CjN<3Um01p9}w#DM^B7;pfExh zMBqtX{f+!%hjqU5v`o^8pHKefCT#C8aaN;=4DJpEh|cMR6+n=` ztU}3rgMWeUFyXAc@wt^sP_6UpXe0L_Ib5hg4BF@*dGY1gEsm?(ikVS~!TTJ?d6$_F z0IVPg{ru;B`?4P>yS(AD>53(rju{T?#sp}WK!orJ2~&?6uCb0@r&vN0UBODM;;Mbq zVW3<6J@6w$OYgOJu55)6(4*5gwBB?`P@>NS+=A5(g8vb@LVz&AAcXH60#-5$w0hk> z{5xu1Kvd0Bq1-tKoO1)v613wbT}8o~Ivrqj|&%{Qhp*^z>TL**aEgA0t? zquhM)!57cXQ%XF07$od*AUB%1+B9Js*B20CrYq$tADdtox;d-aT)b*xeT8_YP_z*) z^Qy=L6L0sV+sS4L^<*RZT=BCyix+?h0?<_vi8dk<_t*ul?JCu!74|smuujx_j(On` z&HV@&M~bd!&46pW2HkLVEU9rZL) zO?tg9dostY;JX8;hI#p)7^bt;;$WEN5r1y-8@yBg#4@w2Tu?Zie4PTi(~zt`k3!LI z4K81#cKmfMu}7oh_^YV77UieN>}VLD!FOc-?Ql{_2avy9`)1;1yMJHN%sp;Qxp6d4 z#pT?LV2A#F@ihS}S|d$!JY?wGk$BkbN0)%zB7<_kt?%7=r%;yva4=utwDi1#xrz#? z>-=T64WW6MP)jkWVy4aZzaWD|1Y*k@T4A(zM*&-wC%8PER~t&}Wf!-vTergnZBRki z$O-CCF9!x|noiVwoJF#>1`6Cj$SF={+GkmxuVVsPvb-(lo8q0GH^dOKhzfp~}*6o6WEqaIsbFL-WGJpbq?fPM#dB7x8n zzh?athFj3w8=bg)(>aXwNYq~#PApXo!U5MAVJ?BRc4u69bMJPM_QdrGWn_*#Wo<<$ z()cc?t^Z;Dp*))vF<$cC+j$wz^du>pTL(;wUcff6BJc%5Xo9W1*yKs2gw%R2BNNz7Avh*g>(Nb~G^t&O++aQ+? zM9TzOkt-ZImF{$3q0S=nw6RzBer277V#;s@5BdMloI639BZvq&7^2|%9%9_Ysp?D0 zxw#qLmas~Y=)~e#C3F?B^^g>{@lyBQWA%Y|X$3f)u2nwXDVB96U;lC+A#mbBz-?=U zh4&{dfYHyYObHH`A_e#R?E0z+vymYytTGo_R@k=Q6q3SJOgOHdrgHZg|Dr}I%<#n?1W&uNI_#@n?C=iB+ERF-)X1?q;8!h%fk({z^ zpT9=9_vdlOHV$2Z`YQ}26p+YuyPB=xMpYdAL#*4D77AZA{gKmdSy^@Smn=k=$2glY zCVAseeUMQNG1%|#G@dm1t|HXZD|TADfpEc1N?Bd{ahGrT(F|?RZLf&}j(4UYbTo=6 z>saXp?0nh zS&_>;p6_J|Yu|3|dlwm*TR2hN)E_8BoEbeL*5nyqx;lxi3@S30)+UIX1hmZjWs8_G z+=Q?pURYORukK;vzs>>5jftkLJi9SL9o>pIbRK1+=!*fatgCjbm%*DOc?1SnBCgHQ zf#V_Wf!nhqTgrPfe^A~CMZ};3^y$ok#kpCUHUK}%Rp1$$H!Gz)m6_0XO_)-6vpZAVxx{fxl3arUddzlw=qC_k&5EP8|o4pGJ zQk0uUVkS%~2)X91zkFGXYk z6@PJhpI)iVt|4{)dX`LK0yYtNZhnM4C?`AU{ePCwm72M^r0?lNigRcr9h9ws9FZJ5 z*zFk*GiF?;krCd@D+Kgjz9!Sa0r}ysUa{QYsF4+WisLsMPkZ2aygXmgpGyPbDMzc! z6zQ2<>?k%{>J(WfzV904GqFs4oN7G#Nb%R7=$EEmz|?lx=dpfQ*w3c7S#yQ&uDL^6 zE3R33^k)}5oPLL*LYb+IrWo{B#gltRcIIVYqAom@ZO{YA2rlXHC$vw(fzl~1hFa7< zBi_A>06G=fQo+F*F9N>3+WVG+I{$a_TNzvwVA&S!=vx^wiW80$*UIkJH#wDMUVEvB z!zA$DwmAE--A$bX^3xPW;%|dEGa|jQ%o>64p#(y00{rKnV}iHBm$;q}evO0R-I=bkv`59@d1P1fj2^4DKX=`M}8_ZHLRCX@RSjHhF!zfrUYD|jO8}F`4qi>Q2Uo5sr5Sv z6M2KZ%T^%<&a8X5abHq=qK@(YMQx>iS{ql*%p|Cj(!OO-s~S4@NQH)5rrWOCDNg)W7fgM)=gaX{gpQf{S04%RpE9fi?OgnZ9IreX`AGjoW5vIi`VK zU4b73x}w|gnkNp`0j=@}%c#~i-ps*sdf(QF4}x#a!2u2KmjR2>`BS444)10iJpYq4 zN{)PDR9DMnb_o zeXHE9XDh8Bj3uH)`Q~AI_|`=4tNGCA=#W1KveQ1Pqx1uEf>-uZmJ&>&mPrlQ_n%#) zV**4^@`gXBV5q)bUe{GFc>I*ubn>?QnO9__-e=Vfmry z9?yX+lNJa=c_+BN!Ovc~A3TE_dTiKh%Hy zcBCr6I2f-}3eWV3kRzN9<|cgCV6-wEv~7$5w0$7P-ij$rUBw_0KhYPO%>11oq%NiX zw8$GEkGEoWjmZxI6PHnb6gZF@@^~)C#vmt`ok^{5`EWQZl~!$-Vu1APw@*xc=Himv zA%qe>^gyU{>~_F@B!@%{u&*qeD;-@nKIzwBO9J8xAs9S(c+-u};?(p9sH$Uh z;g^bP`Li#B1GVVm^5p?lN>r11yo{8%e5{mfrhp!Efki!faf5_kJ$%;q z&MW@xp{U!`fLbo&#@m5e{5%q5#Ko0!0`zeQzx({nu|{rNBC^kJYkW?d^X$GzQh=vS zM79jgyhIH?MR$bq2l8cmpl z%qD}Hc-cg8rx!Xwt-zvz>`SL2(313%S53d=Y6}9AP3TBpQ8ed&e9DS{&(`sLvv*JJb(P{FfE{)Lx25 zX@kJrX(SYK^@bH^&C*$Cp?Kh_FTu~JI7ofF7SM;uV&=AWjT=8_Vk^hV^Y-8NM>qW= zds(QjZuI-kcSFI|z8|gxSeP^N`ODM+_Q~1MgvBhsJORq<4uTSg3?DD*PKw7Y08cIu zDf`d97^qr#H_@5xC1n+uUSF&xsI846k*~=?A4`>y0!jA`T4Md?rmg5zr1wkWVYFVX z>89r;T`uxe`Ez_zc%4&m0la44Xb64-Fa?{&A9Y2N+sOSnEWvKg^;+3p{%n|)O?xg} ztv`EAH&SE+-QtHZv%_6ym-q|@@+ArAD0yArP+tHR<0>kWy!<~s5{W+eno_oZCD!9P z{noDb$Ve5}<2?^Dq5Y?iSrRR+>L#yk|2Y2~DbqF?#KEB1vzxAl;7k_ns56W{pjb)S zgKFu$w{*gJ_mcj&D3{_ywOo9Vvagj?C6$p@$zqOu4GRO~)m8;^q&>V6%sL4j-7|a3 z^L_ZZ=yc-SJF!Uh#*@6+&2e6_B`^lfh7hAs)W66A*uuKEOXeJ_n<5R#WOos1%N(W6&H%Z7wViM$WK;90hrszya50irReVH5^9N`w>em=I2i5R4BK*hZkx z9M_;+N})zt=-JQtl+POxGCc)HTi4|#o%k1LPmv_I9~-eQm$H&ZCa_;+?_r{nyF=F3 zp%tyOnLi5V_yD`&SiWiRlmQH8`+w$BnQ4r)dTOCq=EVZafC1pHk0f`Uistw zSS6c*eu4--!q+6dn;IfgaBdCRs~$qMfG9?H!l#z5r10I=`;i3OKLov0G5>=TgVBa1 z1Fp@V9T87IN@!!yhI8?LcP(d4A)|v;QDT^P>#8Vqg#e`j_LiDWcvfLvU(9%i zO(^NureT*DCX>{8{$m59`EYf{|G5HnCi%Pab5_{x&A4H zp@5CXqVs6T*XDJ9Ag|^a3&XNla(V?8?LdX)M&$u+WE8L}X0S~RQ}gl|*L%u4JdqlM zD^>2hh|5a9A`hOQyBs+_YIXv@{ZC)Us?c6~(^e6GwgG|2+LO5r7yOhwYOD5{zq)FN zKMgkM!D`F@RiI$~SLzQf1=KUmC)ee2&#YJx6y!sSWb{($pQ~kW2>DHQvi$@UDqV|K zGqmI5evHF`J~tCy=arf~__KU(Dv&7-_geS561Pl7{{Mv2epKi6l)JZv>itca#G-A) zOM0E&_S=W$?m)CUimbQ;3$M@a9d}u)Bj8Kj;Sd&$25bxEdJU4y#D@Kb`hUj;7%Q!8 z73j|>1QR^_~nKoWV4$MYU!@@HX%SB zw>y5yoiK{|JQMi1l_=3(V~`Z^uC?$aeuAN2ZO&6yr=mlFa8rVC@6Vjb=^Q>nsbOx7y1Qs68K7Na9Iw|+)gh%$gngo2S20gdJ z%*+2%Vg9s^5BA6VFr#w4kyp5pZ*N}Z_GSAG;66S#S?UeVs;SI;#?a!{y$3j2zv213WG#Eyyph#4 z!tFtJb$pJ`jmY!c*2#~vu;=VsrmUI2i^+Y72v?~8zxYBr1R29H4wl%@_;ZHx%Iv^< zU1g@3;v#&HbVMH3WyQdS)zw}AXA+dE1i=5I(Ugy|k0AzY=PKhG2?%072<~oJaNe6t zzpf#MvKSr-K|}hSNpV{*Ga}+ZFqjnhDGOl21~gIwkdNgbtkzZBNL5>|I$Cv}3+7@n z**(bJA-4VSNMGP;4%^Rj{Np(<;TvRPE2nM@sM5|IEQGos`5~DqN#w06QPBWMA6|w2%lPm})=e#@F7~ zmXGYoSH(oJ>Jl0#_EoMI{`Zh--iTx0R>z%W0i=MrD(nB z#pwe8%zW)8mtx__tSZKi$odD9ogG>vd?#T0SJy6oZ;fZG%g_;rV&Za#n_c{l^%LC2 z8ZU?bxhL^*z@90G2#|Z?42@Affd!J^6`z6Fr;rap0577)cvT>2%I=LY12pXZs|rGp z?CRHF|DHY7WDDhvcg`Z z49TnVccUyoG~m|0!}m7c3gp8abRp010F2RLk4yf7GO?+B+X>HL=^oB6ZcAvNM3sax z0nfbmjxyGpjcbk=G=P3SFm6BF%Vba=;q~S8@)dW)iBqC4=!M69#QrqjL+MhfY7;tW zD;VQOen>U><5}}=aI=-?J>TDGWTraZt|@K7q6op%57%c0&kMFJ!@_}+hJx;PCmW7{ zz>Dy~Lno_I{0{|pX!E~l$`EDCs=6qFRK-{kS)03)S9=1fNK*Yrxt(8Y56j3n9jYXM z{W+-~uXsoOBKw~UmljhOtvFOm7HE8;IOENnm3qcdqc(WSnhskm454l7M~5!{0>+{VInf!9HpC#fmvHXsulGEZHsv-bF5EcT`2QB%;p{ zh&C&t@`i!}m#{qMoaOe0OwyT6&c8vO6hNv2%W%RK4w6@~7@ZI4f#%99-TKe zsL&=H8R8u?eoIFd{7=g2$C61ElJ+?dHa83pgSU2W)_?CNhjPZeK@L zSQRF!ztEu%|IajfrW!OXU4{8pHj5+ZGOPpzaI4?}YRQ2AVjO%IM2%fEQ%FGy(T?UH z5H^TG(K}-*%KZxlWD*#WAQyhb&^mUFG5TIUcaI^sb|-Yx40><1Im>m>7x#h0ZljS{ zPQ_PwIg6?s{Q^&`6JFMENdp4bU{7Jl;e+mVLQ0b<<#bc=vI=tbeNQ@kVo#UyrydA1 zAOZvt5dxH?bv6Y1$!3+?wTPd}o;X?7gkjg=7}|0Rl0l@7uOhG&0)Vbu^*BUjjcj7} zaI`G*c|cVS-v_{#Q9!(#-WH)WgJZ6}A_A(0Ca$tn-{}2NYsXk%kRxQsy^77aKvuXl zDTLt2AhR=zzTkuFgDpey97a+|HpP7AVUeu1{-t1+B^{tLS{%UWD`80?>KVm+se`!Y z@z0S%(jYVz2ttI)*!m6-EynY*a(n(l@^%6wuO)-h=5gC2`9R>i3W^398kvlUQ=!?& z)qXS8WEGm}Z4*@!lP=JK=9j$@`sWE8{ZU1+ke8euXoX7dRL5iK#bOTzQ|f=?c21UK|+ z@rR;yV|5BachZvqBKuKAL9K;xHCPubN)zZ?TKOVz+17j+JXT6FG%3eS3`m3_vy0(H zg`R`jAcP1qdm2ugE>!=eX3jS$^jrxI6I&CntD#WQ?}_duti*DJ;IRRV!kC*NQ^hMU9b+%%dykP!xD!5H}9{Td*? z4}~Dn1zu%y+R0&?gM|;K4iCjw&)-pbDw)qFk%$u%DQe4IIab&RR3dkAE98H)yR34l5Px&XltdOz1VtmY@3IG;6eJWXNs1xR z|JAwHZ58&VrP=Krj?g}A3kx~H)vk*9NF>kAq-%kppmpcI%We#Ufs`WEE%Q=vqp4N8E4 z3|uJdAwFHt_q~!EuTHfNq`CXo2=q6Sdk5TT)l)}QTkWai=Bsb?+hd1HO=vU#B7jD5 z5QF)!t{oIj8M%EkGTl>+w%NmGF^3NK+wc4+i&GYM5il=p_(&dXfnqWbcRp`2={@F_ zL(|81fYyJugsAn41XGi#upocPtFFrxRNpQB zXCy)?mK`mZ$6N-IPV$#v;I0>XTDHTSH-I`3Vqs>?8CiFg4uw<@L4EGH8OJ86?48n~ zEekMHA}__1+rxi_8*Mn1lqT>3sZuEH8Gp+mR)+>kS+B!BBYmx@TVKfc;bRZ%nHZwA z5?kr_dXQ*3R4Z63;{027kF(reR&RC3IqesaeMSo9VT)Vjz}h&Bwl~!JN4@$YrC2xA z8R3fa(c^YKBl%OqJqYr|`mF?LRws9wsXiyJ! zaU001GG;lAJHr56fwk~sba)RZ&^ll`%^ zmu0vMJ{6R|8T_T_+C=tYTCaC815hXwqNapkTx-O3GujJVVGFI&KY=E|U<6$6F5sHT z#h4+pyVFl@Jv2OTo-`Y=aQHZ>L14s8U zRVsJ6@G;(9;2Z6tB!B^}dOM+3fnHMCw1VlqC-SKZF;876K|b9_Mo%oR+959~W=p*B znrylkxkmoy7eSZ{1$27GyHH0QgE?i#?X2A9+Ewn7pKMPLEWkLHNBShsh+tK8z-L$0 zf#Rg#De6$mbzo3S58VH#^yqjDGl89-%V_EHo(%(I_xiR4)HN#V?(Zlxt>{It8@@N5toG|JB>DH9V=|uq zB97zVeMJ}V9f9O=m%WVCCb2ec#njKWD}CF2e$Au^&-Kfuvw*!FvH3HUZo(^?7Tdo& zs_Q)n!*vE!2{uE-ap1%C->S}PDqro#B^p(+0e}!Gh_oOP&B?X49P_h-UjLgwK{mP$ zds$w)`o4t#7Ycg$Y#A4F!zGlp1{Sw-uUx&z^d#_Wl;&;IcOV$6>K4gPIs zcZM1Wez&S(PBxN)JNoXOo=<*!tx4Yp2Gt0cB+JY(yY`}1y#&2tKp1M6_{VC{kig|D z1nN)n$k|O(dENOn@ie`+RBai(jSP|j48f&crahCjWz9&6Cv0CR#BK3g4qam?Z)j zh_bA2H3b>P5?*`Wia9^l?O5*aEXj7&&uYOaqPJMSwJBDw2;NL@SXPoCmPDn&yj*n3VKV zrEVjTTHNDnQ%BWnt2ON7L63HUqv-W7*Z(4ZpT1#B+P)I9t58_z!*%(GO51QWQ|X^AmV%&`P5MLB zIsqkeq06ma=$RG9)3{M2V1K#oOJerB=PgOezRYJ?>eUXq1}~@co@i0{R4v?3N5&GY zEC$Gb@tmKC+4MTYXHoxB)_JjBFb8t&e=4n$5dR`OAJ`85)hZE4BZrU}i}Pgr1zt6? z=X|B0Em1XhI#G5=NQz*^VITHoHNQeNF9eu2Ca#S+J~^5g`FN1;7~3i9Gies3wz1~< z)oo5W+Z5L*@zk!nhX(VSazgS|bh4>-Obtrt1X7DNyZ6~W@SnFIx&#-JNNHe$r)Th8 zhAVJyt+8_`n z{02WQc@(?f-uUp5cC<>q1viq2M@hQxdLGizG#kP&xk|%dxte~V@DSGpfkOBv%ibP; zsJ+4jIk&I5FiI{77Nu0nl@c%lH_ho=m@<^`flyjK)TF$QGOOO1?}tPB^VfKVCZLc6 zYvTeyk?DzRgndSlG?j6S#Fvdn$Xj*o?4ir7rcP33z3`gm-q(nu7FnE3Pu+1JN7593LclGe=y_9b%iS$FZ?6Se?C;xan>%EcKF<$^Bfhr+*MQduM53OZ4(<8UYc?n2yz^|E!7#jM z>(!_Wyyb@~X691Rr9xHIQTBbyu-ftSxe7Kxi6`G+KZD4{n~=+-!Z*oH0nFzYzs?s0 zIhW(Bh6hv$_ordN+V>Hl@AntEzz}DPugvKJwBe5adm1y?kv1DeG$qJs_WQTAp?5a} zBG_qIl}UE`E#uDz{3Xdhlp&2=aX)WKOGiJoHriS1fjn90muUor1BRwVof*`b7k ztP4y1DK;KrY%|%5#@^L6-6S1|`#C+t3j?MJ{B09fap7(p|Kd((Ha8Unak%yUK6t-w z4;N3x1~PB^Tb`6TTyW-xpa8J%SELtqJ6D0pa*$riF5S!id%X%r9*`S8p-(<#S*ST= z)b^K7oOvJZ>&p2FIFXG_Oa3DG=F^!-uc35?>d_yR$>o4jb|ZvWy5)C>yl?OL908wh zb`s<~$Yx@$6!`dfl%M)LaXVJ(5rE|-a%+%mw|N7-G)9VOHz$9;CetfunR)tq>A$1X zr6~rFjz#vrw5pW^>u*EeaZz+x*8Rh(%%^4WMVtJi!6aV08g-kWy}0Pc$LJ6x3{&|_ ztAWlpC_dVZM`}KA1RtK&-Cdahnl9b1O}$xVOAo=2a_`pU^Gr3L6_lUH3l#-u9Y@eZdp!f|$v@a5KzLRR zTtjiAlY2Nq3W;X85w+Rl_l$m2Q5jH@jt$_}^#-^`U@+RFdrA<)OrxhtK~Q2S0++o$ zu$aLPE{1E{2qQ}fI{E)v{%cOf#zro8{~%mpID9#q;JGDkk6Y;q@#l;STPI$l@*O@q z(rv2z`Qc|pS)L5<+ey|z17P7XpD6}R6FIH;RP*_z;P!j@E1F!b=OXuh5{bX0v%8Tc zi71rh9^94f_1J3;(jrmJc7!H1#nKE5X8p9e?{GbA{i*Q{f;09!awq+15*frE4qQ2$ zug2sXG#K`gliGK#4`i^b{s*&Hq)Ikz0Hvgs`UM6P(7nF7&TeY4nvV73asTCh86z`E zh%v&MJ}INxtR#g%4S3@WZ+LCiupbWU&hx}%XJ))52}F~Q?RRpv0k0}U4hL=IwI)zO zN~pU^h+JJSlGv8U3_H!SnRT=#+KkDm_rz6>O|!4C4eml;U!nDFph`7-3p1`TA3RvL`wB=av_yMloD9I?KITKKj?U z|N3J?C@HyVWc>8hxdybq$lRl@c-bWiEDQVg2`R0(fj>-hFeiG1<JB;CxD0hmB~IHYFI=KJYp~RJTtmSlALEU_%HghvIN_4dv%1kTdJR6rOq2q z1t%KOa*{PgKmY9L=u@==qQEMGF=6jhGdtM^KJa}3+={@Z1!L+id>S^kF||jT^3Eg4 z$|F?IB&}KZP)CY7nHRF2SkGUH@OOZ-L=3WGd?LD%U;o3N&Q?0_Sp9euQ~!N1C+NvN zFvOn~2=HjyxhbHM>_Shb8y0V_bo1s)l&O1d69NT|rz(_hW==d&^at8phF zZEs?a_e%Go+h0FfUmlL^dFbm_o%vLviw_Jb1mZ=fDL0vC* z>9{q>vlnoxVg@7$`d&WD@>bAfCm9GpVc)(X&9_m64Y7L}(R(u=e3tUX+vE{YB?e~HxUsEG@Z;p;Lnl&Ole&7Nq-h~^1RSXbCvWcH%%!18d8O8i; z*aEIUjuM#(Whq4r-o^=5B>i7|SN;!W7xu?QLS*L8ib z@A;lH_ub4A&##zFV#jse>6|B^+$DCBQv5nhq0?qHj0OC&N4w$rvcNiPl59C=osmml zR*-r|hcv`!cW`wln_aLHKvY|-tlONsj2m7hE~pQVlH^0c3{L-n)nlN2F3OfQdYBF` zZ^dat!&Y`11a3a7$2>vU7#LDq(!c2H-(#X*$ISUJ+VrYS$u!rIw|bI zl}3gZ15N0;I3o)NOyHYX=nLSj@Y|P)D<%v{dzQAF(q=bCe@-6R;oa&jba#!5yLGVNN3f38@5;N9_J^icBG zZ1~qOSr}mLoEFwd*qFxm$Op(TT+64=DKDRHiHxN7#=R&Ej=L6Ll=^I;%ru~Hdnt69 zu&|5*;hZe+qTn0^(41O?mb{-%q)2WOwTVIs{$_B_jnjZkp-rp|b_CfWLe4olUYB0U z^ou&26&i44duQ3H;KtEgFos5|9Mp#W-8-1L2T12Nf};W{lD7;ULBZFovu^t@-I;uv zN{jlIDs)2xzNG;Ckv)0DmQ&}zQKDs{xj5d{GkE`e#NrJdkE^Us&*aA1 zM&9aYg}Wcy-uL8Si2Yn_>4+CYW;V8@Wg8o*Rvsc*(aOo(2NFx_X&qle=TcK^W|vLO zEY`{E*Z4*6_F{n9(Qc|a?P?6XNCyNn|z z1}SO=Ix>^rHTJupw5%pRPWeL~Ec6jKLmoB&2ExOhQO;5z%<|&96;n-{(j%mjawt;~ zW(?l2267|HvF7!e9BX(i?i=-epy^V7Z)(jXF78EsEr*GI^v!c8&PM8I#aUd0k@vGP z3(qq#4^387%%f!V1PGY!gK8OPp81T11@%(!QY0KejF&ORL(lLHk-}c(O*l%WHgsAL znn7jXFFF|iNKU0yTTG55*!?`OMmnd$vLSg&_q$;zeN7Uq0OjOUJfK%Rw;MuIKO> z#UQoSoPC3qaoo|72!qW#Z@u?4X$;JlxCABQU$_fTn*e{5DT&1$0LwDInfJ1On5D+d zB|6pmynWIS_;isdN5BSHBWmPg*`$VZM-W)pa^;r=R*L8mY1lX>LZuEtDCz!mN?VKr zzNG>Ja6wiH!>J>Glqlf8R4~k!BUVj`Kpa@TGFN&TrtmfahI}Ju#62T<|98n$>hjtm zkh%tpmgx9{OI5^By$&5e#Nor?6^c%e+N?%+f@%RGq=-M95Cn)&bg*4ybY;EXZL{V2 z&a&cDnyT)@s}2@!2C``k;?H;!ID623@EHR`)m#Us7bJf0>di;>wBBU5=FiZU&DUik z7ZQjVn}!{SVvraf$&3>6m6RvrBV>cG1xcvCZN$t-II= zh|a;+we2cXAg?!SN&AJeBDM(+-d%oe`a7`gu~yy)TwYjEBfXN6@aJb#pWFEb zC|Oy=SgxxOo>sR};c_Lu$%I#_fG577AWiG5R#c$U@s3f668_Ibn;d*IIk^u{ z&5hmNJTyvkKe$_8lal;px#PVype;T?6Y<(tDkY3Ks@W~MeX()fP#EQxYT+c=cHY!U zs@}8BTM#y#wfs;B%$$fZLNzI!%<4p`H0$%5X&j3l8K4+?TKJoswcuGP1ObD=7dr}0 z^J4YHo4CBCsFb8i`mp%=$M=s&Dh`4LxG`44#B-k?I#^zNCwaPks#(V872(td61|y8z(xuiE z{^m8Od6upNFYZjvQ-D|`rI6agUFWfnD3vwWX~@~}8vW>6pX1wGX9{$+FeTG?2bMXj z`q}BRF>piq7f6LDe(AHNQ1<3r)!nB4r|Hlw8?J%FUH$+Ga7nrdpeZRSoiQ^%PTTs< z@0Uo*)mw{}t!`LB`)*aU8OCp()^kHl{OWmUbe!(IbmDqs=rzZhauKSq2W!DmL0bsx z$_Herdgf#nlFYd#RYGnKF1g0Un z1YYECGT(i-nv=WL%C`}6}ozWWR*UJ{hd0Jy>>Vs~{*H8a_R1r6lVhdOZ|H+JPeMFZK*CHUbLxFTRx zuUuDln*o}}I8c}oK7wI62>XvF@*8{moLD|~HghPTkF7+~ZXWubs6s8HAs@WQiAE6~ z)b!C|N~lio_IqXa5}pdVpbT~OvCD>2!!hHWdd`ztl z?SWTtc)sM6g%PYVh&E3jET#HS<|j+2(;(g_e;NrP9&UcPnMc{B334V&aq+QY>(V#% z9{OM*dJkcfl5jq=xGL2GF5pCESM`$X3+ZC3-eG3Q%SfqM zcGXCO*Fposj>;pL_U@Uua5Ia1Xowy~&IF&y0UXgz#r1(iD{f-lZl_>=6nweYlU#Ag zrS8C0hJJWsYpXh>OR20p`imVYoH%frcSuPoPu8#dHO4S>5g9q&t?PR6{%KTxIXEf< z2>O#4#qs3FA&ziP*YGOoYgPniNTiFyZ~*z#g^rgWUHA1Gm5~K}*ls|8BqWi(tzS2n zJrmN|Eaw+m;6K;%;n%NUy%B@wTV?}4+cuV!Y!kA1#b;4AKgDpFSFoAc*>9_qXFTEj{j_0R#z zoYk?*+kG0$`ANQsv71?a9tK=*pf&ZO@!Q$MVkv$qtCV?9rM^aFD5Ph+ z8P%XSvbaHejz5gjNm6b<`p_VYnqd*>IX?Y{JfaIRTb(5=rd0kk{P~B0|)zPG4rAyWu;u?ia0;HF!)oUnBY$VdtxrjdLLZ zpW_+owW}C~iW{HfrP)>kO2;?h4;d9r60_=9(5hUuhA&I2QC{Dfm15V{?GXzMumk#l z-Q&e17*D2lqsJhiILrRoRd$2qhbTB)G+i?xQ4QAor=0RioP{6JVsZ5zn z`PyGOlX}T30uuH>+@@;k4)GAH%9vV;VT3yRd!NYK zQpUXEG z#X<)=Oe^uH5icK|ZwOQxS(-Pdj>O_Vww0B9q&kSDj~X>bU*h&ffnM0lNad27CNW4w zuDx38GtXw9X~;Fr1|<@&L@2YS`HwdbL38&*KehFqT3vMg=BlmyPUBnahe7e*G3mAQ zM4S2+f4-=@?UT9nM`)hqgU;=w>EDlR*a)hQ2G1QClRO%oUNmmkK^ zI;HMKVDv9*uB)xG!M^;~oHZyXRF>%Yv=89l7ZPE(|dJ)F@@bd7dm?v-{p37M+Mt&(ma5_N-AQcVTw+094e;Cn`Z)ilkn6V!sITQ zsM8HUw2n6?tJ=$~)?U5Pz4{c<VgcYG;`ULc(%-_5ckGLHi0;ufq`I`Q)pP{kD88eda?fH4wcw4(JRc{p2g+DQ=r( zFPB(_O0x+7bkYH}t4_YR0_vy|HZu3-yRdC){;#C@_yjS`*mPbgGd_`Dv{HK>pU`wfb!%H&5HoIXM5 zz+;2W>08Di;iQ4~KK<@wk~=72qAjNI-Tb>grfCXN6E1U1hPKI|g)sEH;5jZSWhmOV zJgq!LQ{=2DIEPr0Y0U2HHBys8pNjwfPScw!Rb*Sgp@DccMPJ&Fo)p{tragVDfwz66 z{L%%=rg-hk7G1EH20BZB_CyfQX>|}&a!FG_{S7!=54HKP>JlDcmeQw4&9uAJuOd6| z6_GTIk+fi=ZQnp0+96`?QdEp#c*W4=3=KshnmxwTP=1LH^BG=d$92{Bsp+PKrznec zpDp7Nm_`Bq$x^bdJz(jD)w>xOdIQm6vcCCzGmWAHQ5Jk3^s&|o=#}Dxcw6E|hD3`k zrbx4padjhAdWt9eue3qK6V$dC_qDbjV>GH-k&*^A0;3!AUe{$#2thyJ))r#|>sr?UZkHyZl2F{y)9f{v7 zdIPCxYFjCo-Mchp2qv9Vl{qQ5U?-HiLPz}rB3}35Xlv-Os|u`F70~3|Lg<21xbMsq zL2{8ROM7H03mT@$OgVvvg-o$n@Yrh&8Kc?NvbTRc7iU4I$YJxe&aEx?2)%*Ltj)n9 zCTp0gx4zXG#R`fx%#6yM_YBy;J4hEM6(&Xf2>P0}9`dYHd5V$0uCk?Puak}WEFAUY zRHuyJXyNjR@LSIr22xmM+q-sQS%o1#2>hUUw8JICY*3TL%yb_n{DU=_C$~vpaH@>>scyp zwFi-7FOa?>d(CKilRVo3Lm;N#;e-WdkB_!~GItbyJeU}0v9n+wgpOd;*}W~0T-CrJ zhX`31%|Eh!3p&&t6Y6xNPOTxc#odjRQu}QXT6G94j*ga9-bHIrM(s_Hh`hL*ftgY6 zR`;gcMi;Z4&IJ-g{_G!ZhdJP6@fPvh#dob2VtTgucigoyGw&N;bXVTaZ5@MHmC!#L z#_SBkvnxoQ^;m`mWSYh2@xeY{-qxhZ82Q%U*-&G~gQ#n2_7ZqL4}_;&rBpm9ui_FW zN!&l2;kBpbvk|t17r6pDu?=;|#++}SFMq~^Lq!7eX-FO8&OAJG_*pijX>;q`c3P1Z za(*T``!^9s0`(GU&gM72k^iq>z@r#{*|SORZ{qX!2RWTUBH3t&xsv$Lrkp$6IXGae z|GFIHHxkqz*d3+#f8PRh1;mhlwdDdEH}c5+Z3q6*J-A2!X371p-eZs)K;7cCYO2um1147kW^C7=ZUvn>ZK_@95WVdy_I|C`OfqvyZa{716?mqPym(*MH$ kf4KR7W#j*06~aQ?&kMYqaV%Xa82CAN+Tv8%Ntavy11!wy-v9sr diff --git a/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/demos/appyx-navigation/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png index 9ab250fbe43f3107275388a365cb0d951803a877..e84e02ba87f4f54cad248afd345179d27416e14f 100644 GIT binary patch literal 98448 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�NI~dH#oPx#0 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 From 7ee043bb906b66aafcf3a4e2a56541f5142439b9 Mon Sep 17 00:00:00 2001 From: Aashay Gaikwad Date: Wed, 27 Sep 2023 17:01:11 +0100 Subject: [PATCH 48/48] Passing viewController to iOS integration point and popping/dismissing --- .../navigation/integration/IosNodeHost.kt | 2 +- .../integration/MainIntegrationPoint.kt | 20 ++++++++++++++----- .../ios/src/iosMain/kotlin/main.ios.kt | 10 +++++++++- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt index f35d33cf3..6a03191ef 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/IosNodeHost.kt @@ -25,7 +25,7 @@ import platform.UIKit.UIScreen fun IosNodeHost( onBackPressedEvents: Flow, modifier: Modifier = Modifier, - integrationPoint: IntegrationPoint = remember { MainIntegrationPoint() }, + integrationPoint: IntegrationPoint, customisations: NodeCustomisationDirectory = remember { NodeCustomisationDirectoryImpl() }, factory: NodeFactory, ) { diff --git a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt index 77ae8facf..7488b14aa 100644 --- a/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt +++ b/appyx-navigation/common/src/iosMain/kotlin/com/bumble/appyx/navigation/integration/MainIntegrationPoint.kt @@ -1,14 +1,24 @@ package com.bumble.appyx.navigation.integration import com.bumble.appyx.navigation.integrationpoint.IntegrationPoint +import platform.UIKit.UIViewController +import platform.UIKit.navigationController + +class MainIntegrationPoint: IntegrationPoint() { + private lateinit var viewController: UIViewController -class MainIntegrationPoint : IntegrationPoint() { override val isChangingConfigurations: Boolean get() = false - @Suppress("EmptyFunctionBlock") - override fun onRootFinished() {} + fun setViewController(viewController: UIViewController) { + this.viewController = viewController + } + + override fun onRootFinished() { + viewController.dismissModalViewControllerAnimated(false) + } - @Suppress("EmptyFunctionBlock") - override fun handleUpNavigation() {} + override fun handleUpNavigation() { + viewController.navigationController?.popViewControllerAnimated(false) + } } diff --git a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt index 712a9fa4d..e590099d5 100644 --- a/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt +++ b/demos/appyx-navigation/ios/src/iosMain/kotlin/main.ios.kt @@ -8,6 +8,7 @@ import androidx.compose.material.Scaffold import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -15,6 +16,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.window.ComposeUIViewController import androidx.compose.ui.zIndex import com.bumble.appyx.navigation.integration.IosNodeHost +import com.bumble.appyx.navigation.integration.MainIntegrationPoint import com.bumble.appyx.navigation.node.container.ContainerNode import com.bumble.appyx.navigation.ui.AppyxSampleAppTheme import kotlinx.coroutines.CoroutineScope @@ -24,8 +26,11 @@ import kotlinx.coroutines.launch val backEvents: Channel = Channel() +private val integrationPoint = MainIntegrationPoint() + @Suppress("FunctionNaming") fun MainViewController() = ComposeUIViewController { + AppyxSampleAppTheme { val coroutineScope = rememberCoroutineScope() Scaffold( @@ -39,7 +44,8 @@ fun MainViewController() = ComposeUIViewController { Box(modifier = Modifier.fillMaxSize()) { IosNodeHost( modifier = Modifier, - onBackPressedEvents = backEvents.receiveAsFlow() + onBackPressedEvents = backEvents.receiveAsFlow(), + integrationPoint = remember { integrationPoint } ) { buildContext -> ContainerNode( buildContext = buildContext, @@ -49,6 +55,8 @@ fun MainViewController() = ComposeUIViewController { } } } +}.also { uiViewController -> + integrationPoint.setViewController(uiViewController) } @Composable