From 9c8886f793694c72a7a7873b4161b22c30fe1914 Mon Sep 17 00:00:00 2001 From: sshhss Date: Sun, 17 May 2026 11:36:55 +0900 Subject: [PATCH] =?UTF-8?q?[Feat]:=208=EC=A3=BC=EC=B0=A8=20=EB=AF=B8?= =?UTF-8?q?=EC=85=98=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Week08/OneStone/.gitignore | 10 + Week08/OneStone/app/.gitignore | 1 + Week08/OneStone/app/build.gradle.kts | 82 ++++++ Week08/OneStone/app/proguard-rules.pro | 21 ++ .../umc10th/ExampleInstrumentedTest.kt | 24 ++ .../OneStone/app/src/main/AndroidManifest.xml | 30 ++ .../java/com/example/umc10th/MyApplication.kt | 9 + .../umc10th/data/local/DataStoreManager.kt | 132 +++++++++ .../umc10th/data/model/FollowingProfile.kt | 8 + .../com/example/umc10th/data/model/Product.kt | 11 + .../umc10th/data/model/PurchaseProduct.kt | 14 + .../umc10th/data/model/ReqResModels.kt | 23 ++ .../umc10th/data/remote/ReqResApiService.kt | 12 + .../umc10th/data/remote/ReqResDebugConfig.kt | 5 + .../data/remote/ReqResLoggingInterceptor.kt | 46 +++ .../data/remote/ReqResRetrofitClient.kt | 30 ++ .../data/repository/ProductRepository.kt | 19 ++ .../data/repository/ProductRepositoryImpl.kt | 51 ++++ .../data/repository/ProfileRepository.kt | 7 + .../data/repository/ProfileRepositoryImpl.kt | 13 + .../example/umc10th/di/RepositoryModule.kt | 27 ++ .../example/umc10th/ui/base/BaseViewModel.kt | 25 ++ .../example/umc10th/ui/cart/CartFragment.kt | 41 +++ .../com/example/umc10th/ui/cart/CartScreen.kt | 71 +++++ .../example/umc10th/ui/home/HomeFragment.kt | 132 +++++++++ .../com/example/umc10th/ui/home/HomeScreen.kt | 159 ++++++++++ .../example/umc10th/ui/home/HomeViewModel.kt | 42 +++ .../example/umc10th/ui/home/ProductAdapter.kt | 114 ++++++++ .../example/umc10th/ui/main/MainActivity.kt | 84 ++++++ .../example/umc10th/ui/main/MainBottomBar.kt | 80 +++++ .../umc10th/ui/main/MainComposeScreen.kt | 201 +++++++++++++ .../com/example/umc10th/ui/main/MainTab.kt | 21 ++ .../ui/productdetail/ProductDetailFragment.kt | 47 +++ .../ui/productdetail/ProductDetailScreen.kt | 151 ++++++++++ .../ui/profile/FollowingProfileAdapter.kt | 41 +++ .../umc10th/ui/profile/ProfileFragment.kt | 119 ++++++++ .../umc10th/ui/profile/ProfileScreen.kt | 13 + .../umc10th/ui/profile/ProfileViewModel.kt | 96 ++++++ .../ui/purchase/PurchaseAllFragment.kt | 64 ++++ .../umc10th/ui/purchase/PurchaseFragment.kt | 82 ++++++ .../ui/purchase/PurchasePagerAdapter.kt | 17 ++ .../ui/purchase/PurchaseProductAdapter.kt | 62 ++++ .../ui/purchase/PurchaseSalesFragment.kt | 28 ++ .../umc10th/ui/purchase/PurchaseScreen.kt | 250 ++++++++++++++++ .../ui/purchase/PurchaseTopsFragment.kt | 28 ++ .../umc10th/ui/purchase/PurchaseViewModel.kt | 39 +++ .../umc10th/ui/splash/SplashActivity.kt | 32 ++ .../umc10th/ui/wishlist/WishlistFragment.kt | 65 +++++ .../ui/wishlist/WishlistProductAdapter.kt | 60 ++++ .../umc10th/ui/wishlist/WishlistScreen.kt | 171 +++++++++++ .../umc10th/ui/wishlist/WishlistViewModel.kt | 39 +++ .../src/main/res/color/bottom_nav_item.xml | 5 + .../app/src/main/res/drawable/caretdown.xml | 17 ++ .../src/main/res/drawable/heartstraight.xml | 17 ++ .../app/src/main/res/drawable/home_logo.png | Bin 0 -> 281242 bytes .../src/main/res/drawable/ic_arrow_closed.xml | 13 + .../src/main/res/drawable/ic_bag_circle.xml | 22 ++ .../src/main/res/drawable/ic_bag_simple.xml | 18 ++ .../app/src/main/res/drawable/ic_calendar.xml | 9 + .../main/res/drawable/ic_heart_straight.xml | 14 + .../src/main/res/drawable/ic_house_simple.xml | 14 + .../res/drawable/ic_launcher_background.xml | 170 +++++++++++ .../res/drawable/ic_launcher_foreground.xml | 30 ++ .../res/drawable/ic_list_magnifying_glass.xml | 35 +++ .../app/src/main/res/drawable/ic_order.xml | 9 + .../app/src/main/res/drawable/ic_pass.xml | 9 + .../app/src/main/res/drawable/ic_setting.xml | 9 + .../app/src/main/res/drawable/ic_user.xml | 20 ++ .../app/src/main/res/drawable/icon_back.xml | 9 + .../src/main/res/drawable/img_blank_heart.png | Bin 0 -> 2669 bytes .../main/res/drawable/img_filled_heart.png | Bin 0 -> 2774 bytes .../src/main/res/drawable/magnifyingglass.xml | 24 ++ .../app/src/main/res/drawable/shoes1.png | Bin 0 -> 45806 bytes .../app/src/main/res/drawable/shoes2.png | Bin 0 -> 37216 bytes .../app/src/main/res/drawable/socks1.png | Bin 0 -> 13308 bytes .../app/src/main/res/drawable/socks2.png | Bin 0 -> 25847 bytes .../app/src/main/res/layout/activity_main.xml | 35 +++ .../src/main/res/layout/activity_splash.xml | 20 ++ .../app/src/main/res/layout/fragment_cart.xml | 46 +++ .../app/src/main/res/layout/fragment_home.xml | 106 +++++++ .../res/layout/fragment_product_detail.xml | 217 ++++++++++++++ .../src/main/res/layout/fragment_profile.xml | 276 ++++++++++++++++++ .../src/main/res/layout/fragment_purchase.xml | 29 ++ .../main/res/layout/fragment_purchase_all.xml | 11 + .../res/layout/fragment_purchase_sales.xml | 19 ++ .../res/layout/fragment_purchase_tops.xml | 19 ++ .../src/main/res/layout/fragment_wishlist.xml | 35 +++ .../res/layout/item_following_profile.xml | 19 ++ .../main/res/layout/item_loading_product.xml | 28 ++ .../app/src/main/res/layout/item_product.xml | 37 +++ .../main/res/layout/item_purchase_product.xml | 95 ++++++ .../main/res/layout/item_wishlist_product.xml | 60 ++++ .../app/src/main/res/menu/menu_bottom_nav.xml | 23 ++ .../main/res/mipmap-anydpi/ic_launcher.xml | 6 + .../res/mipmap-anydpi/ic_launcher_round.xml | 6 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes .../app/src/main/res/navigation/nav_graph.xml | 109 +++++++ .../app/src/main/res/values-night/themes.xml | 7 + .../app/src/main/res/values/colors.xml | 10 + .../app/src/main/res/values/strings.xml | 4 + .../app/src/main/res/values/themes.xml | 9 + .../app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 ++ .../com/example/umc10th/ExampleUnitTest.kt | 17 ++ Week08/OneStone/build.gradle.kts | 9 + Week08/OneStone/gradle.properties | 15 + .../gradle/gradle-daemon-jvm.properties | 12 + Week08/OneStone/gradle/libs.versions.toml | 47 +++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 45457 bytes .../gradle/wrapper/gradle-wrapper.properties | 9 + Week08/OneStone/gradlew | 251 ++++++++++++++++ Week08/OneStone/gradlew.bat | 94 ++++++ Week08/OneStone/settings.gradle.kts | 27 ++ 122 files changed, 5132 insertions(+) create mode 100644 Week08/OneStone/.gitignore create mode 100644 Week08/OneStone/app/.gitignore create mode 100644 Week08/OneStone/app/build.gradle.kts create mode 100644 Week08/OneStone/app/proguard-rules.pro create mode 100644 Week08/OneStone/app/src/androidTest/java/com/example/umc10th/ExampleInstrumentedTest.kt create mode 100644 Week08/OneStone/app/src/main/AndroidManifest.xml create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/MyApplication.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/local/DataStoreManager.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/FollowingProfile.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/Product.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/PurchaseProduct.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/ReqResModels.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResApiService.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResDebugConfig.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResLoggingInterceptor.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResRetrofitClient.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProductRepository.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProductRepositoryImpl.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProfileRepository.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProfileRepositoryImpl.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/di/RepositoryModule.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/base/BaseViewModel.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/cart/CartFragment.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/cart/CartScreen.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeFragment.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeScreen.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeViewModel.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/ProductAdapter.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainActivity.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainBottomBar.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainComposeScreen.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainTab.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/productdetail/ProductDetailFragment.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/productdetail/ProductDetailScreen.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/FollowingProfileAdapter.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileFragment.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileScreen.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileViewModel.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseAllFragment.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseFragment.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchasePagerAdapter.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseProductAdapter.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseSalesFragment.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseScreen.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseTopsFragment.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseViewModel.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/splash/SplashActivity.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistFragment.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistProductAdapter.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistScreen.kt create mode 100644 Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistViewModel.kt create mode 100644 Week08/OneStone/app/src/main/res/color/bottom_nav_item.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/caretdown.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/heartstraight.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/home_logo.png create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_arrow_closed.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_bag_circle.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_bag_simple.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_calendar.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_heart_straight.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_house_simple.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_list_magnifying_glass.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_order.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_pass.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_setting.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/ic_user.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/icon_back.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/img_blank_heart.png create mode 100644 Week08/OneStone/app/src/main/res/drawable/img_filled_heart.png create mode 100644 Week08/OneStone/app/src/main/res/drawable/magnifyingglass.xml create mode 100644 Week08/OneStone/app/src/main/res/drawable/shoes1.png create mode 100644 Week08/OneStone/app/src/main/res/drawable/shoes2.png create mode 100644 Week08/OneStone/app/src/main/res/drawable/socks1.png create mode 100644 Week08/OneStone/app/src/main/res/drawable/socks2.png create mode 100644 Week08/OneStone/app/src/main/res/layout/activity_main.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/activity_splash.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/fragment_cart.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/fragment_home.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/fragment_product_detail.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/fragment_profile.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/fragment_purchase.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/fragment_purchase_all.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/fragment_purchase_sales.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/fragment_purchase_tops.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/fragment_wishlist.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/item_following_profile.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/item_loading_product.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/item_product.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/item_purchase_product.xml create mode 100644 Week08/OneStone/app/src/main/res/layout/item_wishlist_product.xml create mode 100644 Week08/OneStone/app/src/main/res/menu/menu_bottom_nav.xml create mode 100644 Week08/OneStone/app/src/main/res/mipmap-anydpi/ic_launcher.xml create mode 100644 Week08/OneStone/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml create mode 100644 Week08/OneStone/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 Week08/OneStone/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 Week08/OneStone/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 Week08/OneStone/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 Week08/OneStone/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 Week08/OneStone/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 Week08/OneStone/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 Week08/OneStone/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 Week08/OneStone/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 Week08/OneStone/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 Week08/OneStone/app/src/main/res/navigation/nav_graph.xml create mode 100644 Week08/OneStone/app/src/main/res/values-night/themes.xml create mode 100644 Week08/OneStone/app/src/main/res/values/colors.xml create mode 100644 Week08/OneStone/app/src/main/res/values/strings.xml create mode 100644 Week08/OneStone/app/src/main/res/values/themes.xml create mode 100644 Week08/OneStone/app/src/main/res/xml/backup_rules.xml create mode 100644 Week08/OneStone/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 Week08/OneStone/app/src/test/java/com/example/umc10th/ExampleUnitTest.kt create mode 100644 Week08/OneStone/build.gradle.kts create mode 100644 Week08/OneStone/gradle.properties create mode 100644 Week08/OneStone/gradle/gradle-daemon-jvm.properties create mode 100644 Week08/OneStone/gradle/libs.versions.toml create mode 100644 Week08/OneStone/gradle/wrapper/gradle-wrapper.jar create mode 100644 Week08/OneStone/gradle/wrapper/gradle-wrapper.properties create mode 100644 Week08/OneStone/gradlew create mode 100644 Week08/OneStone/gradlew.bat create mode 100644 Week08/OneStone/settings.gradle.kts diff --git a/Week08/OneStone/.gitignore b/Week08/OneStone/.gitignore new file mode 100644 index 0000000..54e91e0 --- /dev/null +++ b/Week08/OneStone/.gitignore @@ -0,0 +1,10 @@ +.idea/ +*.iml +.gradle +/local.properties +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties \ No newline at end of file diff --git a/Week08/OneStone/app/.gitignore b/Week08/OneStone/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/Week08/OneStone/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/Week08/OneStone/app/build.gradle.kts b/Week08/OneStone/app/build.gradle.kts new file mode 100644 index 0000000..8477ced --- /dev/null +++ b/Week08/OneStone/app/build.gradle.kts @@ -0,0 +1,82 @@ +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.hilt.android) + alias(libs.plugins.legacy.kapt) + alias(libs.plugins.kotlin.compose) +} + +apply(plugin = "androidx.navigation.safeargs.kotlin") + +android { + namespace = "com.example.umc10th" + compileSdk { + version = release(36) { + minorApiLevel = 1 + } + } + + buildFeatures { + viewBinding = true + compose = true + } + + defaultConfig { + applicationId = "com.example.umc10th" + minSdk = 33 + targetSdk = 36 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} + + +dependencies { + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.material) + implementation(libs.androidx.activity) + implementation(libs.androidx.constraintlayout) + implementation(libs.androidx.navigation.fragment.ktx) + implementation(libs.androidx.navigation.ui.ktx) + implementation(libs.androidx.navigation.compose) + implementation(libs.androidx.ui.tooling.preview) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) + implementation("com.google.code.gson:gson:2.10.1") + implementation("androidx.datastore:datastore-preferences:1.1.1") + + implementation("com.squareup.retrofit2:retrofit:2.9.0") + implementation("com.squareup.retrofit2:converter-gson:2.9.0") + + implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0") + implementation(libs.hilt.android) + debugImplementation(libs.androidx.ui.tooling) + kapt(libs.hilt.android.compiler) + implementation(platform(libs.androidx.compose.bom)) + implementation(libs.androidx.activity.compose) + implementation(libs.androidx.compose.ui) + implementation(libs.androidx.compose.ui.tooling.preview) + implementation(libs.androidx.compose.foundation) + implementation(libs.androidx.compose.material3) + debugImplementation(libs.androidx.compose.ui.tooling) + +} diff --git a/Week08/OneStone/app/proguard-rules.pro b/Week08/OneStone/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/Week08/OneStone/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/Week08/OneStone/app/src/androidTest/java/com/example/umc10th/ExampleInstrumentedTest.kt b/Week08/OneStone/app/src/androidTest/java/com/example/umc10th/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..0f9f0f9 --- /dev/null +++ b/Week08/OneStone/app/src/androidTest/java/com/example/umc10th/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.example.umc10th + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.example.umc10th", appContext.packageName) + } +} \ No newline at end of file diff --git a/Week08/OneStone/app/src/main/AndroidManifest.xml b/Week08/OneStone/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..173c96d --- /dev/null +++ b/Week08/OneStone/app/src/main/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/MyApplication.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/MyApplication.kt new file mode 100644 index 0000000..24f54ba --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/MyApplication.kt @@ -0,0 +1,9 @@ +package com.example.umc10th + +import android.app.Application +import dagger.hilt.android.HiltAndroidApp + +@HiltAndroidApp +class MyApplication : Application(){ + +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/local/DataStoreManager.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/local/DataStoreManager.kt new file mode 100644 index 0000000..ecfb605 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/local/DataStoreManager.kt @@ -0,0 +1,132 @@ +package com.example.umc10th.data.local + +import android.content.Context +import androidx.datastore.core.DataStore +import androidx.datastore.preferences.core.edit +import androidx.datastore.preferences.core.stringPreferencesKey +import androidx.datastore.preferences.preferencesDataStore +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.map +import androidx.datastore.preferences.core.Preferences +import com.example.umc10th.R +import com.example.umc10th.data.model.Product +import com.example.umc10th.data.model.PurchaseProduct +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import kotlinx.coroutines.flow.first +import kotlin.collections.listOf + + +val Context.dataStore: DataStore by preferencesDataStore(name = "ex_name") + +val PRODUCTS_KEY = stringPreferencesKey("products_key") + +val PURCHASE_PRODUCTS_KEY = stringPreferencesKey("purchase_products_key") +private val gson = Gson() +private val productImageResIds = setOf(R.drawable.shoes1, R.drawable.shoes2) +private val purchaseProductImageResIds = setOf( + R.drawable.socks1, + R.drawable.socks2, + R.drawable.shoes1, + R.drawable.shoes2 +) + +suspend fun saveProducts(context: Context, Products: List) { + + val jsonString = gson.toJson(Products) + context.dataStore.edit { settings -> + settings[PRODUCTS_KEY] = jsonString + } +} + +fun getProducts(context: Context): Flow> { + return context.dataStore.data.map { preferences -> + val jsonString = preferences[PRODUCTS_KEY] ?: "[]" + val type = object : TypeToken>() {}.type + gson.fromJson(jsonString, type) + } +} + + + +suspend fun savePurchaseProducts(context: Context, Products: List) { + + val jsonString = gson.toJson(Products) + context.dataStore.edit { settings -> + settings[PURCHASE_PRODUCTS_KEY] = jsonString + } +} + +fun getPurchaseProducts(context: Context): Flow> { + return context.dataStore.data.map { preferences -> + val jsonString = preferences[PURCHASE_PRODUCTS_KEY] ?: "[]" + val type = object : TypeToken>() {}.type + gson.fromJson(jsonString, type) + } +} +suspend fun initializeProducts(context: Context) { + val currentProducts = getProducts(context).first() + + val defaultProducts = listOf( + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 1), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 2), + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 3), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 4), + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 5), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 6), + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 7), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 8), + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 9), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 10), + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 11), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 12), + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 13), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 14), + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 15), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 16), + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 17), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 18), + Product(R.drawable.shoes1, "Air Jordan XXXVI", "Men's Shoes", "US$185", id = 19), + Product(R.drawable.shoes2, "Nike Air Force 1 '07", "Women's Shoes", "US$115", id = 20) + ) + val currentProductIds = currentProducts.map { it.id } + val hasValidProducts = currentProducts.isNotEmpty() && + currentProducts.all { it.imageResId in productImageResIds && it.id > 0 } && + currentProductIds.distinct().size == currentProductIds.size + if (hasValidProducts) return + saveProducts(context, defaultProducts) +} + + + +suspend fun initializePurchaseProducts(context: Context) { + val currentProducts = getPurchaseProducts(context).first() + + val defaultPurchaseProducts = listOf( + PurchaseProduct(1, R.drawable.socks1, false, "Nike Everyday Plus Cushioned", "Training Ankle Socks (6 Pairs)", "5 Colours", "US\$10"), + PurchaseProduct(2, R.drawable.socks2, false, "Nike Elite Crew", "Basketball Socks", "7 Colours","US\$16"), + PurchaseProduct(3, R.drawable.shoes1, true,"Nike Air Force 1 '07", "Women's Shoes", "5 Colours", "US\$115"), + PurchaseProduct(4, R.drawable.shoes2, true, "Jordan ENike Air Force 1 '07ssentials", "Men's Shoes", "2 Colours","US\$115"), + PurchaseProduct(5, R.drawable.socks1, false, "Nike Everyday Plus Cushioned", "Training Ankle Socks (6 Pairs)", "5 Colours", "US\$10"), + PurchaseProduct(6, R.drawable.socks2, false, "Nike Elite Crew", "Basketball Socks", "7 Colours","US\$16"), + PurchaseProduct(7, R.drawable.shoes1, true,"Nike Air Force 1 '07", "Women's Shoes", "5 Colours", "US\$115"), + PurchaseProduct(8, R.drawable.shoes2, true, "Jordan ENike Air Force 1 '07ssentials", "Men's Shoes", "2 Colours","US\$115"), + PurchaseProduct(9, R.drawable.socks1, false, "Nike Everyday Plus Cushioned", "Training Ankle Socks (6 Pairs)", "5 Colours", "US\$10"), + PurchaseProduct(10, R.drawable.socks2, false, "Nike Elite Crew", "Basketball Socks", "7 Colours","US\$16"), + PurchaseProduct(11, R.drawable.shoes1, true,"Nike Air Force 1 '07", "Women's Shoes", "5 Colours", "US\$115"), + PurchaseProduct(12, R.drawable.shoes2, true, "Jordan ENike Air Force 1 '07ssentials", "Men's Shoes", "2 Colours","US\$115"), + PurchaseProduct(13, R.drawable.socks1, false, "Nike Everyday Plus Cushioned", "Training Ankle Socks (6 Pairs)", "5 Colours", "US\$10"), + PurchaseProduct(14, R.drawable.shoes1, true,"Nike Air Force 1 '07", "Women's Shoes", "5 Colours", "US\$115"), + PurchaseProduct(15, R.drawable.shoes2, true, "Jordan ENike Air Force 1 '07ssentials", "Men's Shoes", "2 Colours","US\$115"), + PurchaseProduct(16, R.drawable.socks1, false, "Nike Everyday Plus Cushioned", "Training Ankle Socks (6 Pairs)", "5 Colours", "US\$10"), + PurchaseProduct(17, R.drawable.socks2, false, "Nike Elite Crew", "Basketball Socks", "7 Colours","US\$16"), + PurchaseProduct(18, R.drawable.shoes1, true,"Nike Air Force 1 '07", "Women's Shoes", "5 Colours", "US\$115"), + PurchaseProduct(19, R.drawable.shoes2, true, "Jordan ENike Air Force 1 '07ssentials", "Men's Shoes", "2 Colours","US\$115"), + PurchaseProduct(20, R.drawable.socks1, false, "Nike Everyday Plus Cushioned", "Training Ankle Socks (6 Pairs)", "5 Colours", "US\$10"), + PurchaseProduct(21, R.drawable.socks2, false, "Nike Elite Crew", "Basketball Socks", "7 Colours","US\$16"), + PurchaseProduct(22, R.drawable.shoes1, true,"Nike Air Force 1 '07", "Women's Shoes", "5 Colours", "US\$115"), + PurchaseProduct(23, R.drawable.shoes2, true, "Jordan ENike Air Force 1 '07ssentials", "Men's Shoes", "2 Colours","US\$115"), + ) + if (currentProducts.isNotEmpty() && currentProducts.all { it.imageResId in purchaseProductImageResIds }) return + savePurchaseProducts(context, defaultPurchaseProducts) +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/FollowingProfile.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/FollowingProfile.kt new file mode 100644 index 0000000..201aeb0 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/FollowingProfile.kt @@ -0,0 +1,8 @@ +package com.example.umc10th.data.model + +import android.graphics.Bitmap + +data class FollowingProfile( + val id: Int, + val avatarBitmap: Bitmap +) diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/Product.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/Product.kt new file mode 100644 index 0000000..6480970 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/Product.kt @@ -0,0 +1,11 @@ +package com.example.umc10th.data.model + +import androidx.annotation.DrawableRes + +data class Product( + val imageResId: Int, + val name: String, + val description: String, + val price: String, + val id: Int = 0 +) diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/PurchaseProduct.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/PurchaseProduct.kt new file mode 100644 index 0000000..b9c3e3a --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/PurchaseProduct.kt @@ -0,0 +1,14 @@ +package com.example.umc10th.data.model + +import androidx.annotation.DrawableRes + +data class PurchaseProduct( + val id: Int, + val imageResId: Int, + val isBest: Boolean, + val title: String, + val description: String, + val colornum: String, + val price: String, + var isWishlisted: Boolean = false +) diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/ReqResModels.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/ReqResModels.kt new file mode 100644 index 0000000..7b53ecc --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/model/ReqResModels.kt @@ -0,0 +1,23 @@ +package com.example.umc10th.data.model + +import com.google.gson.annotations.SerializedName + +data class ReqResUsersResponse( + val page: Int, + @SerializedName("per_page") + val perPage: Int, + val total: Int, + @SerializedName("total_pages") + val totalPages: Int, + val data: List +) + +data class ReqResUser( + val id: Int, + val email: String, + @SerializedName("first_name") + val firstName: String, + @SerializedName("last_name") + val lastName: String, + val avatar: String +) diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResApiService.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResApiService.kt new file mode 100644 index 0000000..f3ef292 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResApiService.kt @@ -0,0 +1,12 @@ +package com.example.umc10th.data.remote + +import com.example.umc10th.data.model.ReqResUsersResponse +import retrofit2.http.GET + +interface ReqResApiService { + @GET("api/users") + suspend fun getUsers(): ReqResUsersResponse + + @GET("api/users/23") + suspend fun getMissingUser(): ReqResUsersResponse +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResDebugConfig.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResDebugConfig.kt new file mode 100644 index 0000000..4529675 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResDebugConfig.kt @@ -0,0 +1,5 @@ +package com.example.umc10th.data.remote + +object ReqResDebugConfig { + val forceHttpErrorCode: Int? = null // null : 정상작동, 400 : 내잘못 토스트메세지, 500 : 니잘못 토스트메세지 +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResLoggingInterceptor.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResLoggingInterceptor.kt new file mode 100644 index 0000000..cdf330f --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResLoggingInterceptor.kt @@ -0,0 +1,46 @@ +package com.example.umc10th.data.remote + +import android.util.Log +import okhttp3.Interceptor +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.Protocol +import okhttp3.Response +import okhttp3.ResponseBody.Companion.toResponseBody + +class ReqResLoggingInterceptor : Interceptor { + override fun intercept(chain: Interceptor.Chain): Response { + val request = chain.request() + val maskedApiKey = request.header("x-api-key")?.let { maskApiKey(it) } + + Log.d(TAG, "Request ${request.method} ${request.url}") + Log.d(TAG, "Header x-api-key=$maskedApiKey") + + ReqResDebugConfig.forceHttpErrorCode?.let { forcedCode -> + val response = Response.Builder() + .request(request) + .protocol(Protocol.HTTP_1_1) + .code(forcedCode) + .message("Forced debug HTTP error") + .body("""{"error":"forced debug error"}""" + .toResponseBody("application/json".toMediaType())) + .build() + + Log.d(TAG, "Forced response code=${response.code} url=${response.request.url}") + return response + } + + val response = chain.proceed(request) + Log.d(TAG, "Response code=${response.code} url=${response.request.url}") + + return response + } + + private fun maskApiKey(apiKey: String): String { + if (apiKey.length <= 8) return "*".repeat(apiKey.length) + return "${apiKey.take(8)}...${apiKey.takeLast(4)}" + } + + companion object { + private const val TAG = "ReqResApi" + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResRetrofitClient.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResRetrofitClient.kt new file mode 100644 index 0000000..285b314 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/remote/ReqResRetrofitClient.kt @@ -0,0 +1,30 @@ +package com.example.umc10th.data.remote + +import okhttp3.OkHttpClient +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory + +object ReqResRetrofitClient { + private const val API_KEY = "reqres_3eb039d9ecd24873b53b35fb4d3ad155" + + private val okHttpClient: OkHttpClient by lazy { + OkHttpClient.Builder() + .addInterceptor { chain -> + val request = chain.request().newBuilder() + .addHeader("x-api-key", API_KEY) + .build() + chain.proceed(request) + } + .addInterceptor(ReqResLoggingInterceptor()) + .build() + } + + val api: ReqResApiService by lazy { + Retrofit.Builder() + .baseUrl("https://reqres.in/") + .client(okHttpClient) + .addConverterFactory(GsonConverterFactory.create()) + .build() + .create(ReqResApiService::class.java) + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProductRepository.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProductRepository.kt new file mode 100644 index 0000000..6f0607c --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProductRepository.kt @@ -0,0 +1,19 @@ +package com.example.umc10th.data.repository + +import com.example.umc10th.data.model.Product +import com.example.umc10th.data.model.PurchaseProduct +import kotlinx.coroutines.flow.Flow + +interface ProductRepository { + suspend fun initializeProducts() + + fun getProducts(): Flow> + + suspend fun initializePurchaseProducts() + + fun getPurchaseProducts(): Flow> + + suspend fun savePurchaseProducts(products: List) + + suspend fun toggleWishlist(productId: Int) +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProductRepositoryImpl.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProductRepositoryImpl.kt new file mode 100644 index 0000000..67e918c --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProductRepositoryImpl.kt @@ -0,0 +1,51 @@ +package com.example.umc10th.data.repository + +import android.content.Context +import com.example.umc10th.data.local.getProducts +import com.example.umc10th.data.local.getPurchaseProducts +import com.example.umc10th.data.local.initializeProducts +import com.example.umc10th.data.local.initializePurchaseProducts +import com.example.umc10th.data.local.savePurchaseProducts +import com.example.umc10th.data.model.Product +import com.example.umc10th.data.model.PurchaseProduct +import dagger.hilt.android.qualifiers.ApplicationContext +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.first +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class ProductRepositoryImpl @Inject constructor( + @param:ApplicationContext private val context: Context +) : ProductRepository { + override suspend fun initializeProducts() { + initializeProducts(context) + } + + override fun getProducts(): Flow> { + return getProducts(context) + } + + override suspend fun initializePurchaseProducts() { + initializePurchaseProducts(context) + } + + override fun getPurchaseProducts(): Flow> { + return getPurchaseProducts(context) + } + + override suspend fun savePurchaseProducts(products: List) { + savePurchaseProducts(context, products) + } + + override suspend fun toggleWishlist(productId: Int) { + val updatedProducts = getPurchaseProducts(context).first().map { product -> + if (product.id == productId) { + product.copy(isWishlisted = !product.isWishlisted) + } else { + product + } + } + savePurchaseProducts(context, updatedProducts) + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProfileRepository.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProfileRepository.kt new file mode 100644 index 0000000..6d64294 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProfileRepository.kt @@ -0,0 +1,7 @@ +package com.example.umc10th.data.repository + +import com.example.umc10th.data.model.ReqResUser + +interface ProfileRepository { + suspend fun getUsers(): List +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProfileRepositoryImpl.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProfileRepositoryImpl.kt new file mode 100644 index 0000000..d4f58a5 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/data/repository/ProfileRepositoryImpl.kt @@ -0,0 +1,13 @@ +package com.example.umc10th.data.repository + +import com.example.umc10th.data.model.ReqResUser +import com.example.umc10th.data.remote.ReqResRetrofitClient +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class ProfileRepositoryImpl @Inject constructor() : ProfileRepository { + override suspend fun getUsers(): List { + return ReqResRetrofitClient.api.getUsers().data + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/di/RepositoryModule.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/di/RepositoryModule.kt new file mode 100644 index 0000000..b65af3c --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/di/RepositoryModule.kt @@ -0,0 +1,27 @@ +package com.example.umc10th.di + +import com.example.umc10th.data.repository.ProductRepository +import com.example.umc10th.data.repository.ProductRepositoryImpl +import com.example.umc10th.data.repository.ProfileRepository +import com.example.umc10th.data.repository.ProfileRepositoryImpl +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +abstract class RepositoryModule { + @Binds + @Singleton + abstract fun bindProductRepository( + productRepositoryImpl: ProductRepositoryImpl + ): ProductRepository + + @Binds + @Singleton + abstract fun bindProfileRepository( + profileRepositoryImpl: ProfileRepositoryImpl + ): ProfileRepository +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/base/BaseViewModel.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/base/BaseViewModel.kt new file mode 100644 index 0000000..f08a8ff --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/base/BaseViewModel.kt @@ -0,0 +1,25 @@ +package com.example.umc10th.ui.base + +import androidx.lifecycle.ViewModel +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update + +interface UiState + +abstract class BaseViewModel( + initialState: STATE +) : ViewModel() { + private val _uiState = MutableStateFlow(initialState) + val uiState: StateFlow = _uiState.asStateFlow() + + protected val currentState: STATE + get() = _uiState.value + + protected fun setState(reducer: STATE.() -> STATE) { + _uiState.update { currentState -> + currentState.reducer() + } + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/cart/CartFragment.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/cart/CartFragment.kt new file mode 100644 index 0000000..c958bf5 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/cart/CartFragment.kt @@ -0,0 +1,41 @@ +package com.example.umc10th.ui.cart + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.navigation.fragment.findNavController +import androidx.navigation.navOptions +import com.example.umc10th.databinding.FragmentCartBinding + +class CartFragment : Fragment() { + + private var _binding: FragmentCartBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentCartBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + binding.cartButton.setOnClickListener { + val navOptions = navOptions { + launchSingleTop = true + } + val action = CartFragmentDirections.actionCartToPurchase(fromCart = true) + findNavController().navigate(action, navOptions) + } + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/cart/CartScreen.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/cart/CartScreen.kt new file mode 100644 index 0000000..075abfb --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/cart/CartScreen.kt @@ -0,0 +1,71 @@ +package com.example.umc10th.ui.cart + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.umc10th.R + +@Composable +fun CartScreen(onOrderClick: () -> Unit) { + Box( + modifier = Modifier.fillMaxSize() + ) { + Column( + modifier = Modifier.align(Alignment.Center), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Image( + painter = painterResource(id = R.drawable.ic_bag_circle), + contentDescription = null, + modifier = Modifier.size(88.dp) + ) + Spacer(modifier = Modifier.height(27.dp)) + Text( + text = "장바구니가 비어 있습니다.\n상품을 추가하면 여기에 표시됩니다.", + color = Color.Black, + fontSize = 16.sp, + textAlign = TextAlign.Center, + lineHeight = 23.sp + ) + } + + Button( + onClick = onOrderClick, + modifier = Modifier + .align(Alignment.BottomCenter) + .fillMaxWidth() + .padding(start = 40.dp, end = 40.dp, bottom = 16.dp) + .height(48.dp), + shape = RoundedCornerShape(4.dp), + colors = ButtonDefaults.buttonColors( + containerColor = Color.Black, + contentColor = Color.White + ) + ) { + Text( + text = "주문하기", + fontSize = 14.sp, + fontWeight = FontWeight.SemiBold + ) + } + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeFragment.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeFragment.kt new file mode 100644 index 0000000..e85834c --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeFragment.kt @@ -0,0 +1,132 @@ +package com.example.umc10th.ui.home + +import android.os.Bundle +import android.os.SystemClock +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.activity.OnBackPressedCallback +import androidx.fragment.app.Fragment +import androidx.fragment.app.viewModels +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle +import androidx.navigation.NavGraph.Companion.findStartDestination +import androidx.navigation.fragment.findNavController +import androidx.navigation.fragment.navArgs +import androidx.navigation.navOptions +import androidx.recyclerview.widget.LinearLayoutManager +import com.example.umc10th.databinding.FragmentHomeBinding +import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.launch + +@AndroidEntryPoint +class HomeFragment : Fragment() { + + private var _binding: FragmentHomeBinding? = null + private val binding get() = _binding!! + private val args: HomeFragmentArgs by navArgs() + private val viewModel: HomeViewModel by viewModels() + private var lastBackPressedAt = 0L + + private lateinit var productAdapter: ProductAdapter + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentHomeBinding.inflate(inflater, container, false) + val receivedTitle = args.homeTitle + Log.d("LIFE_QUIZ", "HomeFragment?먯꽌 ?뺤씤??homeTitle: $receivedTitle") + + args.homeTitle?.let { binding.homeTitle.text = it } + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + setupProductRecyclerView() + observeProducts() + setupBackPressedCallback() + viewModel.loadProducts() + } + + private fun setupBackPressedCallback() { + requireActivity().onBackPressedDispatcher.addCallback( + viewLifecycleOwner, + object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + val now = SystemClock.elapsedRealtime() + if (now - lastBackPressedAt <= 2000L) { + requireActivity().finish() + } else { + lastBackPressedAt = now + Toast.makeText( + requireContext(), + "?쒕쾲 ???꾨Ⅴ硫??깆쓣 醫낅즺?⑸땲??", + Toast.LENGTH_SHORT + ).show() + } + } + } + ) + } + + private fun observeProducts() { + viewLifecycleOwner.lifecycleScope.launch { + viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) { + viewModel.uiState.collect { uiState -> + if (uiState.isLoading) { + showLoading() + } else { + Log.d(TAG, "collect products size=${uiState.products.size}") + productAdapter.submitList(uiState.products) + } + } + } + } + } + + private fun showLoading() { + Log.d(TAG, "showLoading()") + productAdapter.showLoading() + } + + private fun setupProductRecyclerView() { + productAdapter = ProductAdapter(emptyList()) { item -> + val navController = findNavController() + val navOptions = navOptions { + popUpTo(navController.graph.findStartDestination().id) { + saveState = false + } + } + val action = HomeFragmentDirections.actionMenuHouseSimpleToMenuListMagnifyingGlass( + fromCart = false, + title = item.name, + imageResId = item.imageResId, + description = item.description, + price = item.price + ) + navController.navigate(action, navOptions) + } + + binding.productRecyclerView.layoutManager = LinearLayoutManager( + requireContext(), + LinearLayoutManager.HORIZONTAL, + false + ) + binding.productRecyclerView.adapter = productAdapter + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + + companion object { + private const val TAG = "HomeFragment" + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeScreen.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeScreen.kt new file mode 100644 index 0000000..f7f3c84 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeScreen.kt @@ -0,0 +1,159 @@ +package com.example.umc10th.ui.home + +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.LazyRow +import androidx.compose.foundation.lazy.items +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.umc10th.R +import com.example.umc10th.data.model.Product + +@Composable +fun HomeScreen( + title: String, + viewModel: HomeViewModel, + onProductClick: (Product) -> Unit +) { + val uiState by viewModel.uiState.collectAsState() + + LaunchedEffect(Unit) { + viewModel.loadProducts() + } + + LazyColumn( + modifier = Modifier + .fillMaxSize() + .background(Color.White) + ) { + item { + Column(modifier = Modifier.padding(horizontal = 20.dp)) { + Spacer(modifier = Modifier.height(20.dp)) + Text( + text = title, + color = Color.Black, + fontSize = 24.sp, + fontWeight = FontWeight.Bold + ) + Spacer(modifier = Modifier.height(8.dp)) + Text( + text = "9월 4일 목요일", + color = Color(0xFF767676), + fontSize = 14.sp + ) + } + } + + item { + Spacer(modifier = Modifier.height(16.dp)) + Image( + painter = painterResource(id = R.drawable.home_logo), + contentDescription = null, + modifier = Modifier + .fillMaxWidth() + .height(360.dp), + contentScale = ContentScale.Fit + ) + } + + item { + Column(modifier = Modifier.padding(horizontal = 20.dp)) { + Spacer(modifier = Modifier.height(20.dp)) + Text( + text = "What's new", + color = Color.Black, + fontSize = 16.sp + ) + Spacer(modifier = Modifier.height(6.dp)) + Text( + text = "나이키 최신 상품", + color = Color.Black, + fontSize = 28.sp, + fontWeight = FontWeight.Bold + ) + } + } + + item { + Spacer(modifier = Modifier.height(16.dp)) + LazyRow( + modifier = Modifier.fillMaxWidth(), + contentPadding = PaddingValues(horizontal = 20.dp), + horizontalArrangement = androidx.compose.foundation.layout.Arrangement.spacedBy(16.dp) + ) { + items( + items = uiState.products, + key = { product -> product.id } + ) { product -> + HomeProductItem( + product = product, + onClick = { onProductClick(product) } + ) + } + } + Spacer(modifier = Modifier.height(20.dp)) + } + } +} + +@Composable +private fun HomeProductItem( + product: Product, + onClick: () -> Unit +) { + val imageResId = product.imageResId.takeIf { + it == R.drawable.shoes1 || it == R.drawable.shoes2 + } ?: R.drawable.shoes1 + + Column( + modifier = Modifier + .width(314.dp) + .clickable { onClick() } + ) { + Image( + painter = painterResource(id = imageResId), + contentDescription = null, + modifier = Modifier + .fillMaxWidth() + .height(314.dp), + contentScale = ContentScale.Crop + ) + Spacer(modifier = Modifier.height(12.dp)) + Text( + text = product.name, + color = Color(0xFF111111), + fontSize = 14.sp, + fontWeight = FontWeight.Bold, + maxLines = 2, + overflow = TextOverflow.Ellipsis, + modifier = Modifier.width(160.dp) + ) + Spacer(modifier = Modifier.height(6.dp)) + Text( + text = product.price, + color = Color(0xFF767676), + fontSize = 13.sp + ) + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeViewModel.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeViewModel.kt new file mode 100644 index 0000000..4a0ee23 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/HomeViewModel.kt @@ -0,0 +1,42 @@ +package com.example.umc10th.ui.home + +import androidx.lifecycle.viewModelScope +import com.example.umc10th.data.model.Product +import com.example.umc10th.data.repository.ProductRepository +import com.example.umc10th.ui.base.BaseViewModel +import com.example.umc10th.ui.base.UiState +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch + +@HiltViewModel +class HomeViewModel @Inject constructor( + private val productRepository: ProductRepository +) : BaseViewModel(HomeUiState()) { + private var hasStartedLoading = false + + fun loadProducts() { + if (hasStartedLoading) return + hasStartedLoading = true + + viewModelScope.launch { + setState { copy(isLoading = true) } + delay(1500) + productRepository.initializeProducts() + productRepository.getProducts().collect { products -> + setState { + copy( + isLoading = false, + products = products + ) + } + } + } + } +} + +data class HomeUiState( + val isLoading: Boolean = true, + val products: List = emptyList() +) : UiState diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/ProductAdapter.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/ProductAdapter.kt new file mode 100644 index 0000000..0c8f757 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/home/ProductAdapter.kt @@ -0,0 +1,114 @@ +package com.example.umc10th.ui.home + +import android.util.Log +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.umc10th.data.model.Product +import com.example.umc10th.databinding.ItemLoadingProductBinding +import com.example.umc10th.databinding.ItemProductBinding + +class ProductAdapter( + private var items: List, + private val onItemClick: (Product) -> Unit +) : RecyclerView.Adapter() { + + private var isLoading = false + private var loadingItemCount = DEFAULT_LOADING_ITEM_COUNT + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + Log.d(TAG, "onCreateViewHolder(viewType=$viewType, isLoading=$isLoading)") + return when (viewType) { + VIEW_TYPE_LOADING -> { + val binding = ItemLoadingProductBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) + LoadingViewHolder(binding) + } + else -> { + val binding = ItemProductBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) + ProductViewHolder(binding) + } + } + } + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + Log.d( + TAG, + "onBindViewHolder(position=$position, holder=${holder::class.java.simpleName}, isLoading=$isLoading)" + ) + if (holder is ProductViewHolder) { + holder.bind(items[position]) + } + } + + override fun getItemViewType(position: Int): Int { + val viewType = if (isLoading) VIEW_TYPE_LOADING else VIEW_TYPE_PRODUCT + Log.d(TAG, "getItemViewType(position=$position) -> $viewType") + return viewType + } + + fun showLoading() { + isLoading = true + Log.d(TAG, "showLoading()") + notifyDataSetChanged() + } + + fun submitList(newItems: List) { + isLoading = false + items = newItems + Log.d(TAG, "submitList(size=${newItems.size})") + notifyDataSetChanged() + } + + override fun getItemCount(): Int { + val count = if (isLoading) loadingItemCount else items.size + Log.d(TAG, "getItemCount() -> $count (isLoading=$isLoading)") + return count + } + + class ProductViewHolder( + private val binding: ItemProductBinding + ) : RecyclerView.ViewHolder(binding.root) { + + fun bind(item: Product) { + binding.productImage.setImageResource(item.imageResId) + binding.productName.text = item.name + binding.productPrice.text = item.price + } + } + + class LoadingViewHolder( + binding: ItemLoadingProductBinding + ) : RecyclerView.ViewHolder(binding.root) + + override fun onViewAttachedToWindow(holder: RecyclerView.ViewHolder) { + super.onViewAttachedToWindow(holder) + if (holder is ProductViewHolder) { + holder.itemView.setOnClickListener { + val position = holder.bindingAdapterPosition + if (position != RecyclerView.NO_POSITION && !isLoading) { + onItemClick(items[position]) + } + } + } + } + + override fun onViewDetachedFromWindow(holder: RecyclerView.ViewHolder) { + holder.itemView.setOnClickListener(null) + super.onViewDetachedFromWindow(holder) + } + + companion object { + private const val TAG = "ProductAdapter" + private const val VIEW_TYPE_PRODUCT = 0 + private const val VIEW_TYPE_LOADING = 1 + private const val DEFAULT_LOADING_ITEM_COUNT = 3 + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainActivity.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainActivity.kt new file mode 100644 index 0000000..29ed577 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainActivity.kt @@ -0,0 +1,84 @@ +package com.example.umc10th.ui.main + +import android.os.Bundle +import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge +import androidx.activity.viewModels +import androidx.appcompat.app.AppCompatActivity +import com.example.umc10th.ui.home.HomeViewModel +import com.example.umc10th.ui.purchase.PurchaseViewModel +import com.example.umc10th.ui.wishlist.WishlistViewModel +import dagger.hilt.android.AndroidEntryPoint + +@AndroidEntryPoint +class MainActivity : AppCompatActivity() { + private val homeViewModel: HomeViewModel by viewModels() + private val purchaseViewModel: PurchaseViewModel by viewModels() + private val wishlistViewModel: WishlistViewModel by viewModels() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + + val homeTitle = intent.getStringExtra(EXTRA_HOME_TITLE) + + /* + 기존 XML + Fragment + BottomNavigationView 기반 구현입니다. + Compose 미션 진행을 위해 삭제하지 않고 주석 처리했습니다. + + binding = ActivityMainBinding.inflate(layoutInflater) + setContentView(binding.root) + + ViewCompat.setOnApplyWindowInsetsListener(binding.main) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, 0) + insets + } + + val navHostFragment = + supportFragmentManager.findFragmentById(R.id.fragment_container) as NavHostFragment + val navController = navHostFragment.navController + if (savedInstanceState == null) { + val startArgs = Bundle().apply { + putString("homeTitle", homeTitle) + } + navController.setGraph(R.navigation.nav_graph, startArgs) + } + + binding.bottomNav.setOnItemSelectedListener { item -> + if (navController.currentDestination?.id == item.itemId) { + return@setOnItemSelectedListener true + } + + navigateToTopLevel(item.itemId, navController) + true + } + + navController.addOnDestinationChangedListener { _, destination, _ -> + val matchingItem = binding.bottomNav.menu.findItem(destination.id) + if (matchingItem != null) { + matchingItem.isChecked = true + } else if (destination.id == R.id.product_detail_fragment) { + binding.bottomNav.menu.findItem(R.id.menu_list_magnifying_glass)?.isChecked = true + } else { + for (index in 0 until binding.bottomNav.menu.size()) { + binding.bottomNav.menu.getItem(index).isChecked = false + } + } + } + */ + + setContent { + MainComposeScreen( + homeTitle = homeTitle, + homeViewModel = homeViewModel, + purchaseViewModel = purchaseViewModel, + wishlistViewModel = wishlistViewModel + ) + } + } + + companion object { + const val EXTRA_HOME_TITLE = "extra_home_title" + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainBottomBar.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainBottomBar.kt new file mode 100644 index 0000000..a936a92 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainBottomBar.kt @@ -0,0 +1,80 @@ +package com.example.umc10th.ui.main + +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +@Composable +fun MainBottomBar( + selectedTab: MainTab, + onTabSelected: (MainTab) -> Unit +) { + Column( + modifier = Modifier + .fillMaxWidth() + .background(Color.White) + .navigationBarsPadding() + ) { + HorizontalDivider(color = Color(0xFFEAEAEA), thickness = 1.dp) + Row( + modifier = Modifier + .fillMaxWidth() + .height(64.dp), + verticalAlignment = Alignment.CenterVertically + ) { + MainTab.entries.forEach { tab -> + val selected = selectedTab == tab + Column( + modifier = Modifier + .weight(1f) + .fillMaxHeight() + .clickable { onTabSelected(tab) } + .padding(top = 8.dp, bottom = 6.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Icon( + painter = painterResource(id = tab.iconResId), + contentDescription = tab.label, + tint = if (selected) Color.Black else Color(0xFF8A8A8A), + modifier = Modifier.size(24.dp) + ) + Spacer(modifier = Modifier.height(4.dp)) + Text( + text = tab.label, + color = if (selected) Color.Black else Color(0xFF8A8A8A), + fontSize = 11.sp, + fontWeight = if (selected) FontWeight.SemiBold else FontWeight.Normal, + maxLines = 1 + ) + } + } + } + } +} + +@Preview(showBackground = true) +@Composable + +fun MainBottomBar2(){ + MainBottomBar(selectedTab = MainTab.Home, onTabSelected = {}) +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainComposeScreen.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainComposeScreen.kt new file mode 100644 index 0000000..7329bae --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainComposeScreen.kt @@ -0,0 +1,201 @@ +package com.example.umc10th.ui.main + +import android.app.Activity +import android.os.SystemClock +import android.widget.Toast +import androidx.activity.compose.BackHandler +import androidx.compose.animation.EnterTransition +import androidx.compose.animation.ExitTransition +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.statusBarsPadding +import androidx.compose.material3.Scaffold +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableLongStateOf +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalContext +import androidx.navigation.NavGraph.Companion.findStartDestination +import androidx.navigation.NavHostController +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.currentBackStackEntryAsState +import androidx.navigation.compose.rememberNavController +import androidx.navigation.navOptions +import com.example.umc10th.data.model.Product +import com.example.umc10th.data.model.PurchaseProduct +import com.example.umc10th.ui.cart.CartScreen +import com.example.umc10th.ui.home.HomeScreen +import com.example.umc10th.ui.home.HomeViewModel +import com.example.umc10th.ui.productdetail.ProductDetailScreen +import com.example.umc10th.ui.productdetail.ProductDetailUiState +import com.example.umc10th.ui.profile.ProfileScreen +import com.example.umc10th.ui.purchase.PurchaseScreen +import com.example.umc10th.ui.purchase.PurchaseViewModel +import com.example.umc10th.ui.wishlist.WishlistScreen +import com.example.umc10th.ui.wishlist.WishlistViewModel + +@Composable +fun MainComposeScreen( + homeTitle: String?, + homeViewModel: HomeViewModel, + purchaseViewModel: PurchaseViewModel, + wishlistViewModel: WishlistViewModel +) { + val context = LocalContext.current + val activity = context as? Activity + val navController = rememberNavController() + val backStackEntry by navController.currentBackStackEntryAsState() + val currentRoute = backStackEntry?.destination?.route + val selectedTab = if (currentRoute == PRODUCT_DETAIL_ROUTE) { + MainTab.Purchase + } else { + MainTab.fromRoute(currentRoute) + } + var lastBackPressedAt by remember { mutableLongStateOf(0L) } + var selectedProduct by remember { mutableStateOf(null) } + + fun openProductDetail(product: ProductDetailUiState) { + selectedProduct = product + if (navController.currentDestination?.route != MainTab.Purchase.route) { + navController.navigateToTopLevel(MainTab.Purchase) + } + navController.navigate(PRODUCT_DETAIL_ROUTE) { + launchSingleTop = true + } + } + + BackHandler { + if (currentRoute == PRODUCT_DETAIL_ROUTE) { + navController.popBackStack() + return@BackHandler + } + + if (selectedTab != MainTab.Home) { + navController.navigateToTopLevel(MainTab.Home) + return@BackHandler + } + + val now = SystemClock.elapsedRealtime() + if (now - lastBackPressedAt <= 2000L) { + activity?.finish() + } else { + lastBackPressedAt = now + Toast.makeText(context, "뒤로가기를 한 번 더 누르면 종료됩니다.", Toast.LENGTH_SHORT).show() + } + } + + Scaffold( + containerColor = Color.White, + contentWindowInsets = WindowInsets(0), + bottomBar = { + MainBottomBar( + selectedTab = selectedTab, + onTabSelected = { tab -> + navController.navigateToTopLevel(tab) + } + ) + } + ) { innerPadding -> + Box( + modifier = Modifier + .fillMaxSize() + .background(Color.White) + .padding(innerPadding) + .statusBarsPadding() + ) { + NavHost( + navController = navController, + startDestination = MainTab.Home.route, + modifier = Modifier.fillMaxSize(), + enterTransition = { EnterTransition.None }, + exitTransition = { ExitTransition.None }, + popEnterTransition = { EnterTransition.None }, + popExitTransition = { ExitTransition.None } + ) { + composable(MainTab.Home.route) { + HomeScreen( + title = homeTitle ?: "Discover", + viewModel = homeViewModel, + onProductClick = { product -> + openProductDetail(product.toDetailUiState()) + } + ) + } + composable(MainTab.Purchase.route) { + PurchaseScreen( + viewModel = purchaseViewModel, + onProductClick = { product -> + openProductDetail(product.toDetailUiState()) + } + ) + } + composable(MainTab.Wishlist.route) { + WishlistScreen( + viewModel = wishlistViewModel, + onProductClick = { product -> + openProductDetail(product.toDetailUiState()) + } + ) + } + composable(MainTab.Cart.route) { + CartScreen( + onOrderClick = { + navController.navigateToTopLevel(MainTab.Purchase) + } + ) + } + composable(MainTab.Profile.route) { + ProfileScreen() + } + composable(PRODUCT_DETAIL_ROUTE) { + selectedProduct?.let { product -> + ProductDetailScreen( + product = product, + onBackClick = { navController.popBackStack() } + ) + } + } + } + } + } +} + +private fun NavHostController.navigateToTopLevel(tab: MainTab) { + navigate( + route = tab.route, + navOptions = navOptions { + launchSingleTop = true + popUpTo(graph.findStartDestination().id) { + saveState = false + } + } + ) +} + +private fun Product.toDetailUiState(): ProductDetailUiState { + return ProductDetailUiState( + title = name, + imageResId = imageResId, + description = description, + price = price + ) +} + +private fun PurchaseProduct.toDetailUiState(): ProductDetailUiState { + return ProductDetailUiState( + title = title, + imageResId = imageResId, + description = description, + price = price + ) +} + +private const val PRODUCT_DETAIL_ROUTE = "product_detail" diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainTab.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainTab.kt new file mode 100644 index 0000000..f6c455b --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/main/MainTab.kt @@ -0,0 +1,21 @@ +package com.example.umc10th.ui.main + +import com.example.umc10th.R + +enum class MainTab( + val route: String, + val label: String, + val iconResId: Int +) { + Home("home", "홈", R.drawable.ic_house_simple), + Purchase("purchase", "구매하기", R.drawable.ic_list_magnifying_glass), + Wishlist("wishlist", "위시리스트", R.drawable.ic_heart_straight), + Cart("cart", "장바구니", R.drawable.ic_bag_simple), + Profile("profile", "프로필", R.drawable.ic_user); + + companion object { + fun fromRoute(route: String?): MainTab { + return entries.firstOrNull { it.route == route } ?: Home + } + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/productdetail/ProductDetailFragment.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/productdetail/ProductDetailFragment.kt new file mode 100644 index 0000000..d0406dd --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/productdetail/ProductDetailFragment.kt @@ -0,0 +1,47 @@ +package com.example.umc10th.ui.productdetail + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.navigation.fragment.findNavController +import androidx.navigation.fragment.navArgs +import com.example.umc10th.databinding.FragmentProductDetailBinding + +class ProductDetailFragment : Fragment() { + + private var _binding: FragmentProductDetailBinding? = null + private val binding get() = _binding!! + private val args: ProductDetailFragmentArgs by navArgs() + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentProductDetailBinding.inflate(inflater, container, false) + bindProductDetails() + setupHeader() + return binding.root + } + + private fun bindProductDetails() { + binding.productDetailHeaderTitle.text = args.title + binding.productDetailImage.setImageResource(args.imageResId) + binding.productDetailTitle.text = args.title + binding.productDetailDescription.text = args.description + binding.productDetailPrice.text = args.price + } + + private fun setupHeader() { + binding.productDetailBackButton.setOnClickListener { + findNavController().navigateUp() + } + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/productdetail/ProductDetailScreen.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/productdetail/ProductDetailScreen.kt new file mode 100644 index 0000000..80117b2 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/productdetail/ProductDetailScreen.kt @@ -0,0 +1,151 @@ +package com.example.umc10th.ui.productdetail + +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.umc10th.R + +data class ProductDetailUiState( + val title: String, + val imageResId: Int, + val description: String, + val price: String +) + +@Composable +fun ProductDetailScreen( + product: ProductDetailUiState, + onBackClick: () -> Unit +) { + val imageResId = product.imageResId.takeIf { + it == R.drawable.socks1 || + it == R.drawable.socks2 || + it == R.drawable.shoes1 || + it == R.drawable.shoes2 + } ?: R.drawable.shoes1 + + Column( + modifier = Modifier + .fillMaxSize() + .background(Color.White) + .verticalScroll(rememberScrollState()) + ) { + Row( + modifier = Modifier + .fillMaxWidth() + .padding(start = 16.dp, top = 16.dp, end = 16.dp), + verticalAlignment = Alignment.CenterVertically + ) { + Image( + painter = painterResource(id = R.drawable.icon_back), + contentDescription = null, + modifier = Modifier + .size(40.dp) + .padding(8.dp) + .clickable { onBackClick() } + ) + Text( + text = product.title, + color = Color(0xFF111111), + fontSize = 18.sp, + fontWeight = FontWeight.Bold, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + textAlign = TextAlign.Center, + modifier = Modifier.weight(1f) + ) + Image( + painter = painterResource(id = R.drawable.ic_list_magnifying_glass), + contentDescription = null, + modifier = Modifier + .size(40.dp) + .padding(8.dp) + ) + } + + Image( + painter = painterResource(id = imageResId), + contentDescription = null, + modifier = Modifier + .fillMaxWidth() + .height(240.dp) + .padding(start = 24.dp, top = 24.dp, end = 24.dp), + contentScale = ContentScale.Crop + ) + + Text( + text = product.title, + color = Color(0xFF111111), + fontSize = 24.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(start = 24.dp, top = 20.dp, end = 24.dp) + ) + Text( + text = product.description, + color = Color(0xFF767676), + fontSize = 16.sp, + modifier = Modifier.padding(start = 24.dp, top = 12.dp, end = 24.dp) + ) + Text( + text = product.price, + color = Color(0xFF111111), + fontSize = 18.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(start = 24.dp, top = 16.dp, end = 24.dp) + ) + Text( + text = "The Nike Everyday Plus Cushioned Socks bring comfort to your workout with extra cushioning under the heel and forefoot and a snug, supportive arch band. Sweat-wicking power and breathability up top help keep your feet dry and cool to help push you through that extra set.\n\nShown: Multi-Color\nStyle: SX6897-965", + color = Color(0xFF444444), + fontSize = 15.sp, + lineHeight = 22.sp, + modifier = Modifier.padding(start = 24.dp, top = 24.dp, end = 24.dp) + ) + + ProductDetailButton(text = "Select Size") + ProductDetailButton(text = "Add to Cart", backgroundColor = Color(0xFF111111), textColor = Color.White) + ProductDetailButton(text = "Wishlist") + Spacer(modifier = Modifier.height(24.dp)) + } +} + +@Composable +private fun ProductDetailButton( + text: String, + backgroundColor: Color = Color(0xFFE4E4E4), + textColor: Color = Color.Black +) { + Text( + text = text, + color = textColor, + fontSize = 14.sp, + textAlign = TextAlign.Center, + modifier = Modifier + .padding(start = 24.dp, top = 12.dp, end = 24.dp) + .fillMaxWidth() + .height(56.dp) + .background(backgroundColor) + .padding(top = 18.dp) + ) +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/FollowingProfileAdapter.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/FollowingProfileAdapter.kt new file mode 100644 index 0000000..bd5aca5 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/FollowingProfileAdapter.kt @@ -0,0 +1,41 @@ +package com.example.umc10th.ui.profile + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.umc10th.data.model.FollowingProfile +import com.example.umc10th.databinding.ItemFollowingProfileBinding + +class FollowingProfileAdapter( + private var profiles: List = emptyList() +) : RecyclerView.Adapter() { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): FollowingProfileViewHolder { + val binding = ItemFollowingProfileBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) + return FollowingProfileViewHolder(binding) + } + + override fun onBindViewHolder(holder: FollowingProfileViewHolder, position: Int) { + holder.bind(profiles[position]) + } + + override fun getItemCount(): Int = profiles.size + + fun submitList(newProfiles: List) { + profiles = newProfiles + notifyDataSetChanged() + } + + class FollowingProfileViewHolder( + private val binding: ItemFollowingProfileBinding + ) : RecyclerView.ViewHolder(binding.root) { + + fun bind(profile: FollowingProfile) { + binding.ivFollowingProfile.setImageBitmap(profile.avatarBitmap) + } + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileFragment.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileFragment.kt new file mode 100644 index 0000000..8484b10 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileFragment.kt @@ -0,0 +1,119 @@ +package com.example.umc10th.ui.profile + +import android.os.Bundle +import android.view.Gravity +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.FrameLayout +import android.widget.ImageView +import android.widget.ProgressBar +import android.widget.Toast +import androidx.fragment.app.Fragment +import androidx.fragment.app.viewModels +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle +import androidx.recyclerview.widget.LinearLayoutManager +import com.example.umc10th.databinding.FragmentProfileBinding +import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.launch + +@AndroidEntryPoint +class ProfileFragment : Fragment() { + + private var _binding: FragmentProfileBinding? = null + private val binding get() = _binding!! + private val viewModel: ProfileViewModel by viewModels() + private lateinit var profileImageView: ImageView + private lateinit var profileProgressBar: ProgressBar + private val followingProfileAdapter = FollowingProfileAdapter() + private var lastShownErrorMessage: String? = null + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentProfileBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + setupProfileImageView() + setupFollowingRecyclerView() + observeProfile() + viewModel.loadUserProfile() + } + + private fun setupProfileImageView() { + profileImageView = ImageView(requireContext()).apply { + layoutParams = ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT + ) + scaleType = ImageView.ScaleType.CENTER_CROP + } + profileProgressBar = ProgressBar(requireContext()).apply { + layoutParams = FrameLayout.LayoutParams( + ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT, + Gravity.CENTER + ) + } + binding.userProfile.addView(profileImageView) + binding.userProfile.addView(profileProgressBar) + } + + private fun setupFollowingRecyclerView() { + binding.rvFollowing.layoutManager = LinearLayoutManager( + requireContext(), + LinearLayoutManager.HORIZONTAL, + false + ) + binding.rvFollowing.adapter = followingProfileAdapter + } + + private fun observeProfile() { + viewLifecycleOwner.lifecycleScope.launch { + viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) { + viewModel.uiState.collect { uiState -> + profileProgressBar.visibility = if (uiState.isLoading) { + View.VISIBLE + } else { + View.GONE + } + profileImageView.visibility = if (uiState.profileBitmap == null) { + View.INVISIBLE + } else { + View.VISIBLE + } + if (uiState.isLoading) { + binding.userName.text = "" + } + if (uiState.userName.isNotEmpty()) { + binding.userName.text = uiState.userName + } + uiState.profileBitmap?.let { profileImageView.setImageBitmap(it) } + followingProfileAdapter.submitList(uiState.followingProfiles) + showErrorToast(uiState.errorMessage) + } + } + } + } + + private fun showErrorToast(errorMessage: String?) { + if (errorMessage.isNullOrBlank()) return + if (lastShownErrorMessage == errorMessage) return + + lastShownErrorMessage = errorMessage + Toast.makeText(requireContext(), errorMessage, Toast.LENGTH_SHORT).show() + } + + override fun onDestroyView() { + binding.rvFollowing.adapter = null + super.onDestroyView() + _binding = null + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileScreen.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileScreen.kt new file mode 100644 index 0000000..56b5ee3 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileScreen.kt @@ -0,0 +1,13 @@ +package com.example.umc10th.ui.profile + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier + +@Composable +fun ProfileScreen() { + Box( + modifier = Modifier.fillMaxSize() + ) +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileViewModel.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileViewModel.kt new file mode 100644 index 0000000..2a9d252 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/profile/ProfileViewModel.kt @@ -0,0 +1,96 @@ +package com.example.umc10th.ui.profile + +import android.graphics.BitmapFactory +import android.graphics.Bitmap +import android.util.Log +import androidx.lifecycle.viewModelScope +import com.example.umc10th.data.model.FollowingProfile +import com.example.umc10th.data.repository.ProfileRepository +import com.example.umc10th.ui.base.BaseViewModel +import com.example.umc10th.ui.base.UiState +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.async +import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import retrofit2.HttpException +import java.net.URL + +@HiltViewModel +class ProfileViewModel @Inject constructor( + private val profileRepository: ProfileRepository +) : BaseViewModel(ProfileUiState()) { + fun loadUserProfile() { + if (currentState.userName.isNotEmpty()) return + + viewModelScope.launch { + setState { copy(isLoading = true, errorMessage = null) } + + runCatching { + val users = profileRepository.getUsers() + val user = users.firstOrNull { it.id == 1 } + ?: error("User id 1 not found") + + val profileBitmap = loadBitmap(user.avatar) + val followingProfiles = users + .filter { it.id != 1 } + .map { followingUser -> + async { + FollowingProfile( + id = followingUser.id, + avatarBitmap = loadBitmap(followingUser.avatar) + ) + } + } + .awaitAll() + + ProfileUiState( + isLoading = false, + userName = "${user.firstName} ${user.lastName}", + profileBitmap = profileBitmap, + followingProfiles = followingProfiles + ) + }.onSuccess { loadedState -> + setState { loadedState } + }.onFailure { throwable -> + Log.e(TAG, "Failed to load user profile", throwable) + setState { + copy( + isLoading = false, + errorMessage = throwable.toProfileErrorMessage() + ) + } + } + } + } + + private fun Throwable.toProfileErrorMessage(): String? { + if (this !is HttpException) return message + + return when (code()) { + in 400..499 -> "내잘못" + in 500..599 -> "니잘못" + else -> message + } + } + + private suspend fun loadBitmap(imageUrl: String) = withContext(Dispatchers.IO) { + URL(imageUrl).openStream().use { inputStream -> + BitmapFactory.decodeStream(inputStream) + } + } + + companion object { + private const val TAG = "ProfileViewModel" + } +} + +data class ProfileUiState( + val isLoading: Boolean = true, + val userName: String = "", + val profileBitmap: Bitmap? = null, + val followingProfiles: List = emptyList(), + val errorMessage: String? = null +) : UiState diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseAllFragment.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseAllFragment.kt new file mode 100644 index 0000000..40ae89e --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseAllFragment.kt @@ -0,0 +1,64 @@ +package com.example.umc10th.ui.purchase + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.fragment.app.viewModels +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle +import androidx.recyclerview.widget.GridLayoutManager +import com.example.umc10th.databinding.FragmentPurchaseAllBinding +import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.launch + +@AndroidEntryPoint +class PurchaseAllFragment : Fragment() { + + private var _binding: FragmentPurchaseAllBinding? = null + private val binding get() = _binding!! + private val viewModel: PurchaseViewModel by viewModels() + + + private lateinit var purchaseProductAdapter: PurchaseProductAdapter + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentPurchaseAllBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + setupRecyclerView() + observePurchaseProducts() + + } + + private fun observePurchaseProducts(){ + viewLifecycleOwner.lifecycleScope.launch{ + viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) { + viewModel.uiState.collect { uiState -> + purchaseProductAdapter.submitList(uiState.products) + } + } + } + viewModel.loadPurchaseProducts() + } + private fun setupRecyclerView() { + purchaseProductAdapter = PurchaseProductAdapter(emptyList()) { clickedItem -> + viewModel.toggleWishlist(clickedItem.id) + } + binding.purchaseAllRecyclerView.layoutManager = GridLayoutManager(requireContext(), 2) + binding.purchaseAllRecyclerView.adapter = purchaseProductAdapter + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseFragment.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseFragment.kt new file mode 100644 index 0000000..9a83259 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseFragment.kt @@ -0,0 +1,82 @@ +package com.example.umc10th.ui.purchase + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.navigation.fragment.findNavController +import androidx.navigation.fragment.navArgs +import androidx.navigation.navOptions +import com.example.umc10th.R +import com.example.umc10th.databinding.FragmentPurchaseBinding +import com.google.android.material.tabs.TabLayoutMediator + +class PurchaseFragment : Fragment() { + + companion object { + private const val DETAIL_OPENED_KEY = "detail_opened" + } + + private var _binding: FragmentPurchaseBinding? = null + private val binding get() = _binding!! + private val args: PurchaseFragmentArgs by navArgs() + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentPurchaseBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + val adapter = PurchasePagerAdapter(this) + binding.purchasePager.adapter = adapter + + TabLayoutMediator(binding.purchaseTabs, binding.purchasePager) { tab, position -> + tab.text = when (position) { + 0 -> "전체" + 1 -> "Tops & T-Shirts" + else -> "Sales" + } + }.attach() + + openProductDetailIfNeeded(savedInstanceState == null) + } + + private fun openProductDetailIfNeeded(isFirstCreation: Boolean) { + val title = args.title + val description = args.description + val price = args.price + val navController = findNavController() + val backStackEntry = navController.currentBackStackEntry ?: return + val detailOpened = backStackEntry.savedStateHandle.get(DETAIL_OPENED_KEY) == true + + if (!isFirstCreation || detailOpened || title == null || description == null || price == null) { + return + } + + backStackEntry.savedStateHandle[DETAIL_OPENED_KEY] = true + val navOptions = navOptions { + popUpTo(R.id.menu_list_magnifying_glass) { + // 구매하기까지 지우고 상품 디테일로 이동 + inclusive = true + } + } + val action = PurchaseFragmentDirections.actionMenuListMagnifyingGlassToProductDetailFragment( + title = title, + imageResId = args.imageResId, + description = description, + price = price + ) + navController.navigate(action, navOptions) + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchasePagerAdapter.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchasePagerAdapter.kt new file mode 100644 index 0000000..a403ec2 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchasePagerAdapter.kt @@ -0,0 +1,17 @@ +package com.example.umc10th.ui.purchase + +import androidx.fragment.app.Fragment +import androidx.viewpager2.adapter.FragmentStateAdapter + +class PurchasePagerAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) { + + override fun getItemCount(): Int = 3 + + override fun createFragment(position: Int): Fragment { + return when (position) { + 0 -> PurchaseAllFragment() + 1 -> PurchaseTopsFragment() + else -> PurchaseSalesFragment() + } + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseProductAdapter.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseProductAdapter.kt new file mode 100644 index 0000000..6510d68 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseProductAdapter.kt @@ -0,0 +1,62 @@ +package com.example.umc10th.ui.purchase + +import android.view.View +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.umc10th.R +import com.example.umc10th.data.model.PurchaseProduct +import com.example.umc10th.databinding.ItemPurchaseProductBinding + +class PurchaseProductAdapter( + private var items: List, + private val onWishListClick: (PurchaseProduct) -> Unit +) : RecyclerView.Adapter() { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PurchaseProductViewHolder { + val binding = ItemPurchaseProductBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) + return PurchaseProductViewHolder(binding) + } + + override fun onBindViewHolder(holder: PurchaseProductViewHolder, position: Int) { + holder.bind(items[position]) + } + + override fun getItemCount(): Int = items.size + + fun submitList(newItems: List){ + items = newItems + notifyDataSetChanged() + } + inner class PurchaseProductViewHolder( + private val binding: ItemPurchaseProductBinding + ) : RecyclerView.ViewHolder(binding.root) { + + fun bind(item: PurchaseProduct) { + binding.productImage.setImageResource(item.imageResId) + binding.productBestSeller.visibility = if (item.isBest) View.VISIBLE else View.GONE + binding.productTitle.text = item.title + binding.productDescription.text = item.description + binding.productPrice.text = item.price + updateWishlistIcon(item.isWishlisted) + + binding.wishlistButton.setOnClickListener { + onWishListClick(item) + + } + } + + private fun updateWishlistIcon(isWishlisted: Boolean) { + val iconResId = if (isWishlisted) { + R.drawable.img_filled_heart + } else { + R.drawable.img_blank_heart + } + binding.wishlistButton.setImageResource(iconResId) + } + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseSalesFragment.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseSalesFragment.kt new file mode 100644 index 0000000..48e918a --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseSalesFragment.kt @@ -0,0 +1,28 @@ +package com.example.umc10th.ui.purchase + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.umc10th.databinding.FragmentPurchaseSalesBinding + +class PurchaseSalesFragment : Fragment() { + + private var _binding: FragmentPurchaseSalesBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentPurchaseSalesBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseScreen.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseScreen.kt new file mode 100644 index 0000000..30218cd --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseScreen.kt @@ -0,0 +1,250 @@ +package com.example.umc10th.ui.purchase + +import androidx.compose.foundation.background +import androidx.compose.foundation.Image +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.PaddingValues +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.aspectRatio +import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.rememberLazyGridState +import androidx.compose.foundation.lazy.grid.items +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Tab +import androidx.compose.material3.TabRow +import androidx.compose.material3.TabRowDefaults +import androidx.compose.material3.TabRowDefaults.tabIndicatorOffset +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.umc10th.R +import com.example.umc10th.data.model.PurchaseProduct +import kotlinx.coroutines.launch + +@Composable +fun PurchaseScreen( + viewModel: PurchaseViewModel, + onProductClick: (PurchaseProduct) -> Unit +) { + var selectedTabIndex by remember { mutableIntStateOf(0) } + val uiState by viewModel.uiState.collectAsState() + val gridState = rememberLazyGridState() + val coroutineScope = rememberCoroutineScope() + val showScrollToTop by remember { + derivedStateOf { + gridState.firstVisibleItemIndex > 3 || + gridState.firstVisibleItemScrollOffset > 600 + } + } + val tabs = listOf("전체", "Tops & T-Shirts", "sale") + + LaunchedEffect(Unit) { + viewModel.loadPurchaseProducts() + } + + Column( + modifier = Modifier + .fillMaxSize() + .background(Color.White) + ) { + TabRow( + selectedTabIndex = selectedTabIndex, + containerColor = Color.White, + contentColor = Color.Black, + indicator = { tabPositions -> + TabRowDefaults.SecondaryIndicator( + modifier = Modifier.tabIndicatorOffset(tabPositions[selectedTabIndex]), + color = Color.Black + ) + }, + divider = { + HorizontalDivider(color = Color(0xFFEAEAEA), thickness = 1.dp) + } + ) { + tabs.forEachIndexed { index, title -> + Tab( + selected = selectedTabIndex == index, + onClick = { selectedTabIndex = index }, + text = { + Text( + text = title, + color = if (selectedTabIndex == index) Color.Black else Color(0xFF8A8A8A), + fontSize = 14.sp, + fontWeight = if (selectedTabIndex == index) { + FontWeight.SemiBold + } else { + FontWeight.Normal + } + ) + } + ) + } + } + + Box( + modifier = Modifier + .fillMaxWidth() + .weight(1f) + ) { + LazyVerticalGrid( + columns = GridCells.Fixed(2), + state = gridState, + modifier = Modifier.fillMaxSize(), + contentPadding = PaddingValues( + start = 16.dp, + top = 20.dp, + end = 16.dp, + bottom = 84.dp + ), + horizontalArrangement = Arrangement.spacedBy(8.dp), + verticalArrangement = Arrangement.spacedBy(24.dp) + ) { + items( + items = uiState.products, + key = { product -> product.id } + ) { product -> + PurchaseProductItem( + product = product, + onClick = { onProductClick(product) }, + onWishlistClick = { viewModel.toggleWishlist(product.id) } + ) + } + } + + if (showScrollToTop) { + Button( + onClick = { + coroutineScope.launch { + gridState.animateScrollToItem(0) + } + }, + modifier = Modifier + .align(Alignment.BottomCenter) + .offset(y = (-20).dp), + colors = ButtonDefaults.buttonColors( + containerColor = Color.Black, + contentColor = Color.White + ) + ) { + Text(text = "맨 위로", fontSize = 14.sp) + } + } + } + } +} + +@Composable +private fun PurchaseProductItem( + product: PurchaseProduct, + onClick: () -> Unit, + onWishlistClick: () -> Unit +) { + val imageResId = product.imageResId.takeIf { + it == R.drawable.socks1 || + it == R.drawable.socks2 || + it == R.drawable.shoes1 || + it == R.drawable.shoes2 + } ?: R.drawable.shoes1 + + Column( + modifier = Modifier + .fillMaxWidth() + .clickable { onClick() } + ) { + Box( + modifier = Modifier + .fillMaxWidth() + .aspectRatio(1f) + ) { + Image( + painter = painterResource(id = imageResId), + contentDescription = null, + modifier = Modifier.fillMaxSize(), + contentScale = ContentScale.Crop + ) + Image( + painter = painterResource( + id = if (product.isWishlisted) { + R.drawable.img_filled_heart + } else { + R.drawable.img_blank_heart + } + ), + contentDescription = null, + modifier = Modifier + .padding(top = 6.dp, end = 6.dp) + .size(34.dp) + .align(androidx.compose.ui.Alignment.TopEnd) + .clickable { onWishlistClick() } + ) + } + + if (product.isBest) { + Text( + text = "BestSeller", + color = Color(0xFFFC5100), + fontSize = 12.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(top = 12.dp) + ) + } + + Text( + text = product.title, + color = Color(0xFF111111), + fontSize = 14.sp, + fontWeight = FontWeight.Bold, + maxLines = 2, + overflow = TextOverflow.Ellipsis, + modifier = Modifier.padding(top = if (product.isBest) 4.dp else 12.dp) + ) + Text( + text = product.description, + color = Color(0xFF767676), + fontSize = 13.sp, + maxLines = 2, + overflow = TextOverflow.Ellipsis, + modifier = Modifier.padding(top = 6.dp) + ) + Text( + text = product.colornum, + color = Color(0xFF767676), + fontSize = 13.sp, + maxLines = 1, + overflow = TextOverflow.Ellipsis + ) + Text( + text = product.price, + color = Color(0xFF111111), + fontSize = 14.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(top = 8.dp) + ) + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseTopsFragment.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseTopsFragment.kt new file mode 100644 index 0000000..7cd58e9 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseTopsFragment.kt @@ -0,0 +1,28 @@ +package com.example.umc10th.ui.purchase + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.umc10th.databinding.FragmentPurchaseTopsBinding + +class PurchaseTopsFragment : Fragment() { + + private var _binding: FragmentPurchaseTopsBinding? = null + private val binding get() = _binding!! + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentPurchaseTopsBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseViewModel.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseViewModel.kt new file mode 100644 index 0000000..86d8a80 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/purchase/PurchaseViewModel.kt @@ -0,0 +1,39 @@ +package com.example.umc10th.ui.purchase + +import androidx.lifecycle.viewModelScope +import com.example.umc10th.data.model.PurchaseProduct +import com.example.umc10th.data.repository.ProductRepository +import com.example.umc10th.ui.base.BaseViewModel +import com.example.umc10th.ui.base.UiState +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject +import kotlinx.coroutines.launch + +@HiltViewModel +class PurchaseViewModel @Inject constructor( + private val productRepository: ProductRepository +) : BaseViewModel(PurchaseUiState()) { + private var hasStartedLoading = false + + fun loadPurchaseProducts() { + if (hasStartedLoading) return + hasStartedLoading = true + + viewModelScope.launch { + productRepository.initializePurchaseProducts() + productRepository.getPurchaseProducts().collect { products -> + setState { copy(products = products) } + } + } + } + + fun toggleWishlist(productId: Int) { + viewModelScope.launch { + productRepository.toggleWishlist(productId) + } + } +} + +data class PurchaseUiState( + val products: List = emptyList() +) : UiState diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/splash/SplashActivity.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/splash/SplashActivity.kt new file mode 100644 index 0000000..d3f8a91 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/splash/SplashActivity.kt @@ -0,0 +1,32 @@ +package com.example.umc10th.ui.splash + +import android.content.Intent +import android.os.Bundle +import android.os.Handler +import android.os.Looper +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import com.example.umc10th.databinding.ActivitySplashBinding +import com.example.umc10th.ui.main.MainActivity + +class SplashActivity : AppCompatActivity() { + + private lateinit var binding: ActivitySplashBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + + binding = ActivitySplashBinding.inflate(layoutInflater) + setContentView(binding.root) + + val message = binding.splashText.text.toString() + Handler(Looper.getMainLooper()).postDelayed({ + val intent = Intent(this, MainActivity::class.java).apply { + putExtra(MainActivity.EXTRA_HOME_TITLE, message) + } + startActivity(intent) + finish() + }, 3000L) + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistFragment.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistFragment.kt new file mode 100644 index 0000000..9491e5b --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistFragment.kt @@ -0,0 +1,65 @@ +package com.example.umc10th.ui.wishlist + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.fragment.app.viewModels +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle +import androidx.recyclerview.widget.GridLayoutManager +import com.example.umc10th.databinding.FragmentWishlistBinding +import com.example.umc10th.ui.purchase.PurchaseProductAdapter +import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.launch + +@AndroidEntryPoint +class WishlistFragment : Fragment() { + + private var _binding: FragmentWishlistBinding? = null + private val binding get() = _binding!! + private val viewModel: WishlistViewModel by viewModels() + + private lateinit var wishListAdapter: PurchaseProductAdapter + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = FragmentWishlistBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + setupRecyclerView() + observeWishListProducts() + } + + private fun observeWishListProducts(){ + viewLifecycleOwner.lifecycleScope.launch{ + viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) { + viewModel.uiState.collect { uiState -> + wishListAdapter.submitList(uiState.products) + } + } + } + viewModel.loadWishlistProducts() + } + private fun setupRecyclerView() { + wishListAdapter = PurchaseProductAdapter(emptyList()) { clickedItem -> + viewModel.toggleWishlist(clickedItem.id) + } + + binding.wishlistRecyclerView.layoutManager = GridLayoutManager(requireContext(), 2) + binding.wishlistRecyclerView.adapter = wishListAdapter + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistProductAdapter.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistProductAdapter.kt new file mode 100644 index 0000000..5d2868c --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistProductAdapter.kt @@ -0,0 +1,60 @@ +package com.example.umc10th.ui.wishlist + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.umc10th.data.model.PurchaseProduct +import com.example.umc10th.databinding.ItemWishlistProductBinding + +class WishlistProductAdapter( + private var items: List, + private val onItemClick: (PurchaseProduct) -> Unit +) : RecyclerView.Adapter() { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WishlistProductViewHolder { + val binding = ItemWishlistProductBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) + return WishlistProductViewHolder(binding) + } + + override fun onBindViewHolder(holder: WishlistProductViewHolder, position: Int) { + holder.bind(items[position]) + } + + override fun getItemCount(): Int = items.size + + fun submitList(newItems: List){ + items = newItems + notifyDataSetChanged() + } + + class WishlistProductViewHolder( + private val binding: ItemWishlistProductBinding + ) : RecyclerView.ViewHolder(binding.root) { + + fun bind(item: PurchaseProduct) { + binding.productImage.setImageResource(item.imageResId) + binding.productTitle.text = item.title + binding.productDescription.text = item.description + binding.productPrice.text = item.price + } + } + + override fun onViewAttachedToWindow(holder: WishlistProductViewHolder) { + super.onViewAttachedToWindow(holder) + holder.itemView.setOnClickListener { + val position = holder.bindingAdapterPosition + if (position != RecyclerView.NO_POSITION) { + onItemClick(items[position]) + } + } + } + + override fun onViewDetachedFromWindow(holder: WishlistProductViewHolder) { + holder.itemView.setOnClickListener(null) + super.onViewDetachedFromWindow(holder) + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistScreen.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistScreen.kt new file mode 100644 index 0000000..6e526db --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistScreen.kt @@ -0,0 +1,171 @@ +package com.example.umc10th.ui.wishlist + +import androidx.compose.foundation.Image +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.PaddingValues +import androidx.compose.foundation.layout.aspectRatio +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.items +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.umc10th.R +import com.example.umc10th.data.model.PurchaseProduct + +@Composable +fun WishlistScreen( + viewModel: WishlistViewModel, + onProductClick: (PurchaseProduct) -> Unit +) { + val uiState by viewModel.uiState.collectAsState() + + LaunchedEffect(Unit) { + viewModel.loadWishlistProducts() + } + + Column( + modifier = Modifier + .fillMaxSize() + .background(Color.White) + ) { + Text( + text = "위시리스트", + color = Color(0xFF111111), + fontSize = 28.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(start = 24.dp, top = 44.dp) + ) + + LazyVerticalGrid( + columns = GridCells.Fixed(2), + modifier = Modifier + .fillMaxWidth() + .weight(1f), + contentPadding = PaddingValues( + start = 12.dp, + top = 24.dp, + end = 12.dp, + bottom = 24.dp + ), + horizontalArrangement = Arrangement.spacedBy(8.dp), + verticalArrangement = Arrangement.spacedBy(24.dp) + ) { + items( + items = uiState.products, + key = { product -> product.id } + ) { product -> + WishlistProductItem( + product = product, + onClick = { onProductClick(product) }, + onWishlistClick = { viewModel.toggleWishlist(product.id) } + ) + } + } + } +} + +@Composable +private fun WishlistProductItem( + product: PurchaseProduct, + onClick: () -> Unit, + onWishlistClick: () -> Unit +) { + val imageResId = product.imageResId.takeIf { + it == R.drawable.socks1 || + it == R.drawable.socks2 || + it == R.drawable.shoes1 || + it == R.drawable.shoes2 + } ?: R.drawable.shoes1 + + Column( + modifier = Modifier + .fillMaxWidth() + .clickable { onClick() } + ) { + Box( + modifier = Modifier + .fillMaxWidth() + .aspectRatio(1f) + ) { + Image( + painter = painterResource(id = imageResId), + contentDescription = null, + modifier = Modifier.fillMaxSize(), + contentScale = ContentScale.Crop + ) + Image( + painter = painterResource(id = R.drawable.img_filled_heart), + contentDescription = null, + modifier = Modifier + .padding(top = 6.dp, end = 6.dp) + .size(34.dp) + .align(Alignment.TopEnd) + .clickable { + onWishlistClick() + } + ) + } + + if (product.isBest) { + Text( + text = "BestSeller", + color = Color(0xFFFC5100), + fontSize = 12.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(top = 12.dp) + ) + } + + Text( + text = product.title, + color = Color(0xFF111111), + fontSize = 14.sp, + fontWeight = FontWeight.Bold, + maxLines = 2, + overflow = TextOverflow.Ellipsis, + modifier = Modifier.padding(top = if (product.isBest) 4.dp else 12.dp) + ) + Text( + text = product.description, + color = Color(0xFF767676), + fontSize = 13.sp, + maxLines = 2, + overflow = TextOverflow.Ellipsis, + modifier = Modifier.padding(top = 6.dp) + ) + Text( + text = product.colornum, + color = Color(0xFF767676), + fontSize = 13.sp, + maxLines = 1, + overflow = TextOverflow.Ellipsis + ) + Text( + text = product.price, + color = Color(0xFF111111), + fontSize = 14.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(top = 8.dp) + ) + } +} diff --git a/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistViewModel.kt b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistViewModel.kt new file mode 100644 index 0000000..a180481 --- /dev/null +++ b/Week08/OneStone/app/src/main/java/com/example/umc10th/ui/wishlist/WishlistViewModel.kt @@ -0,0 +1,39 @@ +package com.example.umc10th.ui.wishlist + +import androidx.lifecycle.viewModelScope +import com.example.umc10th.data.model.PurchaseProduct +import com.example.umc10th.data.repository.ProductRepository +import com.example.umc10th.ui.base.BaseViewModel +import com.example.umc10th.ui.base.UiState +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject +import kotlinx.coroutines.launch + +@HiltViewModel +class WishlistViewModel @Inject constructor( + private val productRepository: ProductRepository +) : BaseViewModel(WishlistUiState()) { + private var hasStartedLoading = false + + fun loadWishlistProducts() { + if (hasStartedLoading) return + hasStartedLoading = true + + viewModelScope.launch { + productRepository.initializePurchaseProducts() + productRepository.getPurchaseProducts().collect { products -> + setState { copy(products = products.filter { it.isWishlisted }) } + } + } + } + + fun toggleWishlist(productId: Int) { + viewModelScope.launch { + productRepository.toggleWishlist(productId) + } + } +} + +data class WishlistUiState( + val products: List = emptyList() +) : UiState diff --git a/Week08/OneStone/app/src/main/res/color/bottom_nav_item.xml b/Week08/OneStone/app/src/main/res/color/bottom_nav_item.xml new file mode 100644 index 0000000..887754f --- /dev/null +++ b/Week08/OneStone/app/src/main/res/color/bottom_nav_item.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/caretdown.xml b/Week08/OneStone/app/src/main/res/drawable/caretdown.xml new file mode 100644 index 0000000..2df0c32 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/caretdown.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/heartstraight.xml b/Week08/OneStone/app/src/main/res/drawable/heartstraight.xml new file mode 100644 index 0000000..c67340f --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/heartstraight.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/home_logo.png b/Week08/OneStone/app/src/main/res/drawable/home_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f42aa9d2c7b033d2461905400dd30e1b47a885f7 GIT binary patch literal 281242 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�^ z-EN?7>liC$5iGouftB*;e7mHs$!e zT;JDa?O*z;wO_hrJCXI3WgU^RF+c@L02xOF%}TJDxR?AM#+8c+>KJrKbN}SD>04;X z!JvdWK=&q5tJVoqv0Q(Nb%|b4j)FWxa2jF1=v@2cFfp3Q6SSzVGo#m1Y~0s}oGGHs zwC21XP*Ijt)IA5@pcxI_n#nrF)HZiaP#-H%I~~41+Xnr2&qiBX9rMm9$k>N+Nl~~S zB6#Sy)E9vAHf6N;bzV%->d@~P0)yN%H5(eR=pkTMYHvrE^Wbqf$S~vNz}f3E>=^Z7 z-9H-5XxKuRpG*TfCyo$@fzzYe2~|oQ%PDK!pCF6S6$>MNoQcLH2^8IsMV3k;sKxqs z$=l*f+iJrPMT%ro&*@ZE0$qd(oQA4DL^z8a-IKP&t zn+~>3a}LTchs~|!NZU7{zq}- zT^uA`2~~i z0V8b8?l9TN89yj=g1tjaq+^(FP^XYawMG^^&x3Ozx@PQOz8dbE(=ZFxt!Uv0*2z(n zKq$ma$VURo$SKVSV{eC2_rZtZzMoWWXzHr%mQ~=^cII*m&M?bfYmucK9w zcwSLqJ}p}kc+`-NQ{Hu)jadttD&gbM@L*wA>xZ7IlD@xvW!_%-FR$B||HaSkzy98j zta$Hp>%V$CoF{8cfG+HhUDwQy$qV;rbleRikqa9LdfmX>HCx@^wNXavXP78qzmeueJKA*O?n0RgI%xFjI>?TU)gm)eV3jI(5Bpnu+ob(S?%{0XJ?FMpc#5zcD%P z*+GdWv5|4RK8XNZ$%l;~K~S!p*wN;KwLkt)&-$M0spJ|3!B;%?lpHl!a*vH@owbY( z+s%m?{XXSIyvIumRyrx$;D{idRMmD>OIi7|@7b-t-fdrfO-1YWyrt++yk^GeIC3yq;`Gc!Hq_U!Zf_q=xV?|=QT*!^cuZDD2APIk6j_^Yj5 zaGCZ?O|}CKeukc)`;!uO4>aSP{zv+`p07SZ{(R5ckuuh~Gp~0}btbfZkjF^b-}v7& z!fev=7bE9{vz{3Egh9h^J*s6v=F^Iiu4JaBN^o7$S-Kphv33@OepV{`O9Y zjFS$?LL7#{-*fXJbtd|)MJ$;jn>Qa_;Ay8L7aRwGuFJ-zUt8+-ZEHNZA0`LUDS57k zlQ^*YIo|39QycdBJ8#*ek7U?iE{BnL39mkxhl)YO_!1@ZbN-D}!1($UqJ5_v4&Qvm zw)kwu7P^*>-m3zQzZOn^S4Y%Q=?oE>ca6qQTAT@Nmts_h#85+hB(mqG^{@cj-QjsR&llHKU7AWujLJCWeLyyaNrb@QVl%o8esP-&(2Al-#I>LSuBceIqxFqY*p;y{Ti2#7 zyPR#8xB3I4khwT!Do3=Ya~yN|Tl1!*k5nKp66oaGLX@ua`i`KF!^0gF0mESH9-q`x z4#Pq`$*p;mT36iy$RV%$&>^^p(TkhHtPiS18xtO1qL`}tcSrZ&Y-i7Y@IU=Mt3MJx zt$Q$-VM0lP->bQpYVD|Mn8Lh@u_VcGiI*eCgqGa z7FTSebYfqA{SE7^ga)DK3iQg#REKo^9RJDF$0|fl1gF;4;?ep;eMXn|Lc_s~j4Ozy z^&cXAo`3&9pDk;jee~dwy?OnrODDs8@}{9w=m+Ap=-zYB&~}GQU)6hoXj)}swzZa6 z12fYz{yS$t%Tc^oc&-)R5EM4%;%7L)g@t9iar>sjawv@EWfvd;@C@{5?FYa7rG5FW zH@$6QYh_)oPYg{O%rmTs*CjwU(s77R+_*uq5%n9=&eF2kp zz4NHrSP9JlZq$pheccrtqr7h-{FSIfVlbU;vLB2izdwx`L{f0fMJ;%CJ}DkXzaDX9 zBnsef^VtlW_JJ5ZA-%SE9*BhbFy_$pcq(I9MYD!$$B>p{W|4HvCK!Kr96y(6;kdJi z7(X*4aXJ@^okYk)-bCS?E7wf7XEqaH7JkOxILE%8=3o>bs8I;_+i~V%I0vr9dGo2j z?dIqFn<-AoY|@s{*_l&izD9K38ufPg@&>R7VI4)O0Iqdp&>^bh)R~nwUs_GZJ)?}{ z)!wZA*6nLP;;*Mug`74SSviU}ibz^gwTf`kbk_0r2KXx7r%3~wexCArgcnm3(eeMR zGi7L3ugc)pGc~(;Ss8}#_KzPwwnp~=WMDVc?asxo*(EvB9%TxsDZ&@8$=JPn`Lg}| z(Ie}n1zkm~n(iA>_cb}JUZxo-QYVF_OArZKZ2@~A92rrpeL2th$q5;#taFfum3g6s zegu9kLolHGJD_8rS2Cyq;HCl*xbJi?KG9~M9viU-YwOm~b0WIxSLzJL+fE~no+ZWB z|h|{Ar%LqR( z^EMd-*Zn4rP;J5Iwd#JO3(mfz$kwZ8xLrQABSDH!gye_F*$BBiWOx;DMk0NRQMZ5-`(D0 z#|I}iAQ-SikV&aj6M{A%^P^(50+<M(b-t*>kUq_p{{{1sWAO<1or_NfA8q2U!I}1Sk{A9yk`V!l$woi_c$JK|##s z>bjt)qTr)eyLM^Lp1yeIN|Z<&)APXfF`X-8m+pMmVSrdI4jVAtglaGhjSCD8zLI8_ zWZr7h{NoT$sYx~DN152gN%ZJAb{wUbbZG*ulp{7uH)i4Vi^ar5Rd8=74)-WWx?hZ- zy+9d_l+W+>^N^v}}{JB&`v*~gzfwaxWi>$-l+ifKjqg2ION zVq|fdn8YL_gq*G`N~S=^2t7JGF%%PWj8|lIVUTPnTSE(mBIm3&-I5IPvK%aPI1d@T zpwC7n@G}%ZX%f(ujvBi*OWYD^AdRrj7bo_7@ic6!4|#^++rs@TSKB?fXc^m!Cr z7iOO7{v#JKt8Bu#?My0?;fH;)pkq0MhK4C&@MyK8UDGDmppVgS3WR`s$ljmAu`mgzxR~@TzGRk})WC>iqgU>`abhe4y7}3Wofv!{b(X_}G5- zcm8{;FTGSWpR+qdE%ukb`nLVGZ+*$$xHju7Cp5>~d;m_fpieREWXC^OXNGg#?QfIWny z18S3Gek0IR(HSa-NS|84uRi?1&$UOt-($K{D@u_Sca&-1#$4dH`=;8aGaImQ?+gnD)A48wP$^>5 zNf9&AQK4Hf8#T>YV2wCK)r+C22#K^r1KViI*}6hqAry?V@p#FQ4gQ@JE|bs0@Cn!S zqG_Ui{vu7!3!uP8QG}vF)V0HXB(t6nQXKi9lB^o(mL0oC+i7I9D7& zDXK@dMD@p{F$YIVXJ#U3#>lqi)i2Iu%>=2222ctU-Elkla8%hSAMCpEEf|SZn@DG#q_eb;(g{8yr``s?Ab@JTL}CH5uj5=yjwK?Lsr0>yhzl#MzV$ukX~|=x4m* zFXMf7EdSEy5y_7~TekVzuiIX4t2fCAakfo8Ge*n7ra08bn$aeH#3s=_f*JAZrAtAZ zLm22~ZC*I(tZ#-WKVDsR%@a7{4H`^z9BKeB1*y;$k3P(r4CIua$)cX^v5MNPa5f_N zFoiVeX=DWxGTc*g3gGInQealR6vj#vJ%Ea(UfV5$^ihI-kY~7av*epGCi~*{QcAI4LelSeZ0BpteAYE0o`B1Rz*4pMc6i%4{*4`c* zB+l(n&yzj?8q{2VSD%HB&lvEh*6We>-Jqgx958Gp3Yr*VmqsduLZ^3~>X=AVv#z1R zLa*!;Tw2mI+0e7y5k%wBe!1c_QsfGFj%lC96yQN179hasxf$)an(O!HdCvO0yAK{( zhEWo-J6S#BgRNbcgeHgyO-z|z(`6xg!$2p7Ch00ojJO;3$PmdyrAWRKiCw;0TAGuP za=E6`A;)Z3v#82v@v~$=Mg3w#cY$Jf5!&GZ_=0Mr4ANGg6kjV*g^*$2$wVZskJn-- ziK<;XK*ruj#p(aL8Rrb2sPKp?;3>Y2F?T#rgs|v%}fLEm$yNd^So-`7RO(#lHv8lQinB2&Np zrHLsStDI`Zp>?11aCLRX)|4VIE^gVAyH9LeMXnN&D8?PSn&2()ew=P99ftXaI6;OU zuDP5Y5hu}ZD)t4W8%1wM>Qh?$^N*G-H8pLAV|~`DbF1p-MG`PY-V9V`*z{xFudXeH-_~4B@w_LISSznr1 z$Qm%nwMa3Y?Nk(~0yJ?+dV9}GpFOc3|KtCU4DOyysuuFr?6eH~>vDqqf-A}<^CDQG zuGgzhqCH895A!4C6xNhS?CAtji)dtExP<^pfSR?*`HYPWx!l0&+P0vUQ(Hr&Q|o>3 z##K4WJ&)Y$)!^KZ_l~tq+H72}M~;E08a5SB#;zPBb%}JG4U2>Vvcp{8x}snxp?7ZG z^7Gmgd`Hy&RB$8OK3{+BE!VC2`NIcR12R3@w@V6~Zj4UYnCt?|k{LQxF}gC|4Cz4o zy;}~F5sY1NOyH`ryJ{SS9r`!&PKV@NG1?U8$(#^2YuEF^Kr^k0XMqD^Pzl)py7^>= zI08OzVR6Z&h=&!xks(c^(@rOv=7AvTY->xD{B?LG*Bq5sia2_{tw{@OR#t;iNZ=M;h!X+X18QwP<+Z#6yr)DlmznOn4KL>_RU43negOY)$qbdK6gNop4b`$s@zeO zV^=A!pO_2=lHXC##Q9)AISz)g5R?ajU{V-kIjsiLxnT2rL6HQ@7cAoE;6}6@3%U^= zO7!6Q5F%^jdWnKFk$28#0X?|@SER8~JAmne^PqirZY~__@Tf@#<=o7gQpql?)fxVO z8b2qgNnp59j->HH>1drIEwA?oKSEL3Ab$U$W-=Luh9G4#DelqIN+|NC1Mk1}!%t25 zq`fyhVK*j6R2VDT+VZYRec0sRy7Uaku+fD27g>dl+ig_>>K3&xnq z0WB)qL>&=+Ivu4*22d1bsWA#~7O^jF@+DpO=I*v<0BfA5oZJm<)P@Ityc|^hn>AGt=j`H zc3u*^Lo*Y@rn~eyn!)m(IUKs-ZS_X4jL+L;O}2W5P||DK{q<+aZl@vUjoR+!w%@06 zxfZ3V1legHO^i?ZzTezXVZBUYy;p$2v}X+ztW$ERNGk&e0Y#>i!7VN>`g?qYqHNBY zGkLO(r7!E6832+|l-?to(WlzNn4qhE6jtRJN~KfJhT1yeOuhBZ?|MWFN3<>Cut`MS zh?sCX(~R1aW~5w<_PzDJD^U9q=YVlXvmr5(4ZXpbRaHrxDxQF3fTsyrla+;}r zr>wrR6tI5oMQa=`auT`mfu7~qufCZ2X_Yz2^9J^5&sZ}V(>>?IThexA$nGEmD zw4K*IIDd+uMA+PSvWDb(9s25Q@~;z$DH#vWA{BY`=}hD@tJ07DHO@7cYeHd6!QwhQ zE@KId=8?e`=#L%D03&5BH(BtzzQVo(gHVwV--!c(C6tX_H=7 zfpunX!aM5@^%=;knj>UNPty&LCPF9~8>@W$VaAK)8R4Xelvaf!rlOoQ*zU0m)lcp{ zu@Bextz%-|O3H{fjt{&sh4yDpGl~p1h5gTtO?WYOernQ{{jxITKob<(pa>#oySSrb zW19-P&!5}G+=)#+T5hIDl6-3XX=m~te_xRC(!UPD*WwGjAvU}$Iw$rQylv$6UQ~O zH~2gDf21SDbwKsAV+Ae1TKh71ODh{THGf6fi12sWfb?0}_rl|?4UfVO(1($I7=$e& z=eR6~&Ap&L0!0vG&XAHdIpnjmf)@;ldT*$RPWHvQ?$CM5K#R^kr@j9YJ$8)y=9--D ztj}8|5(n-Wmb0Xjx4SEF;E^4Gca9+i3M?vkV3gr;WT5bQMEpQ26gx5eC9MOTAQ3yF zXqPU{`u*w>6hwz>o=i_c6R=M&nWBP^RYm#8B13-#a-m}zrN~`5Z6bDLCZ?vRJRsot z5ubLUGbHCXsjOo_wgGK?XrcsabseVzl}p`|v!fGN^aL_OZzp4S-urG~UX+4SOj&>n zux8bA6OKt)lf9CQSaUk!x)_8+a+d`F?#yI+B2mZ40eY8>0Q#wRS%2nkYUQX3-u8RXZiJ zJ6s1CKGzGZ0wlwAV&wU^J}0Yx*Aoe0oEU}~sD@~~R%;Fg(E_XEbQAHibSTI=#6!&? z$pDfWraT`-mF=@LiVS4n^tK65uJ=Ds;jzoEjtvS&&e`_vn!TotI;$vtsJqo>r$=pm zX42L6Zr`|~Xj0XGZQ3nuL|Vk#+FRtyJFUGp4)IoW(okf-DTBJTx?vkHm#npsvo;wu z*UKoJSdGrlV%=}uukJp#U)^7_(&&^Oq75$yhUy8d6gE&v&H!lSilV*e;O25_6sX{> zLpeip8&(UD$)Gmqkc(BQ^cZhJo-7)jmm|J%ONnMmBAgmhsQS6J0Kss zZ}n^#bj`+JUf85lE z;nu9}ZLHbW2OoHlmSSeB_V}GyJ*%N!!7)``Lz_pL;OK3F8fo=UlUeC!{2bJp(zW6c900>`cy(`%STOMbHQsw0HmNKF=s?I+XFk*>a5~r=#YaK6xxmAHzDN z0AO7A<_Gs5gdj%GeMU8)nW28yOQ(>{+*6D@->lJYZ**$)LMjn7SUf!yWJNglQ!+Ib zi&3-8IILQ8!wyE@C7Y1fe%^Mr4cllbuTBFEhaRz&V}Vt^BRWYP_45wovFU2cpjOpvzrraGfDa3Z%dSrkO|*0`Xp zVoiD1Y!rgVK&glk_~V%-zV8+Nc#g^NYz%J#6?qXi9U^LstQSRMW>Aj9L$Z-~Uk{B; z{Zq460M`~y=$Q!*#hE~nho6Xm!3%%(!fbXnI5M0ITzYqUM@?)#YFT*nkGdbw%Rv+o zYh1X$MB$lOyyaZL%yAT%$Y8>;pm71z!gC`7N=6Ev!)BpRAtQ*OkvxlJNICbpRQh7` z7Via{jP;hvX~9Zbe6P>V+Tq8a+v%hGPW5|ba?)xiDl|ReFv^Z z(&9#*=9xBqcT*tb5kR}tvquAcjG~yH8(8Y?EAw7J{P5{BH{Mruz1s&z_Cnd)^e|ZR zsKX{NrCq>T?-IUTUVcLFTJ#$$#J`-?C!2$oNvDRikznk&4M5pC5QpI$_Pk3 z_g_4C;2Zq&N002Xpu-WZ&9nU-Tm9f8J?oN3)V=wv&B>5V4|H0mjCiji>`ocPc73vN|_lCAvSs+$lzeLGPWRcY^g#zy|yoM_blT3brX&X*aTf&{g4HEpG1GBh{@= zOAS3o6((iK`zEI>C&&0m2Klf2#sKzjEbhY77b+k= zke|u0UzM<0A>mjnULPEFWPR@SYeY$&JaFsUr6tx>ThWdtsf z+b}P7=X8xjf@rt3&z7_n5$b{`j_wVHxvMSj%9=QKBm#iX`jDMq)E=_V*-(do*$WG5 zYkSMHSTyU=Fd~8&(iIbf>_x<*03jrzT#2FgF>P&4{f^d_=Dbv*&0IA8KG?Z-LE|JH zqRT=YlI_&WC=}(XVm@}x2I^L5psEGEatfJAw4OL6j>Gk|#A55YY(n0zqk!`$Mp`Er zHBiRLP>9}JB7V%d(p1CGPvUeR7Q0gjvvCl1XK)Ne%p8j$))??=%piDOThtrZv0883 zbS}1myOl~!I$F}wuIRUcm=RGvT=`^>NaApkA~#V5=fQJ?F#}A4LvUGxlW_kM&VC|9 z=FX$!6w!t-_Y?KeC@cS+*a3 z{!E3-eWm}0io&ZtF!|Z@1s@_jI3!$fY{??a2(B_{NPWsXP`zpG2 zy2kgQu60wdrRj))$t%iY;C}m~hBFVIuJy&lB_<}VDARzIFeIZ()aG)(+Qj2Z#nDGc zu<4f%AG#rB&^6>?jL?FLqQC)Df)vOcFa#9PV7|~Gg)A=vBF1&xX*qtPc(lmRXgAln z?eFZk#Oq%9Q~+c^o4*CxHXjey-QI17GV=R$yH1SRq$1mK-9u)1`s;OUJ_oL|&v>QJ zKx-B!{Ec_sv2CqaI$H1j`48>r$uo*I!qzeFt#)-n7_AI%o+h(Y)>f1yZ0#P}XDaA^ z@aa9fuh+xI!4s0~wdyr#uT%AhJ%4m&`^qTZ|K9iQU;Kl=Z+Aa@U&e9M;VCfeRXVO! zFohnwe|Taa-+iR}RkN~i`>U_KVp*-djP~oMoZJ|qVX_}fTWfkgJ9b%+1W`AU?~;r* zja#(*L+_)zc~EN^W(>xDSPp{cLf7nwo;^?KYeO5sF$Y9gAtQz$e!@JS^-8#QV$Ea_BJB+Oz|p3Knn2(=^53ys~XPA^P|&*|nc4|FIn zie3-MU1*f5hN!}exUt3G&%fZfZ8KYl&`UCVl`mi+u9xdbq!DVNP>ZxD42wFj2k;1= zO|cQjfZ^veICmx$?QBNJkqTY081+Vkjwr_B7%<*kuhMD9xvNoU$D{5_cn>-e7<&F4 z8=%gkcJye-TKJrV^>aSlJI+bv_}TbeiiKtu>PnP1z>)BOt{=yS14$GiIgaD)u@<2y zr>yAOK6&4!&UWpuU7u5g)gz3v->#2zdsK4w`3w8;yQJT@`ezx$`2Z>yh5d!07I0tMcpdli*9bNMkMU6W$ z%qUB?>fS#7lOI@RZ`0L7TU7fP6h1xK+a=@PVKu=8AAS5YYamObOyFm~c;B8sUlUZa zY%iWaQR2C09m3+lf$0oQbq6h&&6h81MRko&Kl;E*x~|Lfb9U?2O}lb=UK!e$W7G!+ zC+<8bD*x#Z-?#lr)=u>-uim(2w_ktLVV~RDPpDF!$oWByq><}PFx8m?!*^bP!)8>I zfIhmd-z}}Kdk61TWz-b3an3**8E>K<@WCxBDsJDq#*+Htu*t8Yl8(VmE8Oc0s8zekb!*y?wqMqReWwX*h_s`807dQXGPD(RWPkQ&c2kk}+n1+pWU$*NR6y-laj&Pn*Dg<8m9fYP zGMKa1X2$GhXN&!B|Ks1b-}{~4wvXTcrA}$whDHZ%a#EW}--u0>3Npy2B?W=QHa&CM zuHU|8^KZOnLzl1GmFqWbQdtnVDK~ss*Rs8LV3X66_VfEs?c>dY^}YR`75aPa5;6+# zptTnJwL$NH{<+=0cGb3Y|IV}tuPgOGR%A?6xFchMEC6x?UJ%uDn2}-sSorR(sd4Mq z1|_madVtM$pr{($8>*xC;pz50SzED5Iqn%5uU|fV@Z(|X&8Qe zORz{zZ=~64K{bLY!8$+HIkIPFWK5V$G(bwOb2%%A-U6s>JX0{_hIaj)UVFH-Xf2B1 zrUip^^>peQ1}x7o205n}a?U^>w5*@#Gl4O4wdhOHai}wD?w$oH`SnquO>$ac* z>#PhMQ;H~}kE)i^C#T)p+2eZjcON|rc(|?&y6J?T9Y&q`vFn0XFuc$OiNsN8{KFsp z(6W7kmgplmE4fMg`R*3_pVq5=RncAggRgu^TX@}@hJa1L&L2N|;+YclwGP2fwLl1V z#?loPYmpo{mJn(ZjqIMOp{)w7(| zeR%Snc(?};-5n`h4Vu1@YIYQD4lYM$<-}SquzIC9M9L<)R`$q77E`S&y8ff7C87m z=B*T>c#57$c9ZD&VD!7XnnhlmS}~6E<1;xgoX|m}aYpSMcVNIZL{vDTWbzZ&3tF_eR2b1d$MFm|Yv*R^1}%ZePf_bv6{GyB%;n2g|P`<8y?Ez6*gr+as(h_4%7ukKr$ zu4zo?vn+V$hSFymNm?;zdUkY-ZYcu#%FUauwGNc=TzEB|rOXnAdrW&eU8pA~XZB=q z+0_e)f@X(Dy$IK@W3v(0lvX3TTQ608;?4;CXc@8%1u0MpNX?=6oyg!&^jhCk8cw(A z8Nye)isCQ%@M^Tn$#3t=2n_cG40w|3YSi3u2syP)t;rMNz@0jW*Oc+Ww4q=&p!YKf znt7UzZ`Z=Kdj>`<2rdCW$SO-~XdOQP^X4^WCn_eMRPA^_IE{hvL2H%asGZVvsdHBV)2)mm)0%d1uvWnu z1?`bT8A2$U`4$R(Wqod4h0e77*@useD?Zb6oxc5wP2RXJEPlZjl=arS^LDCQz`y$C z&wM%(PQ6V9+$q%>C{|-`fnQE!I8jO*9~yB;%9S3q?wJYOGTLVg&?prE&8aXC%=J)C z<5a)vQGxY9^_!am-CnS7lkq%J4dP?LP=E3M`!+Z^YCCd7XSKju0#9F*u>=GE?9)%Z zaJi0lzw8Q;`TpUaEiWuPCJ(H_@Dr$&=*gfVGe$?U?(vQ?_HhM(MDo;V(ER5(7-@P4 zXy}4N52S=a?vb;n`_72M@OKUAHEHBy7{*hf$ov&Mt6uv&Zd*Hru zx#;V;S57q)R1>Z5dNjPrBp<#Ky%r1yM)2gciPa|fMkfB9N;Qjv4heKL)eX%e+a(q< z>rsI+8#Pj@$pGs3+4+34Yc?I3GB}oMoGt3?k60vhE%ru}`beak%=YBEGPx%9pBS>j zg_)r~c)B&5D{xO&m*2EQBK6iNLcS&$(b! zv!UzIvHc`N^3Kq+kWKJD3^fje2=@4>c|7iaTSrs&!D*{X=Vs@u!F$}`7lMPsnetxP zJ$x>(QZdT=qSJ#&8=v0=rK(`#Q*(BVGZSWaQ|aKmj^C#uShpgb*HnBP=xVc}E?V(b zxXPuh#zIrn*wPJ^E~Dr!E&rJlre4-qxU{+@C{{Q|GlLj0((DL6xuX_9e>N9zJi_k#~Vu&vJ@#7s`bHW~Jwyb6`5F3Mrux;$&g z%4qht_O-2qmoqkSu-`frh4xO)3bv`)(%OT`ze>h!F2W?BTjsX)(&KxVtv!!w`*dQf{F*k)WA z8^=EIK^bM|!9!yOvYF$V2omY%JX0yBj-vQUBu%k&es11n7LYK&sBZ`nC`H+BWGg5T zf1<38#-|C@3dd?*mHLfY1RwFC}d~p`#4lq_2F(O$YB-dk!O&1v8-l%8objeciP5DT{ ztVGpHU?Qb~w=T`wvQlx6x;vtLZ=xff%wdHJ23rOv0OWCe5Iz&*pNRt?TqUw6I3LdU zG{QgLSsDjGP_QMc=iZbfdFn29`PrjKio$!mJCYXnaT%R<^usG*UL_lJQSa~9^Bx@Pw?*Cax*}j| z0dVl!g!6K5+O-zwQlwA_pBf=Bj1`6$)&rXr3L_0z!_f8g`kLU7nxfZTbZk(jJT2Nu zrJ&E)^7_HV=!n0bhzu?^#X4~Ko7b*;6bJ_WLRmrO)6Z$fCoOlK@*ZW&S)C(;K_-Ue zFjfxi!P34hpVjU0rr?~u87m^tuJfCD>y|xwd{;@{j$ONY*=ry`j>t*mvhPz?gR@>y#7oh5MOhWme4$)+&N+^8QxWo{)&fJS z-@SQ9+w?@Wigo*VYu$>v7rg^RwzITiS4aEpK-tq(!HAQJsCho)%8Js!Zw+%yeN&DT zES|w11KKCRGf3#t7Xj}am=Bdm8onrU_RGoNz5AJ6zj4j?W3LL|?FwXIupm%Z(6hmD zAsEL#7#SJ}^jR5f90dlM*tk{C0|>{ZDfC*HGz1r|GTvncT>XL~DWsq1J=d>Xaor=% zhD#8}5{>>~~a#nb)Ru;bHt;*8B)OS8Q{7du6hXqtZ~*ll8D zTcWo6=}D8xlF%x>yR_0A4AL4|Eqnt_VBBDKICCWqK_I$kjwb~`kCda@B=4ojNyN#y zbi@ni}r8jFu!K;g_d2%U8IFm@3@{$ViX>9VT@cu2UaDIFacpHT!?w7Q=8=<1=p&<1_K z{3rUDtW|aF!(yk5M??NHZO3ggTpd|`RA`{6ryY#&!j^NPX-I+kr|5lpY}!*$W|^i3 z`~2K%ho@ddWtadOl24v^DcV6)^W_|5pT0MCB%Z+t=>*{qy=|_&| zz9Ni&Ntp$_cbb)mbddUGxHRDh4&X1n`KH}h!4@9;h*D@;(}6;WC}}f?GB>SjqkD2q znM7L@59_7dk-}~}aKM2!^pN1Ez=EK$2`Ghh9_Rq96+hdjOkrHO{K4sgX9tu!axvp1 zN}Uok)>-ehGeKU!Onb^8q1m0B9=eggs>qtpgIbB>X-x?NWBoI9g4jyI1sd+1%CfTM znssSC+*hIfr!Sui>p!u|LdLdL5Bb0T@KgKGfAeh>Tr;|-ZOW#`E#+D%?Uu~pP3Jr9 zWNF=2lz|{Cw6<3wF%w7)G{@zW0(AGR}l0- zMQjSye`D}Y>^+a8~l!#n}T5>oKi@sTZlS^nHb+b#)41hU)H^BNzW^d>NvCPd40^b(b$WQyiJ zaM1F?k|Os}7k;DYiQW+tveIWk%J;>>i>QHg;ym}+*%>eDudl2)vxWcyBaAbk&jMLq z;Jm!-*$Y8vH9flxtt+Dc@xfumi5pHszN8EgIFR+Uqs)?HpjE@rY`R(bH-c#sdOi;o zgpjq23(}%NiuHr2o-p@!ziWxAV>TKzS2FAkQKoa)vrUFc`htN^T;8FX7>US!(nD<;Hmpi>K;AY$@`z$?#hz4 z-j`As85MfKkvnqMnXbz?&`BwbHJy!(#P#zLrU80OdrSDPBIC_%MJGz#2UN6dmm`58 zQ4&nSzzABpQ%KaF9a+!FfW3YFl8wsnbSR9ORNCGLJfMsL-I-D`V}EvU(ROF9+0(Xe zEd!<1idc^1>~k_`bb~&TQKxyQA;Wr0m@|rx!#=EfR}uN1{noo*vJW3V6vnFpsP4_G z?h%IYy*oEO8-iNKKn-LHK3jO{h09GvO3)}f;_w)_=wu=fX)I#$j@J2+4>oT&2OiEb zn%*rwC?Vx(_KG$mMNA}y?`u6{gy=>@RglJ$bz%RlaRBzz#F&d@F~@Xo_fU>CZ`;b) zI{Sv~TQ_dm7Ghh<5}rPLs>fGwh=%hf(xiKmbRSp&g8-Jhi=lY@RKd0ka;mDDM2C%c zwcDtk<#nyeTziZC=$enrsNs-P8fr!=BSyVH9iWMs5f z&?&!h{kpL55qtOQnEm^2-n75;_A7Q-1@zze=2z^-om<{~sN|Z2 zY7UR<_0w~~5l|pKH+&J}PLw2TwPqBGvEB|7zCA3%5MiVc)ml`vnvYhkNFZEoLJ)FN&%hgJ!IH z><>5~2|67HgCqTeU;Mef|E!{Pe%czs+^_8PTb{{GEn%<$kun{O0rMA*TTdzRnG!59 z;i;-eoxP25#hcXaH+UVPeP8Awfr8i9Xc1)4*RXGC$l%UFuj`w;a$aO{F>vFPF z7<@ezI#}s8?SpM#0R zjURN`q0V_w2JSo4^L9n}{^`k)JHDrzt2U!-Z<>zmI;zISGF!n39M%a^?9x}YGVrhALv8-vs_ zuxo;mfOF7Y8r431_T-5dx)CTN;;u6J3y@)B%LjRr4Hi{9XwfmcyE~mFa~3uEZ(X~g z7*>!AYY7F-_J-4K-;@KR8@5}JF7Ox5AeX87T5hKqtvN(F9Svw~H1h9yQ<<xiddW@bgc7tMIR@Z}r0EWS!VKCDdvWA2Kg8{+-_yi_v>YM{R zV7y&VJ-!}ei~&Zg9D~;u+I$`60lp|k9yssyuF;mJHVe2q2HUA<=CdhJ=`Lm9M(=Pq zucO!mlr%gg*Hny*73aM7oHq!i6qz-Mtbt&7A1aXu>2sV!B#g+NjEDQ0uvmb0a6+g; zV)VJ6KrG&{)E1sc;$XB$+OJ-*Gw^lJiQ~CZkJ8J+w$o$%R(D=~)ZZamfBYzB5S+IP zhcX1k-8K8l?6h6qdTggX89V&szHJ^HxzWa7?;Z=s?Z^nOXw#$5``k>ZU9FA0w^e6^ zi{}K$A03_84}bb|d;YRwAIK-YxVL20)L+>A;F#^LzOZk6?S{SgmG|`MTD-8zEXpvm z*8HBP7=MUJ6H|tOCR)2~Uq)p=(_xvezL>?-y+c=30z1+({gI4f7h~D9hWE8W3c79v zd$3tCcF(oZUzNk?5SHnNQfuJy)P&2r?(G-Dw0KhR^$o{xF-kNEJ(6+8(d<`F>`W2y zBN-5yqq>~tr_`QQ{Mo*DNfK!>4(&@a_C*y`_vQHCn4hy3dXDW{+q9?8PfjTwDLK_| zTE-bnm1Yw-%@`PFXTqzdxvC@EW_zW&Hx)K0n(Nw%$7d?dQymR#kyzD zckQ7dy0NiKUS}w!tAR&ds<{qO+UEyA+fh-^vtFRis>5?>m-_&sG;f_BLfQaAq5^=~ zEA#FUCwhjgua@&bqACdDxT0e!yZGKOeqo2ptM;vLd|iff!DTI28wGT9PR?8+cU0Is z2DU5H;-l^^>wZ$ehx3kf?%)1@|G(_L-}$Q^kS?&M+S{BqOA{GI&Rsp9it0aPUS+WU z>6xgCib!19j&#lkf_ITRz=`zA$mg`bsA1cVO!)dTkUnxGPbnk&8R}?&C?1o^OzF5plg}m~hF9vAG80mnb9>5tkBLW7e@e zKVVO1b6ABJJ)`ElH)Ey3Fm3)#ah2#0hzNrTKRh-#b*kDvqUd=SelUiZG35E6is$D8 zrtgDHVpnf1{`@RvJiHK&JPr%Tk&e+b)XjuhLnIAW-xE7c$y~5z6m)TpXksKxnWS6S z>kZZL8IJFlTn@JCS~S5?rS*T5EITe=u?lG#y!oW4?cKroaDMsr^8$BO#)x9)mt;iW zN^j{_7VWbK&s5OMxx{W>7-p|h?7j|$Ubm~5BN#!(3Z?+x-X_lEc@;zd@jv-z_AmbU zz7iL`w*nI=Jko`oJ^RNmRqRx%|E0HHx8aE?IgTiHmWmJ`F}1fs*4;p`1S<8cegDyx z-Ou;g;H_6|Mb*A~hHFYYR~dY9O9m97rC~)}PX%+#Y2(uYO3`gwY3=X4_cdLrig0Mr zfSu}mx8xw{gk`|-oD2gD6Vh7n`Bgc~hF;U7bC^*y4@+WH8xqL?pcpnbv^f|w{kos) zI@XFlXI_z&cN}V6H6lL!T$^lIa05n|HYfB!NX3yGeyExX5&k3+!djC%a!d@FxFy)4 z1a>TF^!d}rmQsN8s@7z&bnN5cj`TVrPL4UK=ZyoxK^;TU3ME9cN)Z^@zFyfkKG9X-BXp`!wkAX~sS_|R)*%_ZIc=g*(H0j6LJ zI|td`Pd@)t`1XYE@uABWpmC2(0&A#S0V`9JXe8>_Gvohcr(pXXKqlJP`>0py-=`GM z6|9yc^n<3)%KEB;in3tLEh}T>!P<5EHf79vwWhr$L(yOFhke%Kl*f|OBMAm*bRvVJ z@v5t>!#`toZr1Nnpdz~PR_sd6WScZWml;TZk?zRrG8YP}Zbai`C18Za=o8f@T?pU004{_Yn0ujan?gG4R>Ij&rRMV~>SG3^rfMqQj_R zEInn+gyNr$+{8KH^5c%GsjqX0Xug&p4 zn}_bUY$v}2zUj;T51E~vzvJshQ|aEZCOLn_~5{Rr|K|TrqPZ^X;RM2az)mRU==Op(Jp>pZoKf0MF*+?>a&W30v@>9% zQxUH|Ykk|J{f2js*W6Lad-`CG!WoK#a!S>#?QI^};BL{wGw(dz(%*9k=qbA_syI82VLzaNU$EKnQHQ81%2sN+wu07R zL3<80(<>^3!jV5jnwh~Ou2`E=f<71qc$CX7BTVNmm^oVQwQNJRmLt_2o3#xto@`YuUCG-t;JA`z=#49&eXXU1H zViLJ0Lm-l|dlnyD!mdf=2@+hLsD39xGwI0Cs7HPA^Es@wChI1VA4o+5U92`6j@aBp z#vBi*#2GlyAS=OO1GB)K>5L6Uh1k?HF|A_cf__$vDPqL0G2R$6AR5|*UFske^j%K& zgF#N@dv%kDG*I*NBAPM`Iu>O)bbK)GQs@Rn^BfjXzN0x{qcif~eV%M=*Twh)8siN0 zUT>Y(eJwF4gmc3wb;W*wYK+Q(jl577WK`WCQ%gvuV)2?6F9op-H6<1JIR@YLWV*uN z49Fn5LVS#$0Sfo@hXy9^W?c=i7x!0-tEA6gSXi=U9UC2ws`s`v+;~tN^Vpi^3dXKA z!lW3w?E1QBT#|WERCax4+-4_!-|l^WPbqZKapk#L6|$7hK2j9ApiMeGITj!bie5r*YAO&SvCvxVEo_1@WoU{E;gj<4fmyf+|odOvA^}WMm*AE|&LoLHDP$t5> zN*Y=^WO$w_lc9Ydr9aZ-hBkYrW79{T_98wuuN{v;o6{y<-P({XC^(}BID}}dbQYLa z$O|I@@Y>}&_90!ArC>mTYmiYun5wtE%W-x#-;_2X^heVF4*kp-MtXg>B1f8z-oJO( zb=@)YZ{E1B>lO^Af-@1?-qv2IpXfo5es?IU?&%2Xg$-T*`r4)q2(tzTI@Nw`MS?)V z4cCFf;+dS+i(1u--858D=O~rI?`yWPsQ^RpR;eyy=M1*0qS(A(vRqIwl*0tqZENqb zmz%q`{lg#HyE3YmuFTl#{-)i0<(87pK5uCAER^gkoozNNDq^RLmPZUc)|y9?C1ahs zq$xe)cWz&^9qqr`Y1Qg7uzf15FD)(F&p!RozIo>j`{^%!W#9PHmp$X!Q$67;Z@ul1 z2N7^xb^yq!R;xPKoWeEP4=j@B%7&gVzHo+7JDG7@PwbOn6@M|ZcRzS+16l)h#_=g2 zx_<4N3ad3=|8KqihSt-870(KeZ{L6L&|ZD@b>a5ga{7VMRIV!MIIH<^^g-3CUTD9R zj!r$I-liLsrYk+$WZ=oR0)iIZ&n{(!$C(zV3nMm0v9+N+h%EGs0>s<%R~-uKLO+KI zW$-}c47;`d?mv0tle-4{=TvvuaVG{72M+wP?#Z6)2@VlSCQ*Fyw--$vEX3%cVfsfU`bKd_0QXb0PLv@SZg-@(-BK~5FpcZPbR zHcLs-XHgFECvvR+Ku#ysKPpI|VEb!}c4zLI>#hTFkQxsHA91d&dFKj)hYMuz0T$hI zdQ7bEkrRbov8Cq@2YFsj8oCy4P7} z>ZBEwS7hKB{g+aX{uYu2wW5!Q8xZW2)^pg~KlBlQ43Gftrwf+CEzL5d>qlF=w)Elq z4hI1{APd~VjDo_EHyCv&GXruXOW@qlLt*}BhV|GrXn*ui{<$r#Z`unL+<*3b$5IFD zw!E=o|M!3J3&k}@cH`!4%jt6(TBE6i!4~H)RHB$xNrt#8Y@1AJ>3HAjGFEq9|B@B8 zo={`zRjBLw^J45F;$+lCP-^Uuaqia79xKyjeZfvCd)+3b(%g~PdD6O+9?Dh9jN_GQ-q=h~DX$cp(UhZfl^q2g>9TQ{a%}sIgP%`aBH_fGVbNS{8`mENLCjGHe zZo)%kA4IP{z#|vselt-gz7~w&?4^(yAddizQ;-Rf?ps%6+>dtbY)kJK))}aYI_|YA z0RsB$^QJM+#aXD_KQaWI2RJ%L9pjmazpqrA6Q3wXdp5&RjpM+<&&2U~opF{akw17j zPz^2g+QcWStcMw|k&UEij%WZ@QSB(|{TTx;A37wMKn5`*_i=B#Ig{jkKF2{>jH<2=%Bct{4{P}Zx{P3~sq%ew& zh;B>^u2YLStLN3CNOniq^K%)|*~^!OZN`BeT&JEBIx7`72xZ;2V=tT?3o@%9fD zm35}<)vk=9?@`;Vsc73JC`7-1vAtn?aw0$y)7mt@dj3>3?M~O{-jSiaEa+lQ5!Z;a zz+Gmdj*htw$t@Maipus@Re-zq^tt|jNsdA3z9M#LY`tgXOskFoEwxP0;AV(X|ty*g`dvX`LO!?xyuuu}XA{$2t6745KVaeDznuWj* zIR^AYdBx1xj!XWYt)itqhU{F3&?&kCkt9>48X?_tn1oJQ#^;e~aKFe5yv=_*HfdR4 z(x}km1{(Z)J7WE8y7nk*>=U8lJp#7b+wn^}IgMFKK2kY#ttl8H`v2LpCxQ0J7Y?mI zYP@rNAN`jJwFu5fMj<6*T|=jyYjLbz=e@RK)$L7{A`TSIDD5O_J}r4_3jex)K(K}) z(u|B&yCN5cJal)oI|Xj6=5dU)cp09Ee^DCxa|69tLYm96Z)cx){Ume9IpWMBr@qzr&@Y}M+CqU2Bn^m~>~ zc>_;g&*xxc*Ph(F?@{P`Z_L|&@xT6G*kAtl{)TrJk6*fCw^fr!M|qEwD~mSH;Wc;G zm6EFyRw`sPRXf-_wK2gY@7$iZ<+SdF9CiQntiux+Mpz=q0gMRZBjW8==F%aDix3+I zuvLK& zCGEj%N2|Se<(3^E?%DYCq&o}lBaKrOQMZwTsE48MFV>f}e$Q;OZ^#|>t{f;Lai^6t zcV@6|KKkSnyL$PO>(&7AVSp+AQW&M^4G$k2!I%*#XEV)XCrwej^sLbA zOifreo)JXHQjV0&ME3?vJCP~?udZH@K;S$uB#{dq+VLZA9^=;$hhjLVz3hwNjcYTu zpoplvhK9TF_3gEYsdt6uE--%Az)3}E-54!%F7VeenEAHm{8%FSRLo>5apD!PX^CU| zTB5T{rc4n@$Jwko8HqaAM1fQfv`g7V*_As3)1I=84*22Pj(V^O=z;mk(g^QvBm@ zB0k#aVOP|ZDLhkA?bDzA*h=eXRv5cs?+bJ8Q}OZ=oO4CbbRD+P#vXa((8zLHm(b-% zepb-@&<5Mm{eH5!Zex1>gW3#x`ag^eaB#98j6Drm14tg|zGAGw=U)mBpB5haky3CN z5PdQbDXoPo)6*(!b=r)e0}KurD-Pz8etx92z{aG=7c@T1Tjm+Kd}U_FqemiT@K_)t zHvdC83>ssm6{VuDvZ}SYE@$&h_mqHPdTPuTHkWNf&hI;KyyHR6iL-JVPP@dZ&^gK2 zJR-$KWh8kN9G9M1udsTkiF_VV8jhe|SFNCY=56eB&GzUylAQq0pbvyofA6h#?Q36t z*X~@sm@x)TQGHSPH2VE)$+59Pdq4@RSB_b0 zX|PMMmmJl&UFT0l#4dX-C*%{A6s1!`sgwd)#5;v?2!epzsqgN2 zT>$a0Ue)}dLv|?(q3DT54Xhg2EnCW>kzwY#)&&z$C*gg-LBqNi%i1@L+oPX=#wa?c z^D$$<;dyZ#C#^lku#wQA>iRK}se-{xUw~aM>a@E?dw0|jj}wfNaeI#MUcl!QBYz&j zr=o#N*fyD1c#Jr{W5(7T;n%32SKZGWr+fj`n^{ECm~;-s)Z^UJ$TH!xF|tIa931Ln zGE5o+nu*=E#V9MlIjTtdTkpPZs}ygRwtX;x8*&^;DjqKx{(%v##=@Xacp3@kd3@6B z(yhiqapI7y-lUl(@&-if9PjY3c}*NoKd<97T&%3yvyBGBtW$x*?l2BqL*N!?pF}AF zm_U^%F2(^lpG4V`rYta3K@zryVb`M80<9_fu7efp^;HJ_HWcIOUSw49A5%edn!y$- zlAY2tq9_Xem7d-%SGF4wTsAt=XK%dry1n`O+xF(0Z`r%=zGt&jvx@kGn&QLzpDQAJ z>D*vGgGJk`^b#!=B4VPVO10!s@3A7ZeHnL#Y@;pm```EtyD39+uch0*r+a@i++qF7 zqPF;%H}!|`qDZ%E*6}Q2s4J18Dq4r zD4ED=P}fCs6OmjOb7)gxq*;-uOhz=PJ;L=@bgu2RdV>Y)=iAz>aNc>QuwzD*&GA0E zRrlnuUcYfe>2rrm#qR0;ugUQM1HeFHGe47~zBM{-+}!@V~_Q(wJ()7mpC z+zMjq@9eYPjcxnz-siToNmpvo9^d^`MLXf_iaJ00bwyti$qy2ggGno8^@&r*<2 zhP_~Y$!@d`;ePv6B^{@(ngL@3Y3k|jYPG%2QM<3$;!v>PXjh*-zV|@qm~-QZ;^fuw zNnJ~a9SWjLYagLu{)wVvrgNcXj`IcH0Ba{2Mu+H=yPsLN>Ta`_=PaXVLJ_k~#iAF- z%06p3YteCcv|rwvoKgI?qx0FcajlahITK_YphQBICGwtBP2=(UiWhA=^bD@d%vxTV z1fp+vY6gEy4h*SaAGB%a1ottP5g|HYu`{i0U?ZF<4Q3c=G9YNMtR)J;C{sd4=+X0} zM({+?=8yse0u$;B2!(ks05nf`%xV8!7AXT|ECf*=?dy1CyWsxNaZmJfpqYyHs9>3Q zzk6;N9ka~^BbUG_=MT<;aV{2{9P&htHyx)5x$&(wBma~&X_3is5(jb~;m03lvrX8h z5gVUUNr5&R_SA*wzZR)i$#^`U^c0-}=jX$-t4%n_XQXDDETBZ4(jr@hS%f$5ctm?e zi(-vAhD7cNf(aJz!Y74LIPO3%6g??SCXHH2l%AY>OB|HJf^g0IZ1Z&;(GVy6`$FW# zr{b|nks?@$83IjAT5xE;*MXck=k_@6j5-9kImd*#P>DQxBKV{Tn?wyzQWFdm*%oram=juso}M1`>6ML+0Zqk^i~tnEs1sWrC&b9e!* z=!TTeK4b*0zx|HgzJ5cuaaK|I6Z`RxeLJNXED4xGucwvXyCxyd3$MW0QN1heXR8@0futqcl6cpbUM&CU?ZBL3RJ8bQ? zw^dl((sSyOVaI@l*Xd{@rki5%L_*^$i%;(7h`TlN=^AM03IYa_!`2K>8kye5Zp;)WE62D&0n zg2tvt!m-hMf8)*_+t;yL75EVqGv9TDF@Jhat=iYa6yH^Im>wOqJvn9O2T*h$RImcx z4b9c}XjHUhQW9G5(2Idqh}J0*1KB)#@!Z~c{S8+H-HEeP`}7_pDX94njIeHZwHBx3 z_@RJOP-i`}R)DN1o>#SY5gcRi43nSGa|*DG8^C&?%~dK*gL}@9Nuu#2q_<{7?p~KPtHU@3iV2Jz-<41?+stVALDG~_=Ib`~cFy8)w zUb}MTstZQ zMa?TVu84V04v}t3QqiKERTg~?t(8-B-VuLNRJ9=^*Qbc4g8>~{pG=KMIS}dCZ56kO z+A?vf{fUe+^HhOI?!8>p<0-ffJD7c2)Ew#W==5m+G&a%9Xmf+#Gi{!X0Sy|`@Ll~M zXa*I-T?GTA&y!4Gikln=hr%e)7Er)EQ+Ze;I9EA%)HE4VQkOGWR3x5N2J@S*y|PH^F>Ut@d(h^m;SA{j zD5UM_ocv_gWrKO1`Id~YBgW6|s-XJ)Kl`cu>7RV0Wvha*ig|Z#y=HH{{ccb^WRSFu z|6=u}-FVP>5WWtKvzx3T;z~fgk$oV1^lNjl9m?mQF=ak3zl}P?3Mc3pt7vY^mOspezt|m=W zNf&E6-7Mf@Q4(RYO2oJ?LOzaFTNC;ym6~0cE)*6ig05jx4FyVX%8JL#L<*?ShwTm# zurT$nT%WUhijsHNx5Ing*oMU#`1vt2v4pl6?+5rj*mk1(4z7+dhq_pZ^HAI3z-o`E zEz}FZ#DSLFIh8|HPB9tw4oyx;$E&coq)80^yQXLc& zk>Z}}-u>XDX1_dXv&oJj`}|V&LkV~bB0)h(^JTro0<}ax)@{(WGqOVuL;M6s@A8U0moptaZW@@P(i^v_tAOR zI>jN;u!BJ$b4ka^^snB&?R;j&w+$%;haTw@>virls8pl&cBh_U5d2c{ad*eQ`qi)7 zrq;zXMa(diW>t({75-iljCEHKS3&EuyuEJ?3W%)48k3`{AyDyPqvin@(g&;oTJO15 zOSguiDFryAqp`&^sJ0vhIpMd8oGF0*>Q^5M3R$#wzkJKy``UXlRIR>GF(5}69KF7G zbii)E{i?n3t#2qA9q=MFkX6{CX~%}yrrf)3Va+Ky?nk;`i-Odu9Wt^y)`)5eJU4<0 z#@yk2n1(bB-Bfi5ux6a+H8~faA9Te-K`z%|IO#J`@kESnL4|9${S7?_`ZPMd{*twi z1b^wQl-*@*O_BFIQzJgku~j)85JtZWm<(x$Mp)C{+k~N_HN;>JhG9RJb2wE10{ocM zXH!Tg7|A+yH0wq24h1jmCw@JDomf9Dc#bH!c{pWZ-oYmGdM!I-9t7avU$5(y$aeJS}Dk7}|O~ zUg8Ywf@4WKWGl7ixuhfB!y+b1rN}{K+tb}tkL26uJw|F|dsK#`kXtG?6(f_uA{}iG zU2C^lernF%x;kZl{_#huS>-~bQaaWLypWj<5J!Sx;v`yf&0;j?j>G{*IvMO;iE~$- zNeL=K;^%sgFBxSoVI1_~~Li&(6%Xzui}Hg^J$WTiWy!lvgqyWx9R|i%XG7 zuby>2FB}kMKPKF?wtLZNd}73|UA>|xqu(QmnYlTY1lm0%rOOa-q$=zm!ww{afeVi} z?f7#}5YN>cw=G4-tstYLdYk?I$J_SHLYq}o0~r|Y@%fyY79#SpN90JH-dBo$tb%x6 zmonYe>vKiXXV1$K(6m%*G@N4&6%kcF_~}p+q0Yg;LD><;49^>w3C!R9ubwAu@kFdh z85ezsc-5ISCvrqECdQO%f9;(w+55t~iSil2$Grl(f1=cz&c%e^%=ME2@Oum{LqdiW zeWBqEQwM>l(V(o5@I%|)*|4Fh@gPS4FCJYSijgFzwGb#UCeS-naol>o6NP7QU)A>C7`gcE|~h=89wekQ}$r9$Ycjj6~zpde~PaK)H# z@3u6V6=a8s&1!F*0)bE%FUVl4esQ4Vq-6_kwkas-lvB@lc@q+F(T1QHpptRDZ%%l6 z(R(f`LP7_uZ)C_FJ$(>0_P_Qx9ic4>Y@R4nV2yO5=PyVN!wjXDbq1`$)Gwg02^If$ zcD8(f&^f)iwc{)pAV1^@=w^mou&Z^@(GeWW4Lh*rPgyaQ!uX!P^>6skKr zx_o}Gw*ZF!X4%g~zms&9Nsd&GDeJmE1 zeNeSEYX{s147g8#ibYcBl*t@d4w5iu_?sWOjIa)}wiK>SIA((h8AwDZMGwv`z%3O) z3;sE(qC0HU-V-qOa{Ns0g>Xu`ZoT7I#=xU{3dpruQ`j?^Q+v^oLmjLKhg{V)?kH-g z*R&Ajq!_WbFW85+X$oAu?P(XJ%4XXg^M*-~(O`ePx&jc+vcy_yzT~aYkk>@dd6#Aqbl4D+sXE^ZH@HWZ%$6zCr@9x{B2E9pelgG&n9__Ip9}#5AEf)d`-jtXNyU z!@F~l5r!%V%(4sKT%g`C=ol;bC=n(bvPH)2Llym4!qDoVtF_ATQAm61&MUU2i178B zH#~}F)9-FWOWHf>t_zF9DBASr=_k!xS$X4^>TUp6uLvcQ(%IW9eTC`i8O z;{x{uuM`Ah)aZZE{h69n0W_2M4$=1ZE^qiMml}de23!__sZXcM76(*YTG4$g>-zd8 zN3DBe*gk!%T7U|peF^|>_6yQbls-2$p;)F>4)DlcRZ#J`k+IJ|`b1f9uT7}#bLZ9D zijW(&_F`F(U60EY4C#3R_uz1$7Xmr;YyIxZ8Lb^C>&&HXL$$8)?g7P6dmhvf1n@qh z=&aV;%JQmp%2?B5K$b*J35klu#U+o<$p{(4hyKj;)P$WWV<5YEt}MeTvHJa(oY*tf zF$fw46&S%3^8F$E&>`nTV1V4U2S?i5^kmc;P>JgfXHxvn%3;B?FT0-m}u3esRbkB)W76-@tfZz(KpPO zTD|#QkA^5gkz9!`bUAu6kRQ`Rq|D;SxK-lsV3(W~n%BY4tMS~xrHQ67l&43w@cgCg zoO@G7!f46nLLssq8gJY=luOO)Nea9UFEyHl-D>R|?g-d_y?MSEaxxfT8J}8Jjz!i8 zHG!Q2y%eJ+OsIBw(aO7Pg>SndPqcgZ_Tut!$Q}~T{h|IX3{{mUeQ&$`X$Cr*j9f-6t~eP19xWIwUqsLYeoAlcX@M9 z4&J;R1k0x$6=Pw8cx5gP+*C7FXYBv@hd;2N?G$aJ(rV8ueKOE_d#H%Jm{Cn)@5r97 zZCE4IDr8X^QohqEqpQktHYl{mxwVT5V33&3>v_+~AwSdq@7}xb!>fHu>Cz9#LY1v8 z>HaLqnIZzVzO-y7dcm-=?3;>$=VvB-qSPL6sIGBHhOkG@Di6M`fNn{~d|xm}hl;p3 zoFD%1hc>1{X1}rouyQgw_HEU(%&I#(Ubn61n1^z!0DwlfE(NoL%DQ_L;hzDYAnSmr zoc`UKW(ywL%i~RJ>uFP9Bq#>&taWl_Y($x{jJN)*?`+Ds=(x(liQ*R#p&K1^I5Z`% z-l&wl*M!;x8S{!D&_nJ2ef=N!CS`x{ziNB|4oO`I;S$M!i-pt#F8OuX#mFF@B@gV2p{F39QF8nMyp!06oMle`mmBsfb8ASZ9 z#B3rH7Gf}Pneg6v%p7Qwhtm$voWkYiUc4Xm@O!QaXr`W|67>sApBPRhP)#;%Uug15 zm`2swg`d@%vI&VkPtq^o4k>|mGEu@f-Ne@`aR5m|HEqNi1P<;*fA1W*QBQ+w(nwQ2 zR{Ezxpi=opY&xb$*hqzpf~oP0ADiwQvJT?F`kDVMm6CDDC@Rr{zBxN(Z(o_V5#jQK zGH|dQ`Ukp|vX6R(cB;?o?H%%AAfEIn%4U)~%miQ%sAuI)K|Gk>a^60#6$ z!EOyq$RVU{y>@0lQ@UM+#^VBakyYiByZY>0k0zB=?X9^sfxIYa`hRnp)juUtaWJ3OvT6kM<5RgLuz=-uJdvPgU=(t@ip>E_@fTBuZHHvpSZwxzl zbc(34LH|P9o*rcEzy0yY*8bXCmftT~cKoV!^tRbE8P;88|J~YKKy{njyUM6qLm!{k zKl(N&rBkn8fJK*Na3K(Q!wy_@`XdmQW5|s5sSiYtgVlKtG{ikc^izuD%YtffJ~-7} zKIesZaA^wCozw-~q&1u#y9pf^s%S3IEZIk}!hnS^%tJ%{UNcF1tXXrZ0=jycWy+ z@C$Ird66|`iGp7+P^oA z_Ar1^#|ggmt~^&In&6jwU*@q}T~0Q;7U?e#Y<;HZ8DHTl}3jki{Z2Mq4Sap9As< zov{(CwIe`NTw^6FRsuu8l4%XXX{g^3b*JcXZG?@$xzOhA1BuZEPc?ia1iwPli+)oL zLmGHLg;hFOKY6sIbac%wPmJ2U(%#{G)-Kh?>{J^Yo-ReW18r!q#`gABFI>VYW^uFd z!5JBGm*v(A0(z*+{b|16mS_6yaYrJiRtnFQaHo`SPS4Ut8WzN|g~-|TgjJ!4R-^8a z7u(}7b)H|MHtJ&uX(FR1Ls34)zawMC&9$JpL-BieKNv5X)6RC9^9gts`AT3qkzy;l z^mFlHD{&^S)=5KHzwNGARrmAJQQoE$$>;JZ?}Xje#yiz{L*Im}jW!PV0hr{7DNmV# z7d8)+{k9@rrxbkgq+spJyi#(8$BJ?r2&tW`r#4)~E!i)rNK4Dq!~at8HQ>Mp1sE!2 z88DUT6y0XaIYsX^+dI+m6v7t|PHk(iV27s^`gEjRo2T{^#aqyMZ!cO8#o~G?Y7&Kg zOlH>5x=Lk2Ln5#m8Cs6Nm5JSZ{KEd#kA7k|hbQf;Lo?Q{z4mPF$X=+1a3JqhZ3Ip{ z+UM13UXDKJG1t=Jmc0}N!cj+LXb)uE9r9UP^eFgH4tAn{(CLLRN*Go$*x&COE6h7Z zmN(y_4B^=mTiw{P9+*xo?ZUoyy(gikGr%WgjA*$uw8nfipbE|uL)#PtFjc7o?Huh7 zj4O`v?&tSyWMnYzk*dQZ+-N2?dEg>wk?d}zM}=BB;XMTs)Fh5{&ydHapbry_XEdPC z=+J#z)pMoappD>wJt>vX@M>how8Z(enHWVfC=(8QChFuwfX8xSCXvK-jKY0cJ;^?kZ-%llG9$L!)@7}V4oj#h z2unJ+y1yxpmz>m2)Ty7w!Gpx9xYo^kw_-^UrMuXWpT68%)`ej66~Yz)Gji zZmHST>1k)jP&{;95gB%*fUPSiXdVoV**n75cN9s@#Tl2czV?Q#Df&KEqzly$ZgSCe zQbrw@Wrix+FNlvZh`Cqyj)?ChePZL&bHa$9yMk%TBT_v-tz{od9*f~{OnlghC#dyk z=H-~R#YyooF4+=8tYoN8QPJ$SBf64LYeDuv`)hsw#O}RVbXbRuOC|yxp6PRR4!~{I zB4Y&QEcD!3oF3bz--Y#1(H}ChN(~8#q8;kHB2)dxKl+93?;P61@Qk35s$J@@+uZF} z>^i*x4E@oXr(4sDue!grt$piJA#XS!u;7ePFwkXH+t*^anpD4gsB|9M?OXutoLWyf-`^sytDu7yX z(=wo}*k>r9D5+o`b)#)f zTYvtZf9qE?+Vu#5)M8OJ$pDfe9sd5heF1*Cc-$|*M)CWcZdne;Sy5EAAj7(`ZLKE( zS5CpbW!x_0e~dEY>gHq=FI@>E^N18Pz!-&aF&ISf3Zl5pRcF$~G39aiMZD;89P!6_ z6r;`!>>Y}n=*=X$=@fW5M+{q%c_jKX39p^w5?#W1uSE4mj-8JV#Rr?9pWW~R;g}ZH z0zbpB<2-87;o$&UqTE3JEZh^Hd=bX_WwJ8hM8sZ=tDnbx0gg#vuz-Uz!6$8151wnz zVGaYAkp=+cE$9#%C(K(twI|yLy1zvm>g}*jo!^8E*x1N`4Gzj^X~Djv!A75tU{$Le zYZ~L8@6!7=?W1yw?Oz_XT-T6Y)-AqY5>BslcvPF5D3EA1rIdO@1;#B-xF~2x&!}IK z@v)u(MyD#{un7fC20#@TZ;0yG{nO>ztfFmLKBV7B>Ygf^?!g|)pjoQZzO5qdzM`_R zv$9RmjVnia^U8I5_V|e_E+WBtq>F76q%fgE+;(Bdy88y~#k1!!)Lk|yqq3oN8lHTr zv(JVU`NAJbsfhih*~>QIRMM0&kEl*jTCht&j=NjN^V`>N+x`0wE#Dg&@}{&g&lI6& z_3yXkfDnyZ(dNIVg5bi#2iEZH%zjPMDZ-REUsnQ6oo^bCPW3zZ+g&<`WhM+Ma);u2 zssIAiEUSCFxVbBwcimUPP|twPOicNb-^(9+Ls@?}%$T%G-Uc>vn_!Y2$9s=ezrm;? zepXO+bCAv3eHq4|C~{9J8lLlpzIEGt{JxCTuuTY8?voL1%z%_ zw(z{-(@tAndZEv3_Y8up<3Kq3fS{2rCV6Sy&}4;J8$Sq&9`R(>1_pt4(Z(En@Oos|a))|l4pckWVzeYj)HRGN{wMk@pvH9rVX~g5}zkubt z^$NHt-Ik=hZo@P71?hud*SGoguf&NE)na_}@pIsAA3l;%UDEfSWp_?34^cu9SBjBs z4ht!5RC?dWVn37N{QQ?zTTw)G`#rNaUJ1#8ECnre7b?T(SHovp#D0}- zyL0g0H=2``I2I8+lD`;hqUltGkSekBl!B=Xg)xX^KR7)9e<~c$??J@Yla5uNT&mg zQi0;eEoUaD(rP}vq-VX&b)-VkduLNoj-s-abiwiuo?D0B*MI++jADn~Lic=F_^r;L z$nx&mXZF#{7k24){-zyt!X9b&KGvqih(o!hu+*#T z1ainl`HDHE$Dw^L<-BCl_ik^Nst5*Y_&wTJ^xUrVr`wZO|B4LlnIgX~IlJE30bAW% zkiqJ;CyyUkr;JCRoa^G^OF7i4b@g=E?$(-;!<>xuiS_lh`IIUm=YCj- zcAdynSx7;@yZ7>ur~P9xn%gpZr$;BD6a&(*ykxV}VeH=ie%e!Vx`S7hb?(dYZEq{` z(>-|n{IMMgi}m%RJ>sRWNM@*~s?F_D4_wypEE}HAyGEb(TDu?t3gkzM{Ca4G*E(*~ z3z1De6y%Z-qzTr)zEiM;jRP5{j2nA03-nw#k3#XpWuC|6SVtA9LMbGgChLGzgi2?+ zXVCua(F%VLWEw{-fvMxf`st63dzu1Ap~%KPafZQ zcF_Tyzat~cema~)K=!bqqC4VVKr@^RO-x1R5jWaY2z~6M6I-;$DWo5$zL0G_wRNrK z*^xfgeBQJF`uqRdZVMr}bl9*v-NV+ZYZz2b3;z2jGX6bstS1P?3GV5i>UUTV_0;VJ z6{F=$))WYibSr?+ItQ*HTh7?6cfR{?8258K9gBW$gp*=b%D#xrCsrX+0u!$G`SFtX zSbzvrZEw4M)2dINg()uHnHSkKaW-I3e9V0DI2R4Rvrbxq5y~k7-H?I){3El^?ptbg z*IJd%=XKLlKt3&@z}xU5TgEvdUZl~xUE5j)vUaoaL`=ylGNv;buIHNSZl>$9~Amv zr;wtvapC=rDP`Z&YxiUnE}_A%=STaiC` z+qO~Mu`wCsx$c|_mn!th0M&OlZGNaruusO0*H#2swAsreIZGMK`HmsmVp5I_p^t0R zjab`UcO^|gi?g$1H+pm0tPC>75DqA{50VBA*OW&;gswswTNvg*^ovIP_Wq8yps(sP zPvN_Bo4p&n;qXE#VF>uTOQb*IK1qME?nU%UEOaCziEGV9bg``BGL2cqa?MLLXZk*p z!#fmgbf7i7s=CR`%_9};HthMvraj$Igs<~j)A_6@J6_t_v!%^_d$hP}tEyQr3$<6z z;7>ofXPXKxZeG7`f9pT{o5G5f%y!9H%E%rm@Hp0ofj{>$LCCY97j8u7X6AeqG2)JU za^>n(CEESAiv!l)C@B+Pkugo{e)kRv+g?{uQPDc`w>Sp)=IwI)TU+ZYk964N zMT#1EV>)I>hC?T3UH6|zm}yQlB`vS5xuFj{lC(G8^=b{V-WdckA%j0A=Y+p!()4bV`$y2W^=zKpq#Y z_C@UcBEEgm`1@{7+ZVLl&vEd$&=P~Dn>c*)mZGa}+xYYo!4h4;Xt^GGT#(5iZ4?-* zNmGV}h&~%TL0QkJAu%%P)6Xsa*~iw{erY{LRhBL9%mg-3O%9@V-bov{zsVJ3Jp#=* zB~0ZkE7Rn2cuIb%71$p(3Xw2u1&5F_&HI4kaRVRg2#Hj2(p~Elk&eRq5-l4d6B?_4 zPbi!w_p>cFSWz1QLv#2fa`5?#N~BtLC3-X!FaGt9jtg$?u)SwbgT${FfOSw6mV&lD z0BbdH=rQcjCS_pIAaPYdnp@nkHxhGfUwF{EH}nk-D)MPn5e$P>)8@&f!mHDcP-VPR zGn)!@JpZ;>9id3eBg;{^Q?{gEw#hJ-v;n}LpRR1!{l!Cj_u8=iC;!1;w?Dc6$iDaf zUF%)hw)D}y%?e*cQ~g*FK$jfkt}+g2WhEVV5D_NS7AZP0_(Ddj4^0@|=gXsGilWwS zUK?p?cUzckPD`oHqhdA~*e7xVVDjj~Ftup;(Np2tBi7rQS0s2~*Hvu&rZ(Y!G}dbG zwQbv5?IruxSew1sRkoX%J$tvi#U|yj+DpfZ4$HQzC_UZPuIo*C(T{@Srw{IVWXr~; zv(>+<=9_s~5$U!d5DI5xKp3?3%}whT#IYv_4^JC5$iv5v94=r;^MRgU{pd^u)j|jo z96-}|BS33uFOHvMr~YvnciSQT#`xeYzV_yuwzRP(1Fkgy+s1u#-JND5B7fv{e3u&` z!7NiI%ZC3WW|3A_o7R1;3D2Q^P?A$PI6P4-0Xu3?#`wD3R?XqhKm6F% zd-aWX?TLcAtGd^W9Na6`J-YSzs9@H5E*Q@zPoLV=D_2|=VtQuUTlW`*Z>N<(VZ?d; zmYyw2qjOj1ZBzA*Q?09lPyrg6VEOQxl-3@y5-ST!c4_vKefHUBy8oMwpO;;0z3js+ zCMPEp51sn@KoWq(jYEK^eipOsb!AXwfSnA7i9?Kt^a&OoJbdVaVoeEz>)uMj6B)v7b5nHMnAEV37f?k8uegUE^4@+ueI=x z4sC!Ux+cyYPdCN0yh}8WnR5f5(9xptOpFk42psB)jMme8W_LfePQeaHe3o=$stwZd z;CQ?Z+&?uP%7C0^BP@0-koQ$NZ7ic&m^}FEqGb_6+EKCfwcDX7C>a{=WSdkl)L`p^ z794+f#>&PQBXJxPj>{)Kwc5EFrZa`oL6cqSq(d?I-{853O;Ww|zx0^h=f>%-OCWkIrjX?9#2*>{Aug7-@$d z%FgbAO(|k~sDgD00WjVBQAL0EWds;Vy{l+GtMeL`!^4<&C>#3d`3q<2+>j&u@aZ#m z#A&Y~n6Ft_J5@zR)9JFkx%0$cYvgQjSp~kqhK#dn4~>GeC7es%nYI}@f>&yz_D@xi z{h8L?QK>`GSC7wBMG5fL>o@$dU?8ABUb#GPFNCl1nQXoxZCV;#V0qAKNOAV#&+gjg znMrR=r&;Rq+^nt1=xwZRSYZ$KLI=s>1F|oCr7mpb#`*tK7RstD;jGV`rRi*PLeS9j zH5Eo1USK6z%%?(sVeLXZ<+(s3#BDfR3 zdi9buazTJCXJGm@`@8>-|G~cgo!_w@WlA}u1_W)CYIz&d^EkjEsxUvUi1I>)=cV zepvqphS^c{fBVjDTNe~WmITv>pHbYed!31r*Op&DMs*KLsMdeC0<+oKIoncn4fTS$2OGB(7SQx)-79?)7in`j*ogFmCj}$L!LFwN!-&Z735(F{X|Y-Mr(SzmbOoi zcZDYJ+khNFpR)4CS;?}xr_hB5RJ&vL@34x%6o9WQaDhS7ri^0v^*+zUs0~&a+O1<% z<$TK-g4sJ!I4tZ``#12G|6lleLS1w$Gs@y#JWiqrSqoi);O(vQR80RaFoXi_lmvR< zEtNRr0)`2OEg6@`LWZ(ICux>3bb8OnA6WXAKU2Y>5wxBeOO~m-!49XDH03m!b>QT5 z)8Y4l)}Qi`W@)Y9e7!7;tfY$lk-kp@)G{?54D@L^SR{;ndp1m3szyDWOoVFKbma@< z3Nh4Pk=hGGKPZqAUA4yoEZ8x|7)b&ssnG1e^nsIz^m7q&PcZRBdRVU;xisqDfA58g zl#1egWM9%0hB4>gE|;Kl*xL=!JG4V^_7u%A6@P!~3(q~|=?*N^Lvl1f+^1roicrdM z&~w3gHncstyE(^jwaAnMW@WhBTN*af(_;N9Oy#xt`(!cFa`<${x73;?fp@O7*?;w) z{#E;}-~5iH+UM+V|I;7Zk3N54xxNl>YGV4+k<$L!>Z-M9V~)(uTLU(Lu5or?z$Uu8 zeLyo2ITMTewZUl79`9wAt7_C3^p1Ahl|viS1_Y*QQB*mV$y-|M^u_6cW!i*a>Y7ff z8QXe(&*m?6+iwpj>-*q`*0sA};~h}Ss@A5@@*=F4g3uJtc{G+2#+_Ftb7f3U{$RyE z+$>tXcgXU3esmR{Mx2&Si9EuJiu~&`0_cmdPEeslH-*R??(`|L#M&?LqBk~HW&8&` z%0#6Q*uW)`1+g^}%BSm_2WZCpY1AFc3Wh$c`!7mAr9AUuX!z{hnB9B2AQ&mY4_ztf zbRpwnxw@)`g@n=xZaPpd-SDDy#`n58kG_L$Q5lq1uTR^%Z``!k?_9CzsR0}4(fW`x z`A0wag&pbugDN)m2-3PNcx7f@-zprRD#%;dJ#ps?^>9SlOcm^UbC;)Hl$x0g{`Q(cFi6_<81Z+-91LsjrnkMhhe6sy=Q?eYej(r&ibi>1Dq%4`Skg7yL4$@ zi0FWwIAz(~2@&)#Py?-+K^bSdn9+G>U833u_CBWb*;(JRWvz{Cuf1-|$`1Mk8&$P- z=7tC5a5Ksv#=TSaKDhlHl&~-8%G3k*{0vCITf*b)&qUkYHKefsry=cxpPcaJ9j+m)h#3O3vnMZ9 z`A>UyBgS7o*jnnb&Y8LpyZGB8Mx07qSBz#F;Rk6VavAtkHsupv2I}Cd+rsJgL&Q8i zYkGpA(0TxCrZX5|3X?9zR0wcOSAXojJqZvDMjpe?Fb$$}G+oG0Fyh<;j6Bx~&CKl-1~Dmc>7eZ* z!{9G1domL0-*rpHa4_aMPXFug>5@Th@z&|hyqFWCXo1 zyg5~)*q8QdeygIXzU~1Pcsi^_QR5qL-?neOam^jdukJ3|fBQfFL;LZ=XO`CnJ`l`S z%Ai>aK! zrjiCkXSyi^*XyoKP1t+4ui2fO^VZYXst7k7;5u}3YAT4MGI?5a7;HvGPxiyw!^iel zCf>4VDl-p^jyNqAb;;GWReSpIk+WUC{`Id3!dS3(zVxm=di2PKym*;&711sI9;xP{ z0wWy45OZ+hL}K!HfRY5@$?U>)Ra_z;~Zb! zzw0$Fx^g#9x9#%$yi+=X?$&7fQr2^(W3(x=hoRF-k$%5mZHkcYK3j;Ykmt|x-x0Yd znlr!t^>0M=7qDB0U9#ad$(&Ic$Ii)VVWR~rZwboi>4})|~USl`6BpKAm=daq)`N4S%=N^Q?*H`n?Z5elf2wHZ z&{~yJGKjkdc+9v&XiTZS0j8rmZYNjuFii*R_TgO3i`BAf2D$ zEaCF)%EB5B&#WG5GpKH`rTf}9H)VAdJHM=G?iIly*D8m0t$1LofBLU&rakL4w=Hd+ z*KXak>)P~m$r4@HQ>j>|l<{Ld%ZP(J6VY z#2$@q>I(r{T<^cuZI1CO$e?xicG)*%ICqzp1d*M3tt78?-QqQrj9)W>0B{0-x1^Yv ziw1nkNnErbymjk_edilrw(D1?ZFs2HI#q{A=RC~!h&C-u{U86}eS5Hbl|f8x={;?O1Y2dmY?Zo!-`DD z+qTI`C&!IOemrUp-uO6RgepXQ4Art^Np+5+-cD81isFlLNE+RP3LKq>`6uX zwY7DZ+r`-9EC%#hPj!5vY#bK&`?c%W+{sMIu=APeIA@n<#)v!|0GR=B3NmS$dU+!t2}nq{_Lws&fuA(>*z9qGpr@mH>kUk`TxkurOR3{1|?Cumv{ezu5TN z!q|W?K_EavpoDVPaIguAJ*sov`=6-nG`Z_dchpdwPWKz5kYKs``W-zOcf( z)_NBRy+Fz9n{Z12HgAGhQ@fbL+Z!6pSP<2ifq9RSj(goVVw_k?(? zo?`#7>=|O&FxXEcjLTKaPOCRjWs7Hnl@FX955WsZyr8KuwlL?Yh%6V_Z!D1NqV^&S zmv~_iN=~$koaD22@WQ=q_h#DES7i7rlF0lVJPMvGbn+QsSmgT6L$r6(dfKwCpEhtH z8uxYG_AP92?qF+W0}Zhi3ablgi+RR8AAS4s{+UHaNL>Gb1|(mX5iKEC(oUpzy5cCM$l zzu^s%$BnY}Dxk7J6D&bVEB7ZwSb-R_d5QHi%rLV=7jqpPp69V^b*$*X@K>W@ULy;O zOY&?3?7pLMIErx&96ZQy5XTlK$HcP)T)2sa4}?FmFfQ>vL68p&iB;Y|y&ybe;a*){ zlsy$jN)m>faO4|fWCXnJQTcD6R2@}bXVWtabk}uz=(_d2be^qVWU&Ct&Lc*`-eVyb zih{*#fHe~WQrZl|CSfIX?`=2JgZJFV3Vo3JdOLWT<_!i7B=aYbbyT9SJoOwM8kv)< zv)>g)8Q#?ca;%VAjVq;=?R$>PM8*qEzNh{_at7VMqM=QVYbq28QgRf99 z&fj;-;vS>?I`qMw*j!MtNR`_K9p+=R=wq|I)J>&Cw8xfFjsqlFU zb5&YCi;dVy@wRoEmySRx7#|ta)g1XqV+P<^M~OD9ZooHnqX4d%bxr14!`eZmER+{4 z^U%f^#9zYTxMW^TpaoTniqqe*X9rDi9AF-tF@0>cqItM9+>TWNz-vImj%l>h8)Z$8 z>cYAZ4#6ajR6=QJBvdXA@NYxV3lS9_gLm{T5Zv7b#<3$=tf(94Y-f$(k({%kw~!g8Atxo#Vh`8A^PW*YV~7*9aIP zXV5UavPhfw`L5@U`CxT{-o`?44Ufl>r@uy@`1D`V$jmUY`k}o;Tj|`$Bu&mw(~td= zH`5NrZ-F(V34>V1agc%?xMxr?@O+1LRm=fDH|?c$Jm>9gNIhkPA&f29s@_eAls#6=j~#f0o;@=m%qZx{`Q&kuWb}av;1x889`YSxVq_udqS{eJ}8M&`$dwSnJ3=uU3_M1Q{-UY$Zb= zBbbT;D$EB0@o16)g#qgsf*l<0tp)AibcrD~^dSgXDCc<(ZD0$!j93fqv7XWsoaW#= z?r+nU%@Sk>oQSm7Qn8f=S;-wbcb1kJD(vNTdlLt5XV|+~k4zq+{owt;m~(;eseSkr z+TPCbo{kEwi#a$SPE)bXQ4c&2{#+l+g3T3B{)Rz@3&wA*NG(n*9<-GMCM@PLtm=YM z=2{bLXF{p6oPNer79^H*q;Li=n$0|*$D~n)z2_TiU+uu>I7mkqPmw$Q5@`?j4!+xE zHT<1RbW0F;v8@%Bk>TpG&zuouppOb`#ar)^-4UC1klU|I@dxxDfc!{kcvy{8Cn0wA=stZ#EPMK(mNTFnnf8o2Mfh(0p<>Nx;9o6t$F<( zx-ua!gBk$b4}zs=lHAiSLO;iDYmMD$1ZY6gBt>DuTv=DIfU##$47nCP2M#pTut65V zWOE%gR5?a^uTu2F78?up`T7#O!fZvgZe$^~Ai<=eE{uLC1@Aq*{Sz8FVV@VMXE3qS46XIAvDMf#vBWrB*?Mc7gAI;RTCAZ zA+^QxwD7{?G;{Ph+I9cE)VXgDjc#2>TU$GYZE*~65nI+bFs|Lfmabz<3uIVr5qRBO z=#D~#wl1BbI=kJ+I9BuGvBPwMVX{5j2WW5G0L}2`J~KB?CoYW8-J7@4b!-jRpbR68 zz9WUOj^sdAMllOVpHhqat{arq)sdrZY&m`F+)>(n%l-5c!#ndW(}FiIaNJ}Y2jtcFc#SSXypb@myNvPCub(4smLP7HKsTqUymSa__zO3f>O+gl=1PhV%+;og5V1AnzmV=H+vTX#3_ZLNS1G zg(r#(l*=sRq^BwGOO&`^uY*%3k4{Uxw+C+tac3+UE=BV)q{A2QOOSe?@Ts4b$HlYf7{cP9GRw?vKHvD{2yJcO$-=sWp5i#p zTqTfP{+&B^(JMy|Q@{aQ2{s=%POYa8(D(0VtA8%X`>2O%I1dA5rNvmlgLd94?H!sz z9nwv&`;e{F)LIV06z}z%O2?kdthdAL5p&>FrIaqgAal& z1BR%1A~0`r5GAaTi6s|n`r}K_QjW1ZSedbq)GNuA2xzY?M2KrQ7(pY=qVQO||M6X- zJe1=C*N7^?#pDg)B6U!uBPe0&(L2326ibJ1}%`u6vpQoV&lrD1sR# z0Pc<~7zklp2>I|xg#;A<(jDil;K;*d2*d*Rfii^m1SlLtVXW;3`MYNrcBxMA=i3WP zEdXvB5E-H13XQ#ixwCKx7iW3FGFBVblV_~Cw4t>3V2~Apl4W4=HPi_3oShoGNM|^x zymrezx_euz5s1NlE3`eEA%V> z`48y#|KTy3MsT#XoAQ8RP-B2%pD=G(OO9gupNG^W@zpxs!}5a*i_LlY*m2=Bxo_7l zQBr57$7xMHq*nH(W#q>HOX#66Q!XV${BOW(lD{X@039 z&(b2Pb1}8&wKzM^YXR*Q`@35hep$;w$!)an`W-a1p`R_|0x$Q1czS@E0AC;#Ie^7) zkdBj^W^=fqy;Y@bL^oigTKL(Z>7u+}Hns3ZuuVyMU(KJO`{;1NM;0OXzu9ksiQO3KS_v zR!F;V{!qd& zq;ozmQO(DK6$0V<`CO_baPDai93FU{O3Mp^A3`|gEiMow_@X(aL7L^8{CNB^gF^;c z=qELD5*_1&n_3lCWc0lvbii&{W{Bo8N7zezZ<~hHXo8>y{*H=KPX&vhE7BBm)}R^! zT$D>r$-#J%1!@6dP|qhZSr^=JNaHNfER_WS88#Jsa~E` z2nbNlxnbq7XLusV!bGY}gDfnSrieO=t>8&Tc|lO{qN!onX^{?}o1(8j`7)h8Kg@!B z4Q=0f9kqhFj+IUuN9ixIfc&FRe3>3Qeu0CZJLq?Q_rvtB{{0`(AAI=D9k_^x8Tl+ZD8;i_{w?gBqLUG({nU_>;%o8ILE^o&~=RM zZ(}$pDn}9!zPZ0d+t~`gftBpg#Y1%N^o#Vwk>}{th4UOcSVMQS6}Wj|P}nl(ILLK| zUG-7M!$-y{96Vl6@A)Thq7EsNQhxF!7EH+INZP8wO6D~V2&jgfeyJUZwY5NPk;?gY zIzCflfyK}fj|*J;xLTL7-LZX#d=?CTHJ+PI>o%|hydYJz;QFqy#kaug;PQnFQXI3u zU*F)8gas$iE60{_ z54^_PSvqv_y{zE?-S!QAY&CDA+itsoVUKlenRc@W2cZ>cau;9-Fihq{3A`d65wN$2 z{2O@w zWrkq(?Ab#ba9_NhBVHdTPo9!&J>d9IE@-5UN?KIKB0qkHg*Ye{Hm_UH%3@Nm{}U%p zib6o4))}_sXW3|5=LbISaq7;ALQWh#4TM8p8 zxbED*60-`1D{sd(OX2)g4 zZ>4%PRtwu9Z46!#JR@8S6>^Kq)~hwJpmR-yKGGrq+pvIJ%ho}B93~KmusoXLLJXsBOoMsG?LziiKyu`ez{LLgr=NbAzWChB z^iSCR{pIg}18v>5jXv?suhU1WGOrSoFBXw>P@e?7{&Px`&=jC(f=>>M@%Zy{My<;y$ee0-~ zmD{${^R#i~H1)=F)Plh8{3PAAa|5;U<}Xz9G|9>a`R^dOLRIAi3)#tXO{~?o+;^Ao z;4FZFl8m7mdHgIq@Eb}9*m)h5oyDBt+NS*ZXNWD(4J`0mc-<~62h>*Tkdk*Og7xdx z(V24>B(GX}%(76ZaPaUt7Wkm7MVrD|UiT-D9uvzC)gPT4sDp>}%E@CKR%w^i$cXP5 z*RP{PPps|Ca|WwKNi%w9>r}lVp^=q&*2OHHd`S12i`6))qJOQ30>+|Q3Es44JMG^! z$k0P43sT0z+tDCmnHA7HMQ~Bjn2*<12#X!*&d&C%P+wO>aQ5=EU(Xo*D~~=aiV$zF zEpR;K`Ip)9?__ut3MHhCY%Sk%|5oY^O4QB4#xoqtYU%BwCFFOHO$sx2iTBt=h9i+V z)c(5HQ635sZ4#Zv00-9%(hJYONIQ4#pw~b2dTGD{B@Fx@G`sVM53#Kk347zsH{K-N zK1&Q=u3NuOJVK=KPMn{Xock$O2)nP_%R;}M7Qt@G>l3&=DqBI4<|2*0z-w@oI>$r? zX5F?gsEa1plfeG-p#)3oVz4;s<1wCu;d;8ldyZpV z-6a}luQZ%IO0zFKOT*v!8bdC1frrOO7TJS1MI-0NX~)j3bld)YtR!01M01)9QL9E4 zP<1X9vP3D|;$QdvUPF*GNK+PlPtu4QE%t0VGzt|MKVHXf(aFO{wJ->QKMCAY#zU}; z9jjo{Y#SDsPd`RE2zO}lKwZo*_F=a$g;z4S>H_~BH9#^6G?S+8Zpe@T4~d96q+PN_ zJICu{Bxt8Ezj%b!u%Lo~fqM@ZT%bYz+!o#kQ)8EDeE0&5T)e>WM~R;yrego?KI{_-#AA3pvGy8WhGsDt-J zI}3JL`a597^BDJVFm#fiy_XFr1SqFDrm~lV&@a7wkdB=^L9ML#4j(^CPdxpkKs0Ea z(F3Xgo_GA5XJ`kxyGqC2be|N{bx(c%GpbVEEIc6LjC5cX8l&FHK$= z5t?ckAV^IG-N!Yy-J-c_y8bTB9%^aXVbM~x2 zJ3=|Z*K}sc>sh~_6(Z6Qp_VEE!%Ne{ z>ZEa67B+pn2nHFGl@z}qpIY#+a_javuMp~%`iI0?p1^Qol#0AaE0TVeQx71y%}}sW z(+=rvKnXg6d^8eDTvIqgrK${*d0_pJwTw&8T{uPOzw}jV zz2og15MrynRYnrDxJt#*{g z0-BQHuhSF@%we?DTbyBQeUYYM0moXU`Ht5=!~stp>!3z296Cg6*yV3!VFiXjtn+Ao zft{y$wp2sm4G-0<*M6k9wb`n`C6b1D=`!8R)*o1K#DHv!AWgBYzef9q7U-kD^2_vZ ze(!(KfsrvfvviJ@d7Lhtzre!tGClR3N9oId`${?g z)W!4E!O-6_uk(`^&(ao#;n2|g>F1weh-a2MSP>w8fhOn=KlmVR+q79Azfs-?OS~7M zocHY5DG(BZp@2$`oj6Ko&!3?|UN49nIQHDydAvIrs_EUfn{q`he%rBeBaO0gHNsGg zJTKr-SnGrwg=Ly%g@gG)^|UZ}%R$aQ-wezh&Ca#>uvs3-klKx6nvs6Mg;UQM$nQv!TC@it~~1 zBF%H)RpxqPp1qVQi5;|a@VL<4Wd)%~q6l)07PIc820@qr*VuKiLUY=nS%s1@9%j29 zB@)zxi8QfTqU~!31!EOX^Yt53;a;=KH>qgNE4K<#`(OnFyJkyKEH}Z-0<#5`dKQ~2 zj#5F9xb?EQ$^ISDRgXX|#8_xlBgO2SEPD@Q_@ic~sN>B8D`V=^aT?lqlGa{-J)M?7 z@v=TwDW|jpxOd+!51B~FXu&f9ZmPUj|l_4Ucz$ z^&+DN7Hv;gJEKv{f|-LeAEa#+KrI+cr+LqE(=s)UbD>#Es+ckUiHixD%`xDZ3#|Aqv7lb8#zLMsyF5p4 z*|UY-@TLbCBF2Q)#dSw7RN%1=>m6JutW=TF(#HX15Ln55u&@L}UnuSOAR*^P;kPU^ z#Bm<^&{MR;*7p;SJwi2x+GaT@DsAZaJW>n<0m#C9{P;;a$*y;6sZB8Cc&TP(BThWp z7QtK?zGCGBTstqh_Ob1`$h=i29+se#wJ7nJAiU9qs2jae7b-Nv_k*rgOHnO}J7GjY z3RXe4E#wC9`4=JVv440@MmdJy7!Jx^T3|tTS(YbYBhW+$O@Y(3(8)MGIvfEaSU1>1 zdpB&N`c#>5>&^7QgZI+u&wiGT0L6pRH2uRL{xCiN;`3t3_Oa4 z|G{7SMgHzO#;K?19Anmp*~nYd2cG$L96-;}*1-)7)10GyJ9pD8$5D_WGr;F5tYOQY z;Yujr^Q=tsT@h_$_zMEQGP^+AS@w)@P`1M3b?B7?bp4Lq^x)n13WaVv3-}jbIY>)! zUC6_b3y=8%9E14>oiScVmHjLmPJmX>xCHI~mKn=Ox+awIh7B7fg9h_}+6ELc&2+R& zko_V6hO*u#KLhoC*r*VKHO=Ohr$8<7*dR_aSgg%p7qQ8N)ygMiM$F=#%4U?;3f zSflw&!woM0qpSyDf!G4$k?dAIdf-LlWQi?D-qDK8nC@1^+fh6+F+y}{m>!V^uKbQ>3IV@VBC;G6Fqo{o z<_u=djr-Nn59tt>GA5C5Yc&f!n5`Q2~d5nyLA+Uflc-H|xojReA3@mn}prU9? zio5FCFx*=0jgL*F-czU^g_!0QC=DnK%W=2H3fdM7_Z`Y~hv2riKAX~*Lu6^qTyurl zTx`tf=D7Lk5tkl$(FmXg$Om3jIfDvDz8_&fMrn6UQZWcO7CFQ?MNWi9a;U5e=0FMgf={97!vpaa-rMS}}q+aP=E0>)ZUoRz_A0)_?M-pddOuykN7 zaXum+Dw36skLHw1#w4y3O$DIKh(qgL@y$g@GWnynWbWZUv1n3!hmQ(vj>J z1vG_u1C`maO9I<<{4D}Ilr36BwWDRDg`!NH2z|Y7kSK@Ia!i-d;*Msic669y{0G<~ z4uxc_&M}I1WJ~e=w=x`YnFZXL(`TtD@r+QaPm%pngLlpXcxh>hKKvX1k^aMP|0jCj zuG^{Wz6a>gkt3o=MlX(1nfJzxcicr=``1!+dY&fFD^0+o>_wJYi6fwkMk|2BP(+6U zqPM>FtwIm5ebWY7$KRV{qo>S&_j5pgitiigmWPfXq6?QVFy?-PuvsE=XWN!7yx+#D zdt)bU-?Eh^*i!CfeEr0UBN9Lz0>8plI6rD>;jO!^6ztu2dl{wsT~_Dq?wca^e}A1)MLZXJq>SGHe%x=fGRyujg~fP zj*a z0A6xaL{}8-neRx)c2RPgCycV@Fbr3m)91nqP~%*J$fHuQ0}ViUf}eZxQKDP#B4U>^ z0)&DMTeXn$K*`j(?(n^!-j5;9@ zmP@4IU0AHpdB%2I>yZ$iVSe%gZ#ZE@tke+*jiuR0RfH2Oa8|It@ZN`oXC=>@3>SX! z#RI}W(%RLL;8hch(IRE7gR#*xjucCP4Msp-`n^W-d`smynrGL$fM70^rg0#LRsl%{ z^9cu?$jexStHdV)&(E$_cg?mR^3DSMoCdk&SiraPUYAT51kA;DsR%lYu>#HW91GFk`ggxhKkcse*5k8@SEO59NMIr@oBoq`xCuX4>FGb#)lr3{f_|ljMVr9DyR{B=6l<= zc?&~q!xBhE&sa3cE-#?hY*CnT&kdiZsmUo(Di~*Ycz{hh+3Nt?>izdUNKZcYI1P5^ zsWx_uCSHDqg3;4dximq?4qu@0(E&zOducrz4gG`NwEenW^v?JE5Xa7zX<>SizWvDK z^wH0Ll^z?Jkp}DVo>A+NY!=j)U_WZbsp050@Y)nOFkbN{VHkK}Y-y57ilpJ|UU-nK zO0_D{kQf!5og9!$Ad)!6)p4!mN_x&b!w(gdxw8d2a)H8{mVZZqEj#;4%&IGtR()|A zC~fc}UgeO`K_tFqXvAW2+k79WS_3aLxePQDTjS_hAtZS<(iA*cxkZiz1Wz5NUF&b4 z3wt-v=+Rdc3y+pmC_@H(RkZa8jnqbUQS~X^OZzFcDMG^{&o)L z4DIB5cwFxVRElK`$doF^(J5^+h=7}DuUN^xtPgD*hndld600vxGCwT18bpaDtxYI& z3{Xc)jZe)ixow9{MtA}e{b8mj_%*SSGo(~ zLFd?-I?fQuTOWE*JP_*a7NMi9^g4O^%xdR*T^yg2)Hf-bfkzePsS4%G>$kPLjjh)O z#@oA17XaJW(y>6gCV9PX-iK|8&~HP_Fv{DytH+v3DcLTu#VtfHJ8>kj53s>OGKJO3>_vmiAd=dG^>7-=;^N_$GbglYdV?b?gNF z_)q>MLsV6|%y>Cs5BJ@5KL;o~=U zedp{nmFt%ACLC3$imyt3elE#&@%*5E(sR}*B90r4Ux8SPX->8-S^vcb!71l%wPqEJ z!)@5KUit_Mqysb07eirlA;V!hnhN^f9C85Ji6ND*q2Sod6t!6< z%@U6*`lT`^?-(Y@m8)vCvxQWRG!;&FYAl-!!OFlWCZbs38JDnRnn&SNO`S^unnINt zJ8Rt*Cu1icV+%&c4uvBUj0@ibsz!_wDM{}x#cvD0IL!7&iwM5?%L0ocV1W;7Z~RH(wDy?g)Zpr zDPzTodHUEfI(+mnz3a!`qw86S-IgSGxxK56bxTnT$7*$H7ST7fk*)l)am5G8Qj~x_ z-$C8%4k^w`VnmJGCUzME2(utKHL}FQWX&h%3_Pr*0}_$)%pfxaN^AYlfKUWL?amKR zNclXJL|{T$;#NLI(v$V+Vi5Q&n=64?5B+QYu(Uv=5Js`jFSCLve_o+VsHq(i>wXnL zEmlQNE=_Jw7&Vf0gf&!Pqb48w=hJIRYAt^Tt^Ts(Csnv&Y(;5r9qebP@fq+zqctA( zU%&>*NB-5Q!mY9dX3j+zf4D_y#GM>o#tYxyHTBEuEJ<`mKz&uV-UnWc&nOIPeTT_R`Qq3Nf43~LDj)&F6SH)R<8He)bx0NNGOw=+ud}(u8nv)-w{z!K`k%l1 z+w`w~?LY9GE=ZB6gFJ}+8I6hh+&#v+6DLkuZbsEjI2@fLEFY+3RBs+Qw!=Y?XKWZZhWE|~*$v!E4XAPdxa zngMHZ=P&QF!QIt^sUA-kp&Y48d9X@N% z=&z06($`%Q8Az@jn6(gRJaT_Iq<_XPNWL4#KI1F)8`ngZej*uh=OHd72SYCc#4Nt~ z&2Q2(&pylOXD|KJANnEMx@9xXEzHvJ#bL4B!O7mjf*G=5!?tadyDbn>GmwS#GE4_! z2k${nRCwKk>!Mm&&bpPO2wQT7PNIT$`LxQ^DW@1wOl_E0~=SM@?9983tL zyIF0X4wAo|M&v!;y1^_(qo2)M?TH&_mOc~!-h>5Tt5bp>8~$e_PyYNxw&KRopaXkgl0Y~=BgN@22Ood9+~qj*bRal^t43mJD&`iMkaK?dxb%`@q0CIu#e**p-Fc^ye{mp5(m!YT`CY}R z2?EV<0bMUot}CLEcPlNh#-6dR%!m?DxBF7cXYijy2^^!Tf$F6|n7sbxy|j1xAcf0pC7nD$ANk`?(QP+v6R)X) zhT9!^hG|aIks}A`T|fLDtr@UBbTwYX;>lF4XKAFFL7fAGl1D!Q;qTiosw<>-9KYI% zY&s%m%h;@3QmZs;aHaNC>f3nB9znkygZ&IM1k~2vPUjiw^R*6veO#gQwAzC*%EI~B ziYXU=MHyAw;wj$ml29GiS!4zh`Cmzo1)sf^RY*~S2usw#`SyTBDP5a>K$JujQ`}&4 zT9%u?pX_zSyG%*cgj)*Ap{@^5L_r*wLti;SPjA{p?`M1;?2AaPJa_gi!#YLUxPAj2 zK603`{pab%{Wnqf?OoE~1LR}aBd1QEW|(F`?i&=(;Cdgb&C+1dN#(I6I>GSI;lqdN zz`>U##~vw>iyYj>T3m)<$x0W=u7ZT4m1V3PKj+70>9OZtq5;XTpQ8)I3!ulRzBT7* z$BwOZ@!||U`@%_j_@3+8xGG7u4l#@arqz+jF&HSZ!U^ttWJw~be zO{ATp#56N36Ejg_Tx@o3LA`|bUVVRIF{Kd}B@m|9UFLI)PV0uSCe)tfOM6B7LKmWy z*14JY+1Im5Dsv=oi6?Bhw9nq@!ZIWVF6p{TEhX9QAw3-sn5}74#1p#;sqLh_BnF%W769-x3~yB(uC6XN z1hR)Bo6j&&o@Ctb>3GA!hUcKxzQQB0;E}liCF!~2g)hb|cCpq9ImPo0BNkr@dO@;1 zv_e!As*QbOwOQJqpJEjX-U`)MV&{?-5Zb+>9pEkfZS>Z=Zj;TJ->{B8`qy8eS7syn zx!Z1`v58U2^F1T3@Rg?yh*#K!6jVTEMXl?Yo1Kf6+DW#}t%MC2Gl$S~f8=OBdN|9_($SmtHzface=x zM1-+=W?~_G_E#SrwewNNaB-RI__Z$rKC_%64;PVV&vY60BFH>%S{W{eTO4LCpu1dD zkc$$}BKf=t8yEXq_A(|;9zl<~!G_j^Cd_5VEB4MyV)=LWuAyh1d4_)R7yq@aH3;lI zyLQp9{rbNb*ai2r$npw#@~<3xg(jxPXv?v+`A9Ziq~?c@p6d-}{A^|#M6 zbQnvVOQ;>nbvk$a0xiy-pxGE){5kQCkwcF?RO0y1v(Fx-TsmidVnemWan$0JGbXbL z_0LcTOekzkLHLhYZm^Wun-Cddw{{IUS1^`fLM-+sdFy0dWXM}3_&qU4!Thq!yEN87 zc7si3D2BVbXU-fxarcsC7LymY>Ekt8H7SO!H@(dFS_+huAJO(&J$3hx;#3F=iI5Sf zB5H<#)Iz}f80M^BPt z+^vn2qeC_;+JS*i)#xD*G=sva$EsjNZcFYuvdaUR_%PPsDF7K!RFNtLuc))>ov~5b z$_9_(B&d~+qm%Dy8oF6qaYh-YCsMdXc1t9Tf*^83wQ0nbOpR)ik$*6>g1usK2E`zVt5!ZG>(F~|ktuzzYQ4efQ#rkL_}~q@X`t9bwV;(wy?l~>?;Fq2 z4Sj7K#Ok50LK}5)d}n^9N}u}dx9NjF`XEg(=9!&Ct^mr_ermU3VTWoj0?RfM}wg%oy2 zn**G;lcAXFw{4-p?oQge$I;iGe$FThRJ;a(Oa2B->YQI6GWbcFFxgzG9c_b{z)S`< zMYdj=R}g}}qB}xMpRAE5C>BBOG(4*iT56+f3qi8)Y8H_OUUi?j#N#IQ3T+LAl&*7m z#h@Yb-hen?RmmQT40?hh2c(9-zx)qhP$k9ldivx^y6f({=}m8Z3*EBs2FaYsv2nU* z?;eVlH__(x1N8W#UuO)wg%(*E43Au-`t&G2=Q15<5BxO8$fnsdJbrP6hFJ#G1LfcW zd{W94X&!-gSnBdWYYA#f3&~5fye4M&IYt*E>R_9&#T5N?)zKHe_B<7XGPUyatR3u@ zXWaa{d#E~onVxyeOn-fj}Ar7wBjM zb%$Zi){qtm_@#Rw-JSSOU^sr&0+7g&JbRw8szu3Uk-3SL8^a^@UihScU)!OKkYxFw z=~p4#sCww{{^0XOLxUv! zU#Bg-u??^kp9d^?AOAZF7Fjs7v{J~yQB6Lo+rrg*4dO7hP%ve#(JIw(teNYMuhbG` z%vnqz4ptqFs|=kEj=(Hpp;|R#txk!nPN_wOUy>hh4inM>on?d+3TiQ$sidD5K_8}9 zi{l1tl`>ds=58(SZ_+vy1>~(c|43Q;lVYvHL_-iXg5HXLo$yG)R{HqYK2KxiWqRX% z*HLdrkxGa;vC#j-r@um@b2F0Lj+3Dv1u=*7=g!dV%rs4Pw5r0xW}BX+b?e$>zkpy0 z)tZ%gh7?2XHZ9vHv=q|7tvU}$C^Bvw)8uzdwAy5)ABk=LU2>iZ!+zrHK><3iC1 zQ5prx+UVm*f%m8~N;lmUtK6!;yC@S_Z7}}Q`*il7$QEPdGqdbn$)JLVW&vIdCy3?H zJlcQ1#Bu~hO@XBnsmEu6JeO|>&TEN_rDvLvDByxq*hcRgir)+#iPZ&y!^_q98b#i> z!ui4qpvw31hadTUh8q`Y%g_+*+^~tdSw3A{nxOR@OmCaGMElsQe&I`>r5Gv5h&L^1 zw=!7k=fBXP^J~`9sS~GYWC0bbS{t6YHXy%YKO`lt@DR# zRNT6rmO&=Aeuu^x7AA;}9w++RmpP^|M{Nb*_)FSpK5!|Ok9kRo8K*a|&QQE!?*%I# zGh=W5&$s8q>#Br*8lj}DHQ$2>C)P)!X7YpR6`Sf}P z7N#up7TAl0N4mDJpY~tBoA&J7PFvAqc4C4K9C(QiA3rWQdzpnK5*ASCgkm5mtYUYl zCI&^M21HF27GglYmJ&izjE#USyUjmgWEnQ>TOzYfa`@|#9V7S80`u&d6ZD~9`(;U9 zSkJ-o%>x6}#jxH@ySLGr+&WA;9!nB=u8uT`EosbaiF!R|9M zq>+Y($v6%k>RAjfi7dxIfw{cgkBEG}J5k0yAgxZ#C00LWgn|m^v>T`w-WpOfpem~} z()+aUHb0p+?lrCnAyenz*jn1QaftHmMSA3^7w8BF?ca0D%{18G!PCQmR93W~{mwV3 z%=h`W*WV+Grqt3Q!u-o$`U0P{LhCnekZg!KRKv2;0Ojl8y7kn${W?1Q{3$wm@*;H< zTWL9t%?{WW-_#gDX@&** zvEebg)S(a*GMqX<1jZI5u5swpD2>e2X_V*k5(>U}t}gL=v&(tv+q#t^HjIxw^E5qi z^fC?ffIromR_J^<+fU_^p)ATdnrp4!@vMD!r-WgmJMXQGh6XV*fL@$s< zRb||Nmt4_l{3KCAlDi~OoV@OFesH^6`6>d+*=q$R;ImW-;`xCZ0vT6gvc-&*Z>04P zK1fgg!)NH<{oOyvirurWSNPkP7;>AOtbCUk~tvAu0EgNZeah3|b-E?7On2wz~ zNP{RRKU&%2>Z@I!RlTbm3%&|lfv3)0rdxM!qTSc+pi8eD7q2wsUZNz+ zM1;HZR=Zloag=&!SHHH!rZVTPXP}|FJXs_FgTxO6Via;|T4Dj-=Bo7l`*+eNH%C)v z&eJ4&LNA>^OW!&%MT;>BEkt{3C(H6YTeoH2laY|OA$1znuR>WYjY<@D$vK6aszyNP zEQPl2*97jN9_d{NjUyNav3?(YY5}3}H*e_7(~ms7pKibP4u((iRGnL-GJD~33pJWr zSZ1Zkf_yQeDGs_WF4t+kT%qZyIm%Z;T4rOY!h^6pQ=^T1Gj|V`==R-P=}kB7prID@ zbDgE>v1uA+2xo+Uime^ArK^SR+rOK78EOF|Xy_9V_=YFPr|8(l3-pPn4$`+S5zQER z;j=Fuq=}Jf>f5q~j-5G26a2tiI(j4}y79>6Q?oVeH(N)ej9*48j-(LETl8kuGY+|? zr=KItPbtSaaCML`&DS+05=|*wtLE6xAO-T0^!tP$ML`YH`j9f`;R=O5g2Z~hR$J6V zF}?wZ2K7vw#3@Vz7aKTnO@xBJ4gn9iM%WcI*t?vgUT?eyZ<*p(HKwUkrzv`o1IW8~ zOV^~u(ma2uu15!l+%XA6=*tUkBKUbM`c49>w3Cvbxlhs5AjuV{u&K1|*3xY7Cr#*R&1 zv)p<(s!tv`M!)tOzfGU~+}G&h9K$sHxvA09bo4OM_RSmFntzrS=W6tpdvAr2E^8VE zB;R@L3EITL$xR#Av-LPdAq)KHPF$qF{ML)~z`7!hpBtgUlV|9z+is-%C;pDmbpSN5 zk`o>nEMfWLLhKZnpfT6i#m$y`OxNyZISI^Ry^1R3^P~9Zy6bn+xeKQ`b`UAcB=(U@ zty;}q3X;poItM;Xq}e~Q_m-k$-hJ+Q5_oO6-^RaH1Zej%&7Id=_drr~D{RFs($78g zAZ@QN(^G5(56^;E$8n&sjUKvdEj|3^*VBhT{82hRIW0T(_Wj$a*b>qcPaUUHd#hNq zv2|l}78oV#6QE9XZ0js@XR@X(mDwWP@_pHMe0_GI7kDf;bQkCY-}grPf!p^}JMV={ zBcn9IMrWOI@+k(=k@7mlhS_WcIHpQd^NVa8R2XTVXO9VO8QX>Jw2S4$T7ISmoJ>6lgEz<)Cbnc>-X=cK8^)-_IA0Ucz0?6`3* zMQJk)`D&`R=kc zzLsJv#ytnvNa$lsdth)aT^hbf=gywd(sO6knz2jL+v;X9$Hq*WcP(^gVuAkCM?WLp zX^{%RHaR zT`L@uO(!&C#P+Wb`b!oI6cVrD(a~|~c69!w<61<9BnLmgj*@_C6eY=v@*WHq75+gY z{I!HX%*?HybMvL+)o<5lV1=>g0wQVp5iZTrZ@lB}RAM;xKYa2_bQ<>$`eY7h27LYQ zi!tqIxaN=k%Wu#N2M*IIp63d$h4=sDd+CX1o}yp>&ws+=qgAM#BjZeRaT*tpwTm?- z_YgJYp{8(@8CY^(bxHWBGB*DM`*+bVec)Zx*T#?sLvLr<5}%)2U`u<6W@pQ6wHF0K zxjf5|3?mFEMp|UK2AT(um*F|8>{+z175~6ciQf0nZM1D@jbyZ)zj%(0pExen+?%%U zVzjnT;9jsow)48LF7ep22asn45w)ntA;DJ*{1zA|tq(X{Nw)KOD2kI{gx`AfD$h=#SGzqRYtx3bG(r!+=_*xitLDL6R zg%KF^e6f`Dg2V-jdTp3FydY6dFGZ{fc(|M;*2E2#WyP>c$XYBg z41N%x5ZAu0Iq%5jrtJET)APD?AjA!ggGlnuOB`5nr%q9P{RX1*mnr1MTX5`VN*C75 zSW0(#CrwBiQx@Y@pXEx=_`Nw)$!I)Txpq7>!MDDVZH#@gZV|P34zGW|cm9h4LHSj#AXm0c@?c8+(ed8N1&?lchMBSx4jqw#eap(+Hi(jI< z&~!rkO+$n0sr}?IP0lO|d7B9145X;Pi8Q4+N>Wn=uJIT)439_~dic3cb%D#?X2TID zRcA;Y4yCh~3sFYDNDpjVPdhl^`_KOK@6&u+7yZmn{d4;AH$O#ZPoI@yz3HWhe*1ra zmOlD--=GdQ1UtHV=w*%_eC_cU=S4roSj{u@rgNFsCClhA_q?w zS+G}@gj5dc)57Y>*DmwDx4I?zk=q98hi!xNr-cl-`PZyK%M+-H8GfTPwiiuOf zpW*EeShzpQZpa8KQ9C;|4<1;gkZQ$RwTc75)X`zq+)G+WC5yqO3WX?XWbLl7pkD3p zW%d4fMJNX@U97RCY&jCa0WyCH9@eAO!ndGPL$-~bK#C?3`U42FNWu&A!xyOa@KLHv zRj4EitF9KCK|`{=%qvn0JoC)tRtWe+zkZKoc_T8eui((YpW^jUbY!|a2P>yiS6Nz;%Hkp`fSh=Ic@ZczSx>&`%~86Ly;YxCjQ*V@ z!z44#)VKy@48mA!q#6sGmk*z$G4^i8XUbG4wn(EJU*Vc{@SF)?v!TejM&WN51_`}3 zW!9rp?_3d@G!Y|t8fVHU_6={0yv>1uqm{mN_&CkLUd%`Iu7B}9diTG07yZaPzK?FY z?j{-^n`Qg5E_nL`uYZ8{?Ab~G@`FE3m*;1BJv>JHufL8?Tzp=+^^+_hO1$UTJd^ke zf*ps9lT%(CJjDAS+D9M!{x|XZyGRqW6Kp|8LdrEWSEiAPDUQd?(G274a}{)hDs#+$ zg+5#E(UP*C!gQ!IT-eFi{;Ah*q=$E2N2U2CdgahjI>KwZcN-fjn|4r7uEw6rB!?Bp zsB`TNv^cPf{_qRWP_8AWckJItOMD$PBZ|UhT0#nPuD~!%!upAIXh0q4!6+WM{>~&PEj*bdCD7iWMoEdE8lUA_js^(F zZl9986dfZdxVm+tm(c>mqF6WZD@aL^3Ck{wk>yd4Ab@7$`k1c3qq%d@M zl4BA7{nvky2J_wQz>U(k9({yfU>6puf8*xO6fk7diu`n83`G1R&%#wHf0gefPUgxb z0?eoBsc`Xuw8(C7rqoK|&|W%oX^g(`%u#yh+wP&ecd)g)v6H^uQl)?KvG36SO>1fU z&RrZVo2R&Qkp93MeadsIF9xV8fV3w*5q#!yE{%kKsfT0Jh)Gp+34{>t>prnW2-DCpEC^ ziXP#=!Ws!}>>{(%49kvE{&z3FLyL9AaoA9R6zg_P?ol2m)}}3SV0jrqkq)u2`}tq{ zHTvqoqpU11(#cat=*GM6pnv~6ze@vsebiOzpb!7vhouqr8{Y8{{ld@x0xeb-sMwaH zzyA9#vv6#Y#?V#SWy&ojNf+c&&myZgGlyTRL0#_~0oEG_+v$gHxs5K5oR`!>^n67V zmYK>Tox40r=UFaIFU(Pm=WvDtp=H1)4h`3kO@qqP0+so9KM&zgJh+A4v}G&Rre^5L zm!G30w)}6ubszP!=Ls^u8nS_?#A{+Rm4`2xDX}Y&f3;7_ph_ zW@Cef6~4IV;^xoKup(^ZiHn7HL-KFy*^yk0(`*hd9Cf>va+T7ns zXVz*7;+wZ%R7M5q}>|}-h?%)KS;SkXe-gp;nz4cA>;(;gV|NB>e z%CDam7y~gTY-w0=#hf@&paFby7=5i%mdahD6%AY~{SCqt;N&|Mq@UuThKmV)0OcxIwlZG|VJ@z;Y@_$J!#a24-6w?Q8jSNE%WEFHqu1ofqpwZm;-sIzjo0s^ zOY9Y#otkD$o#9f;>Y3r!PF%Q5V>2x9Sw<{LnNFnWk16k%V>wlx_by&jKl$)px^G(_ zT{?T74nB8+)@^K~TW-Eh8gRn`sY~-58>{|J^zz6g{pIKWfg!>gef`-NX^Fkd8+Y!Z z0iL`0=?erkaGI_2k%<{;iZeAaDHZT*ScuEnWxxZD7OcbH(%ZP+$(P=zJXDHLccFj#snb6K|zy zJoE@ncn3nsi);*eUQ30HGHiT_fER^M)KKK6pHes=%P}H8dyY!zVn1J{PBw%8&08O) zu3DKMJwHp&j-8{C%O{0MsjCvufBK#OEgb9D?b=3f|GtOm6Myv=^s^uQC3@xbMJlzm z3(YSAYqBh&R48Td(Whq0a+L-W5zVrZ@@Jp^ynL?ES)?Zp9HCp@{zm%4&whgb?3q_2 zo9i#X_9$)Gv5iihdWAmm_;K+xb9EI~BzXr_fq)7u;DsHqUQY}iuhfu^8TxyOQ&=yh zuBe&S8z+#7zHk3aeLaMDw$=x@!1ug=*KT29ot&IAOFhuGiOF3x?j5y$wW3x8 zv)!Y9z`CC4BqxI1lY_^}LK&(ogWH_$Kq^iR?6 z{`!BUF1FauT^Ob_Y|YV-U? zt)KVHJ8#=T_ix`!CtiAzjy*R``)^xId-q%~jo)j$M!;VWUYU@8x3KW0bvx-VKlVjB z!H7k%wL}vP@%;Uh2k6Vs9-$77$w`aI0KwU1>O^1GfgZuy-*n&WX#b7-7^>;fWE55c zbm9=zW+vr1>Kqtum8_`u{6dm%67A zTELVgfXerTV5+o{lK{yQLrTkoTIW6CFJ6qsI#pdTYh zh(OB;;f?~CQmMs0V?r~E8-uD179J(s*#TuN)hqnI+Htk)n)E#%OYly4Y*v`!!$FW* zdCur28iad>Dj@bQx@0MYk`A{%EYq+4^n2*@kH1KN^~{UXzq2do;tf@1*rh5xYOA$s z!*l=q``$sn^2%I6YE>Z^B=nwA!&#SIoKk>DD^CUiLnV+F zge7@q=aUY|$5LuZL6}&e-cUjwcc9~)GvX_eW0WzrIn06 zjDyd!$oAs3S`W1#&Y0Y7K7Ak@gHW{`h`RF4Cjvn;UA*v?IE>S@U2gygKYSQUT?(qK z#c;8#AbHKaVigsZ7Fn+dy!fAf^FvhUee+*F{ChOUmUGP$)!BLy&l>5S?EU`o|M4&A zU2M(Y`MQT0x9<{RTdprk5IKl5>(*JY^h(~Z8B&=4e%|Xl20N*%jg1&Kw3e53PuD7u zG*%aH9iszrg?k5Og298Rp=#x&`L3IH(OYiZNXK4!j!s>ip*P&QmwLK8lx@{Gl|*)+ zvXtkj)ZRrSTkfED{(pW)nqTJ`e&HvP{s7$^A1Uw}t8;7#dHP#74$+T%|6Aw>-u8Ox z=li6&8HzaY98b;DEJH@6V4melMZFMSXSsqZyfhM_k;F#hpjog3bBE>vg#g@)npKyA zo4nAX>kY5roZw~=L1&gc1U&+%7!Ae&skc{~Kts?kf=-pK_Nf!RX?PPM?NCNP6pKtO zF$i-LD3RfSanKYjX@-^D)dgH*+MW}^D;9jD!Bf#EykRjR)xa7?o3$(SwfTHv#R~1L z<$foY%qoWu&Wcy>T2JUJdHU<))AZJ#d_PT(jnQMD|02EPhu=l} zuD_lxk6)teZn%!-dELNDe)5sW==c8OGj#90TUjvtYx?K^>c3D|_gcwL66ht?BJ+fg zKDLxUXJc=NRuk}?OVHJcDZ#N-IyySV&s@^#<3+DRc_W)QnKLdDQ^QHT1?BPi2sz1l z%Q&&>UO_2Y=%XXOP#Jpyu3E~lNTwJw9f2MbfYFT2G%o}#8v|Oi=?y` zX$Lp9FfSQKf^{d!!!apqB2ijvP_;30$+^-DoiLr@z*%~uz8jk7pQI~09a*nT{nd07 zt*%6KR(UMIKD$gG`i-uv!%Nzi$6YD$FEBj5fGz4QCOpML!P?-9Q8u1*em zGfeWH_r6!G;kz3mO`2y!(jCjo7WIG;W9#Var4xYhc+He~ zy)Ls-DFp3oT;y16)~KVSm2SHIW_ru(_R(AKy@h)D-_hBZY2mgmWy z`^<>fRn83SNEzlbsgSmy`~)^a0$$ApT7V>Z>PnO(O`LJksx{m28lqZDd$UU9FH)rd zp*}aKr|s&}a}BV7KYo(&_Hn65i>0kzF4;B`P}LhGAMi|=5UysNzS{el=aY#J(#F`Z z6zjsg7})~Od^!>Ekqjg(cE7+WGXyKHVnHadOlp5h@0Js-%vSNAPm8R+*T<_3Pa^oU z&rYdVpd?}$tKDVS&1wS>r&o2bdgka&x9q3G!*le>m&R!0O}pv0|I>#g`1p(e<`)G| zeE7cC(|`V*-==dHFVKVc-A`|S_|5b)Kled7-ADfS-_f7^`A2AN-=7H99ptjt)*Sqt zOPj(#*eunS8U&XXi8wJJM4ZBH4y^eL1fp@+#DO*%0px<-tmsMLEM-vB>GX_MxYE@~ z7(BBiU^4H*=xGH-hRyjA$u*5woKYG&bm^jx4c-E)VcQp9m`hS*N&^ZR|`rpyt@ zzgTfS`oxp;jYl4*?v4&xKQtswIgnfb_n-MRJ@WV?)XA~}UJob;#-=C4a|R6vgeL-` ziHTVd5dy&1KsHP)?lud0%VA+95(G$scYO>53TH)8$_O%MN%Giao zGL5oYFtQvzeM0r@@U|=>r@~`s8DeQJLd5CBBEvy`6OZ z&Q0{Dd+wk+ZoYxq!zG$IeMovwcW@xK7%Wj#2qdL61TkF@C*9yA&(`J!752FXph`pJ zB>JeBPpN++%Z|Yb7|_>THhT}+4OuftXUvC2_F`}g(v%FBl#Ces%+6|?KDN$8xZ^q; z44^SSFB%zB)yM2j@OknggHMPO7stDm4aYSJ^XwzXNx)RXJwaf7I)elk&$ip6jGFOq z%-sBfI5{mXt%`eI#f*@8KeOyZGy$pAuY7OxJrd|wkh9*ok5_v?fl+MZ`wcB7yPeZz zKHYE*zbX8O;--61l_f%yH|Jk{>j1^MR_bN}G&*vLE?vA#zsc4d@X(Rr%k-(g{se8i zeh>Y```$;t`G5X4{mtL}t#reAaYo1o;^Iu@r9H2lfzO}I=e5C1zDTMeIa0xLY~I6EZr>?m?XfA?~EiH@B*B}83C9&^-~Tw=k7Dq*RJ zVJo|{r0$r;i+LppA(CN_U zb)nC5x6wCTTMqmN_lr+c^eatGTouyDSH}+oeIb(tgMk1fvtfvc10*8+TRZe~=%EV1 z&%qPoNh5TfpBUlKT^4sILe`2?hsRk(oO7BxE}eu-`};-!SxeHrwiTRi?u>$ibpTEq zZ+&=yUt+ves?Yq&@ShK?-CV6MP>uh55)gGOSC#a)WFdk=lg0XCgS8tcl^-$vV`O^+ z?!L;f2%bqombkh;#EafAr*xeC267D^M)P$&^Q0rX0_-D{v}_k_x$Sjyvi2gq^1{;dFaq3-(;*L}>;%@}VabPatL8*Y&dqsLDC|{*Qvz9)O6!fqqgcwVSp+)r0 z1P)w{t4)LFgNweo$V&TBgr-@S-mqFB!|i)XV4bKT{-KAG*(JquUXRwbXs4^Ek7GJz zI&|W+P~)PANOhbSR*te6Pt6s{8U!_ZX^K*WHtW!A#;>LE#Z39cXn#cW%K;$7j{ssd|rOe}}ilaVGbSWja;Uto=2Qsb=o@QDOa z1lYUPP=mf`xrs!GAZnafGNCU4RoJb3ZwUAX6AKJPjMLpWZ=`l!8%yOyX>1-N0Ye*5 zn9Z!c69mR}u!H%&W>0fmX@qX-T1&;H9OLXcTAClHnd$Qk&&+dBbeZx+$M?qb5VX)T z|A1Cp8jB+qVa>im#GBaY$R&<(K-%Yc|D7LFK@zJVm*&-Zg;^kkL#s{&mab&uY4B9O zlh^BXTrAeoiN%GUyy=HssjraHH(d`+S$*QyVj1vuQyx|Mx9w<3O#8Uw4J zE@zu%&6XY1*WW`2UO7nZ?8(iREA;eZPt%iM{|1dRWOw|~QMMZjG|xuC@Bfeg$?ohF zZ=yC@;D3McXFo_k`lIiq|IV)mxtwk8D1|}{D)S1?SxiGv3N%g#wab&hH~jrJcJ2?P;mIvgcpG8wpJ{M?H9NMDIpD9hv>J!8h* zlC%P>S9x@8!v`z0&T+6aXV0=#3NHS<-krL=8Lu~8_de~{Pno`E^O)f2uIY(v3=&%; zrqxnbT;}oh$2>v%w{jO|)=xsr9|)8YIkl)0zDJh^D1Fehnfk&Rhx^Jg%-&P1#9Wxe zYF!HzW9tYeUb`pHvo@1X$=MLs=;C!!;(%u>E6{y=*HM3WQP?cuu^|gfs(DfDm{Z>e zmUXh;gb0xp1Z-<4s--fuu{;c`OOiy8XQQEnie|9j7V6SYQ?l0}7Z7J;NR$0XX}Jmb z#raG-2zfR_A#WXd%-worl9bQ#LPaWKxvIE2ZVdfWVew$%{E4ujfi;8I)+d>Ifgjt2 zmK8e}g#cxN(tZCogkv$(0PE<21X(4j9HUUGW+Y+CQKNlRrToL@UNaD4>kbqISIGgk zUWp1xX*qRZd=d?lotmg}WXrI@1}VAh{2DBU>;b`yuITgZW_fE%(=^T6@=lRyDNUW! zYzkO{5EkgN4r@_@F6Jp|MndYgXP$_>An~{Cae2*Fi_&RLyc?~?Yut9muW?21K;b!w z(YTedYR?uK=AD(blVQOzH3l7;H&&FKKhN;olg~X*|LiB;Pj{a@PLDqGG`)22Ftsu6 z+TS}sAN$Ck$=4xNzy8H9v#Z<5Zf}RQj~g6XOTYG;AENjD(|5A~t5Ykx>opEesmHIL zgKw?po2#eKrMD#wBG|RfiTvUK72i(_!;c^(b7;ImDs=K}&9^e-22Ts?F~`bgnb&r; zsy%DrSpqjsIc;JSh8n<3GP08Ci<8Mq3cea;c*BvVtSbB>nMP)7L-^D!RoL^AckuYN zc6HMD^f(*1rl6b(nNU1m>wuQ5BcJ9-35T}WbKoDxx<`=FEMqB}!(KFNIq@v)T&r=9 z`VLfa^D1(d4HQR-x8>(X6^T!8v^DMO$!EPGgZc5mrgjsH{XbsS;8W%8q)Ju$7HBVC z5OqcNtp3jNBl%CTh=DFdHTh0YZ!2T$C5o0fuv^OM{aO40W=7r`s5of=vaF zQHQwBxv)x0{FBR7r57?rvCL~RUu=_R?b7%fd4rHi@HWxkndNZ3UXlRqva3*`qeKPa zx3AJX8_9w|kTs#OX&~7c;9XBLJ{%cYhr%n~N|ES-;h91X5~YPu-fNTpL}|Z)&=!?+ zdm_{zvv1B;EC1A311ev5-8N$~%d5}KwT8!=WQ@Ctsp{LnHSnZ3l6+U>FPEgl`La!S zy0C?ZhLs;IdnW-oW&4BMzhZGYN?Y~W7=xb$DU{-dlU00XtzUn{=_ZQeEW@HpTvBJT zg688IN2~EhDV0SlhRrr3?pqa8PB8Rqg~o87&|_y$ouKc0``h&W?|g?`7zD zXgJZ)u1kvlF1EMwJS@}b^d#MSM_{;*NiMnx)Jf`78Vxi=*iP;JB9XHJE5o9ATvO+ z3a@G2f`)sFoA0dQ)tIilzOt{cTpKB*l!aHD??WG;nw%`9@1+%o4<={-eYFGPswSCt zftBVs<$bpTL$a(rRV;DRI0wR=mn60Kpc_=#0^Vxe=3G%2(Q|CY^UBfe6~t?5PC$+b zupgk`V4CV-iG!&HhIXnPyQ|PrMWLTr_6nw#7HEEXk(N1dT#*_a{!T^X1D!ox41jb{ zZ)ZDo_jS>_bwji`f02gPu3_7}gUSoD$i=sOJD;QOEpJ%XfFV3y1)*-Rgjn%;b15WK z#4L7e;w*z9IA_gB#IWH)^$ggmkb|T6gb)h9R2rQi4oOmxKU)b@GmC}cRxUcfBv%zU z|A@nLdU(MOD;mO?YHFS1T8iDd%)K~cL-6g&eEvVJ3duBFFEZ+aSaa`z_bSZcGa6zm z{EL(O!=bJwK9QriA+_zb4Mt+%e3xUGC_=NAJV8_V8sZ*MP;ITP^ys7Cp^mm9{qQ?~ zfNs3*272Q0$Ax~N!tSbMO|X^H!U4iv`>vyR{?i|%_r34O>CgZCqx7%;?Z0IO(4}Og z$V91Yj{${abS^YyG*6mkQctYwsGhp-zL*Ge2*Hk_@r}7fxU*M)7zv&iuS1!`g%@ZI zSqX5rLk|-`xVMTo23&uE4JE)fLVX*A2_6PQGaUmxkIbvR=RH5YzeWMCX}2=y?S)@?zWp&Zc_3I{^~8JBbERI2 z|904T^5pl`*HTQcc3k}vNh-0)Jz)Gbxt&P7lNE6S<))Sja@eKlIn+|9Xw@~msepr` zEgiCt(V?|gj%c~Su^JZOF;5Qo=odz3g|c93YLbQ*iga$aMrZl;5jF;iVJSz=%-Mn#%32L#FZhYHTjh1`zD{Y<;1kuV9Ut!ZXyzQUUH9qy~ z$JLbv#>fl7YuSv=*O9#g0xN}SiP-Q z4va|=8?t9uup>jp7ZE{FBcKWk-)GP0dyzFZS0kXavs3N_5D7jHR~do3(7cIkJSEL4 zF^ky64cS=<{1#J^+uq=I;OYiZ#zueZ(-w6ZHm2D&z#mxzEx8|ChuO@prX}Kb@zte=AC^zj9@*n5L_)r6{BHT;q*rE|67>S3HvigB2`Mk4Dd$mRYFhIN&-zJwelBm+AO?M9oqAo2ZZy}$I(5#EQ7ISE z!lCDB={Q3)IYIPeN-*~XBX%i8fDeX-8H^ekGNEDV2{l2iyA|n>KD{q=`dKIj-XzLJ zv!sKMG)cU6VT?aNDZDk2O;+HGGGa<_Qyb>jegryE+4RJQG%fOF;4TS;6mN}CoZ0ZQxFN=8m5mQW_c$N9Mv zWnnvpR#RA7Zk>HAj8lu`s){nUz2ejJGGpjd4SoKyoa?HVyQpXREz3(>VGdL?R^HAQ z_{B@3^k;wZ*VNbBMZMi!G|<~mxl${A_3Mw&i!9_1ymXMpCdOEJ7O1PYPwuB?)2daG zdIYAca>BGT)b8OTajPgE8*m#5AKVjx$7uZ>`$ZH{V|tCW-wI9J-d!mmZL8eX=}NJRv?CLKtoY}OH;_@V zCS~fRL|Z61&m#?v&xNKg7l%jL`Zz6l+b{fI|3dycZM`l(RU$paL zU%x0PKtKMok#X)M`T4OI_F9PIQ)6Wv#HRG+6~BHlcQq+#5}_F@AzCgqTVy}gh4Y?P z6#k|ABcQBwl~or+ly&hEZ^L_f0PzLS6A}uV1iEOJP zwKvpi^%(U)c~VYyX*pUGGCEh!^Zk|i>ox6I$9NHf{OGTm(;#UiJqgLX*M0$bfuEJ6 z5WtLu>I&kUVo+b`1cYv2NdyS*eRTfH>Y3L-tDt#ScSxGidoqQWV*}NGD zhnhB)KV0Uo?0u}TK(Y~}Bqx-vD9^8SBpZ-?2>n$y!4>Y?-(%wkuXd7n^;i9dHM|jv zv!$&~D?s_*T|GU5A=iC+s_x{*^g+Fu=DXAPfX7GmR49>pXkiE|y&#r$nb))@h>KNQ zq{=jQsREPS=v;$Wm%?m1qTX`P+=4 z)U;kRhR?MxVau!`m!vC4R&?a|tXIU>dNji~K6WBwt4ksAmJlEXoB9&3lM~ZCy2Y4g zs%VHEqva68Gemp(Tj-rTI_ZY>1GJ^3L__(QTG)tKsFYbTEXtft&#*Tr7*8u*uJU?f zpiTQeb8|<#4Aa6>8CV$~Mx*=aA9}6AG>X0;|BI!5@S7VV%#i;BIeM2nSfZbag7w zhMVuE3t#y>vHIfc&Js1b`?7aqFW4!ygaV)E8^4yhyXuj^9KPtmAP~QKfvE~*DH=aS zY4NtCNY*tw1AQl-&0J>GgXCX#a+8>g&nTG8?>=#WKw;7HFR3Um>Vz z?=`lg*~}SAQF|Fz$Zizy{jZ)4_44 zK3ZZdzrg3Mp1MG_g=twQHQY?s0JUr#63>7B+!)V4gu5)T*g7sbwcST;d=TPGOKQdAd}76$wGPSwoVQY?3oksU7C$m(<`#)8_me0y!M@x% z&L|q!2o5wah}dT&G)&U9ElfYT5aQmwi>*lkTwHkrQi6V59* zGEVl4F_2hkE6!PDFDXMtAx35?3Z((sElW7$toHI%PSCeMhImX{LdlpegW^}aW+0_SAVXY!* zsg+oTpqcVXrn58UA-hRpIx?`UJk!-JsO%@QL*icboAx=I^XBhg)8UQ2?3dlE#eA;y zFry6DND8X-^(7v}GD9xD!`B+d!Ef*Cq&II{NBwOv_2t>nyLgCBjAGxmQd^;e;(Uj2 zZXzZZ2nk^*g-L}LEt*@ij)nGoNNmj0MaJ$=UN}$H^GmcG)!6W;(%bj!qF?{XpP}hO z3;pWv{ucf6kN+qQwikHqEKBteABkOPQ=G`Xglw=G5HK}bRrYQ5JufKt4Y*gVKgqY`NG$nFzMwNrG zCFl;;!h|5v_)%bsF{Xr=OD=EtSQ3~rYS8AxSDUU}8*vgqO91x7@1lh<#{t>&GZElRnN^ehu!wy&E+Md|&L7{Zy17i}0MJ=!(T7f}2A6MlMyB z)?_(I@CBbU?;2<&R*rLE>2O|PL2~JO46F?xdA@n4)rvj6Jwi~Y{b@BOAhvlF*}qff zMo*FBQ(t4}pUH_y(9S{Iwo)4fWmGtl5S^84OD2;dxi{wpydPH+j!rz9dIM&ij^^qG zZ2qW`pH-Kz9y|1*4eGDPF@-=9M&;&a?x*TccDh56WgD}#D^UVnaS3XuV z4B~W;+v@Xoi2!~L*WtMtu@=MJF=;SSdnLf8gNUc=vLwTEZ( z5R3#(7nSr&QW!03MskHRdGY9%3RvdY5w+?Ci!W-DsI>2Mq8NgV*{On>u3B~Kk8Ig{ zc!ffdtEEC^{eYx2Jutk@yRDSoiwJBBsv>$4)eXxvSKLbw*_?G}>1iInYrc2=PaLJ? z)B0JvZ(7ZgYQF#Mf3HMWaOLCGZL`;MrfXFySDTM(Id!A0nDJ-KeU8-A3>u4Byg)`p zFyvz)ePQ9dM5D*k>R(RK2#gwn`RFqAZ+d z+-UtkBShzgjBt_GHE&(JA}KRq&SFH!(XO)*6@Wp+vbvzL+DYPx^bZ~ftMvhl$prw;qc#Y)S zL+WB2erTJp3oH%X=LZYnc2Uuw%q-vB6*4rvUY6E1(Og0ZnN>TB&1QpOIj z5QudRJRHfFg(4-OrfB)PTILXD{17ST9$0acQ^79KO+AHB0LSF4(lwtm4w;-~)>xAR ztVV-`r029vnlpZAZzTsYtthl{)D#fP%x7bIQ*_O+j6YF8sVkk$w84gx>=zUIX~m%D zw@Ejxzkli8WUgYa$q0|Ecr4|@Fnrip_5wB2QrzA1yZbx!-b|p1K@>@onbnw;(|GvO z>VF)ZgOg+nyS_K7BHJ=e$}rs3g-9aQ<;%vp8D&y8ZTtYQK@cpKmF~eq9=@xquMSoe zBS<`jY-*~PbU~J?*=3CcpSsw%MpKpK5&<3XW`=;DnVD$_t|q1Y&g1H;h9gRAKfJDy zjE=xbKzN@2?kg3g210w>D=n~;qFC`$oN&gccLX6>v*I}MGBRF?v-`*zAoid#W`Vz% zRgSf_jDSFxS?7{7n(P5bE1&aHI%g_BgBDao@{SY|I* z7KNHXc=7rCljCEwVJ8RdM=sOM@IlHc97CGT;+t>y-Gm21CJYYKLJ}~=XTUcT+0GLo zAFH5;&=z6NKbJ0Puog-~){ec8->pSbYQQp4rn9><{Ly*W)=vtpv>+NbouieO`!&d# zmDamku`zw6Vw%&P+2nx*cc1`_@Qa!^g5`MyF3a*4CD+VeUxbZS^(xJ3AQ?DGV7ciq zl%NqZ#os<`vdWQcYyT{-Y4fdS$6cev^ct>^J@d7FA(kE;i6x!6O|jT{-6A_?Zhn?A z%0)>tl=qw$3Ra-P#H!H?oSMvEpVL439`4AnipTH+ZR%BFVxSjH64Hr3~!n zB(N_nCF5A2J@AP%jIJoblid^)zHhr+Fb&>Id1q&W4 z0=T*_)q-M(O{hx_n?W=4i`r+kqf7C8oXfu#8IPYl% zmT{wtF`%@lDY5K4R%#xD@8#)Z7O_iI5@<{{U6N%&`T$VOP^NS9)6)M|<0HPxF|wA8sgMZ56%ssE_%UTXwj@9 z;wM^AqtOtfB+ij=$!B0yXZJ0+>ZqxxEz|CMUr!Ie;mx#t=MMU%_y4%0nt~8c;~ceQ zU&O{lo9qW`@=*))-xycGU1*$Lt^fpy*fX4`0Q$UE9&3rjS~ zYjK1H_q*S)n;zc3mcj^B1wG_gLAwHjD*QXYP@y({mX=b5hNp+AvxAlI>;x@L%~Q+~ z^8yDT=5ot?4`rbrK!H`B4Vd~8Dpb9dF4ndAG01|E5sOr)3$M&_T9^cDr(iAjWTAM$ z9;%zoSVzO1NhBI(i>zkjXD# z|9AFt`nZ{ZSwKlfNg_mOrCjj*9?8qA=*!jX2m;Ew^#892c1q{kZ+aDQmKNvVGsB?H zQLyFuf~2gb;>xd;dg7WluNf&c3Ij?pbp2|Q=j~Psq3j(hl}6e{OeiM2eG+T26f97r z&>|bl^Nu%IpmHA`0&KQmR5>L$J~EE^drQ2fmTGk?RMVB@NycP%ngLJ z^j3(nJ%5#JrwBGrMkj{udL8}pfBbFwtIz)f-ODoST|f7K(8vGhf0Z_fnhh1ox=2^K zGeAu6QgCI;SRf0%%JOTT?*YIDlxwvb)BFOD2nzC9phwnH5V`2m1`^}QhA#}Oi;FWf z$rJPS=MU0_Q!i6Tw`0Y;p8ERxsiUKvvGpSD&M#3!N;zN8~w zEa`(*tyzJmAds>_-7JKDqvy}*cPqy0PNoD#FDp%fWZE$H8Ri>hOJYu@FEomim8I}n z!XK=FRIc^#X>#JMB($fgHSZ_cS+jx!b9WkW)5ABs3R15?kxBA4PW);yfXqS`qb*x_ z;x}^|bxrK)B>y`R0+}ozS|PjB%3s$o2#waxs~+}+*GCe&#G(9~nLP_WgGF8exvqsvx?=vk zHJmJz^ixsB;s}~cYBNgRe}*!D34vX-%3^R}F<+wVcQbzdV?RpsEEG@8FVLY&7wLUJ z`F`qM+eLr)p$`d^CD#oCLt`RJ{E5I6AhMz&eIFx_)DWbdLb%V@ENC4l%3Tk6Yyf#v zNdw>rbGp1Flyr7=(EU5wIG|pplb0$qb+#tWJE%qpOnCRYHu~U?eLs~@HdJ1qZ#?xB zh1E&6&>eNL@W1!AyJ*+i7JB97=cQz*kms1v!n`!$&XILe5uv+mO{}}R)l!G>#d`>h zE-n~vfm6I)+UDg`dI1mOVH~9CN2|U+KbI~7uSn4036yH!XYjoyvsTbmHmaZBEFX+4 z2xHX?Gn>?1tAz32CraAvWlPBYwe&r8$^1KB$ol|iR>-9So)WL`F z?I4tko$+z_fNHGip^;&tL7h_Gne17808wv5!)RLJh*z4C-B-U!e~l=aIH1_IYx}ZZ z-J^fb^LhtY|3>VUACzf8bR~ruXaF2gOdNTE?C TJhyp>C__u*<1!@XozN0QiYtn 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°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 z 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 RJuG4X0#8>zmvv4FO#lMH;kEz( literal 0 HcmV?d00001 diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_arrow_closed.xml b/Week08/OneStone/app/src/main/res/drawable/ic_arrow_closed.xml new file mode 100644 index 0000000..34f9759 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_arrow_closed.xml @@ -0,0 +1,13 @@ + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_bag_circle.xml b/Week08/OneStone/app/src/main/res/drawable/ic_bag_circle.xml new file mode 100644 index 0000000..8a14160 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_bag_circle.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_bag_simple.xml b/Week08/OneStone/app/src/main/res/drawable/ic_bag_simple.xml new file mode 100644 index 0000000..cbe132a --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_bag_simple.xml @@ -0,0 +1,18 @@ + + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_calendar.xml b/Week08/OneStone/app/src/main/res/drawable/ic_calendar.xml new file mode 100644 index 0000000..233ed65 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_calendar.xml @@ -0,0 +1,9 @@ + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_heart_straight.xml b/Week08/OneStone/app/src/main/res/drawable/ic_heart_straight.xml new file mode 100644 index 0000000..4fabb40 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_heart_straight.xml @@ -0,0 +1,14 @@ + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_house_simple.xml b/Week08/OneStone/app/src/main/res/drawable/ic_house_simple.xml new file mode 100644 index 0000000..64c8240 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_house_simple.xml @@ -0,0 +1,14 @@ + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_launcher_background.xml b/Week08/OneStone/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_launcher_foreground.xml b/Week08/OneStone/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_list_magnifying_glass.xml b/Week08/OneStone/app/src/main/res/drawable/ic_list_magnifying_glass.xml new file mode 100644 index 0000000..38de4b7 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_list_magnifying_glass.xml @@ -0,0 +1,35 @@ + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_order.xml b/Week08/OneStone/app/src/main/res/drawable/ic_order.xml new file mode 100644 index 0000000..d1e92fd --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_order.xml @@ -0,0 +1,9 @@ + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_pass.xml b/Week08/OneStone/app/src/main/res/drawable/ic_pass.xml new file mode 100644 index 0000000..6fe2cba --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_pass.xml @@ -0,0 +1,9 @@ + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_setting.xml b/Week08/OneStone/app/src/main/res/drawable/ic_setting.xml new file mode 100644 index 0000000..47531ec --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_setting.xml @@ -0,0 +1,9 @@ + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/ic_user.xml b/Week08/OneStone/app/src/main/res/drawable/ic_user.xml new file mode 100644 index 0000000..c8eccd7 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/ic_user.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/icon_back.xml b/Week08/OneStone/app/src/main/res/drawable/icon_back.xml new file mode 100644 index 0000000..af62026 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/drawable/icon_back.xml @@ -0,0 +1,9 @@ + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/img_blank_heart.png b/Week08/OneStone/app/src/main/res/drawable/img_blank_heart.png new file mode 100644 index 0000000000000000000000000000000000000000..ca7108f3ee98da081856db5018c35d0c82d74175 GIT binary patch literal 2669 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 + + + + + + diff --git a/Week08/OneStone/app/src/main/res/drawable/shoes1.png b/Week08/OneStone/app/src/main/res/drawable/shoes1.png new file mode 100644 index 0000000000000000000000000000000000000000..286ad637b0d58faa0586158e5ced1147b18a3caf GIT binary patch literal 45806 zcmeEtQ+H+G)AdPCY}>YN+h)hMot(JibZk56usgQZvD2}Qj``&Geu($#f3e0MwJ!D; zyH?eznse5UQc;pdgu{aa004-xG7@S402tqY3kK?ICqgXG;OhbFETiiN0KlXFx4-~d zIXGXNU~X#CVu0Eyf|D-;!b((86aZ*QfPXWA{IZeUC3W1@oh;qGOk6DhQZ`l&CV35M zW&l8=jjV*IhBw$n7c|IF+k>fdsx82`?$of6K{v^7gmB(L4sHydvXg@OpfoWIWlsF* zUr)*>stgR{FBP$R7nVO8!_D>+ie2eHIJ&0)243-gzASCN{$=0$5&T$BQTxaiYI!O6 ze*S*p%`@QHrC5j;HJ|JThqpG5soTO&*ugY- zDjJiq`y*%ztX{G*UUp;QCiJc?;e%1I>s>V~FRMg`LTt!2v*yiRHl;?#Cp88bamcgJ z%Nk8>;41HfC(s%CHtQ1I1h@W;X5Oju(JVqhCoCpkqaHQ&&FygK` z8}7uw&raL$!e|5T{?BQKS{C_}!T}EdT>xt6##Yez{K8s8PP2hOFXHs%%*NKUQ0_5t z!BxPc-@@XCxP_%B)^Q-;Ab4)7b{&fhB^oRq4sNkizyP1ZcKRqpAdpB@7BIc65q46gKe8tw>|kJj&$<)yS|-t46_ez-|7CcF?OA?whN5`Rp_E(wXgn zCb_ZetaS=ez&UICZB_M&^2dYv-R_V1lnT2dyoW}lJRwD!<{{o$n4x4?vE!Vp#^jI- zFG)|K6w7({iLAI^@3nPvhDI+GgquB~yA5H#=if2@i;_Axux#LHz)g%%N&f3OOt7LM?`XDC{oH#y$S^G9 zx+h#LSgn$0NR3m2SYAz8oc;apPwn}nVZOD-l4O4&t*Yu|D&2I4RZslqAvVdPH1?cn z(>Qpos&4>SKhLYet+zj0B}+?MU_2mVfP=d`2Ml`O7N9qkUi)^Mt;z&s_p`eEZji(9 zmkqANW^0zG|B1fF{HBycXOOxwcP@|r_oW(ranz=NS+|Y4-D!eOU+0QGZu5?o~ zT;Hd4ZgndwY{enF3Y&jJ`{jD0j6PV$Q|b-=>vEdW4P&CsPFqT^$miHB|2*a@t;KI&;!`r*N_c; z4(rWvNW?-6>&puZGYbnCm@$%i4W^KW{x?G@RkE_-NsZcA{JA4l)=@2tH$5(vLG$18 zh=Lw)x=cQ8Y~xa__xDLWmKM~+&47|}^Bl85iKo6?w}Fx&`Afr#xkjd%+VsL6rXa*q zY7y8|>cB}a70tc{$MzGd(~FBz$r!ALtX0{qkB1f;UthgmXH(MN7tC&mmLUκd9cI!W)&*-XYhrC-BJxI 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 literal 0 HcmV?d00001 diff --git a/Week08/OneStone/app/src/main/res/drawable/shoes2.png b/Week08/OneStone/app/src/main/res/drawable/shoes2.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf50b1525afebbcba6fca8c2ea739f10b0706bb GIT binary patch literal 37216 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 literal 0 HcmV?d00001 diff --git a/Week08/OneStone/app/src/main/res/drawable/socks1.png b/Week08/OneStone/app/src/main/res/drawable/socks1.png new file mode 100644 index 0000000000000000000000000000000000000000..18a863fd8f5c5eb1850100f97eb9c1622c29c05c GIT binary patch literal 13308 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 + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/activity_splash.xml b/Week08/OneStone/app/src/main/res/layout/activity_splash.xml new file mode 100644 index 0000000..b5b4ec9 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/activity_splash.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/fragment_cart.xml b/Week08/OneStone/app/src/main/res/layout/fragment_cart.xml new file mode 100644 index 0000000..77c2e60 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/fragment_cart.xml @@ -0,0 +1,46 @@ + + + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/fragment_home.xml b/Week08/OneStone/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..a51beb7 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/fragment_product_detail.xml b/Week08/OneStone/app/src/main/res/layout/fragment_product_detail.xml new file mode 100644 index 0000000..6648a42 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/fragment_product_detail.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/fragment_profile.xml b/Week08/OneStone/app/src/main/res/layout/fragment_profile.xml new file mode 100644 index 0000000..63bed9e --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/fragment_profile.xml @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Week08/OneStone/app/src/main/res/layout/fragment_purchase.xml b/Week08/OneStone/app/src/main/res/layout/fragment_purchase.xml new file mode 100644 index 0000000..4ac452a --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/fragment_purchase.xml @@ -0,0 +1,29 @@ + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/fragment_purchase_all.xml b/Week08/OneStone/app/src/main/res/layout/fragment_purchase_all.xml new file mode 100644 index 0000000..b5c5134 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/fragment_purchase_all.xml @@ -0,0 +1,11 @@ + + diff --git a/Week08/OneStone/app/src/main/res/layout/fragment_purchase_sales.xml b/Week08/OneStone/app/src/main/res/layout/fragment_purchase_sales.xml new file mode 100644 index 0000000..caa57b3 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/fragment_purchase_sales.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/fragment_purchase_tops.xml b/Week08/OneStone/app/src/main/res/layout/fragment_purchase_tops.xml new file mode 100644 index 0000000..c7e2c7d --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/fragment_purchase_tops.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/fragment_wishlist.xml b/Week08/OneStone/app/src/main/res/layout/fragment_wishlist.xml new file mode 100644 index 0000000..07c6890 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/fragment_wishlist.xml @@ -0,0 +1,35 @@ + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/item_following_profile.xml b/Week08/OneStone/app/src/main/res/layout/item_following_profile.xml new file mode 100644 index 0000000..a91378a --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/item_following_profile.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/item_loading_product.xml b/Week08/OneStone/app/src/main/res/layout/item_loading_product.xml new file mode 100644 index 0000000..ab4c3ea --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/item_loading_product.xml @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/item_product.xml b/Week08/OneStone/app/src/main/res/layout/item_product.xml new file mode 100644 index 0000000..73b3316 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/item_product.xml @@ -0,0 +1,37 @@ + + + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/item_purchase_product.xml b/Week08/OneStone/app/src/main/res/layout/item_purchase_product.xml new file mode 100644 index 0000000..42fa075 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/item_purchase_product.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/layout/item_wishlist_product.xml b/Week08/OneStone/app/src/main/res/layout/item_wishlist_product.xml new file mode 100644 index 0000000..e8243e3 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/layout/item_wishlist_product.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/menu/menu_bottom_nav.xml b/Week08/OneStone/app/src/main/res/menu/menu_bottom_nav.xml new file mode 100644 index 0000000..4522a63 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/menu/menu_bottom_nav.xml @@ -0,0 +1,23 @@ + + + + + + + + \ No newline at end of file diff --git a/Week08/OneStone/app/src/main/res/mipmap-anydpi/ic_launcher.xml b/Week08/OneStone/app/src/main/res/mipmap-anydpi/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/mipmap-anydpi/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Week08/OneStone/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/Week08/OneStone/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Week08/OneStone/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/Week08/OneStone/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/Week08/OneStone/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/Week08/OneStone/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/Week08/OneStone/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/Week08/OneStone/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/Week08/OneStone/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/Week08/OneStone/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 diff --git a/Week08/OneStone/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/Week08/OneStone/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} zs4%E?srLW`CJh0GCIK@hTkrW7A15Iu%N&?Q^$0+!{Tv&|t^Y@u%!L zglTg&?Q5q#ijZ;&HBQ?FNPp;k3J5!&{^+SGq?AX~SiOM9jJMRpyP?RCr@z38AQyy&WRMaC;n4una$~nJKSp?q|s8F00c9?Q! zY_ovvjTFm+DeQM^LXJ#v0}6HRt3R1%5PT*}W!k8BEM;Jrj8dIceFo2fhzTqaB3KKk zGlCLI)gU25(#u6ch6GeB1k@eHq7l{EHXv0n6xE#ws#ri}08kkCf8hUt{|Ejb`2YW* zvg}0nSSX1m=76s?sZhRY$K=3dpJ+y*eDULGnL2}4>4nvW^7_<~wIM_5fjvwt4h1|g z)g0Z6ZFq9j<~9~b8((~TN{Z?ZQfw|is&Xp~AC61sj;xItKyCHdI|tCMC_LbXF>~vR z=w6V3^H=W4CbAgR4#xw}ETTwu2guW~=Crl@SMXv85jQ=%y!s^?m4PI0My7MWICO;- z175jm%&PcPWh8QdOU(#8bp4!N7ET-+)N}N2zk2)8ch|4Q&lPFNQgT-thu053`r*h3 z_8dI@G;`zn;lH$zX3RzIk`E8~`J=BBdR}qD%n@vVG1834)!pS1Y?zVkJGtsa(sB~y zNfMYKsOJb%5J(0ivK8d+l2D2y&5X!cg3BG!AJ}910|_${nF}sC1QF^nLIhzXk-Y#x z0)&1iK!O;Og0Ky!;`b~v%b$`S4E&fB)1NB4v@8wr( z&+NX4e^&o)ecb=)dd~C!{(1e6t?&9j{l8%U*k4)?`(L3;Qjw z#w7FS+U(94MaJKS!J9O8^$)36_J8;thW#2$y9i{bB{?M{QS_inZIJ!jwqAbfXYVd$ zQ5fC$6Nc9hFi8m^;oI-%C#BS|c8vy+@{jx6hFcf^_;2VRgkoN(0h!_VSGmgNPRsxI z8$rTo0LaYq-H5i&gtj81=&xU?H-Y2==G@uQV7E`@+2E9XQW@{&j`?EOktk|Ho{HU>ZqDzvgjwBmdex z&uZNd2C1h{{}2k6Ys9$*nFP3;K%u!MhW`uZy7Sn`1M1zs@Es&;z*Z>Gsh@-3Fe6pE zQD2@cqF((NrRevgvLsvM_8;;iNyJ5nyPyy?e!kvKjGj`6diRFBEe49Oa7wwkJFV7Z z$YT&DWloYu-H?3<0BKn9L&JYDT-SK~*6c5pi18P26$JESKRYj{T7Zk6KiRJcbvOO*{P56Q6s8msbeI3>|j>K9}Q9UBeq*inXKemCm`-<5|-$ZyN4u$(3 z&HcvqehFD%5Yrmykg-^d`=BSa8(i=>ZoC77^mWY{evp(km@aHqhUECBz76YiR+VYK zY_avFC~V3$=`6C4JhfHAQ@DZtUOwH`L;oYX6zK0-uI^?hS$ALfq}A7evR;ohJHij} zHSZdW?EKv9U1s4oD*<(0oQ*;MaQ6@cvGL zuHCPgm_NhVsgp^sfr*ia^Db}swo1?O(_Q2)y+S$CBm+g=9wCOUPbz(x)_GbaKa@A7 zuI&!ynLiZRT#V%_y_-D`0Z5lT*auoe{(U5NylTzFSJW()W-#F6*&A`LNO1bV#Y;QJ zSbLBnp|B^dtK|KIWC|No>JjWBWE@n7O)x{&^E(WMeMvp57#qA8m* zeTow*U@_86B#Fm*rxyYu5PRWaWHx8y> z*qmHEp(AMDl0v)ij(AY8fnH=~ZwwjVAbu*m5;xPfidh@ov6d8g zfJsi&!QyK53Es%sC39ts;54V68koALD4b|%tNHW0bIkZAJKa=W&FomJSEDT>W1xIX z1x%Z>AvNIsSPLcn3RTcHXb@KB?cuM)=x6fcIx>&(GxqZ8w3p#jJ(GVgc*`c0HG}dv zIop&Qim!K1NFwic%07KcjWgHBPUkq7f~lj;TPqVGTiT#cUeim>;nY`>h@a*S{qQex zQ`z62WK|Mj)Y{tfF{;T4P;c8$Q|KU?Joh zIkA^z%X7z|r>4aTh@|StTi!-r1D!g=zb#3d#{{&K3CqE$Iz-UH<%37c zRfkO`&uM%#AD3PHv`g5t0e^O%nVL0d{Xlx^EjEC3#skF@`zl-7PF^0oxW)1!C!JxR zWvuAHH?)61FKA1QeT*_sY7;_Id#!GmV4n`MO{~sv}VLSK` zXRw=Y=Clz*00B(5y^K;gCZMAzjT5+c3IC=)l(9VIDdatpxj3y89WwI|bH&$!ZEvp` zPR!T@#!(|KfI-w?!&+7$N3F6>tD{YO4Qg$d_`nNEdfVCha9vaPn0jI0`)`@*72hq! zpU5ND^P*RoEkbD5o#az(-g=Y)L>HH>Oc%}$ zT3Rs_ih0;4+Lv4Y;@Iv(;fUbQ=i-G(#>vghec~*j(I#r|5mqFiJBpzi&hzEcD{u$< zRsm0BVYn=pT;0>R(itW|*D&;O%bOc7et9ACaH#J>z3A1A~6fdP>pmbM%xzm4>|;c_?B+%sl;Qs2{t!60$^u zH1t@9^6>;?!FuusnISi$f5CL&;z?EqJN$FBuWDA#D5`cy_UvCFIVvf{c?4N0teh;d zET$7aVbj08KTQS!x?Nd1Is8q8qFzs}a=!@nJ;7FSfCY^T@D-gpw`w<6e#X3+;O}1h z$%I!M)0bg|EKUA04Qjn@+x{Rj8vt6Wn!R|3A92z}^$KfF5(#CWr4y#~re1CN4i4w0 z#GsypBR{xA3Er7sgAi(|}1-W?s~n$7?K|9WL8kpVfw-;#b9 z+mn;=ep!162U5R>_t}fOt~tE?s#m( zO-S$7>Ay6*hHdZ)7_oU915WYYCIX;hFI-U2EWYX!pllONr@Q--2o~`!isi6vTPLJ4@(|o=%NHYjo0_S&q*UQIROw@*N-By@PaQ&;YxFZ0aR zX&}LeOEz);#m~Hwm^VAY8DK}b$F4bo{jMN?d!lxKPhNklzr^Cd`0f4oJr^z=I|l`* zm8AHm*fPV`0=lF3Pnnp}&J0N1X@}-D94YvmUabFrLGSnTz7Mu^21F#O5tN#CuY9Vh zUZBH=ez%h*wkf0hBtXJh1SN3d+IF{gzT7lp)j}n?03lt;XSQRAh7qd&v;RwTYDuQ# zbI2*r<>?x-G0@hM{;%{VBD7nLKt~D`T~-HAt5;h%i0_=Ifs=yHma5dhJ+QMG?Ux(a z|E?1CMy1!~oA`FP!k~iG=t&5#>bVdz=peT8HMB6Y)#7PpETtNryT^+Rv3vpJaF^zP z{H}0-LyV9Fu21ID%wO9f1IKlFr1p4c{o-?03vyB-tr5duk^&L$;m_|f$vs`^Sl{j2 z95}oY{LlY+=ZS%J+tZoXCd0*sSU7w^gjovXn+g7uyra5{cU49@yHf#Z^Jl-$9cIfo z+AJuxH$VLb=#+uBbVmUjnx zxb1pZ@-O9=AIk4@S)m6fJ2?{HrNYwwnL3a45muuNjr;6$O`bGEM0T4A2_S$t=86*- zcO+0mywg*j#A4mU}enR_!cGmIYQ;qwfchWtFEXL)AK%*;=j znYne+hS4EMy3S)C*mZ1KI>!+)0V@9!N6H$Y}~MJ{rYuf zz^KljIWvFi-?#?V@LPR&c6Nn{!=XM z>}-h$S76;$H{E{Y%@^zlmOl^efBwa%UU+jJD9UVukQ3ti_kH-?H*RC0?M1W%FCvMB zM_+v6fk$6X2sx)-p~B3&Kl{nscK}pNLM*qjtpaf9>AU{-iPKQZR8yCg!TY}Qg*(;) z)gdvCcB%kppZc$VdvsK@)3l1{&DG!d_6OHOS`y=ITLEVu`unSKA2E%JD*DVX{LJ}K z9l>hMRDqxQh0lnpGHpVYneX}eA3Pt|2v%=q;rt)``R|#bDyB)OXY&vI_@|*}h}G?^ z@aZ4_!7cQPX`!fW_?{oT1NTwHs#l5L-0`E|y@48<3Q^HFf8=Idi zpJYD%1MkII!~|7I^WGo)IF=?{>ACnjJ_WUi39C}!Q{QnheVJqeKKqq5^o5CBde(g9 zvw$X6^jz_^E2$wSw4!q5*RG(C2_^XO$HBn_55vbl44OnTTRwRaePP0vo{K)U1#99& z<>rq7V&V(<&@I%MFoN5zrY}sz=(*-L&}1QQ*a%`u25h{cFj===17eB_uGuzG&byQ< zrm8BJZl4r_E$3k|Wo6FW0-6M7>qac5uFQsQcmkLWGfeH74S3Z_rJ!jgN++!@i=HW8 zkyjI(oPH-+-N#Qc^-mpNO`bc6r=2-<%&Wy5K1vfFJB(L_IkpS6fY^NmuL8qsgj>MD zn~BHH9WM~32_3vd=W&B)k7F9q%stJx+b_L_X-4zr^LVUMCmyCTA3sWtkvsmME?Xiy z?xOSfB=_$oY06~J-HcCq&)qcW{j;uP;?Dm}=hkq?zh&n!;m((-G-u_t|6x399Q;>A zgNpxoJNj{u|MFDH7Rhq@FCAl0dE|ddnl!oh9{Lq?@JDoR6L;C941IK`ISfdE$4S zE0AUQ8+2|Ncl_q5QkSp#AODp~(^mfP&%Au@@|TBQwoP`UU+V{6u8|)6ZA{~uKmQ*M zmrMTDU8S~8Eqi{^v0Ug&5Upcm#y7Z1(RbgZAG8jB$eRwCspQ)>5;U)oGZ&E5aeR*K z8Yt`Y0$G))Yd(Y3KH}tA4`-_QmNke5hU_|nq=xtyjwW(_o?itz>B>WM&^63bNdQ)k@-IgDHW*RW$Xo9#RzrTrCn7L2H{9Amq|qNg@#eZY=|P zCoI?2s+L)zsM%WX(NbVEY^`C>lFjIBYmJ6@DKJ0ZT4&F&WHW!dwa%QzOG!?jY_2(S zDcEzZbz*2Q!43|z))9yOP9X1Xt%DXzwY(3tl-TR=Qb_MbZYRrooh;dYYmS!U_as1(=YVB?Q_A|tNu5Ut&_q3jbfDM zoFxT^uEuH`nX3*sB%K?GuHUkweYReBwnHqh3P)~`+s3+Tj!rDA1e)8vuBv5J*IsxC zkd^~b(aGzArj08{>cnzOuy04C+C`}gb|Yz-1avxeWzev3NzcHbz_&4W@QCr$z3~w=8Ua- z`;vfG1~BP8CyLb=F7t1am~ph_#|O%$khSJ9%Vtcn)YmpgQxF?xM^_Vb+5fnpB^W0I`f%X8gb9#X{Q-yJG0{Z56aWeI&zPxnf5pdJA38bM`cYnS#x)% z`n1tFf$i)W-hGm(f9mde^=X@NcV_lFb=P`4&CI&H=IArijGwdCk&X@uQ$5xmj!~^? z#$ROCI)V-~t%L%GS#wo@U27ddR`4`3)WoB{R-4snfNrfee|kI8^bu#yDgYqOwas9# zmcb`3!kRJ`Cr=_tq)8aMt{aGtUZsqwVlj6DgCGre>AEt&x8H_in!x@uwgExIh|-mA zjdaC(29~CTVSaaF7HPbql&*9Uo8P@f)>LqCXclr}peS7_1BQ28u9PO8Eq1@`l3q9o zkfKCaO2?T?ZyA6loW<#9_c^O=m<&h}CA!ineAD@=(gbq`vyT|tiJ6#^B1$P;;qax` z55k&Q?wEh#87niLo*+n4L@65J(Nz~=Ya%7^(miLb(E>A3B@|Jjl;FU&D>o|9#7PJH z?|ago!o;WC^h=|T7PVBg(DAB}72cyUS zb(f>Bwbr!F1eTCO5fpj<{PqhY5>143p?~5ZA5H40);=@M#MYvrB6gqHbU_!GSY??i z%s=>-ciA4*zOOZHds0a(kWewZ4h(k8h(ua7HX)Au&mY~H8KY6(_cb$_&fA@QjIW-*heP3%$d!m5^AdnT}`12qA^c@!g3DOwZ5WwE2?)-yU z!)Vx#Mtxt?FzFTwK!77sy7)sMzUd->w4^bxtpM2j!b1pjgyk zGKwWGeb4)^zjy{9Es&PU1}gwg?|J#L$KJB7ett9@4M%-nGtIQr0>Fl@8-yh`-+1ed zS6r}(MeSvgSoFmH*_WPu@i?}!AB~2?;i&IxrkNg~cQ9Som98tcq)k^|eeER|Zl77t za-TVUc;DNvzVXJ%w52+#weN?+;i#{f#!Oc&z?81*N>^e~ltRS%ZI@lR{rs()HmqG! zx*}ZrI-EZ}ckJMiy>A^oofwDfC~IH)z8{VHKGT@#E5I(Ll&+MnMCl>~AV7+>Gi%mF zkU1QlKASdR0B80!YhP<$Ywi0?W2Ux45oPfxv9QolWzJPD^weBfvo4SONxP35106sAmh(e+vAs0GboFD@PvNs)jNPvarhW}0YliZEg{Gazv z+JDIpoojRVPr<*C|BTq<`6ga{5q^8^!|0cxe=rZ!zxH3%f5ZO0cQ*Z<^$Yt2{|Ek0 zyT|*F+CO@K;(owBKtGg!S^xj-Z~rga2m6nxKl9J=fBSuNKW_dLKWhJKeg^-Xe`^1? z`TyJj)8E!#>_3Y?uKrwqq3LJ#SGU>AzUO|6`nR^u&3FNN_jGOc zw)Nw`wr3yIKhgcee6IaN=ws>M{6677%)hPwx&HzC(f&u~&)6@b2kNRzBDQAP0*H73 zq%McOmRk{B3i47qRe=DA*$&odrbEJZ*pV9XXa&p@wlW~@Yfs>V{yiTtplMhgM*-Bz zsSnlq&pG;z0OUN%$~$3=g1UF+G*>+17eRbBf3=y79J}KR8owon@$1Z7MIrvvWWH)34nK2SD)GsrJ{l z1Cl#oVo3A8qY3e=aF)qzms~FG#2$LzT=gs&aVMOj>(%{y<&O0cG!nCiESl~x=^dF{ zKvj8F1K8Ng171wwM5Fh4KoQw`_c6#y$(5cAm7e}~nJ#A*fx+c9;y#&W!#VukR)ugk zKp3=+;Ut+IYn%m+r4d*<`L2h%aDnX5}^!5R|H;(34AoVWjRx(msBZvk;rCI*|~ zdOijqI@9Z{Vu!~jvHW{lBa$rnl4+!s_5sfK3bCGk-B%iDe&@-}+%fOKU|(9?V1 zHE8&@4z)Kx!RAvAs z!Wic9=o#(bg?kc-G68-m(jZ`^=XGUXb)}t(%&~sjFnV^sEX%hSy6UKC4iOhgV=BHV z2w`4g7Y=s#Vu2B_?#VQ|hP39@eArgfX>-0S+dd&^mx0*wp}>)x;c4RUgxz%;oNe?& z-7-lJ@Y^2^C;=qJsxx5|xF)*pTGhch2B&kxtn;f!7=gznk}I3}Dh}(CoMXgA5-p&kS202!l?!fT3t|HG*rIP~mS* z$Wjo}jq3}z$Qq!9yrtd3fM0N629ZM?LU$nv@Tv9b7I;D|;0H2dsA~g7Z7zp1| zB)XmrkMgF6OQr|R)HHD^TE{Y#j!~SR?b`Xt3Qs`B+x<hxexYeAjMUWdZ-*n9%(1)Wb(n2U<><7&9dwGJmrob)4%H? zlQ%z+L-^$dFhhH|@u$%97Qz?*Ynh2VG@q|?8vY&L74&fs&_b&3$x&Oyjl~LQDRRap zJU4U*R+(2Dd!G+lh8!V{pT_UJn+^1Qg6$` zqkNm(a#hWyc6SP+p5=C4HL8-m`pO`5o~`-LI?_h5CsH?F_%?nDodmz&pWR20WTpJE z?N|wSzLjMUK8E)a2tI}Lf;+;*M|h3Y(U#>)g1>zk9|Hd}oZAa2 zLYBWBoSW!Ts!RwXr^8h+U*@{9{zqS^iH)Op<;r`Uw~nc}<^$V~_i%$GFjaG?X1@E|M`h)nekvFKt`Dh-f>@|0-`Xoq)o` zx;JmzDfOV9qCx|EVpogEe0LK~tGS?5$$L_i6P$P6wIsCQaP_;d{{N=iV@+8LI}o#( zvo*Ejy=IIn{rdIQh1&q-{EuohpVOjJ^Q3lD*YTp37$^RRgn8ihpdu5{Ct%5-KO!VL zcNB6dUajXI9jkm-P|i3~GB-A(X`P1Oqqb$tcku)UJw0w3GeUijb__#QT4j%64z%EeB7S?jlWwx_7&+EEvB|6N=kV}DwnyAlX=?j`) zmU#!$*^@NIu#n_d7;WoJV@*Fbv9|yJO4;n|BNF2xy(54RyB>t~8lUOUW$&2%Nwi1y zx6JxW88>U2$#qhl^6KUbtmg9}D0o5vYDT7kWJthLGkpGnN4T>{St^_EU>4;DmLF9o zr|LqsA8_MoNLQ=}w?8u!ziSZ@PC#Y<#9uJFo-ozVo6D;<8j^1$c|qAE3ZTE5i~zmE z$BU5lw6l=EWsg^y^;8>r9qH{xfL|~PZYK#md$zZ0?o11gV<*WSW~cgy2GYGQir%wf zt4iW8D+;s*;RGrmd(-T<@2&j(Cb9xhV*l-x`TpK`xq|7p?5R%5*s!69?2c!cC*VY* z2DE^9pvOPLU!1e}wA8S8opcTJ3`NB>hY=JQnL~QFXR4K8A$BqJnoEB$wn-%u@E6Mh zCfMF4kusv3N!(aHC}4)Xs^xoOwXd%e^6pi5|DZo=Q25j+6HlJ^7FodH6y1bMROR^q zGu6)fopS`h%Sw<;ZH%TEPf+#81-#_v+@8nlR0jLcIDKQtLleOC)6yLZgC!D9X3GgS zohwU{v$jl=quD#Go^hB{`@Qw*a%`(^jyT~=q^bWgGzRj;|12J55HWdCWV}EB|K=%N z3Nq-qxJJ`>^|1MNN+q}zTB&ooE3j==AgK@^UW<^oSbeALa2peF)Th6{@sj0KyMNHZ zksk1+MXN2tv+22A%cQOGpS9)77(uP9mh+!5T5ERLvF@b}$+WvXM45Z?-kCa)fb~f1 znVbTD$Gx-0Zxc`0D@YgHakge6SL0H`-vN_x?AP0>iGH0_EE&=v83hMJgaKAI0jJXm zVxVz;X<$v6WW7}fxROO7vr#YLP;;lij5VrX{;>7kK6TtOH&6|Ar^xo>00%+u$C4@# z>!jOt6*3><171+WxoZnKDTzJtDRw+T030;yI}~uV@9fCnei^I*j>Bp&mzP2d=FPb_ zCM*l_+$LDR3B*a!A$g#>xsrZvw0lckxmMg>0aQd7tPyN=t{dgXb;Ie+T8{fZH=gdu zM7Rg9c(kg(Jg0?ARRRl=AONFKrvFj)lTY$KfT%6^6s`mk*ABGhsce*LsoD>K{z_M2 ziPpnu+lw22PfF!CoId^6n*G4H(Ix+#+N{C(da7t1BYMGEaE#PdpOLxsVD5riQXHp@OX;`S`8VnpM~)I920w~<3|mo0 zf8~Az`*?2?H&gZ&*K&bRkV@qzvMlRHXys8*Ze2+1c?5o!^+$&MHxB@4Ee5cke52R! zmn7AZtY6ST%ixgU5)%$%QcwHj7Es-Qu^kLAPwy%7pGBw_4Q9#da^W2$}axNHr03)_nw z5?yuNmXrI5HgS46)c5&}B)Tts49oU92>3xBLLy}FMUW=84DQbVq^;7_e7|(Sdz|&J z73N+M`rc2rt*oSWu#7S{*s~nH6HRHJS1SmzeXk|;CA)FI4bat3<%}nkB%;;?=F>B7ms9QSxv#@+69;@>QaR?REYX4&)=itG>rM{<{A79Rmk)`5ON#GL`*KX%}Ihk3w(RtM-WLt z?f&FLF}4N^yE!(pZ&Yj&Bc`~K0@4_}*0Om?wN|}4WJ>WL;G^H2*QpgEkGA~OET-Km zkwz|5{6dnz1U<2Pe9DNL>3g5FEIvp1jzP&2K#z~j%g6!7B;^zF+o95?fV{3mnB8*RMhCDNp>Am-3e@jNfMj?jHV$MWjk!DDKP zkAz$Y?Sr)!GUOX}qTQ5aMh|wq1uq}~joWyKl=b_LboM#wi{CMuz5x6BKlA-qy++cM01D3b7`uD z#l6M4pI;JCypO8JZ6?U&wNxR!{4oB_ zlV!x9+-&Qy6{%MQ{~yoZGkKiTSC`YS_j22~G;xUV855g2&C(zm^V!(wpcm@zn{%!g z4}JGo(sGZ1O~to-}le

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/Week08/OneStone/app/src/main/res/navigation/nav_graph.xml b/Week08/OneStone/app/src/main/res/navigation/nav_graph.xml new file mode 100644 index 0000000..aee43d2 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/navigation/nav_graph.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Week08/OneStone/app/src/main/res/values-night/themes.xml b/Week08/OneStone/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..aeaa294 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/values-night/themes.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/Week08/OneStone/app/src/main/res/values/colors.xml b/Week08/OneStone/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..82ba1de --- /dev/null +++ b/Week08/OneStone/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FF000000 + #FFFFFFFF + #FFEFB6 + #CEE7F5 + #BEC3ED + #B1D3B9 + #EB8B8B + diff --git a/Week08/OneStone/app/src/main/res/values/strings.xml b/Week08/OneStone/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..6674a85 --- /dev/null +++ b/Week08/OneStone/app/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + UMC10th + BestSeller + diff --git a/Week08/OneStone/app/src/main/res/values/themes.xml b/Week08/OneStone/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..730be2c --- /dev/null +++ b/Week08/OneStone/app/src/main/res/values/themes.xml @@ -0,0 +1,9 @@ + + + + +