diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index b89059b..b49e5ec 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -57,20 +57,13 @@ android { versionCode = flutter.versionCode versionName = flutter.versionName - ndk { - // 指定支持的 ABI 架构 - abiFilters.add("arm64-v8a") - abiFilters.add("armeabi-v7a") - abiFilters.add("x86_64") - // 如果需要支持 x86 模拟器,可以添加 'x86', 'x86_64' - } - } - - buildTypes { + } + + buildTypes { getByName("release") { - isMinifyEnabled = false - isShrinkResources = false - isZipAlignEnabled = false + isMinifyEnabled = true + isShrinkResources = true + isZipAlignEnabled = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" diff --git a/lib/app/config/configs/sc_variant1_config.dart b/lib/app/config/configs/sc_variant1_config.dart index 664ebd9..0c61b28 100644 --- a/lib/app/config/configs/sc_variant1_config.dart +++ b/lib/app/config/configs/sc_variant1_config.dart @@ -23,7 +23,7 @@ class SCVariant1Config implements AppConfig { String get imgHost => 'https://img.atuchat.com/'; // 测试图片服务器,上架前需替换为正式域名 @override - String get privacyAgreementUrl => 'https://www.atuchat.com/privacy.html'; // 测试隐私政策页面,上架前需替换 + String get privacyAgreementUrl => 'https://h5.haiyihy.com/privacy.html'; // 正式隐私政策页面 @override String get userAgreementUrl => 'https://www.atuchat.com/service.html'; // 测试用户协议页面,上架前需替换 diff --git a/sc_images/coupon/sc_icon_coupon_headdress_item_bg.png b/sc_images/coupon/sc_icon_coupon_headdress_item_bg.png index 4118bf2..dc569fc 100644 Binary files a/sc_images/coupon/sc_icon_coupon_headdress_item_bg.png and b/sc_images/coupon/sc_icon_coupon_headdress_item_bg.png differ diff --git a/sc_images/coupon/sc_icon_coupon_mountains_item_bg.png b/sc_images/coupon/sc_icon_coupon_mountains_item_bg.png index 4685be1..710e79e 100644 Binary files a/sc_images/coupon/sc_icon_coupon_mountains_item_bg.png and b/sc_images/coupon/sc_icon_coupon_mountains_item_bg.png differ diff --git a/sc_images/coupon/sc_icon_coupon_vip_item_bg.png b/sc_images/coupon/sc_icon_coupon_vip_item_bg.png index 560f7c7..f47dfd5 100644 Binary files a/sc_images/coupon/sc_icon_coupon_vip_item_bg.png and b/sc_images/coupon/sc_icon_coupon_vip_item_bg.png differ diff --git a/sc_images/general/sc_icon_add_pic.png b/sc_images/general/sc_icon_add_pic.png index 9e926a2..4d00272 100644 Binary files a/sc_images/general/sc_icon_add_pic.png and b/sc_images/general/sc_icon_add_pic.png differ diff --git a/sc_images/general/sc_icon_app_update_bg.png b/sc_images/general/sc_icon_app_update_bg.png index 78ab6b2..de83a6a 100644 Binary files a/sc_images/general/sc_icon_app_update_bg.png and b/sc_images/general/sc_icon_app_update_bg.png differ diff --git a/sc_images/general/sc_icon_avar_defalt.png b/sc_images/general/sc_icon_avar_defalt.png index adf3d2f..66d9f59 100644 Binary files a/sc_images/general/sc_icon_avar_defalt.png and b/sc_images/general/sc_icon_avar_defalt.png differ diff --git a/sc_images/general/sc_icon_back.png b/sc_images/general/sc_icon_back.png index 01b56e7..39bd21c 100644 Binary files a/sc_images/general/sc_icon_back.png and b/sc_images/general/sc_icon_back.png differ diff --git a/sc_images/general/sc_icon_checked.png b/sc_images/general/sc_icon_checked.png index c9e25d3..5e7faab 100644 Binary files a/sc_images/general/sc_icon_checked.png and b/sc_images/general/sc_icon_checked.png differ diff --git a/sc_images/general/sc_icon_clear_c.png b/sc_images/general/sc_icon_clear_c.png index b96c783..e908860 100644 Binary files a/sc_images/general/sc_icon_clear_c.png and b/sc_images/general/sc_icon_clear_c.png differ diff --git a/sc_images/general/sc_icon_create_dynamic_add_pic.png b/sc_images/general/sc_icon_create_dynamic_add_pic.png index ec3e0d1..5ed3933 100644 Binary files a/sc_images/general/sc_icon_create_dynamic_add_pic.png and b/sc_images/general/sc_icon_create_dynamic_add_pic.png differ diff --git a/sc_images/general/sc_icon_delete.png b/sc_images/general/sc_icon_delete.png index b21e946..b695827 100644 Binary files a/sc_images/general/sc_icon_delete.png and b/sc_images/general/sc_icon_delete.png differ diff --git a/sc_images/general/sc_icon_edit_head_camera_alt.png b/sc_images/general/sc_icon_edit_head_camera_alt.png index 79e9bd0..b51b243 100644 Binary files a/sc_images/general/sc_icon_edit_head_camera_alt.png and b/sc_images/general/sc_icon_edit_head_camera_alt.png differ diff --git a/sc_images/general/sc_icon_edit_user_info_add_pic.png b/sc_images/general/sc_icon_edit_user_info_add_pic.png index 5f20c84..69936b3 100644 Binary files a/sc_images/general/sc_icon_edit_user_info_add_pic.png and b/sc_images/general/sc_icon_edit_user_info_add_pic.png differ diff --git a/sc_images/general/sc_icon_game_num0.png b/sc_images/general/sc_icon_game_num0.png index 996bacb..0b1e889 100644 Binary files a/sc_images/general/sc_icon_game_num0.png and b/sc_images/general/sc_icon_game_num0.png differ diff --git a/sc_images/general/sc_icon_game_num1.png b/sc_images/general/sc_icon_game_num1.png index 6d1f4c1..66246a8 100644 Binary files a/sc_images/general/sc_icon_game_num1.png and b/sc_images/general/sc_icon_game_num1.png differ diff --git a/sc_images/general/sc_icon_game_num2.png b/sc_images/general/sc_icon_game_num2.png index 704988e..9cf9115 100644 Binary files a/sc_images/general/sc_icon_game_num2.png and b/sc_images/general/sc_icon_game_num2.png differ diff --git a/sc_images/general/sc_icon_game_num3.png b/sc_images/general/sc_icon_game_num3.png index 0ef536f..cb3657b 100644 Binary files a/sc_images/general/sc_icon_game_num3.png and b/sc_images/general/sc_icon_game_num3.png differ diff --git a/sc_images/general/sc_icon_game_num4.png b/sc_images/general/sc_icon_game_num4.png index b313a6e..7a09575 100644 Binary files a/sc_images/general/sc_icon_game_num4.png and b/sc_images/general/sc_icon_game_num4.png differ diff --git a/sc_images/general/sc_icon_game_num5.png b/sc_images/general/sc_icon_game_num5.png index 73c5ef2..9e7cc21 100644 Binary files a/sc_images/general/sc_icon_game_num5.png and b/sc_images/general/sc_icon_game_num5.png differ diff --git a/sc_images/general/sc_icon_game_num6.png b/sc_images/general/sc_icon_game_num6.png index f1efd42..64b0635 100644 Binary files a/sc_images/general/sc_icon_game_num6.png and b/sc_images/general/sc_icon_game_num6.png differ diff --git a/sc_images/general/sc_icon_game_num7.png b/sc_images/general/sc_icon_game_num7.png index 1617cfa..63ab784 100644 Binary files a/sc_images/general/sc_icon_game_num7.png and b/sc_images/general/sc_icon_game_num7.png differ diff --git a/sc_images/general/sc_icon_game_num8.png b/sc_images/general/sc_icon_game_num8.png index 87af444..75c60d2 100644 Binary files a/sc_images/general/sc_icon_game_num8.png and b/sc_images/general/sc_icon_game_num8.png differ diff --git a/sc_images/general/sc_icon_game_num9.png b/sc_images/general/sc_icon_game_num9.png index 1d8b359..f4dfba1 100644 Binary files a/sc_images/general/sc_icon_game_num9.png and b/sc_images/general/sc_icon_game_num9.png differ diff --git a/sc_images/general/sc_icon_game_numk.png b/sc_images/general/sc_icon_game_numk.png index 55d02ea..983d107 100644 Binary files a/sc_images/general/sc_icon_game_numk.png and b/sc_images/general/sc_icon_game_numk.png differ diff --git a/sc_images/general/sc_icon_game_numxx.png b/sc_images/general/sc_icon_game_numxx.png index afd1b75..ab7760a 100644 Binary files a/sc_images/general/sc_icon_game_numxx.png and b/sc_images/general/sc_icon_game_numxx.png differ diff --git a/sc_images/general/sc_icon_jb.png b/sc_images/general/sc_icon_jb.png index 8f67a7d..8d2e4f6 100644 Binary files a/sc_images/general/sc_icon_jb.png and b/sc_images/general/sc_icon_jb.png differ diff --git a/sc_images/general/sc_icon_jb2.png b/sc_images/general/sc_icon_jb2.png index 61ebaa2..b33dbe0 100644 Binary files a/sc_images/general/sc_icon_jb2.png and b/sc_images/general/sc_icon_jb2.png differ diff --git a/sc_images/general/sc_icon_jb3.png b/sc_images/general/sc_icon_jb3.png index e846949..d572ec1 100644 Binary files a/sc_images/general/sc_icon_jb3.png and b/sc_images/general/sc_icon_jb3.png differ diff --git a/sc_images/general/sc_icon_loading.png b/sc_images/general/sc_icon_loading.png index 6b06815..65d1600 100644 Binary files a/sc_images/general/sc_icon_loading.png and b/sc_images/general/sc_icon_loading.png differ diff --git a/sc_images/general/sc_icon_logo.png b/sc_images/general/sc_icon_logo.png index f534190..f5bd0ed 100644 Binary files a/sc_images/general/sc_icon_logo.png and b/sc_images/general/sc_icon_logo.png differ diff --git a/sc_images/general/sc_icon_msg_tips_close.png b/sc_images/general/sc_icon_msg_tips_close.png index 70c3368..46d6a9e 100644 Binary files a/sc_images/general/sc_icon_msg_tips_close.png and b/sc_images/general/sc_icon_msg_tips_close.png differ diff --git a/sc_images/general/sc_icon_no_data_icon.png b/sc_images/general/sc_icon_no_data_icon.png index 6b06815..65d1600 100644 Binary files a/sc_images/general/sc_icon_no_data_icon.png and b/sc_images/general/sc_icon_no_data_icon.png differ diff --git a/sc_images/general/sc_icon_no_data_icon2.png b/sc_images/general/sc_icon_no_data_icon2.png index 6b06815..65d1600 100644 Binary files a/sc_images/general/sc_icon_no_data_icon2.png and b/sc_images/general/sc_icon_no_data_icon2.png differ diff --git a/sc_images/general/sc_icon_online_user.png b/sc_images/general/sc_icon_online_user.png index cd99473..5ecc9a5 100644 Binary files a/sc_images/general/sc_icon_online_user.png and b/sc_images/general/sc_icon_online_user.png differ diff --git a/sc_images/general/sc_icon_pic_close.png b/sc_images/general/sc_icon_pic_close.png index 9aaedbb..5975bcb 100644 Binary files a/sc_images/general/sc_icon_pic_close.png and b/sc_images/general/sc_icon_pic_close.png differ diff --git a/sc_images/general/sc_icon_reort_add_pic.png b/sc_images/general/sc_icon_reort_add_pic.png index 221ac67..f44cbc4 100644 Binary files a/sc_images/general/sc_icon_reort_add_pic.png and b/sc_images/general/sc_icon_reort_add_pic.png differ diff --git a/sc_images/general/sc_icon_search.png b/sc_images/general/sc_icon_search.png index 824e3f2..c9eb191 100644 Binary files a/sc_images/general/sc_icon_search.png and b/sc_images/general/sc_icon_search.png differ diff --git a/sc_images/general/sc_icon_select.png b/sc_images/general/sc_icon_select.png index 7985c81..13dd894 100644 Binary files a/sc_images/general/sc_icon_select.png and b/sc_images/general/sc_icon_select.png differ diff --git a/sc_images/general/sc_icon_select_ok.png b/sc_images/general/sc_icon_select_ok.png index bed001f..d1a300c 100644 Binary files a/sc_images/general/sc_icon_select_ok.png and b/sc_images/general/sc_icon_select_ok.png differ diff --git a/sc_images/general/sc_icon_select_un_ok.png b/sc_images/general/sc_icon_select_un_ok.png index f93b0a7..075904a 100644 Binary files a/sc_images/general/sc_icon_select_un_ok.png and b/sc_images/general/sc_icon_select_un_ok.png differ diff --git a/sc_images/general/sc_icon_setting_language.png b/sc_images/general/sc_icon_setting_language.png index 74703f4..3e3b527 100644 Binary files a/sc_images/general/sc_icon_setting_language.png and b/sc_images/general/sc_icon_setting_language.png differ diff --git a/sc_images/general/sc_icon_share_facebook.png b/sc_images/general/sc_icon_share_facebook.png index eafff71..3c8c60b 100644 Binary files a/sc_images/general/sc_icon_share_facebook.png and b/sc_images/general/sc_icon_share_facebook.png differ diff --git a/sc_images/general/sc_icon_share_link.png b/sc_images/general/sc_icon_share_link.png index 20fac8c..61a826a 100644 Binary files a/sc_images/general/sc_icon_share_link.png and b/sc_images/general/sc_icon_share_link.png differ diff --git a/sc_images/general/sc_icon_share_snapchat.png b/sc_images/general/sc_icon_share_snapchat.png index 19673c4..872744b 100644 Binary files a/sc_images/general/sc_icon_share_snapchat.png and b/sc_images/general/sc_icon_share_snapchat.png differ diff --git a/sc_images/general/sc_icon_share_whatsapp.png b/sc_images/general/sc_icon_share_whatsapp.png index 8e6b3f0..b1fbdb4 100644 Binary files a/sc_images/general/sc_icon_share_whatsapp.png and b/sc_images/general/sc_icon_share_whatsapp.png differ diff --git a/sc_images/general/sc_icon_social_privilege_close.png b/sc_images/general/sc_icon_social_privilege_close.png index 2886f80..97b7769 100644 Binary files a/sc_images/general/sc_icon_social_privilege_close.png and b/sc_images/general/sc_icon_social_privilege_close.png differ diff --git a/sc_images/general/sc_icon_social_privilege_open.png b/sc_images/general/sc_icon_social_privilege_open.png index 7a4200d..05d2d76 100644 Binary files a/sc_images/general/sc_icon_social_privilege_open.png and b/sc_images/general/sc_icon_social_privilege_open.png differ diff --git a/sc_images/general/sc_icon_social_privilege_select.png b/sc_images/general/sc_icon_social_privilege_select.png index 9848483..c4a55ba 100644 Binary files a/sc_images/general/sc_icon_social_privilege_select.png and b/sc_images/general/sc_icon_social_privilege_select.png differ diff --git a/sc_images/general/sc_icon_social_privilege_unselect.png b/sc_images/general/sc_icon_social_privilege_unselect.png index d4e431e..8c3a67b 100644 Binary files a/sc_images/general/sc_icon_social_privilege_unselect.png and b/sc_images/general/sc_icon_social_privilege_unselect.png differ diff --git a/sc_images/general/sc_icon_switch_off.png b/sc_images/general/sc_icon_switch_off.png index 5fe2575..0c3749b 100644 Binary files a/sc_images/general/sc_icon_switch_off.png and b/sc_images/general/sc_icon_switch_off.png differ diff --git a/sc_images/general/sc_icon_switch_on.png b/sc_images/general/sc_icon_switch_on.png index 0513ca7..6f45457 100644 Binary files a/sc_images/general/sc_icon_switch_on.png and b/sc_images/general/sc_icon_switch_on.png differ diff --git a/sc_images/general/sc_icon_unselect.png b/sc_images/general/sc_icon_unselect.png index 1997b4d..d970456 100644 Binary files a/sc_images/general/sc_icon_unselect.png and b/sc_images/general/sc_icon_unselect.png differ diff --git a/sc_images/index/sc_icon_add_room.png b/sc_images/index/sc_icon_add_room.png index dcdb6b8..fc5b80e 100644 Binary files a/sc_images/index/sc_icon_add_room.png and b/sc_images/index/sc_icon_add_room.png differ diff --git a/sc_images/index/sc_icon_admin_center.png b/sc_images/index/sc_icon_admin_center.png index 1257f4d..08e7b73 100644 Binary files a/sc_images/index/sc_icon_admin_center.png and b/sc_images/index/sc_icon_admin_center.png differ diff --git a/sc_images/index/sc_icon_agen_center.png b/sc_images/index/sc_icon_agen_center.png index 9629926..5396d87 100644 Binary files a/sc_images/index/sc_icon_agen_center.png and b/sc_images/index/sc_icon_agen_center.png differ diff --git a/sc_images/index/sc_icon_agent_center.png b/sc_images/index/sc_icon_agent_center.png index 42208a9..bc5a15d 100644 Binary files a/sc_images/index/sc_icon_agent_center.png and b/sc_images/index/sc_icon_agent_center.png differ diff --git a/sc_images/index/sc_icon_bag.png b/sc_images/index/sc_icon_bag.png index 9ced62c..337eba1 100644 Binary files a/sc_images/index/sc_icon_bag.png and b/sc_images/index/sc_icon_bag.png differ diff --git a/sc_images/index/sc_icon_bd_center.png b/sc_images/index/sc_icon_bd_center.png index 4ef72f9..652621f 100644 Binary files a/sc_images/index/sc_icon_bd_center.png and b/sc_images/index/sc_icon_bd_center.png differ diff --git a/sc_images/index/sc_icon_bd_leader.png b/sc_images/index/sc_icon_bd_leader.png index 1506731..2941eb9 100644 Binary files a/sc_images/index/sc_icon_bd_leader.png and b/sc_images/index/sc_icon_bd_leader.png differ diff --git a/sc_images/index/sc_icon_become_host_center.png b/sc_images/index/sc_icon_become_host_center.png index d85d22c..d44a146 100644 Binary files a/sc_images/index/sc_icon_become_host_center.png and b/sc_images/index/sc_icon_become_host_center.png differ diff --git a/sc_images/index/sc_icon_claimed_text.png b/sc_images/index/sc_icon_claimed_text.png index 20d3d68..6e37e8f 100644 Binary files a/sc_images/index/sc_icon_claimed_text.png and b/sc_images/index/sc_icon_claimed_text.png differ diff --git a/sc_images/index/sc_icon_coupon.png b/sc_images/index/sc_icon_coupon.png index 2fa32b6..3d12286 100644 Binary files a/sc_images/index/sc_icon_coupon.png and b/sc_images/index/sc_icon_coupon.png differ diff --git a/sc_images/index/sc_icon_coupon_head_bg.png b/sc_images/index/sc_icon_coupon_head_bg.png index 92ac8af..51eeff2 100644 Binary files a/sc_images/index/sc_icon_coupon_head_bg.png and b/sc_images/index/sc_icon_coupon_head_bg.png differ diff --git a/sc_images/index/sc_icon_coupon_recod.png b/sc_images/index/sc_icon_coupon_recod.png index 136c829..ea92375 100644 Binary files a/sc_images/index/sc_icon_coupon_recod.png and b/sc_images/index/sc_icon_coupon_recod.png differ diff --git a/sc_images/index/sc_icon_dynamic_en.png b/sc_images/index/sc_icon_dynamic_en.png index 930a425..4266a1d 100644 Binary files a/sc_images/index/sc_icon_dynamic_en.png and b/sc_images/index/sc_icon_dynamic_en.png differ diff --git a/sc_images/index/sc_icon_dynamic_no.png b/sc_images/index/sc_icon_dynamic_no.png index 08ef3fb..e194be8 100644 Binary files a/sc_images/index/sc_icon_dynamic_no.png and b/sc_images/index/sc_icon_dynamic_no.png differ diff --git a/sc_images/index/sc_icon_explore_en.png b/sc_images/index/sc_icon_explore_en.png index 91a118f..8fd92ec 100644 Binary files a/sc_images/index/sc_icon_explore_en.png and b/sc_images/index/sc_icon_explore_en.png differ diff --git a/sc_images/index/sc_icon_explore_no.png b/sc_images/index/sc_icon_explore_no.png index 3f5891d..92e426d 100644 Binary files a/sc_images/index/sc_icon_explore_no.png and b/sc_images/index/sc_icon_explore_no.png differ diff --git a/sc_images/index/sc_icon_first_recharge_ar_text.png b/sc_images/index/sc_icon_first_recharge_ar_text.png index 8a1e8b7..6c57b68 100644 Binary files a/sc_images/index/sc_icon_first_recharge_ar_text.png and b/sc_images/index/sc_icon_first_recharge_ar_text.png differ diff --git a/sc_images/index/sc_icon_first_recharge_btn.png b/sc_images/index/sc_icon_first_recharge_btn.png index d6ec337..f12efd3 100644 Binary files a/sc_images/index/sc_icon_first_recharge_btn.png and b/sc_images/index/sc_icon_first_recharge_btn.png differ diff --git a/sc_images/index/sc_icon_first_recharge_en_text.png b/sc_images/index/sc_icon_first_recharge_en_text.png index bdbfe9b..def9ae7 100644 Binary files a/sc_images/index/sc_icon_first_recharge_en_text.png and b/sc_images/index/sc_icon_first_recharge_en_text.png differ diff --git a/sc_images/index/sc_icon_first_recharge_room_tag.png b/sc_images/index/sc_icon_first_recharge_room_tag.png index dfceb82..611cb16 100644 Binary files a/sc_images/index/sc_icon_first_recharge_room_tag.png and b/sc_images/index/sc_icon_first_recharge_room_tag.png differ diff --git a/sc_images/index/sc_icon_game_en.png b/sc_images/index/sc_icon_game_en.png index 95a53fd..d6a0a72 100644 Binary files a/sc_images/index/sc_icon_game_en.png and b/sc_images/index/sc_icon_game_en.png differ diff --git a/sc_images/index/sc_icon_home_en.png b/sc_images/index/sc_icon_home_en.png index a46f891..a0b7091 100644 Binary files a/sc_images/index/sc_icon_home_en.png and b/sc_images/index/sc_icon_home_en.png differ diff --git a/sc_images/index/sc_icon_home_no.png b/sc_images/index/sc_icon_home_no.png index 585720d..0008293 100644 Binary files a/sc_images/index/sc_icon_home_no.png and b/sc_images/index/sc_icon_home_no.png differ diff --git a/sc_images/index/sc_icon_honor.png b/sc_images/index/sc_icon_honor.png index e3e856c..d5d3230 100644 Binary files a/sc_images/index/sc_icon_honor.png and b/sc_images/index/sc_icon_honor.png differ diff --git a/sc_images/index/sc_icon_honor_detail_bg.png b/sc_images/index/sc_icon_honor_detail_bg.png index 26fa8ec..d3fc718 100644 Binary files a/sc_images/index/sc_icon_honor_detail_bg.png and b/sc_images/index/sc_icon_honor_detail_bg.png differ diff --git a/sc_images/index/sc_icon_honor_item_bg.png b/sc_images/index/sc_icon_honor_item_bg.png index 91be972..6ef25de 100644 Binary files a/sc_images/index/sc_icon_honor_item_bg.png and b/sc_images/index/sc_icon_honor_item_bg.png differ diff --git a/sc_images/index/sc_icon_honor_userinfo_bg.png b/sc_images/index/sc_icon_honor_userinfo_bg.png index db1295f..aadad67 100644 Binary files a/sc_images/index/sc_icon_honor_userinfo_bg.png and b/sc_images/index/sc_icon_honor_userinfo_bg.png differ diff --git a/sc_images/index/sc_icon_honor_userinfo_btn.png b/sc_images/index/sc_icon_honor_userinfo_btn.png index bc55fd1..3c144bc 100644 Binary files a/sc_images/index/sc_icon_honor_userinfo_btn.png and b/sc_images/index/sc_icon_honor_userinfo_btn.png differ diff --git a/sc_images/index/sc_icon_host_center.png b/sc_images/index/sc_icon_host_center.png index a63365e..1601a54 100644 Binary files a/sc_images/index/sc_icon_host_center.png and b/sc_images/index/sc_icon_host_center.png differ diff --git a/sc_images/index/sc_icon_hotgames_tag_bg.png b/sc_images/index/sc_icon_hotgames_tag_bg.png index 3986db6..08862c2 100644 Binary files a/sc_images/index/sc_icon_hotgames_tag_bg.png and b/sc_images/index/sc_icon_hotgames_tag_bg.png differ diff --git a/sc_images/index/sc_icon_index_bg.png b/sc_images/index/sc_icon_index_bg.png index 678d0bd..18c0ebd 100644 Binary files a/sc_images/index/sc_icon_index_bg.png and b/sc_images/index/sc_icon_index_bg.png differ diff --git a/sc_images/index/sc_icon_index_creat_room_tag.png b/sc_images/index/sc_icon_index_creat_room_tag.png index 1ca1552..59e2851 100644 Binary files a/sc_images/index/sc_icon_index_creat_room_tag.png and b/sc_images/index/sc_icon_index_creat_room_tag.png differ diff --git a/sc_images/index/sc_icon_index_room_brd.png b/sc_images/index/sc_icon_index_room_brd.png index ce2c74a..45e1054 100644 Binary files a/sc_images/index/sc_icon_index_room_brd.png and b/sc_images/index/sc_icon_index_room_brd.png differ diff --git a/sc_images/index/sc_icon_index_room_model_1.png b/sc_images/index/sc_icon_index_room_model_1.png index 5af08a8..f6d33be 100644 Binary files a/sc_images/index/sc_icon_index_room_model_1.png and b/sc_images/index/sc_icon_index_room_model_1.png differ diff --git a/sc_images/index/sc_icon_index_room_model_2.png b/sc_images/index/sc_icon_index_room_model_2.png index c567ab8..8a57ddd 100644 Binary files a/sc_images/index/sc_icon_index_room_model_2.png and b/sc_images/index/sc_icon_index_room_model_2.png differ diff --git a/sc_images/index/sc_icon_invite_new_users_to_earn_coins.png b/sc_images/index/sc_icon_invite_new_users_to_earn_coins.png index b7c9e47..ca6fe5a 100644 Binary files a/sc_images/index/sc_icon_invite_new_users_to_earn_coins.png and b/sc_images/index/sc_icon_invite_new_users_to_earn_coins.png differ diff --git a/sc_images/index/sc_icon_leader_spinner_charm_bg.png b/sc_images/index/sc_icon_leader_spinner_charm_bg.png index 41cc9e9..24d365a 100644 Binary files a/sc_images/index/sc_icon_leader_spinner_charm_bg.png and b/sc_images/index/sc_icon_leader_spinner_charm_bg.png differ diff --git a/sc_images/index/sc_icon_leader_spinner_room_bg.png b/sc_images/index/sc_icon_leader_spinner_room_bg.png index e5528c7..cd6988e 100644 Binary files a/sc_images/index/sc_icon_leader_spinner_room_bg.png and b/sc_images/index/sc_icon_leader_spinner_room_bg.png differ diff --git a/sc_images/index/sc_icon_leader_spinner_wealth_bg.png b/sc_images/index/sc_icon_leader_spinner_wealth_bg.png index 620d877..daec4ce 100644 Binary files a/sc_images/index/sc_icon_leader_spinner_wealth_bg.png and b/sc_images/index/sc_icon_leader_spinner_wealth_bg.png differ diff --git a/sc_images/index/sc_icon_level.png b/sc_images/index/sc_icon_level.png index 7f156a8..1630a19 100644 Binary files a/sc_images/index/sc_icon_level.png and b/sc_images/index/sc_icon_level.png differ diff --git a/sc_images/index/sc_icon_me_en.png b/sc_images/index/sc_icon_me_en.png index 30956ba..3cb59a6 100644 Binary files a/sc_images/index/sc_icon_me_en.png and b/sc_images/index/sc_icon_me_en.png differ diff --git a/sc_images/index/sc_icon_me_no.png b/sc_images/index/sc_icon_me_no.png index c036ed8..2cdc126 100644 Binary files a/sc_images/index/sc_icon_me_no.png and b/sc_images/index/sc_icon_me_no.png differ diff --git a/sc_images/index/sc_icon_medal_detail_bg.png b/sc_images/index/sc_icon_medal_detail_bg.png index c8cebae..b609ff3 100644 Binary files a/sc_images/index/sc_icon_medal_detail_bg.png and b/sc_images/index/sc_icon_medal_detail_bg.png differ diff --git a/sc_images/index/sc_icon_medals.png b/sc_images/index/sc_icon_medals.png index 6d9e09a..5dde680 100644 Binary files a/sc_images/index/sc_icon_medals.png and b/sc_images/index/sc_icon_medals.png differ diff --git a/sc_images/index/sc_icon_medals_bg.png b/sc_images/index/sc_icon_medals_bg.png index 4131dca..f522b46 100644 Binary files a/sc_images/index/sc_icon_medals_bg.png and b/sc_images/index/sc_icon_medals_bg.png differ diff --git a/sc_images/index/sc_icon_medals_en.png b/sc_images/index/sc_icon_medals_en.png index da3a4aa..cb555cc 100644 Binary files a/sc_images/index/sc_icon_medals_en.png and b/sc_images/index/sc_icon_medals_en.png differ diff --git a/sc_images/index/sc_icon_medals_no.png b/sc_images/index/sc_icon_medals_no.png index 94c5860..549e7e3 100644 Binary files a/sc_images/index/sc_icon_medals_no.png and b/sc_images/index/sc_icon_medals_no.png differ diff --git a/sc_images/index/sc_icon_medals_userinfo_bg.png b/sc_images/index/sc_icon_medals_userinfo_bg.png index 363e049..29203b1 100644 Binary files a/sc_images/index/sc_icon_medals_userinfo_bg.png and b/sc_images/index/sc_icon_medals_userinfo_bg.png differ diff --git a/sc_images/index/sc_icon_message_en.png b/sc_images/index/sc_icon_message_en.png index d8813e4..ae61914 100644 Binary files a/sc_images/index/sc_icon_message_en.png and b/sc_images/index/sc_icon_message_en.png differ diff --git a/sc_images/index/sc_icon_message_no.png b/sc_images/index/sc_icon_message_no.png index c72b71c..7047f83 100644 Binary files a/sc_images/index/sc_icon_message_no.png and b/sc_images/index/sc_icon_message_no.png differ diff --git a/sc_images/index/sc_icon_my_drawer_item_bg.png b/sc_images/index/sc_icon_my_drawer_item_bg.png index ebf9d83..11e8379 100644 Binary files a/sc_images/index/sc_icon_my_drawer_item_bg.png and b/sc_images/index/sc_icon_my_drawer_item_bg.png differ diff --git a/sc_images/index/sc_icon_my_items.png b/sc_images/index/sc_icon_my_items.png index 8c15a28..59cc5a4 100644 Binary files a/sc_images/index/sc_icon_my_items.png and b/sc_images/index/sc_icon_my_items.png differ diff --git a/sc_images/index/sc_icon_my_rechage_title.png b/sc_images/index/sc_icon_my_rechage_title.png index 29af297..171a44c 100644 Binary files a/sc_images/index/sc_icon_my_rechage_title.png and b/sc_images/index/sc_icon_my_rechage_title.png differ diff --git a/sc_images/index/sc_icon_my_room_has_bg.png b/sc_images/index/sc_icon_my_room_has_bg.png index 41bb4c2..57f823e 100644 Binary files a/sc_images/index/sc_icon_my_room_has_bg.png and b/sc_images/index/sc_icon_my_room_has_bg.png differ diff --git a/sc_images/index/sc_icon_my_room_no_bg.png b/sc_images/index/sc_icon_my_room_no_bg.png index ec4b0cb..f738300 100644 Binary files a/sc_images/index/sc_icon_my_room_no_bg.png and b/sc_images/index/sc_icon_my_room_no_bg.png differ diff --git a/sc_images/index/sc_icon_my_room_tag2.png b/sc_images/index/sc_icon_my_room_tag2.png index 0376192..fede058 100644 Binary files a/sc_images/index/sc_icon_my_room_tag2.png and b/sc_images/index/sc_icon_my_room_tag2.png differ diff --git a/sc_images/index/sc_icon_paid.png b/sc_images/index/sc_icon_paid.png index afa5abe..053a3c3 100644 Binary files a/sc_images/index/sc_icon_paid.png and b/sc_images/index/sc_icon_paid.png differ diff --git a/sc_images/index/sc_icon_recharge_agency.png b/sc_images/index/sc_icon_recharge_agency.png index a316fa0..811c756 100644 Binary files a/sc_images/index/sc_icon_recharge_agency.png and b/sc_images/index/sc_icon_recharge_agency.png differ diff --git a/sc_images/index/sc_icon_recharge_recod.png b/sc_images/index/sc_icon_recharge_recod.png index d343791..a41e24a 100644 Binary files a/sc_images/index/sc_icon_recharge_recod.png and b/sc_images/index/sc_icon_recharge_recod.png differ diff --git a/sc_images/index/sc_icon_room_bord.png b/sc_images/index/sc_icon_room_bord.png index ab7757e..27247ac 100644 Binary files a/sc_images/index/sc_icon_room_bord.png and b/sc_images/index/sc_icon_room_bord.png differ diff --git a/sc_images/index/sc_icon_room_flot_close.png b/sc_images/index/sc_icon_room_flot_close.png index 5ffd54e..8d5844a 100644 Binary files a/sc_images/index/sc_icon_room_flot_close.png and b/sc_images/index/sc_icon_room_flot_close.png differ diff --git a/sc_images/index/sc_icon_room_suo.png b/sc_images/index/sc_icon_room_suo.png index 96864dc..ce32979 100644 Binary files a/sc_images/index/sc_icon_room_suo.png and b/sc_images/index/sc_icon_room_suo.png differ diff --git a/sc_images/index/sc_icon_serach.png b/sc_images/index/sc_icon_serach.png index e49a701..38d428a 100644 Binary files a/sc_images/index/sc_icon_serach.png and b/sc_images/index/sc_icon_serach.png differ diff --git a/sc_images/index/sc_icon_serach2.png b/sc_images/index/sc_icon_serach2.png index 954dfc6..fc85837 100644 Binary files a/sc_images/index/sc_icon_serach2.png and b/sc_images/index/sc_icon_serach2.png differ diff --git a/sc_images/index/sc_icon_settings.png b/sc_images/index/sc_icon_settings.png index 055c59e..9f77805 100644 Binary files a/sc_images/index/sc_icon_settings.png and b/sc_images/index/sc_icon_settings.png differ diff --git a/sc_images/index/sc_icon_sgin_bg.png b/sc_images/index/sc_icon_sgin_bg.png index 3fffda0..341c322 100644 Binary files a/sc_images/index/sc_icon_sgin_bg.png and b/sc_images/index/sc_icon_sgin_bg.png differ diff --git a/sc_images/index/sc_icon_sgin_item_bg1.png b/sc_images/index/sc_icon_sgin_item_bg1.png index d651baa..5170c42 100644 Binary files a/sc_images/index/sc_icon_sgin_item_bg1.png and b/sc_images/index/sc_icon_sgin_item_bg1.png differ diff --git a/sc_images/index/sc_icon_sgin_item_bg2.png b/sc_images/index/sc_icon_sgin_item_bg2.png index 20f6bbe..cfdbb39 100644 Binary files a/sc_images/index/sc_icon_sgin_item_bg2.png and b/sc_images/index/sc_icon_sgin_item_bg2.png differ diff --git a/sc_images/index/sc_icon_sgin_item_bg3.png b/sc_images/index/sc_icon_sgin_item_bg3.png index 48933e6..258a068 100644 Binary files a/sc_images/index/sc_icon_sgin_item_bg3.png and b/sc_images/index/sc_icon_sgin_item_bg3.png differ diff --git a/sc_images/index/sc_icon_sgin_item_day7_bg1.png b/sc_images/index/sc_icon_sgin_item_day7_bg1.png index fb4b578..507e755 100644 Binary files a/sc_images/index/sc_icon_sgin_item_day7_bg1.png and b/sc_images/index/sc_icon_sgin_item_day7_bg1.png differ diff --git a/sc_images/index/sc_icon_sgin_item_day7_bg2.png b/sc_images/index/sc_icon_sgin_item_day7_bg2.png index 0b4d97c..5ceec1b 100644 Binary files a/sc_images/index/sc_icon_sgin_item_day7_bg2.png and b/sc_images/index/sc_icon_sgin_item_day7_bg2.png differ diff --git a/sc_images/index/sc_icon_sgin_item_day7_bg3.png b/sc_images/index/sc_icon_sgin_item_day7_bg3.png index e3319c0..9aef54f 100644 Binary files a/sc_images/index/sc_icon_sgin_item_day7_bg3.png and b/sc_images/index/sc_icon_sgin_item_day7_bg3.png differ diff --git a/sc_images/index/sc_icon_sgin_rec_bg.png b/sc_images/index/sc_icon_sgin_rec_bg.png index 5bbf7c1..9700ec5 100644 Binary files a/sc_images/index/sc_icon_sgin_rec_bg.png and b/sc_images/index/sc_icon_sgin_rec_bg.png differ diff --git a/sc_images/index/sc_icon_shop.png b/sc_images/index/sc_icon_shop.png index 0fca3ef..e1e90c5 100644 Binary files a/sc_images/index/sc_icon_shop.png and b/sc_images/index/sc_icon_shop.png differ diff --git a/sc_images/index/sc_icon_signedin_bg.png b/sc_images/index/sc_icon_signedin_bg.png index b298cd4..42e2d20 100644 Binary files a/sc_images/index/sc_icon_signedin_bg.png and b/sc_images/index/sc_icon_signedin_bg.png differ diff --git a/sc_images/index/sc_icon_splash_cp_name_bg.png b/sc_images/index/sc_icon_splash_cp_name_bg.png index 5648d17..688e4ad 100644 Binary files a/sc_images/index/sc_icon_splash_cp_name_bg.png and b/sc_images/index/sc_icon_splash_cp_name_bg.png differ diff --git a/sc_images/index/sc_icon_splash_king_games_name_bg.png b/sc_images/index/sc_icon_splash_king_games_name_bg.png index 5ee51b8..1674b77 100644 Binary files a/sc_images/index/sc_icon_splash_king_games_name_bg.png and b/sc_images/index/sc_icon_splash_king_games_name_bg.png differ diff --git a/sc_images/index/sc_icon_task.png b/sc_images/index/sc_icon_task.png index e65cee6..a4825dc 100644 Binary files a/sc_images/index/sc_icon_task.png and b/sc_images/index/sc_icon_task.png differ diff --git a/sc_images/index/sc_icon_task_exp.png b/sc_images/index/sc_icon_task_exp.png index 1ef327a..095b867 100644 Binary files a/sc_images/index/sc_icon_task_exp.png and b/sc_images/index/sc_icon_task_exp.png differ diff --git a/sc_images/index/sc_icon_task_head_bg.png b/sc_images/index/sc_icon_task_head_bg.png index 27e0496..80b916c 100644 Binary files a/sc_images/index/sc_icon_task_head_bg.png and b/sc_images/index/sc_icon_task_head_bg.png differ diff --git a/sc_images/index/sc_icon_wallet_bg.png b/sc_images/index/sc_icon_wallet_bg.png index 5a963e0..55faa27 100644 Binary files a/sc_images/index/sc_icon_wallet_bg.png and b/sc_images/index/sc_icon_wallet_bg.png differ diff --git a/sc_images/index/sc_icon_wallet_icon.png b/sc_images/index/sc_icon_wallet_icon.png index 6c6177e..f3d986d 100644 Binary files a/sc_images/index/sc_icon_wallet_icon.png and b/sc_images/index/sc_icon_wallet_icon.png differ diff --git a/sc_images/index/sc_icon_wear_honor_dialog_bg.png b/sc_images/index/sc_icon_wear_honor_dialog_bg.png index f756fd9..47c4bb2 100644 Binary files a/sc_images/index/sc_icon_wear_honor_dialog_bg.png and b/sc_images/index/sc_icon_wear_honor_dialog_bg.png differ diff --git a/sc_images/index/sc_icon_wear_honor_dialog_item_on_use.png b/sc_images/index/sc_icon_wear_honor_dialog_item_on_use.png index a6328ec..649650e 100644 Binary files a/sc_images/index/sc_icon_wear_honor_dialog_item_on_use.png and b/sc_images/index/sc_icon_wear_honor_dialog_item_on_use.png differ diff --git a/sc_images/index/sc_icon_wear_honor_dialog_item_un_use.png b/sc_images/index/sc_icon_wear_honor_dialog_item_un_use.png index 5e71612..8bcb3ba 100644 Binary files a/sc_images/index/sc_icon_wear_honor_dialog_item_un_use.png and b/sc_images/index/sc_icon_wear_honor_dialog_item_un_use.png differ diff --git a/sc_images/index/sc_index_bottom_navigation_bar_bg.png b/sc_images/index/sc_index_bottom_navigation_bar_bg.png index 71dc816..ddae21f 100644 Binary files a/sc_images/index/sc_index_bottom_navigation_bar_bg.png and b/sc_images/index/sc_index_bottom_navigation_bar_bg.png differ diff --git a/sc_images/index/sc_index_msg_content_bg.png b/sc_images/index/sc_index_msg_content_bg.png index 4c61ae3..223d538 100644 Binary files a/sc_images/index/sc_index_msg_content_bg.png and b/sc_images/index/sc_index_msg_content_bg.png differ diff --git a/sc_images/level/sc_icon_user_level_10_20.png b/sc_images/level/sc_icon_user_level_10_20.png index ccfb822..bdbc184 100644 Binary files a/sc_images/level/sc_icon_user_level_10_20.png and b/sc_images/level/sc_icon_user_level_10_20.png differ diff --git a/sc_images/level/sc_icon_user_level_1_10.png b/sc_images/level/sc_icon_user_level_1_10.png index 0fff9df..2bed87a 100644 Binary files a/sc_images/level/sc_icon_user_level_1_10.png and b/sc_images/level/sc_icon_user_level_1_10.png differ diff --git a/sc_images/level/sc_icon_user_level_20_30.png b/sc_images/level/sc_icon_user_level_20_30.png index c6a9299..0c7f08d 100644 Binary files a/sc_images/level/sc_icon_user_level_20_30.png and b/sc_images/level/sc_icon_user_level_20_30.png differ diff --git a/sc_images/level/sc_icon_user_level_30_40.png b/sc_images/level/sc_icon_user_level_30_40.png index 13322ce..06a8eb5 100644 Binary files a/sc_images/level/sc_icon_user_level_30_40.png and b/sc_images/level/sc_icon_user_level_30_40.png differ diff --git a/sc_images/level/sc_icon_user_level_40_50.png b/sc_images/level/sc_icon_user_level_40_50.png index af0998d..de5458c 100644 Binary files a/sc_images/level/sc_icon_user_level_40_50.png and b/sc_images/level/sc_icon_user_level_40_50.png differ diff --git a/sc_images/level/sc_icon_user_level_center_bg_1.png b/sc_images/level/sc_icon_user_level_center_bg_1.png index b1a0fdd..783d2ee 100644 Binary files a/sc_images/level/sc_icon_user_level_center_bg_1.png and b/sc_images/level/sc_icon_user_level_center_bg_1.png differ diff --git a/sc_images/level/sc_icon_user_level_center_bg_2.png b/sc_images/level/sc_icon_user_level_center_bg_2.png index 7e52f10..4b6f1fe 100644 Binary files a/sc_images/level/sc_icon_user_level_center_bg_2.png and b/sc_images/level/sc_icon_user_level_center_bg_2.png differ diff --git a/sc_images/level/sc_icon_user_level_user_info_bg.png b/sc_images/level/sc_icon_user_level_user_info_bg.png index a1d3526..d0096bd 100644 Binary files a/sc_images/level/sc_icon_user_level_user_info_bg.png and b/sc_images/level/sc_icon_user_level_user_info_bg.png differ diff --git a/sc_images/level/sc_icon_user_level_wealth_info_bg.png b/sc_images/level/sc_icon_user_level_wealth_info_bg.png index 39b61fa..cbe8cad 100644 Binary files a/sc_images/level/sc_icon_user_level_wealth_info_bg.png and b/sc_images/level/sc_icon_user_level_wealth_info_bg.png differ diff --git a/sc_images/level/sc_icon_user_wealth_center_bg_1.png b/sc_images/level/sc_icon_user_wealth_center_bg_1.png index dea02ea..abe8399 100644 Binary files a/sc_images/level/sc_icon_user_wealth_center_bg_1.png and b/sc_images/level/sc_icon_user_wealth_center_bg_1.png differ diff --git a/sc_images/level/sc_icon_user_wealth_center_bg_2.png b/sc_images/level/sc_icon_user_wealth_center_bg_2.png index 5c5ecd0..7bf22e5 100644 Binary files a/sc_images/level/sc_icon_user_wealth_center_bg_2.png and b/sc_images/level/sc_icon_user_wealth_center_bg_2.png differ diff --git a/sc_images/level/sc_icon_wealth_level_10_20.png b/sc_images/level/sc_icon_wealth_level_10_20.png index a1cb04c..1295a44 100644 Binary files a/sc_images/level/sc_icon_wealth_level_10_20.png and b/sc_images/level/sc_icon_wealth_level_10_20.png differ diff --git a/sc_images/level/sc_icon_wealth_level_1_10.png b/sc_images/level/sc_icon_wealth_level_1_10.png index 43ef9f0..24cb2bf 100644 Binary files a/sc_images/level/sc_icon_wealth_level_1_10.png and b/sc_images/level/sc_icon_wealth_level_1_10.png differ diff --git a/sc_images/level/sc_icon_wealth_level_20_30.png b/sc_images/level/sc_icon_wealth_level_20_30.png index 25aebf9..c08b3b2 100644 Binary files a/sc_images/level/sc_icon_wealth_level_20_30.png and b/sc_images/level/sc_icon_wealth_level_20_30.png differ diff --git a/sc_images/level/sc_icon_wealth_level_30_40.png b/sc_images/level/sc_icon_wealth_level_30_40.png index bf80fab..4e894f6 100644 Binary files a/sc_images/level/sc_icon_wealth_level_30_40.png and b/sc_images/level/sc_icon_wealth_level_30_40.png differ diff --git a/sc_images/level/sc_icon_wealth_level_40_50.png b/sc_images/level/sc_icon_wealth_level_40_50.png index 5a4af5d..ce2bd23 100644 Binary files a/sc_images/level/sc_icon_wealth_level_40_50.png and b/sc_images/level/sc_icon_wealth_level_40_50.png differ diff --git a/sc_images/login/sc_icon_account.png b/sc_images/login/sc_icon_account.png index 6a68d9b..7c3b863 100644 Binary files a/sc_images/login/sc_icon_account.png and b/sc_images/login/sc_icon_account.png differ diff --git a/sc_images/login/sc_icon_avar_sex_man.png b/sc_images/login/sc_icon_avar_sex_man.png index adf3d2f..66d9f59 100644 Binary files a/sc_images/login/sc_icon_avar_sex_man.png and b/sc_images/login/sc_icon_avar_sex_man.png differ diff --git a/sc_images/login/sc_icon_avar_sex_woman.png b/sc_images/login/sc_icon_avar_sex_woman.png index b2f32d3..782f82c 100644 Binary files a/sc_images/login/sc_icon_avar_sex_woman.png and b/sc_images/login/sc_icon_avar_sex_woman.png differ diff --git a/sc_images/login/sc_icon_google.png b/sc_images/login/sc_icon_google.png index 445a5da..6b22cdf 100644 Binary files a/sc_images/login/sc_icon_google.png and b/sc_images/login/sc_icon_google.png differ diff --git a/sc_images/login/sc_icon_iphone.png b/sc_images/login/sc_icon_iphone.png index 85fc3dd..0b82c85 100644 Binary files a/sc_images/login/sc_icon_iphone.png and b/sc_images/login/sc_icon_iphone.png differ diff --git a/sc_images/login/sc_icon_login_edit_data_bg.png b/sc_images/login/sc_icon_login_edit_data_bg.png index 77b7038..3ebfa6f 100644 Binary files a/sc_images/login/sc_icon_login_edit_data_bg.png and b/sc_images/login/sc_icon_login_edit_data_bg.png differ diff --git a/sc_images/login/sc_icon_login_ser_select.png b/sc_images/login/sc_icon_login_ser_select.png index cfd5fdf..9290306 100644 Binary files a/sc_images/login/sc_icon_login_ser_select.png and b/sc_images/login/sc_icon_login_ser_select.png differ diff --git a/sc_images/login/sc_icon_login_ser_select_un.png b/sc_images/login/sc_icon_login_ser_select_un.png index 21e7afb..67c9f57 100644 Binary files a/sc_images/login/sc_icon_login_ser_select_un.png and b/sc_images/login/sc_icon_login_ser_select_un.png differ diff --git a/sc_images/login/sc_icon_pass.png b/sc_images/login/sc_icon_pass.png index f29f56a..a629cb3 100644 Binary files a/sc_images/login/sc_icon_pass.png and b/sc_images/login/sc_icon_pass.png differ diff --git a/sc_images/login/sc_icon_pass1.png b/sc_images/login/sc_icon_pass1.png index f01d1c4..ddd71ea 100644 Binary files a/sc_images/login/sc_icon_pass1.png and b/sc_images/login/sc_icon_pass1.png differ diff --git a/sc_images/login/sc_icon_sc.png b/sc_images/login/sc_icon_sc.png index 07dd788..1cd1aa4 100644 Binary files a/sc_images/login/sc_icon_sc.png and b/sc_images/login/sc_icon_sc.png differ diff --git a/sc_images/login/sc_icon_sex_man.png b/sc_images/login/sc_icon_sex_man.png index 3711aa3..9e462f9 100644 Binary files a/sc_images/login/sc_icon_sex_man.png and b/sc_images/login/sc_icon_sex_man.png differ diff --git a/sc_images/login/sc_icon_sex_man_bg.png b/sc_images/login/sc_icon_sex_man_bg.png index 80a34ee..0bfa65c 100644 Binary files a/sc_images/login/sc_icon_sex_man_bg.png and b/sc_images/login/sc_icon_sex_man_bg.png differ diff --git a/sc_images/login/sc_icon_sex_woman.png b/sc_images/login/sc_icon_sex_woman.png index a216859..7f4738f 100644 Binary files a/sc_images/login/sc_icon_sex_woman.png and b/sc_images/login/sc_icon_sex_woman.png differ diff --git a/sc_images/login/sc_icon_sex_woman_bg.png b/sc_images/login/sc_icon_sex_woman_bg.png index cd2d578..c2e8f0d 100644 Binary files a/sc_images/login/sc_icon_sex_woman_bg.png and b/sc_images/login/sc_icon_sex_woman_bg.png differ diff --git a/sc_images/msg/sc_icon_add.png b/sc_images/msg/sc_icon_add.png index e100b83..9bfcadc 100644 Binary files a/sc_images/msg/sc_icon_add.png and b/sc_images/msg/sc_icon_add.png differ diff --git a/sc_images/msg/sc_icon_chat_key.png b/sc_images/msg/sc_icon_chat_key.png index a7d6b02..b2f2405 100644 Binary files a/sc_images/msg/sc_icon_chat_key.png and b/sc_images/msg/sc_icon_chat_key.png differ diff --git a/sc_images/msg/sc_icon_chat_message_send.png b/sc_images/msg/sc_icon_chat_message_send.png index 1357033..af42813 100644 Binary files a/sc_images/msg/sc_icon_chat_message_send.png and b/sc_images/msg/sc_icon_chat_message_send.png differ diff --git a/sc_images/msg/sc_icon_hongbao.png b/sc_images/msg/sc_icon_hongbao.png index 0dcbd53..ac8c4ca 100644 Binary files a/sc_images/msg/sc_icon_hongbao.png and b/sc_images/msg/sc_icon_hongbao.png differ diff --git a/sc_images/msg/sc_icon_message_activity.png b/sc_images/msg/sc_icon_message_activity.png index 7b13eb4..b085241 100644 Binary files a/sc_images/msg/sc_icon_message_activity.png and b/sc_images/msg/sc_icon_message_activity.png differ diff --git a/sc_images/msg/sc_icon_message_noti.png b/sc_images/msg/sc_icon_message_noti.png index 1d3bf04..b49b7b2 100644 Binary files a/sc_images/msg/sc_icon_message_noti.png and b/sc_images/msg/sc_icon_message_noti.png differ diff --git a/sc_images/msg/sc_icon_message_system.png b/sc_images/msg/sc_icon_message_system.png index 73761d8..15dc437 100644 Binary files a/sc_images/msg/sc_icon_message_system.png and b/sc_images/msg/sc_icon_message_system.png differ diff --git a/sc_images/msg/sc_icon_msg_emoji.png b/sc_images/msg/sc_icon_msg_emoji.png index a26b48c..28ac367 100644 Binary files a/sc_images/msg/sc_icon_msg_emoji.png and b/sc_images/msg/sc_icon_msg_emoji.png differ diff --git a/sc_images/msg/sc_icon_msg_menu_copy.png b/sc_images/msg/sc_icon_msg_menu_copy.png index 92fcd10..f7a3ef8 100644 Binary files a/sc_images/msg/sc_icon_msg_menu_copy.png and b/sc_images/msg/sc_icon_msg_menu_copy.png differ diff --git a/sc_images/msg/sc_icon_msg_menu_delete.png b/sc_images/msg/sc_icon_msg_menu_delete.png index 0b401fd..b2498b9 100644 Binary files a/sc_images/msg/sc_icon_msg_menu_delete.png and b/sc_images/msg/sc_icon_msg_menu_delete.png differ diff --git a/sc_images/msg/sc_icon_msg_menu_recall.png b/sc_images/msg/sc_icon_msg_menu_recall.png index bbcd32a..7e9fb7e 100644 Binary files a/sc_images/msg/sc_icon_msg_menu_recall.png and b/sc_images/msg/sc_icon_msg_menu_recall.png differ diff --git a/sc_images/msg/sc_icon_notifcation_title_bg.png b/sc_images/msg/sc_icon_notifcation_title_bg.png index 9a4e324..49d1df9 100644 Binary files a/sc_images/msg/sc_icon_notifcation_title_bg.png and b/sc_images/msg/sc_icon_notifcation_title_bg.png differ diff --git a/sc_images/msg/sc_icon_notifcation_title_bg_ar.png b/sc_images/msg/sc_icon_notifcation_title_bg_ar.png index 61dd5da..21e5301 100644 Binary files a/sc_images/msg/sc_icon_notifcation_title_bg_ar.png and b/sc_images/msg/sc_icon_notifcation_title_bg_ar.png differ diff --git a/sc_images/msg/sc_icon_red_envelopes_msg_item_bg.png b/sc_images/msg/sc_icon_red_envelopes_msg_item_bg.png index aa22106..23fe2a8 100644 Binary files a/sc_images/msg/sc_icon_red_envelopes_msg_item_bg.png and b/sc_images/msg/sc_icon_red_envelopes_msg_item_bg.png differ diff --git a/sc_images/msg/sc_icon_system_title_bg.png b/sc_images/msg/sc_icon_system_title_bg.png index d7c3215..8727460 100644 Binary files a/sc_images/msg/sc_icon_system_title_bg.png and b/sc_images/msg/sc_icon_system_title_bg.png differ diff --git a/sc_images/msg/sc_icon_system_title_bg_ar.png b/sc_images/msg/sc_icon_system_title_bg_ar.png index d04332a..48c7fa7 100644 Binary files a/sc_images/msg/sc_icon_system_title_bg_ar.png and b/sc_images/msg/sc_icon_system_title_bg_ar.png differ diff --git a/sc_images/msg/sc_icon_tupian.png b/sc_images/msg/sc_icon_tupian.png index 374f183..5b15114 100644 Binary files a/sc_images/msg/sc_icon_tupian.png and b/sc_images/msg/sc_icon_tupian.png differ diff --git a/sc_images/msg/sc_icon_xiangji.png b/sc_images/msg/sc_icon_xiangji.png index bfdaf80..3c4790b 100644 Binary files a/sc_images/msg/sc_icon_xiangji.png and b/sc_images/msg/sc_icon_xiangji.png differ diff --git a/sc_images/person/sc_icon_cp_head_ring.png b/sc_images/person/sc_icon_cp_head_ring.png index 3f156ad..5f8f7d8 100644 Binary files a/sc_images/person/sc_icon_cp_head_ring.png and b/sc_images/person/sc_icon_cp_head_ring.png differ diff --git a/sc_images/person/sc_icon_cp_head_ring2.png b/sc_images/person/sc_icon_cp_head_ring2.png index 65aac50..1dc6059 100644 Binary files a/sc_images/person/sc_icon_cp_head_ring2.png and b/sc_images/person/sc_icon_cp_head_ring2.png differ diff --git a/sc_images/person/sc_icon_cp_helpe.png b/sc_images/person/sc_icon_cp_helpe.png index f8ffa42..f23edbe 100644 Binary files a/sc_images/person/sc_icon_cp_helpe.png and b/sc_images/person/sc_icon_cp_helpe.png differ diff --git a/sc_images/person/sc_icon_cp_opt_bg.png b/sc_images/person/sc_icon_cp_opt_bg.png index 99aab1a..66be384 100644 Binary files a/sc_images/person/sc_icon_cp_opt_bg.png and b/sc_images/person/sc_icon_cp_opt_bg.png differ diff --git a/sc_images/person/sc_icon_cp_value_tag.png b/sc_images/person/sc_icon_cp_value_tag.png index 47a5128..f6f7d39 100644 Binary files a/sc_images/person/sc_icon_cp_value_tag.png and b/sc_images/person/sc_icon_cp_value_tag.png differ diff --git a/sc_images/person/sc_icon_edit_user_info2.png b/sc_images/person/sc_icon_edit_user_info2.png index 30185ff..aa71bea 100644 Binary files a/sc_images/person/sc_icon_edit_user_info2.png and b/sc_images/person/sc_icon_edit_user_info2.png differ diff --git a/sc_images/person/sc_icon_edit_userinfo_bg.png b/sc_images/person/sc_icon_edit_userinfo_bg.png index cc9d327..1d426fe 100644 Binary files a/sc_images/person/sc_icon_edit_userinfo_bg.png and b/sc_images/person/sc_icon_edit_userinfo_bg.png differ diff --git a/sc_images/person/sc_icon_giftwall_item_bg.png b/sc_images/person/sc_icon_giftwall_item_bg.png index d763a08..a8713f6 100644 Binary files a/sc_images/person/sc_icon_giftwall_item_bg.png and b/sc_images/person/sc_icon_giftwall_item_bg.png differ diff --git a/sc_images/person/sc_icon_honor_item_a_bg.png b/sc_images/person/sc_icon_honor_item_a_bg.png index 0c5137a..5c28986 100644 Binary files a/sc_images/person/sc_icon_honor_item_a_bg.png and b/sc_images/person/sc_icon_honor_item_a_bg.png differ diff --git a/sc_images/person/sc_icon_honor_item_b_bg.png b/sc_images/person/sc_icon_honor_item_b_bg.png index 39aaa3e..f10d7c3 100644 Binary files a/sc_images/person/sc_icon_honor_item_b_bg.png and b/sc_images/person/sc_icon_honor_item_b_bg.png differ diff --git a/sc_images/person/sc_icon_honor_item_c_bg.png b/sc_images/person/sc_icon_honor_item_c_bg.png index 0f32469..ac0dcda 100644 Binary files a/sc_images/person/sc_icon_honor_item_c_bg.png and b/sc_images/person/sc_icon_honor_item_c_bg.png differ diff --git a/sc_images/person/sc_icon_honor_item_s_bg.png b/sc_images/person/sc_icon_honor_item_s_bg.png index 34a3728..7017915 100644 Binary files a/sc_images/person/sc_icon_honor_item_s_bg.png and b/sc_images/person/sc_icon_honor_item_s_bg.png differ diff --git a/sc_images/person/sc_icon_me_menu_1_bg.png b/sc_images/person/sc_icon_me_menu_1_bg.png index d6f3b75..1506afe 100644 Binary files a/sc_images/person/sc_icon_me_menu_1_bg.png and b/sc_images/person/sc_icon_me_menu_1_bg.png differ diff --git a/sc_images/person/sc_icon_medal_item_a_bg.png b/sc_images/person/sc_icon_medal_item_a_bg.png index 8918c7e..ab3bcab 100644 Binary files a/sc_images/person/sc_icon_medal_item_a_bg.png and b/sc_images/person/sc_icon_medal_item_a_bg.png differ diff --git a/sc_images/person/sc_icon_medal_item_b_bg.png b/sc_images/person/sc_icon_medal_item_b_bg.png index 4cb6f97..bc11465 100644 Binary files a/sc_images/person/sc_icon_medal_item_b_bg.png and b/sc_images/person/sc_icon_medal_item_b_bg.png differ diff --git a/sc_images/person/sc_icon_medal_item_c_bg.png b/sc_images/person/sc_icon_medal_item_c_bg.png index 4e29c00..1176b45 100644 Binary files a/sc_images/person/sc_icon_medal_item_c_bg.png and b/sc_images/person/sc_icon_medal_item_c_bg.png differ diff --git a/sc_images/person/sc_icon_medal_item_s_bg.png b/sc_images/person/sc_icon_medal_item_s_bg.png index 9922d13..64375a3 100644 Binary files a/sc_images/person/sc_icon_medal_item_s_bg.png and b/sc_images/person/sc_icon_medal_item_s_bg.png differ diff --git a/sc_images/person/sc_icon_my_head_bg_defalt.png b/sc_images/person/sc_icon_my_head_bg_defalt.png index 7ef0c91..f7f269a 100644 Binary files a/sc_images/person/sc_icon_my_head_bg_defalt.png and b/sc_images/person/sc_icon_my_head_bg_defalt.png differ diff --git a/sc_images/person/sc_icon_person_follow.png b/sc_images/person/sc_icon_person_follow.png index 5e95748..47dc9f0 100644 Binary files a/sc_images/person/sc_icon_person_follow.png and b/sc_images/person/sc_icon_person_follow.png differ diff --git a/sc_images/person/sc_icon_person_in_room.png b/sc_images/person/sc_icon_person_in_room.png index f29ede2..0267a3f 100644 Binary files a/sc_images/person/sc_icon_person_in_room.png and b/sc_images/person/sc_icon_person_in_room.png differ diff --git a/sc_images/person/sc_icon_person_tochat.png b/sc_images/person/sc_icon_person_tochat.png index 0a84a1c..b78ad8f 100644 Binary files a/sc_images/person/sc_icon_person_tochat.png and b/sc_images/person/sc_icon_person_tochat.png differ diff --git a/sc_images/person/sc_icon_person_unfollow.png b/sc_images/person/sc_icon_person_unfollow.png index 69a2b9a..198ab86 100644 Binary files a/sc_images/person/sc_icon_person_unfollow.png and b/sc_images/person/sc_icon_person_unfollow.png differ diff --git a/sc_images/person/sc_icon_send_cp_requst_cancel_bg.png b/sc_images/person/sc_icon_send_cp_requst_cancel_bg.png index 56bf59e..f4096b4 100644 Binary files a/sc_images/person/sc_icon_send_cp_requst_cancel_bg.png and b/sc_images/person/sc_icon_send_cp_requst_cancel_bg.png differ diff --git a/sc_images/person/sc_icon_send_cp_requst_dialog_content.png b/sc_images/person/sc_icon_send_cp_requst_dialog_content.png index 5273f6e..fcded3e 100644 Binary files a/sc_images/person/sc_icon_send_cp_requst_dialog_content.png and b/sc_images/person/sc_icon_send_cp_requst_dialog_content.png differ diff --git a/sc_images/person/sc_icon_send_cp_requst_dialog_head.png b/sc_images/person/sc_icon_send_cp_requst_dialog_head.png index 0f7e583..e8d2991 100644 Binary files a/sc_images/person/sc_icon_send_cp_requst_dialog_head.png and b/sc_images/person/sc_icon_send_cp_requst_dialog_head.png differ diff --git a/sc_images/person/sc_icon_send_cp_requst_dialog_head2.png b/sc_images/person/sc_icon_send_cp_requst_dialog_head2.png index fee7dea..27ca33b 100644 Binary files a/sc_images/person/sc_icon_send_cp_requst_dialog_head2.png and b/sc_images/person/sc_icon_send_cp_requst_dialog_head2.png differ diff --git a/sc_images/person/sc_icon_send_cp_requst_ok_bg.png b/sc_images/person/sc_icon_send_cp_requst_ok_bg.png index 8c6d485..721da19 100644 Binary files a/sc_images/person/sc_icon_send_cp_requst_ok_bg.png and b/sc_images/person/sc_icon_send_cp_requst_ok_bg.png differ diff --git a/sc_images/person/sc_icon_send_cp_requst_username_bg.png b/sc_images/person/sc_icon_send_cp_requst_username_bg.png index ab25023..7a73d03 100644 Binary files a/sc_images/person/sc_icon_send_cp_requst_username_bg.png and b/sc_images/person/sc_icon_send_cp_requst_username_bg.png differ diff --git a/sc_images/person/sc_icon_vistors_follow_fans_bg_man.png b/sc_images/person/sc_icon_vistors_follow_fans_bg_man.png index 04d59ad..bc74e95 100644 Binary files a/sc_images/person/sc_icon_vistors_follow_fans_bg_man.png and b/sc_images/person/sc_icon_vistors_follow_fans_bg_man.png differ diff --git a/sc_images/person/sc_icon_vistors_follow_fans_bg_woman.png b/sc_images/person/sc_icon_vistors_follow_fans_bg_woman.png index 86976c1..86719b3 100644 Binary files a/sc_images/person/sc_icon_vistors_follow_fans_bg_woman.png and b/sc_images/person/sc_icon_vistors_follow_fans_bg_woman.png differ diff --git a/sc_images/room/entrance/sc_icon_room_entrance_no_vip_bg.png b/sc_images/room/entrance/sc_icon_room_entrance_no_vip_bg.png index eae6d80..f843559 100644 Binary files a/sc_images/room/entrance/sc_icon_room_entrance_no_vip_bg.png and b/sc_images/room/entrance/sc_icon_room_entrance_no_vip_bg.png differ diff --git a/sc_images/room/icon_room_input_t.png b/sc_images/room/icon_room_input_t.png index e438e04..24614c7 100644 Binary files a/sc_images/room/icon_room_input_t.png and b/sc_images/room/icon_room_input_t.png differ diff --git a/sc_images/room/sc_icon_activity_gift_head_bg_ar.png b/sc_images/room/sc_icon_activity_gift_head_bg_ar.png index 329c39f..f6f37d2 100644 Binary files a/sc_images/room/sc_icon_activity_gift_head_bg_ar.png and b/sc_images/room/sc_icon_activity_gift_head_bg_ar.png differ diff --git a/sc_images/room/sc_icon_activity_gift_head_bg_en.png b/sc_images/room/sc_icon_activity_gift_head_bg_en.png index 48c39de..bb336b6 100644 Binary files a/sc_images/room/sc_icon_activity_gift_head_bg_en.png and b/sc_images/room/sc_icon_activity_gift_head_bg_en.png differ diff --git a/sc_images/room/sc_icon_add_user.png b/sc_images/room/sc_icon_add_user.png index 6f7581d..1dbb920 100644 Binary files a/sc_images/room/sc_icon_add_user.png and b/sc_images/room/sc_icon_add_user.png differ diff --git a/sc_images/room/sc_icon_all_in_the_room.png b/sc_images/room/sc_icon_all_in_the_room.png index 7ff09ff..a3a55fd 100644 Binary files a/sc_images/room/sc_icon_all_in_the_room.png and b/sc_images/room/sc_icon_all_in_the_room.png differ diff --git a/sc_images/room/sc_icon_all_on_microphone.png b/sc_images/room/sc_icon_all_on_microphone.png index f01aa0b..fa0a74f 100644 Binary files a/sc_images/room/sc_icon_all_on_microphone.png and b/sc_images/room/sc_icon_all_on_microphone.png differ diff --git a/sc_images/room/sc_icon_at_tag_user.png b/sc_images/room/sc_icon_at_tag_user.png index a994299..a0d294f 100644 Binary files a/sc_images/room/sc_icon_at_tag_user.png and b/sc_images/room/sc_icon_at_tag_user.png differ diff --git a/sc_images/room/sc_icon_block_list_delete.png b/sc_images/room/sc_icon_block_list_delete.png index bd283af..6084623 100644 Binary files a/sc_images/room/sc_icon_block_list_delete.png and b/sc_images/room/sc_icon_block_list_delete.png differ diff --git a/sc_images/room/sc_icon_botton_game.png b/sc_images/room/sc_icon_botton_game.png index cf0434c..f82a80d 100644 Binary files a/sc_images/room/sc_icon_botton_game.png and b/sc_images/room/sc_icon_botton_game.png differ diff --git a/sc_images/room/sc_icon_botton_gift.png b/sc_images/room/sc_icon_botton_gift.png index 26a0e8f..5c9f3b8 100644 Binary files a/sc_images/room/sc_icon_botton_gift.png and b/sc_images/room/sc_icon_botton_gift.png differ diff --git a/sc_images/room/sc_icon_botton_menu.png b/sc_images/room/sc_icon_botton_menu.png index 792aef6..0b2fe6d 100644 Binary files a/sc_images/room/sc_icon_botton_menu.png and b/sc_images/room/sc_icon_botton_menu.png differ diff --git a/sc_images/room/sc_icon_botton_message.png b/sc_images/room/sc_icon_botton_message.png index 2beba9c..1caff1c 100644 Binary files a/sc_images/room/sc_icon_botton_message.png and b/sc_images/room/sc_icon_botton_message.png differ diff --git a/sc_images/room/sc_icon_botton_mic_close.png b/sc_images/room/sc_icon_botton_mic_close.png index 56ad564..a334fa3 100644 Binary files a/sc_images/room/sc_icon_botton_mic_close.png and b/sc_images/room/sc_icon_botton_mic_close.png differ diff --git a/sc_images/room/sc_icon_botton_mic_open.png b/sc_images/room/sc_icon_botton_mic_open.png index 6005ea8..f3f0648 100644 Binary files a/sc_images/room/sc_icon_botton_mic_open.png and b/sc_images/room/sc_icon_botton_mic_open.png differ diff --git a/sc_images/room/sc_icon_customized_rule.png b/sc_images/room/sc_icon_customized_rule.png index 37a35d4..430c20e 100644 Binary files a/sc_images/room/sc_icon_customized_rule.png and b/sc_images/room/sc_icon_customized_rule.png differ diff --git a/sc_images/room/sc_icon_emoji_vip1_3_bg.png b/sc_images/room/sc_icon_emoji_vip1_3_bg.png index d265a5f..cc5199d 100644 Binary files a/sc_images/room/sc_icon_emoji_vip1_3_bg.png and b/sc_images/room/sc_icon_emoji_vip1_3_bg.png differ diff --git a/sc_images/room/sc_icon_emoji_vip4_6_bg.png b/sc_images/room/sc_icon_emoji_vip4_6_bg.png index d5005ad..ccb847a 100644 Binary files a/sc_images/room/sc_icon_emoji_vip4_6_bg.png and b/sc_images/room/sc_icon_emoji_vip4_6_bg.png differ diff --git a/sc_images/room/sc_icon_exit_room.png b/sc_images/room/sc_icon_exit_room.png index d83a317..96a9d8e 100644 Binary files a/sc_images/room/sc_icon_exit_room.png and b/sc_images/room/sc_icon_exit_room.png differ diff --git a/sc_images/room/sc_icon_follow_room_en.png b/sc_images/room/sc_icon_follow_room_en.png index 1fd9dbf..b4e9a45 100644 Binary files a/sc_images/room/sc_icon_follow_room_en.png and b/sc_images/room/sc_icon_follow_room_en.png differ diff --git a/sc_images/room/sc_icon_follow_room_un.png b/sc_images/room/sc_icon_follow_room_un.png index 66ff219..999a700 100644 Binary files a/sc_images/room/sc_icon_follow_room_un.png and b/sc_images/room/sc_icon_follow_room_un.png differ diff --git a/sc_images/room/sc_icon_game_king_day_bg.png b/sc_images/room/sc_icon_game_king_day_bg.png index a9783fd..df3516a 100644 Binary files a/sc_images/room/sc_icon_game_king_day_bg.png and b/sc_images/room/sc_icon_game_king_day_bg.png differ diff --git a/sc_images/room/sc_icon_game_king_week_bg.png b/sc_images/room/sc_icon_game_king_week_bg.png index e361a61..9738711 100644 Binary files a/sc_images/room/sc_icon_game_king_week_bg.png and b/sc_images/room/sc_icon_game_king_week_bg.png differ diff --git a/sc_images/room/sc_icon_gift_all_en.png b/sc_images/room/sc_icon_gift_all_en.png index 271c0ea..cef23b4 100644 Binary files a/sc_images/room/sc_icon_gift_all_en.png and b/sc_images/room/sc_icon_gift_all_en.png differ diff --git a/sc_images/room/sc_icon_gift_all_no.png b/sc_images/room/sc_icon_gift_all_no.png index 7c373c4..a47d66a 100644 Binary files a/sc_images/room/sc_icon_gift_all_no.png and b/sc_images/room/sc_icon_gift_all_no.png differ diff --git a/sc_images/room/sc_icon_gift_cp.png b/sc_images/room/sc_icon_gift_cp.png index 91b15cd..cf03106 100644 Binary files a/sc_images/room/sc_icon_gift_cp.png and b/sc_images/room/sc_icon_gift_cp.png differ diff --git a/sc_images/room/sc_icon_gift_effect.png b/sc_images/room/sc_icon_gift_effect.png index 12d3f39..52fad16 100644 Binary files a/sc_images/room/sc_icon_gift_effect.png and b/sc_images/room/sc_icon_gift_effect.png differ diff --git a/sc_images/room/sc_icon_gift_float_bg.png b/sc_images/room/sc_icon_gift_float_bg.png index 20396fa..328a8de 100644 Binary files a/sc_images/room/sc_icon_gift_float_bg.png and b/sc_images/room/sc_icon_gift_float_bg.png differ diff --git a/sc_images/room/sc_icon_gift_heartbeat.png b/sc_images/room/sc_icon_gift_heartbeat.png index de9f5df..6d8005c 100644 Binary files a/sc_images/room/sc_icon_gift_heartbeat.png and b/sc_images/room/sc_icon_gift_heartbeat.png differ diff --git a/sc_images/room/sc_icon_gift_luck.png b/sc_images/room/sc_icon_gift_luck.png index 4843bdb..03afa55 100644 Binary files a/sc_images/room/sc_icon_gift_luck.png and b/sc_images/room/sc_icon_gift_luck.png differ diff --git a/sc_images/room/sc_icon_gift_music.png b/sc_images/room/sc_icon_gift_music.png index d0f4e67..9c9ab40 100644 Binary files a/sc_images/room/sc_icon_gift_music.png and b/sc_images/room/sc_icon_gift_music.png differ diff --git a/sc_images/room/sc_icon_give_gift_type_bg.png b/sc_images/room/sc_icon_give_gift_type_bg.png index 8b06418..e6ef603 100644 Binary files a/sc_images/room/sc_icon_give_gift_type_bg.png and b/sc_images/room/sc_icon_give_gift_type_bg.png differ diff --git a/sc_images/room/sc_icon_inv_go_btn.png b/sc_images/room/sc_icon_inv_go_btn.png index 99291f7..3a09384 100644 Binary files a/sc_images/room/sc_icon_inv_go_btn.png and b/sc_images/room/sc_icon_inv_go_btn.png differ diff --git a/sc_images/room/sc_icon_join_room_member.png b/sc_images/room/sc_icon_join_room_member.png index 8ca909e..4615e84 100644 Binary files a/sc_images/room/sc_icon_join_room_member.png and b/sc_images/room/sc_icon_join_room_member.png differ diff --git a/sc_images/room/sc_icon_k.png b/sc_images/room/sc_icon_k.png index aa1da25..8fe6ce4 100644 Binary files a/sc_images/room/sc_icon_k.png and b/sc_images/room/sc_icon_k.png differ diff --git a/sc_images/room/sc_icon_luck_gift_float_bg1.png b/sc_images/room/sc_icon_luck_gift_float_bg1.png index c9ea1fa..0ccaee7 100644 Binary files a/sc_images/room/sc_icon_luck_gift_float_bg1.png and b/sc_images/room/sc_icon_luck_gift_float_bg1.png differ diff --git a/sc_images/room/sc_icon_luck_gift_float_bg2.png b/sc_images/room/sc_icon_luck_gift_float_bg2.png index e28f173..6ef912f 100644 Binary files a/sc_images/room/sc_icon_luck_gift_float_bg2.png and b/sc_images/room/sc_icon_luck_gift_float_bg2.png differ diff --git a/sc_images/room/sc_icon_luck_gift_float_bg3.png b/sc_images/room/sc_icon_luck_gift_float_bg3.png index c6c0c35..67c25b1 100644 Binary files a/sc_images/room/sc_icon_luck_gift_float_bg3.png and b/sc_images/room/sc_icon_luck_gift_float_bg3.png differ diff --git a/sc_images/room/sc_icon_luck_gift_float_bg4.png b/sc_images/room/sc_icon_luck_gift_float_bg4.png index 75fa073..307d47b 100644 Binary files a/sc_images/room/sc_icon_luck_gift_float_bg4.png and b/sc_images/room/sc_icon_luck_gift_float_bg4.png differ diff --git a/sc_images/room/sc_icon_luck_gift_float_bg5.png b/sc_images/room/sc_icon_luck_gift_float_bg5.png index 41194b3..1f29b67 100644 Binary files a/sc_images/room/sc_icon_luck_gift_float_bg5.png and b/sc_images/room/sc_icon_luck_gift_float_bg5.png differ diff --git a/sc_images/room/sc_icon_luck_gift_float_n_bg.png b/sc_images/room/sc_icon_luck_gift_float_n_bg.png index 8f24ffe..44251b1 100644 Binary files a/sc_images/room/sc_icon_luck_gift_float_n_bg.png and b/sc_images/room/sc_icon_luck_gift_float_n_bg.png differ diff --git a/sc_images/room/sc_icon_luck_gift_msg_n_ball.png b/sc_images/room/sc_icon_luck_gift_msg_n_ball.png index 9f9c386..efe4702 100644 Binary files a/sc_images/room/sc_icon_luck_gift_msg_n_ball.png and b/sc_images/room/sc_icon_luck_gift_msg_n_ball.png differ diff --git a/sc_images/room/sc_icon_luck_gift_msg_n_bg.png b/sc_images/room/sc_icon_luck_gift_msg_n_bg.png index e902506..5b23d9b 100644 Binary files a/sc_images/room/sc_icon_luck_gift_msg_n_bg.png and b/sc_images/room/sc_icon_luck_gift_msg_n_bg.png differ diff --git a/sc_images/room/sc_icon_luck_num_text_ar.png b/sc_images/room/sc_icon_luck_num_text_ar.png index 714e22c..cb873c8 100644 Binary files a/sc_images/room/sc_icon_luck_num_text_ar.png and b/sc_images/room/sc_icon_luck_num_text_ar.png differ diff --git a/sc_images/room/sc_icon_luck_num_text_en.png b/sc_images/room/sc_icon_luck_num_text_en.png index fc4c80f..6e982ab 100644 Binary files a/sc_images/room/sc_icon_luck_num_text_en.png and b/sc_images/room/sc_icon_luck_num_text_en.png differ diff --git a/sc_images/room/sc_icon_lucknumber_0.png b/sc_images/room/sc_icon_lucknumber_0.png index 641a942..3e7e1ae 100644 Binary files a/sc_images/room/sc_icon_lucknumber_0.png and b/sc_images/room/sc_icon_lucknumber_0.png differ diff --git a/sc_images/room/sc_icon_lucknumber_1.png b/sc_images/room/sc_icon_lucknumber_1.png index ea25b67..dddc940 100644 Binary files a/sc_images/room/sc_icon_lucknumber_1.png and b/sc_images/room/sc_icon_lucknumber_1.png differ diff --git a/sc_images/room/sc_icon_lucknumber_2.png b/sc_images/room/sc_icon_lucknumber_2.png index 2df5429..2557078 100644 Binary files a/sc_images/room/sc_icon_lucknumber_2.png and b/sc_images/room/sc_icon_lucknumber_2.png differ diff --git a/sc_images/room/sc_icon_lucknumber_3.png b/sc_images/room/sc_icon_lucknumber_3.png index 45fe9cf..f99158c 100644 Binary files a/sc_images/room/sc_icon_lucknumber_3.png and b/sc_images/room/sc_icon_lucknumber_3.png differ diff --git a/sc_images/room/sc_icon_lucknumber_4.png b/sc_images/room/sc_icon_lucknumber_4.png index 21dba8a..83c7674 100644 Binary files a/sc_images/room/sc_icon_lucknumber_4.png and b/sc_images/room/sc_icon_lucknumber_4.png differ diff --git a/sc_images/room/sc_icon_lucknumber_5.png b/sc_images/room/sc_icon_lucknumber_5.png index e6763c7..51dd581 100644 Binary files a/sc_images/room/sc_icon_lucknumber_5.png and b/sc_images/room/sc_icon_lucknumber_5.png differ diff --git a/sc_images/room/sc_icon_lucknumber_6.png b/sc_images/room/sc_icon_lucknumber_6.png index 45cff13..c8b06d8 100644 Binary files a/sc_images/room/sc_icon_lucknumber_6.png and b/sc_images/room/sc_icon_lucknumber_6.png differ diff --git a/sc_images/room/sc_icon_lucknumber_7.png b/sc_images/room/sc_icon_lucknumber_7.png index d0be8e7..67ed77a 100644 Binary files a/sc_images/room/sc_icon_lucknumber_7.png and b/sc_images/room/sc_icon_lucknumber_7.png differ diff --git a/sc_images/room/sc_icon_lucknumber_8.png b/sc_images/room/sc_icon_lucknumber_8.png index a7753d2..609cd9e 100644 Binary files a/sc_images/room/sc_icon_lucknumber_8.png and b/sc_images/room/sc_icon_lucknumber_8.png differ diff --git a/sc_images/room/sc_icon_lucknumber_9.png b/sc_images/room/sc_icon_lucknumber_9.png index 19e2814..e582ad8 100644 Binary files a/sc_images/room/sc_icon_lucknumber_9.png and b/sc_images/room/sc_icon_lucknumber_9.png differ diff --git a/sc_images/room/sc_icon_m.png b/sc_images/room/sc_icon_m.png index 8756588..9bcd019 100644 Binary files a/sc_images/room/sc_icon_m.png and b/sc_images/room/sc_icon_m.png differ diff --git a/sc_images/room/sc_icon_menu_mic_model_change.png b/sc_images/room/sc_icon_menu_mic_model_change.png index b46afe7..bc05c36 100644 Binary files a/sc_images/room/sc_icon_menu_mic_model_change.png and b/sc_images/room/sc_icon_menu_mic_model_change.png differ diff --git a/sc_images/room/sc_icon_mic_mute.png b/sc_images/room/sc_icon_mic_mute.png index ddb55fc..bbe91e5 100644 Binary files a/sc_images/room/sc_icon_mic_mute.png and b/sc_images/room/sc_icon_mic_mute.png differ diff --git a/sc_images/room/sc_icon_mic_open.png b/sc_images/room/sc_icon_mic_open.png index 58223c7..8150a3f 100644 Binary files a/sc_images/room/sc_icon_mic_open.png and b/sc_images/room/sc_icon_mic_open.png differ diff --git a/sc_images/room/sc_icon_mic_switch_mode.png b/sc_images/room/sc_icon_mic_switch_mode.png index 4b21898..f25b086 100644 Binary files a/sc_images/room/sc_icon_mic_switch_mode.png and b/sc_images/room/sc_icon_mic_switch_mode.png differ diff --git a/sc_images/room/sc_icon_min_room.png b/sc_images/room/sc_icon_min_room.png index af18f64..50c1327 100644 Binary files a/sc_images/room/sc_icon_min_room.png and b/sc_images/room/sc_icon_min_room.png differ diff --git a/sc_images/room/sc_icon_music_delete.png b/sc_images/room/sc_icon_music_delete.png index e558785..f8201b9 100644 Binary files a/sc_images/room/sc_icon_music_delete.png and b/sc_images/room/sc_icon_music_delete.png differ diff --git a/sc_images/room/sc_icon_music_to_up.png b/sc_images/room/sc_icon_music_to_up.png index 02c432f..db164d3 100644 Binary files a/sc_images/room/sc_icon_music_to_up.png and b/sc_images/room/sc_icon_music_to_up.png differ diff --git a/sc_images/room/sc_icon_number_0.png b/sc_images/room/sc_icon_number_0.png index a3e867a..477ec93 100644 Binary files a/sc_images/room/sc_icon_number_0.png and b/sc_images/room/sc_icon_number_0.png differ diff --git a/sc_images/room/sc_icon_number_1.png b/sc_images/room/sc_icon_number_1.png index 8f7aaf5..c56175c 100644 Binary files a/sc_images/room/sc_icon_number_1.png and b/sc_images/room/sc_icon_number_1.png differ diff --git a/sc_images/room/sc_icon_number_2.png b/sc_images/room/sc_icon_number_2.png index 027d752..c3fd617 100644 Binary files a/sc_images/room/sc_icon_number_2.png and b/sc_images/room/sc_icon_number_2.png differ diff --git a/sc_images/room/sc_icon_number_3.png b/sc_images/room/sc_icon_number_3.png index 6c4b2ef..cf8e94a 100644 Binary files a/sc_images/room/sc_icon_number_3.png and b/sc_images/room/sc_icon_number_3.png differ diff --git a/sc_images/room/sc_icon_number_4.png b/sc_images/room/sc_icon_number_4.png index 4b0fe26..0ace9b4 100644 Binary files a/sc_images/room/sc_icon_number_4.png and b/sc_images/room/sc_icon_number_4.png differ diff --git a/sc_images/room/sc_icon_number_5.png b/sc_images/room/sc_icon_number_5.png index 830bcf5..95f7492 100644 Binary files a/sc_images/room/sc_icon_number_5.png and b/sc_images/room/sc_icon_number_5.png differ diff --git a/sc_images/room/sc_icon_number_6.png b/sc_images/room/sc_icon_number_6.png index b7782bf..372743b 100644 Binary files a/sc_images/room/sc_icon_number_6.png and b/sc_images/room/sc_icon_number_6.png differ diff --git a/sc_images/room/sc_icon_number_7.png b/sc_images/room/sc_icon_number_7.png index cff7412..c5050e8 100644 Binary files a/sc_images/room/sc_icon_number_7.png and b/sc_images/room/sc_icon_number_7.png differ diff --git a/sc_images/room/sc_icon_number_8.png b/sc_images/room/sc_icon_number_8.png index 8107c72..2691842 100644 Binary files a/sc_images/room/sc_icon_number_8.png and b/sc_images/room/sc_icon_number_8.png differ diff --git a/sc_images/room/sc_icon_number_9.png b/sc_images/room/sc_icon_number_9.png index 996b5df..91ea2ff 100644 Binary files a/sc_images/room/sc_icon_number_9.png and b/sc_images/room/sc_icon_number_9.png differ diff --git a/sc_images/room/sc_icon_online_peple.png b/sc_images/room/sc_icon_online_peple.png index ffe71ac..0352a75 100644 Binary files a/sc_images/room/sc_icon_online_peple.png and b/sc_images/room/sc_icon_online_peple.png differ diff --git a/sc_images/room/sc_icon_open_card.png b/sc_images/room/sc_icon_open_card.png index f78b58e..e42c7ab 100644 Binary files a/sc_images/room/sc_icon_open_card.png and b/sc_images/room/sc_icon_open_card.png differ diff --git a/sc_images/room/sc_icon_redpackg_tag.png b/sc_images/room/sc_icon_redpackg_tag.png index 2fea67e..50ddc6f 100644 Binary files a/sc_images/room/sc_icon_redpackg_tag.png and b/sc_images/room/sc_icon_redpackg_tag.png differ diff --git a/sc_images/room/sc_icon_remve_block.png b/sc_images/room/sc_icon_remve_block.png index e065870..792bfdd 100644 Binary files a/sc_images/room/sc_icon_remve_block.png and b/sc_images/room/sc_icon_remve_block.png differ diff --git a/sc_images/room/sc_icon_room_charm.png b/sc_images/room/sc_icon_room_charm.png index d30d91e..6c43511 100644 Binary files a/sc_images/room/sc_icon_room_charm.png and b/sc_images/room/sc_icon_room_charm.png differ diff --git a/sc_images/room/sc_icon_room_charm_tag.png b/sc_images/room/sc_icon_room_charm_tag.png index 9eb6719..542ff70 100644 Binary files a/sc_images/room/sc_icon_room_charm_tag.png and b/sc_images/room/sc_icon_room_charm_tag.png differ diff --git a/sc_images/room/sc_icon_room_contribute.png b/sc_images/room/sc_icon_room_contribute.png index d02b898..3fdc944 100644 Binary files a/sc_images/room/sc_icon_room_contribute.png and b/sc_images/room/sc_icon_room_contribute.png differ diff --git a/sc_images/room/sc_icon_room_contribute_rank1.png b/sc_images/room/sc_icon_room_contribute_rank1.png index 6ad895e..98e5707 100644 Binary files a/sc_images/room/sc_icon_room_contribute_rank1.png and b/sc_images/room/sc_icon_room_contribute_rank1.png differ diff --git a/sc_images/room/sc_icon_room_contribute_rank2.png b/sc_images/room/sc_icon_room_contribute_rank2.png index e70bd3e..b75b6fc 100644 Binary files a/sc_images/room/sc_icon_room_contribute_rank2.png and b/sc_images/room/sc_icon_room_contribute_rank2.png differ diff --git a/sc_images/room/sc_icon_room_contribute_rank3.png b/sc_images/room/sc_icon_room_contribute_rank3.png index a36c8ef..21abc4f 100644 Binary files a/sc_images/room/sc_icon_room_contribute_rank3.png and b/sc_images/room/sc_icon_room_contribute_rank3.png differ diff --git a/sc_images/room/sc_icon_room_defaut_bg.png b/sc_images/room/sc_icon_room_defaut_bg.png index dcb9d58..9efb085 100644 Binary files a/sc_images/room/sc_icon_room_defaut_bg.png and b/sc_images/room/sc_icon_room_defaut_bg.png differ diff --git a/sc_images/room/sc_icon_room_edit.png b/sc_images/room/sc_icon_room_edit.png index 2a6b6c5..b17ea84 100644 Binary files a/sc_images/room/sc_icon_room_edit.png and b/sc_images/room/sc_icon_room_edit.png differ diff --git a/sc_images/room/sc_icon_room_edit_noti.png b/sc_images/room/sc_icon_room_edit_noti.png index 4224837..cabb60d 100644 Binary files a/sc_images/room/sc_icon_room_edit_noti.png and b/sc_images/room/sc_icon_room_edit_noti.png differ diff --git a/sc_images/room/sc_icon_room_ext_min.png b/sc_images/room/sc_icon_room_ext_min.png index 33b17c5..ff4d5ad 100644 Binary files a/sc_images/room/sc_icon_room_ext_min.png and b/sc_images/room/sc_icon_room_ext_min.png differ diff --git a/sc_images/room/sc_icon_room_follow_no.png b/sc_images/room/sc_icon_room_follow_no.png index 4373ec2..02b4287 100644 Binary files a/sc_images/room/sc_icon_room_follow_no.png and b/sc_images/room/sc_icon_room_follow_no.png differ diff --git a/sc_images/room/sc_icon_room_free_seat.png b/sc_images/room/sc_icon_room_free_seat.png index fef933e..27ad8d0 100644 Binary files a/sc_images/room/sc_icon_room_free_seat.png and b/sc_images/room/sc_icon_room_free_seat.png differ diff --git a/sc_images/room/sc_icon_room_free_sonic.png b/sc_images/room/sc_icon_room_free_sonic.png index 5d5ed9b..20a17a2 100644 Binary files a/sc_images/room/sc_icon_room_free_sonic.png and b/sc_images/room/sc_icon_room_free_sonic.png differ diff --git a/sc_images/room/sc_icon_room_fz.png b/sc_images/room/sc_icon_room_fz.png index 9a557dc..e09084f 100644 Binary files a/sc_images/room/sc_icon_room_fz.png and b/sc_images/room/sc_icon_room_fz.png differ diff --git a/sc_images/room/sc_icon_room_game_close.png b/sc_images/room/sc_icon_room_game_close.png index 1fff407..5678335 100644 Binary files a/sc_images/room/sc_icon_room_game_close.png and b/sc_images/room/sc_icon_room_game_close.png differ diff --git a/sc_images/room/sc_icon_room_game_history_bg.png b/sc_images/room/sc_icon_room_game_history_bg.png index 2056f3e..01ed2e3 100644 Binary files a/sc_images/room/sc_icon_room_game_history_bg.png and b/sc_images/room/sc_icon_room_game_history_bg.png differ diff --git a/sc_images/room/sc_icon_room_game_item_bg_v.png b/sc_images/room/sc_icon_room_game_item_bg_v.png index 551565a..637411d 100644 Binary files a/sc_images/room/sc_icon_room_game_item_bg_v.png and b/sc_images/room/sc_icon_room_game_item_bg_v.png differ diff --git a/sc_images/room/sc_icon_room_game_mic_close.png b/sc_images/room/sc_icon_room_game_mic_close.png index 7b87727..a9cf98d 100644 Binary files a/sc_images/room/sc_icon_room_game_mic_close.png and b/sc_images/room/sc_icon_room_game_mic_close.png differ diff --git a/sc_images/room/sc_icon_room_game_mic_open.png b/sc_images/room/sc_icon_room_game_mic_open.png index 01419fe..6a5e35c 100644 Binary files a/sc_images/room/sc_icon_room_game_mic_open.png and b/sc_images/room/sc_icon_room_game_mic_open.png differ diff --git a/sc_images/room/sc_icon_room_game_min.png b/sc_images/room/sc_icon_room_game_min.png index 0ce57b8..40b2618 100644 Binary files a/sc_images/room/sc_icon_room_game_min.png and b/sc_images/room/sc_icon_room_game_min.png differ diff --git a/sc_images/room/sc_icon_room_gift_left_no_vip_bg.png b/sc_images/room/sc_icon_room_gift_left_no_vip_bg.png index e09b8f4..79b2fd7 100644 Binary files a/sc_images/room/sc_icon_room_gift_left_no_vip_bg.png and b/sc_images/room/sc_icon_room_gift_left_no_vip_bg.png differ diff --git a/sc_images/room/sc_icon_room_gly.png b/sc_images/room/sc_icon_room_gly.png index d676bed..353bbdf 100644 Binary files a/sc_images/room/sc_icon_room_gly.png and b/sc_images/room/sc_icon_room_gly.png differ diff --git a/sc_images/room/sc_icon_room_guest.png b/sc_images/room/sc_icon_room_guest.png index 28dec3c..42d446b 100644 Binary files a/sc_images/room/sc_icon_room_guest.png and b/sc_images/room/sc_icon_room_guest.png differ diff --git a/sc_images/room/sc_icon_room_hy.png b/sc_images/room/sc_icon_room_hy.png index 1bbc8d5..83021ad 100644 Binary files a/sc_images/room/sc_icon_room_hy.png and b/sc_images/room/sc_icon_room_hy.png differ diff --git a/sc_images/room/sc_icon_room_jiesuo.png b/sc_images/room/sc_icon_room_jiesuo.png index ab1d00d..8e7b632 100644 Binary files a/sc_images/room/sc_icon_room_jiesuo.png and b/sc_images/room/sc_icon_room_jiesuo.png differ diff --git a/sc_images/room/sc_icon_room_menu_settins.png b/sc_images/room/sc_icon_room_menu_settins.png index d3f5f5a..2e2ed85 100644 Binary files a/sc_images/room/sc_icon_room_menu_settins.png and b/sc_images/room/sc_icon_room_menu_settins.png differ diff --git a/sc_images/room/sc_icon_room_message_send.png b/sc_images/room/sc_icon_room_message_send.png index adcc806..361c620 100644 Binary files a/sc_images/room/sc_icon_room_message_send.png and b/sc_images/room/sc_icon_room_message_send.png differ diff --git a/sc_images/room/sc_icon_room_mic_model_5.png b/sc_images/room/sc_icon_room_mic_model_5.png index b28264e..0692c61 100644 Binary files a/sc_images/room/sc_icon_room_mic_model_5.png and b/sc_images/room/sc_icon_room_mic_model_5.png differ diff --git a/sc_images/room/sc_icon_room_msg_clear.png b/sc_images/room/sc_icon_room_msg_clear.png index 8b3c49e..38b939c 100644 Binary files a/sc_images/room/sc_icon_room_msg_clear.png and b/sc_images/room/sc_icon_room_msg_clear.png differ diff --git a/sc_images/room/sc_icon_room_msg_pic.png b/sc_images/room/sc_icon_room_msg_pic.png index 68899a1..3e3c0d6 100644 Binary files a/sc_images/room/sc_icon_room_msg_pic.png and b/sc_images/room/sc_icon_room_msg_pic.png differ diff --git a/sc_images/room/sc_icon_room_music.png b/sc_images/room/sc_icon_room_music.png index eca247a..8c3b1d4 100644 Binary files a/sc_images/room/sc_icon_room_music.png and b/sc_images/room/sc_icon_room_music.png differ diff --git a/sc_images/room/sc_icon_room_music_add.png b/sc_images/room/sc_icon_room_music_add.png index 8a70426..06f4419 100644 Binary files a/sc_images/room/sc_icon_room_music_add.png and b/sc_images/room/sc_icon_room_music_add.png differ diff --git a/sc_images/room/sc_icon_room_music_contrl_bg.png b/sc_images/room/sc_icon_room_music_contrl_bg.png index 9f28a70..31aa2ad 100644 Binary files a/sc_images/room/sc_icon_room_music_contrl_bg.png and b/sc_images/room/sc_icon_room_music_contrl_bg.png differ diff --git a/sc_images/room/sc_icon_room_music_empty.png b/sc_images/room/sc_icon_room_music_empty.png index 503b49a..296f7cc 100644 Binary files a/sc_images/room/sc_icon_room_music_empty.png and b/sc_images/room/sc_icon_room_music_empty.png differ diff --git a/sc_images/room/sc_icon_room_music_menu.png b/sc_images/room/sc_icon_room_music_menu.png index 19166d6..8ad9522 100644 Binary files a/sc_images/room/sc_icon_room_music_menu.png and b/sc_images/room/sc_icon_room_music_menu.png differ diff --git a/sc_images/room/sc_icon_room_music_model_1.png b/sc_images/room/sc_icon_room_music_model_1.png index 23f1a54..185dda5 100644 Binary files a/sc_images/room/sc_icon_room_music_model_1.png and b/sc_images/room/sc_icon_room_music_model_1.png differ diff --git a/sc_images/room/sc_icon_room_music_model_2.png b/sc_images/room/sc_icon_room_music_model_2.png index 545d672..079f9a6 100644 Binary files a/sc_images/room/sc_icon_room_music_model_2.png and b/sc_images/room/sc_icon_room_music_model_2.png differ diff --git a/sc_images/room/sc_icon_room_music_model_3.png b/sc_images/room/sc_icon_room_music_model_3.png index b372165..6b9d54d 100644 Binary files a/sc_images/room/sc_icon_room_music_model_3.png and b/sc_images/room/sc_icon_room_music_model_3.png differ diff --git a/sc_images/room/sc_icon_room_music_next.png b/sc_images/room/sc_icon_room_music_next.png index 8e0e401..0dc6ba6 100644 Binary files a/sc_images/room/sc_icon_room_music_next.png and b/sc_images/room/sc_icon_room_music_next.png differ diff --git a/sc_images/room/sc_icon_room_music_pause.png b/sc_images/room/sc_icon_room_music_pause.png index d7f268c..6501478 100644 Binary files a/sc_images/room/sc_icon_room_music_pause.png and b/sc_images/room/sc_icon_room_music_pause.png differ diff --git a/sc_images/room/sc_icon_room_music_play.png b/sc_images/room/sc_icon_room_music_play.png index 132fc3b..aa75d2e 100644 Binary files a/sc_images/room/sc_icon_room_music_play.png and b/sc_images/room/sc_icon_room_music_play.png differ diff --git a/sc_images/room/sc_icon_room_music_previous.png b/sc_images/room/sc_icon_room_music_previous.png index 6f78266..35ebe3c 100644 Binary files a/sc_images/room/sc_icon_room_music_previous.png and b/sc_images/room/sc_icon_room_music_previous.png differ diff --git a/sc_images/room/sc_icon_room_music_select.png b/sc_images/room/sc_icon_room_music_select.png index 87dda20..05681f2 100644 Binary files a/sc_images/room/sc_icon_room_music_select.png and b/sc_images/room/sc_icon_room_music_select.png differ diff --git a/sc_images/room/sc_icon_room_music_tag.png b/sc_images/room/sc_icon_room_music_tag.png index 1a59e09..72a041a 100644 Binary files a/sc_images/room/sc_icon_room_music_tag.png and b/sc_images/room/sc_icon_room_music_tag.png differ diff --git a/sc_images/room/sc_icon_room_music_volume1.png b/sc_images/room/sc_icon_room_music_volume1.png index a8c4b2b..ee5fc17 100644 Binary files a/sc_images/room/sc_icon_room_music_volume1.png and b/sc_images/room/sc_icon_room_music_volume1.png differ diff --git a/sc_images/room/sc_icon_room_report.png b/sc_images/room/sc_icon_room_report.png index 1d29a2c..dfc2e2f 100644 Binary files a/sc_images/room/sc_icon_room_report.png and b/sc_images/room/sc_icon_room_report.png differ diff --git a/sc_images/room/sc_icon_room_seat_mic_mute.png b/sc_images/room/sc_icon_room_seat_mic_mute.png index 7a59ce0..b3dd8ed 100644 Binary files a/sc_images/room/sc_icon_room_seat_mic_mute.png and b/sc_images/room/sc_icon_room_seat_mic_mute.png differ diff --git a/sc_images/room/sc_icon_room_special_effects.png b/sc_images/room/sc_icon_room_special_effects.png index 033618e..72b421d 100644 Binary files a/sc_images/room/sc_icon_room_special_effects.png and b/sc_images/room/sc_icon_room_special_effects.png differ diff --git a/sc_images/room/sc_icon_room_suo.png b/sc_images/room/sc_icon_room_suo.png index 4b8b424..40efb07 100644 Binary files a/sc_images/room/sc_icon_room_suo.png and b/sc_images/room/sc_icon_room_suo.png differ diff --git a/sc_images/room/sc_icon_room_switch_mic_model_check.png b/sc_images/room/sc_icon_room_switch_mic_model_check.png index a505eed..4c556e6 100644 Binary files a/sc_images/room/sc_icon_room_switch_mic_model_check.png and b/sc_images/room/sc_icon_room_switch_mic_model_check.png differ diff --git a/sc_images/room/sc_icon_room_task.png b/sc_images/room/sc_icon_room_task.png index f4ab98b..3f93e4f 100644 Binary files a/sc_images/room/sc_icon_room_task.png and b/sc_images/room/sc_icon_room_task.png differ diff --git a/sc_images/room/sc_icon_room_task_list_item_act_btn.png b/sc_images/room/sc_icon_room_task_list_item_act_btn.png index 226f97a..7bda3f5 100644 Binary files a/sc_images/room/sc_icon_room_task_list_item_act_btn.png and b/sc_images/room/sc_icon_room_task_list_item_act_btn.png differ diff --git a/sc_images/room/sc_icon_room_task_list_item_bg.png b/sc_images/room/sc_icon_room_task_list_item_bg.png index 7247533..943d0f1 100644 Binary files a/sc_images/room/sc_icon_room_task_list_item_bg.png and b/sc_images/room/sc_icon_room_task_list_item_bg.png differ diff --git a/sc_images/room/sc_icon_room_task_list_item_complete_btn.png b/sc_images/room/sc_icon_room_task_list_item_complete_btn.png index 761c332..7298f5e 100644 Binary files a/sc_images/room/sc_icon_room_task_list_item_complete_btn.png and b/sc_images/room/sc_icon_room_task_list_item_complete_btn.png differ diff --git a/sc_images/room/sc_icon_room_task_list_item_go_btn.png b/sc_images/room/sc_icon_room_task_list_item_go_btn.png index 3353085..54b9288 100644 Binary files a/sc_images/room/sc_icon_room_task_list_item_go_btn.png and b/sc_images/room/sc_icon_room_task_list_item_go_btn.png differ diff --git a/sc_images/room/sc_icon_room_task_rule_bg.png b/sc_images/room/sc_icon_room_task_rule_bg.png index 5395244..ff0ae57 100644 Binary files a/sc_images/room/sc_icon_room_task_rule_bg.png and b/sc_images/room/sc_icon_room_task_rule_bg.png differ diff --git a/sc_images/room/sc_icon_room_task_tag.png b/sc_images/room/sc_icon_room_task_tag.png index 4c53a33..8742c55 100644 Binary files a/sc_images/room/sc_icon_room_task_tag.png and b/sc_images/room/sc_icon_room_task_tag.png differ diff --git a/sc_images/room/sc_icon_room_theme.png b/sc_images/room/sc_icon_room_theme.png index fb5a5e5..6629694 100644 Binary files a/sc_images/room/sc_icon_room_theme.png and b/sc_images/room/sc_icon_room_theme.png differ diff --git a/sc_images/room/sc_icon_room_user_card_setting.png b/sc_images/room/sc_icon_room_user_card_setting.png index 77a3ebc..5608bed 100644 Binary files a/sc_images/room/sc_icon_room_user_card_setting.png and b/sc_images/room/sc_icon_room_user_card_setting.png differ diff --git a/sc_images/room/sc_icon_room_vip3_seat.png b/sc_images/room/sc_icon_room_vip3_seat.png index cd7efeb..c2ecc42 100644 Binary files a/sc_images/room/sc_icon_room_vip3_seat.png and b/sc_images/room/sc_icon_room_vip3_seat.png differ diff --git a/sc_images/room/sc_icon_room_vip3_sonic.png b/sc_images/room/sc_icon_room_vip3_sonic.png index fa4a1a9..365eff8 100644 Binary files a/sc_images/room/sc_icon_room_vip3_sonic.png and b/sc_images/room/sc_icon_room_vip3_sonic.png differ diff --git a/sc_images/room/sc_icon_room_vip4_seat.png b/sc_images/room/sc_icon_room_vip4_seat.png index e9f771a..6f6bfb9 100644 Binary files a/sc_images/room/sc_icon_room_vip4_seat.png and b/sc_images/room/sc_icon_room_vip4_seat.png differ diff --git a/sc_images/room/sc_icon_room_vip4_sonic.png b/sc_images/room/sc_icon_room_vip4_sonic.png index ff8fa74..7c79d8d 100644 Binary files a/sc_images/room/sc_icon_room_vip4_sonic.png and b/sc_images/room/sc_icon_room_vip4_sonic.png differ diff --git a/sc_images/room/sc_icon_room_vip5_seat.png b/sc_images/room/sc_icon_room_vip5_seat.png index 4d3aa04..b5bba3a 100644 Binary files a/sc_images/room/sc_icon_room_vip5_seat.png and b/sc_images/room/sc_icon_room_vip5_seat.png differ diff --git a/sc_images/room/sc_icon_room_vip5_sonic.png b/sc_images/room/sc_icon_room_vip5_sonic.png index 71134d4..3ab4d20 100644 Binary files a/sc_images/room/sc_icon_room_vip5_sonic.png and b/sc_images/room/sc_icon_room_vip5_sonic.png differ diff --git a/sc_images/room/sc_icon_room_vip6_seat.png b/sc_images/room/sc_icon_room_vip6_seat.png index b8cc1af..2a38bbc 100644 Binary files a/sc_images/room/sc_icon_room_vip6_seat.png and b/sc_images/room/sc_icon_room_vip6_seat.png differ diff --git a/sc_images/room/sc_icon_room_vip6_sonic.png b/sc_images/room/sc_icon_room_vip6_sonic.png index 3180edd..c1b57f5 100644 Binary files a/sc_images/room/sc_icon_room_vip6_sonic.png and b/sc_images/room/sc_icon_room_vip6_sonic.png differ diff --git a/sc_images/room/sc_icon_roomgift_rank_back_bg.png b/sc_images/room/sc_icon_roomgift_rank_back_bg.png index 70a8675..d646907 100644 Binary files a/sc_images/room/sc_icon_roomgift_rank_back_bg.png and b/sc_images/room/sc_icon_roomgift_rank_back_bg.png differ diff --git a/sc_images/room/sc_icon_roomgift_rank_title_bg.png b/sc_images/room/sc_icon_roomgift_rank_title_bg.png index 6fb5dca..fbff059 100644 Binary files a/sc_images/room/sc_icon_roomgift_rank_title_bg.png and b/sc_images/room/sc_icon_roomgift_rank_title_bg.png differ diff --git a/sc_images/room/sc_icon_roomgift_rule_back_bg.png b/sc_images/room/sc_icon_roomgift_rule_back_bg.png index a78c500..d5e221a 100644 Binary files a/sc_images/room/sc_icon_roomgift_rule_back_bg.png and b/sc_images/room/sc_icon_roomgift_rule_back_bg.png differ diff --git a/sc_images/room/sc_icon_rps_1.png b/sc_images/room/sc_icon_rps_1.png index e35c7be..8b2e4f4 100644 Binary files a/sc_images/room/sc_icon_rps_1.png and b/sc_images/room/sc_icon_rps_1.png differ diff --git a/sc_images/room/sc_icon_rps_2.png b/sc_images/room/sc_icon_rps_2.png index 84136cd..22dfc2d 100644 Binary files a/sc_images/room/sc_icon_rps_2.png and b/sc_images/room/sc_icon_rps_2.png differ diff --git a/sc_images/room/sc_icon_rps_3.png b/sc_images/room/sc_icon_rps_3.png index 5d392fb..7f12a00 100644 Binary files a/sc_images/room/sc_icon_rps_3.png and b/sc_images/room/sc_icon_rps_3.png differ diff --git a/sc_images/room/sc_icon_rps_tag.png b/sc_images/room/sc_icon_rps_tag.png index 60ae1db..4f70fcd 100644 Binary files a/sc_images/room/sc_icon_rps_tag.png and b/sc_images/room/sc_icon_rps_tag.png differ diff --git a/sc_images/room/sc_icon_seat_lock.png b/sc_images/room/sc_icon_seat_lock.png index 2ceeb04..8d51b98 100644 Binary files a/sc_images/room/sc_icon_seat_lock.png and b/sc_images/room/sc_icon_seat_lock.png differ diff --git a/sc_images/room/sc_icon_seat_num_bg.png b/sc_images/room/sc_icon_seat_num_bg.png index d0e2b7c..db43965 100644 Binary files a/sc_images/room/sc_icon_seat_num_bg.png and b/sc_images/room/sc_icon_seat_num_bg.png differ diff --git a/sc_images/room/sc_icon_seat_open.png b/sc_images/room/sc_icon_seat_open.png index 6ecda46..d7e1c2c 100644 Binary files a/sc_images/room/sc_icon_seat_open.png and b/sc_images/room/sc_icon_seat_open.png differ diff --git a/sc_images/room/sc_icon_send_user_gift.png b/sc_images/room/sc_icon_send_user_gift.png index adb7638..de18e55 100644 Binary files a/sc_images/room/sc_icon_send_user_gift.png and b/sc_images/room/sc_icon_send_user_gift.png differ diff --git a/sc_images/room/sc_icon_send_user_message.png b/sc_images/room/sc_icon_send_user_message.png index b945258..087abc9 100644 Binary files a/sc_images/room/sc_icon_send_user_message.png and b/sc_images/room/sc_icon_send_user_message.png differ diff --git a/sc_images/room/sc_icon_task_item_select_bg.png b/sc_images/room/sc_icon_task_item_select_bg.png index e292445..7d6adcf 100644 Binary files a/sc_images/room/sc_icon_task_item_select_bg.png and b/sc_images/room/sc_icon_task_item_select_bg.png differ diff --git a/sc_images/room/sc_icon_task_item_unselect_bg.png b/sc_images/room/sc_icon_task_item_unselect_bg.png index 7425308..6a47b67 100644 Binary files a/sc_images/room/sc_icon_task_item_unselect_bg.png and b/sc_images/room/sc_icon_task_item_unselect_bg.png differ diff --git a/sc_images/room/sc_icon_times_text_ar.png b/sc_images/room/sc_icon_times_text_ar.png index d6207dc..59c53ae 100644 Binary files a/sc_images/room/sc_icon_times_text_ar.png and b/sc_images/room/sc_icon_times_text_ar.png differ diff --git a/sc_images/room/sc_icon_times_text_en.png b/sc_images/room/sc_icon_times_text_en.png index 7a25405..8ad5cdc 100644 Binary files a/sc_images/room/sc_icon_times_text_en.png and b/sc_images/room/sc_icon_times_text_en.png differ diff --git a/sc_images/room/sc_icon_user_card_copy_id.png b/sc_images/room/sc_icon_user_card_copy_id.png index 2c589d8..204d23f 100644 Binary files a/sc_images/room/sc_icon_user_card_copy_id.png and b/sc_images/room/sc_icon_user_card_copy_id.png differ diff --git a/sc_images/room/sc_icon_user_card_report.png b/sc_images/room/sc_icon_user_card_report.png index f7332eb..850db60 100644 Binary files a/sc_images/room/sc_icon_user_card_report.png and b/sc_images/room/sc_icon_user_card_report.png differ diff --git a/sc_images/room/sc_icon_user_count_guard.png b/sc_images/room/sc_icon_user_count_guard.png index e3d6583..2abe34c 100644 Binary files a/sc_images/room/sc_icon_user_count_guard.png and b/sc_images/room/sc_icon_user_count_guard.png differ diff --git a/sc_images/room/sc_icon_user_count_guard1.png b/sc_images/room/sc_icon_user_count_guard1.png index 7964088..60c0ef7 100644 Binary files a/sc_images/room/sc_icon_user_count_guard1.png and b/sc_images/room/sc_icon_user_count_guard1.png differ diff --git a/sc_images/room/sc_icon_user_count_guard1_user.png b/sc_images/room/sc_icon_user_count_guard1_user.png index d4f0859..b911d37 100644 Binary files a/sc_images/room/sc_icon_user_count_guard1_user.png and b/sc_images/room/sc_icon_user_count_guard1_user.png differ diff --git a/sc_images/room/sc_icon_user_count_guard2.png b/sc_images/room/sc_icon_user_count_guard2.png index 41acfcc..6d50058 100644 Binary files a/sc_images/room/sc_icon_user_count_guard2.png and b/sc_images/room/sc_icon_user_count_guard2.png differ diff --git a/sc_images/room/sc_icon_user_count_guard2_user.png b/sc_images/room/sc_icon_user_count_guard2_user.png index 79b1daa..ed3b016 100644 Binary files a/sc_images/room/sc_icon_user_count_guard2_user.png and b/sc_images/room/sc_icon_user_count_guard2_user.png differ diff --git a/sc_images/room/sc_icon_user_count_guard3.png b/sc_images/room/sc_icon_user_count_guard3.png index 48f12ec..cb45a1a 100644 Binary files a/sc_images/room/sc_icon_user_count_guard3.png and b/sc_images/room/sc_icon_user_count_guard3.png differ diff --git a/sc_images/room/sc_icon_user_count_guard3_user.png b/sc_images/room/sc_icon_user_count_guard3_user.png index c0d0dfa..7dd16df 100644 Binary files a/sc_images/room/sc_icon_user_count_guard3_user.png and b/sc_images/room/sc_icon_user_count_guard3_user.png differ diff --git a/sc_images/room/sc_icon_user_follow.png b/sc_images/room/sc_icon_user_follow.png index 1ba062e..4795235 100644 Binary files a/sc_images/room/sc_icon_user_follow.png and b/sc_images/room/sc_icon_user_follow.png differ diff --git a/sc_images/room/sc_icon_user_un_follow.png b/sc_images/room/sc_icon_user_un_follow.png index 93a8849..9ab023d 100644 Binary files a/sc_images/room/sc_icon_user_un_follow.png and b/sc_images/room/sc_icon_user_un_follow.png differ diff --git a/sc_images/room/sc_icon_userson_microphone.png b/sc_images/room/sc_icon_userson_microphone.png index cfed889..1362957 100644 Binary files a/sc_images/room/sc_icon_userson_microphone.png and b/sc_images/room/sc_icon_userson_microphone.png differ diff --git a/sc_images/room/sc_icon_x.png b/sc_images/room/sc_icon_x.png index fd138b2..d236d5e 100644 Binary files a/sc_images/room/sc_icon_x.png and b/sc_images/room/sc_icon_x.png differ diff --git a/sc_images/splash/sc_icon_splash_icon.png b/sc_images/splash/sc_icon_splash_icon.png index 863d24e..2079641 100644 Binary files a/sc_images/splash/sc_icon_splash_icon.png and b/sc_images/splash/sc_icon_splash_icon.png differ diff --git a/sc_images/splash/sc_icon_splash_skip_bg.png b/sc_images/splash/sc_icon_splash_skip_bg.png index 27cc08a..a998f7c 100644 Binary files a/sc_images/splash/sc_icon_splash_skip_bg.png and b/sc_images/splash/sc_icon_splash_skip_bg.png differ diff --git a/sc_images/splash/sc_splash.png b/sc_images/splash/sc_splash.png index c9bdcae..4e2e9c7 100644 Binary files a/sc_images/splash/sc_splash.png and b/sc_images/splash/sc_splash.png differ diff --git a/sc_images/store/sc_icon_bag_clock.png b/sc_images/store/sc_icon_bag_clock.png index 5800914..2405ef4 100644 Binary files a/sc_images/store/sc_icon_bag_clock.png and b/sc_images/store/sc_icon_bag_clock.png differ diff --git a/sc_images/store/sc_icon_bag_shop.png b/sc_images/store/sc_icon_bag_shop.png index 660f08c..08bef3b 100644 Binary files a/sc_images/store/sc_icon_bag_shop.png and b/sc_images/store/sc_icon_bag_shop.png differ diff --git a/sc_images/store/sc_icon_shop_bag.png b/sc_images/store/sc_icon_shop_bag.png index 724b477..7805d31 100644 Binary files a/sc_images/store/sc_icon_shop_bag.png and b/sc_images/store/sc_icon_shop_bag.png differ diff --git a/sc_images/store/sc_icon_shop_item_play.png b/sc_images/store/sc_icon_shop_item_play.png index 09c26ca..b7e16fb 100644 Binary files a/sc_images/store/sc_icon_shop_item_play.png and b/sc_images/store/sc_icon_shop_item_play.png differ diff --git a/sc_images/store/sc_icon_shop_item_search.png b/sc_images/store/sc_icon_shop_item_search.png index 711f94e..f8a5b9e 100644 Binary files a/sc_images/store/sc_icon_shop_item_search.png and b/sc_images/store/sc_icon_shop_item_search.png differ diff --git a/sc_images/store/sc_icon_store_theme_rev.png b/sc_images/store/sc_icon_store_theme_rev.png index 4a1b406..48a78a5 100644 Binary files a/sc_images/store/sc_icon_store_theme_rev.png and b/sc_images/store/sc_icon_store_theme_rev.png differ diff --git a/scripts/build_release.py b/scripts/build_release.py new file mode 100644 index 0000000..1d10c57 --- /dev/null +++ b/scripts/build_release.py @@ -0,0 +1,270 @@ +#!/usr/bin/env python3 + +from __future__ import annotations + +import argparse +import datetime as dt +import hashlib +import json +import re +import shutil +import subprocess +import sys +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +PUBSPEC_PATH = ROOT / "pubspec.yaml" + + +def parse_pubspec_identity(pubspec_path: Path) -> tuple[str, str, str]: + content = pubspec_path.read_text(encoding="utf-8") + + name_match = re.search(r"^name:\s*([^\s]+)\s*$", content, re.MULTILINE) + version_match = re.search(r"^version:\s*([^\s]+)\s*$", content, re.MULTILINE) + if not name_match or not version_match: + raise RuntimeError("Failed to read app name or version from pubspec.yaml") + + package_name = name_match.group(1) + version = version_match.group(1) + if "+" in version: + build_name, build_number = version.split("+", 1) + else: + build_name, build_number = version, "1" + + return package_name, build_name, build_number + + +def sha256_of(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as handle: + for chunk in iter(lambda: handle.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def run_command(command: list[str]) -> None: + print(f"$ {' '.join(command)}", flush=True) + subprocess.run(command, cwd=ROOT, check=True) + + +def ensure_clean_dir(path: Path) -> None: + if path.exists(): + shutil.rmtree(path) + path.mkdir(parents=True, exist_ok=True) + + +def copy_file(src: Path, dest: Path) -> dict[str, object]: + dest.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(src, dest) + return { + "path": str(dest.relative_to(ROOT)), + "sizeBytes": dest.stat().st_size, + "sha256": sha256_of(dest), + } + + +def copy_tree(src: Path, dest: Path) -> None: + ensure_clean_dir(dest) + shutil.copytree(src, dest, dirs_exist_ok=True) + + +def append_common_flutter_args(command: list[str], args: argparse.Namespace) -> None: + command.extend(["--release", f"--target={args.target}"]) + + if args.flavor: + command.extend(["--flavor", args.flavor]) + if args.build_name: + command.append(f"--build-name={args.build_name}") + if args.build_number: + command.append(f"--build-number={args.build_number}") + + for item in args.dart_define: + command.extend(["--dart-define", item]) + for item in args.dart_define_from_file: + command.extend(["--dart-define-from-file", item]) + + +def build_android(args: argparse.Namespace, manifest: dict[str, object]) -> None: + android_symbols_dir = ROOT / "build" / "symbols" / "android" + android_output_dir = args.output_dir / "android" + + appbundle_cmd = ["flutter", "build", "appbundle"] + append_common_flutter_args(appbundle_cmd, args) + appbundle_cmd.append(f"--split-debug-info={android_symbols_dir.relative_to(ROOT)}") + run_command(appbundle_cmd) + + apk_cmd = [ + "flutter", + "build", + "apk", + "--split-per-abi", + "--target-platform", + "android-arm,android-arm64,android-x64", + ] + append_common_flutter_args(apk_cmd, args) + apk_cmd.append(f"--split-debug-info={android_symbols_dir.relative_to(ROOT)}") + run_command(apk_cmd) + + google_play_dir = android_output_dir / "google-play" + local_dir = android_output_dir / "local" + testing_dir = android_output_dir / "testing" + + artifact_prefix = f"{args.package_name}-v{args.build_name}-b{args.build_number}" + + aab_src = ROOT / "build" / "app" / "outputs" / "bundle" / "release" / "app-release.aab" + arm64_src = ROOT / "build" / "app" / "outputs" / "flutter-apk" / "app-arm64-v8a-release.apk" + armv7_src = ROOT / "build" / "app" / "outputs" / "flutter-apk" / "app-armeabi-v7a-release.apk" + x64_src = ROOT / "build" / "app" / "outputs" / "flutter-apk" / "app-x86_64-release.apk" + + artifacts = { + "googlePlayAab": copy_file(aab_src, google_play_dir / f"{artifact_prefix}-google-play.aab"), + "localArm64Apk": copy_file(arm64_src, local_dir / f"{artifact_prefix}-arm64-v8a.apk"), + "localArmeabiV7aApk": copy_file(armv7_src, local_dir / f"{artifact_prefix}-armeabi-v7a.apk"), + "testingX64Apk": copy_file(x64_src, testing_dir / f"{artifact_prefix}-x86_64-test.apk"), + } + + if android_symbols_dir.exists(): + copy_tree(android_symbols_dir, google_play_dir / "symbols") + artifacts["dartSymbolsDir"] = { + "path": str((google_play_dir / "symbols").relative_to(ROOT)), + "sizeBytes": sum(path.stat().st_size for path in (google_play_dir / "symbols").rglob("*") if path.is_file()), + } + + manifest["android"] = artifacts + + +def build_ios(args: argparse.Namespace, manifest: dict[str, object]) -> None: + ios_symbols_dir = ROOT / "build" / "symbols" / "ios" + ios_output_dir = args.output_dir / "ios" + + command = ["flutter", "build", "ipa"] + append_common_flutter_args(command, args) + command.append(f"--split-debug-info={ios_symbols_dir.relative_to(ROOT)}") + + if args.ios_codesign: + command.extend(["--export-method", args.ios_export_method]) + if args.ios_export_options_plist: + command.append(f"--export-options-plist={args.ios_export_options_plist}") + else: + command.append("--no-codesign") + + run_command(command) + + artifact_prefix = f"{args.package_name}-v{args.build_name}-b{args.build_number}" + artifacts: dict[str, object] = {} + + archive_src = ROOT / "build" / "ios" / "archive" / "Runner.xcarchive" + ipa_candidates = sorted((ROOT / "build" / "ios" / "ipa").glob("*.ipa")) + + if archive_src.exists(): + copy_tree(archive_src, ios_output_dir / "archive" / f"{artifact_prefix}.xcarchive") + artifacts["archiveDir"] = { + "path": str((ios_output_dir / "archive" / f"{artifact_prefix}.xcarchive").relative_to(ROOT)), + "sizeBytes": sum(path.stat().st_size for path in (ios_output_dir / "archive" / f"{artifact_prefix}.xcarchive").rglob("*") if path.is_file()), + } + + if ipa_candidates: + ipa_src = ipa_candidates[-1] + artifacts["ipa"] = copy_file(ipa_src, ios_output_dir / "ipa" / f"{artifact_prefix}.ipa") + + if ios_symbols_dir.exists(): + copy_tree(ios_symbols_dir, ios_output_dir / "symbols") + artifacts["dartSymbolsDir"] = { + "path": str((ios_output_dir / "symbols").relative_to(ROOT)), + "sizeBytes": sum(path.stat().st_size for path in (ios_output_dir / "symbols").rglob("*") if path.is_file()), + } + + if not artifacts: + raise RuntimeError("iOS build finished but no archive or ipa artifact was found.") + + manifest["ios"] = artifacts + + +def create_argument_parser() -> argparse.ArgumentParser: + package_name, build_name, build_number = parse_pubspec_identity(PUBSPEC_PATH) + timestamp = dt.datetime.now().strftime("%Y%m%d-%H%M%S") + default_output_dir = ROOT / "dist" / "release" / timestamp + + parser = argparse.ArgumentParser( + description="Build release artifacts for Google Play, local Android distribution, and iOS." + ) + parser.add_argument( + "--platform", + choices=["all", "android", "ios"], + default="all", + help="Select which platform artifacts to build.", + ) + parser.add_argument("--target", default="lib/main.dart", help="Flutter entrypoint file.") + parser.add_argument("--flavor", help="Optional Flutter flavor.") + parser.add_argument("--build-name", default=build_name, help="Override version name.") + parser.add_argument("--build-number", default=build_number, help="Override version code / CFBundleVersion.") + parser.add_argument( + "--output-dir", + type=Path, + default=default_output_dir, + help="Directory used to store copied release artifacts.", + ) + parser.add_argument( + "--dart-define", + action="append", + default=[], + help="Repeatable dart-define entries passed to flutter build.", + ) + parser.add_argument( + "--dart-define-from-file", + action="append", + default=[], + help="Repeatable dart-define-from-file entries passed to flutter build.", + ) + parser.add_argument( + "--ios-codesign", + action="store_true", + help="Enable codesign for flutter build ipa. Default keeps the iOS build unsigned.", + ) + parser.add_argument( + "--ios-export-method", + choices=["app-store", "ad-hoc", "development", "enterprise"], + default="app-store", + help="Export method used when --ios-codesign is enabled.", + ) + parser.add_argument( + "--ios-export-options-plist", + help="Optional ExportOptions.plist used when --ios-codesign is enabled.", + ) + parser.set_defaults(package_name=package_name) + return parser + + +def main() -> int: + parser = create_argument_parser() + args = parser.parse_args() + args.output_dir = args.output_dir.resolve() + + args.output_dir.mkdir(parents=True, exist_ok=True) + + manifest: dict[str, object] = { + "generatedAt": dt.datetime.now().isoformat(timespec="seconds"), + "packageName": args.package_name, + "buildName": args.build_name, + "buildNumber": args.build_number, + "target": args.target, + "flavor": args.flavor, + "outputDir": str(args.output_dir.relative_to(ROOT)), + } + + if args.platform in {"all", "android"}: + build_android(args, manifest) + if args.platform in {"all", "ios"}: + build_ios(args, manifest) + + manifest_path = args.output_dir / "build_manifest.json" + manifest_path.write_text(json.dumps(manifest, indent=2, ensure_ascii=False) + "\n", encoding="utf-8") + + print(f"Artifacts copied to: {args.output_dir}") + print(f"Manifest written to: {manifest_path}") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/tinypng_batch.rb b/scripts/tinypng_batch.rb new file mode 100644 index 0000000..b25e722 --- /dev/null +++ b/scripts/tinypng_batch.rb @@ -0,0 +1,164 @@ +#!/usr/bin/env ruby + +require 'base64' +require 'fileutils' +require 'json' +require 'net/http' +require 'pathname' +require 'tmpdir' +require 'uri' + +SUPPORTED_EXTENSIONS = %w[.png .jpg .jpeg .webp].freeze + +def format_bytes(bytes) + format('%.2f MB', bytes.to_f / 1024 / 1024) +end + +def collect_files(target) + if File.file?(target) + return SUPPORTED_EXTENSIONS.include?(File.extname(target).downcase) ? [target] : [] + end + + return [] unless Dir.exist?(target) + + Dir.glob(File.join(target, '**', '*')) + .select { |path| File.file?(path) } + .select { |path| SUPPORTED_EXTENSIONS.include?(File.extname(path).downcase) } +end + +def build_http(uri) + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = uri.scheme == 'https' + http.read_timeout = 120 + http.open_timeout = 30 + http +end + +def tinypng_shrink(api_key, file_path) + uri = URI('https://api.tinify.com/shrink') + request = Net::HTTP::Post.new(uri) + request['Authorization'] = "Basic #{Base64.strict_encode64("api:#{api_key}")}" + request['Content-Type'] = 'application/octet-stream' + request.body = File.binread(file_path) + + response = build_http(uri).request(request) + unless response.is_a?(Net::HTTPSuccess) || response.is_a?(Net::HTTPCreated) + message = begin + body = JSON.parse(response.body) + body['message'] || response.body + rescue StandardError + response.body + end + raise "Shrink failed (#{response.code}): #{message}" + end + + JSON.parse(response.body) +end + +def download_file(url, destination) + uri = URI(url) + request = Net::HTTP::Get.new(uri) + response = build_http(uri).request(request) + + unless response.is_a?(Net::HTTPSuccess) + raise "Download failed (#{response.code}): #{response.body}" + end + + File.binwrite(destination, response.body) +end + +def compress_file(api_key, file_path) + original_size = File.size(file_path) + shrink_result = tinypng_shrink(api_key, file_path) + output = shrink_result.fetch('output') + temp_path = File.join(Dir.tmpdir, "#{File.basename(file_path)}.tinypng_tmp") + + download_file(output.fetch('url'), temp_path) + compressed_size = File.size(temp_path) + FileUtils.mv(temp_path, file_path, force: true) + + { + filePath: file_path, + originalSize: original_size, + compressedSize: compressed_size, + savedBytes: original_size - compressed_size, + ratio: output['ratio'] + } +ensure + FileUtils.rm_f(temp_path) if defined?(temp_path) && temp_path && File.exist?(temp_path) +end + +api_key = ENV['TINYPNG_API_KEY'] +abort('Missing TINYPNG_API_KEY environment variable') unless api_key && !api_key.empty? + +retry_failed = ARGV.delete('--retry-failed') +targets = ARGV +abort('Usage: tinypng_batch.rb [dir...]') if targets.empty? + +progress_path = File.expand_path('tinypng-progress.json') +existing_progress = if File.exist?(progress_path) + JSON.parse(File.read(progress_path), symbolize_names: true) +else + {} +end + +results = Array(existing_progress[:results]) +failures = Array(existing_progress[:failures]) +processed_paths = results.map { |item| item[:filePath] } +processed_paths += failures.map { |item| item[:filePath] } unless retry_failed + +target_files = targets.flat_map { |target| collect_files(File.expand_path(target)) }.uniq +files = target_files.reject { |path| processed_paths.include?(path) } + .sort_by { |path| -File.size(path) } + +persist_progress = lambda do + File.write( + progress_path, + JSON.pretty_generate( + { + results: results, + failures: failures + } + ) + "\n" + ) +end + +files.each_with_index do |file_path, index| + begin + result = compress_file(api_key, file_path) + results << result + persist_progress.call + puts [ + 'OK', + index + 1, + files.length, + result[:savedBytes], + result[:originalSize], + result[:compressedSize], + Pathname.new(file_path).relative_path_from(Pathname.pwd) + ].join("\t") + rescue StandardError => error + failures << { filePath: file_path, message: error.message } + persist_progress.call + puts ['ERR', index + 1, files.length, Pathname.new(file_path).relative_path_from(Pathname.pwd), error.message].join("\t") + end +end + +summary = { + totalFiles: target_files.length, + trackedFiles: results.length + failures.length, + compressedFiles: results.length, + failedFiles: failures.length, + originalBytes: results.sum { |item| item[:originalSize] }, + compressedBytes: results.sum { |item| item[:compressedSize] }, + savedBytes: results.sum { |item| item[:savedBytes] }, + failures: failures, + topSavings: results.sort_by { |item| -item[:savedBytes] }.first(30) +} + +report_path = File.expand_path('tinypng-report.json') +File.write(report_path, JSON.pretty_generate(summary) + "\n") + +puts ['SUMMARY', summary[:totalFiles], summary[:trackedFiles], summary[:compressedFiles], summary[:failedFiles], summary[:originalBytes], summary[:compressedBytes], summary[:savedBytes]].join("\t") +puts ['REPORT', report_path].join("\t") +puts ['HUMAN', format_bytes(summary[:originalBytes]), format_bytes(summary[:compressedBytes]), format_bytes(summary[:savedBytes])].join("\t") diff --git a/tinypng-progress.json b/tinypng-progress.json new file mode 100644 index 0000000..b5219e0 --- /dev/null +++ b/tinypng-progress.json @@ -0,0 +1,2854 @@ +{ + "results": [ + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_edit_userinfo_bg.png", + "originalSize": 2640776, + "compressedSize": 436823, + "savedBytes": 2203953, + "ratio": 0.16541129420359293 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/splash/sc_splash.png", + "originalSize": 2373335, + "compressedSize": 379804, + "savedBytes": 1993531, + "ratio": 0.1600335400795844 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_defaut_bg.png", + "originalSize": 2243222, + "compressedSize": 704696, + "savedBytes": 1538526, + "ratio": 0.3141 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_index_bg.png", + "originalSize": 1422169, + "compressedSize": 420635, + "savedBytes": 1001534, + "ratio": 0.2958 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_medals_bg.png", + "originalSize": 709366, + "compressedSize": 181712, + "savedBytes": 527654, + "ratio": 0.2562 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_task_rule_bg.png", + "originalSize": 680955, + "compressedSize": 168665, + "savedBytes": 512290, + "ratio": 0.2477 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_task_head_bg.png", + "originalSize": 615700, + "compressedSize": 180813, + "savedBytes": 434887, + "ratio": 0.2937 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_my_head_bg_defalt.png", + "originalSize": 599816, + "compressedSize": 129984, + "savedBytes": 469832, + "ratio": 0.2167 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_center_bg_1.png", + "originalSize": 565256, + "compressedSize": 95294, + "savedBytes": 469962, + "ratio": 0.1686 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_wealth_center_bg_2.png", + "originalSize": 557458, + "compressedSize": 107272, + "savedBytes": 450186, + "ratio": 0.1924 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_center_bg_2.png", + "originalSize": 552863, + "compressedSize": 99316, + "savedBytes": 453547, + "ratio": 0.1796 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_wealth_center_bg_1.png", + "originalSize": 521981, + "compressedSize": 90132, + "savedBytes": 431849, + "ratio": 0.1727 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_float_bg5.png", + "originalSize": 501355, + "compressedSize": 113292, + "savedBytes": 388063, + "ratio": 0.226 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_contrl_bg.png", + "originalSize": 498223, + "compressedSize": 150025, + "savedBytes": 348198, + "ratio": 0.3011 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_emoji_vip4_6_bg.png", + "originalSize": 497274, + "compressedSize": 135808, + "savedBytes": 361466, + "ratio": 0.2731 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_float_bg4.png", + "originalSize": 478509, + "compressedSize": 112026, + "savedBytes": 366483, + "ratio": 0.2341 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_rps_3.png", + "originalSize": 430701, + "compressedSize": 117750, + "savedBytes": 312951, + "ratio": 0.2734 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_login_edit_data_bg.png", + "originalSize": 412832, + "compressedSize": 86426, + "savedBytes": 326406, + "ratio": 0.2093 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_send_cp_requst_dialog_content.png", + "originalSize": 405302, + "compressedSize": 151340, + "savedBytes": 253962, + "ratio": 0.3734 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_emoji_vip1_3_bg.png", + "originalSize": 402093, + "compressedSize": 108798, + "savedBytes": 293295, + "ratio": 0.2706 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_honor_userinfo_bg.png", + "originalSize": 392450, + "compressedSize": 124139, + "savedBytes": 268311, + "ratio": 0.3163 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_wallet_bg.png", + "originalSize": 380555, + "compressedSize": 108400, + "savedBytes": 272155, + "ratio": 0.2848 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_float_bg3.png", + "originalSize": 377040, + "compressedSize": 80836, + "savedBytes": 296204, + "ratio": 0.2144 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_task_list_item_bg.png", + "originalSize": 358516, + "compressedSize": 87362, + "savedBytes": 271154, + "ratio": 0.2437 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_rps_2.png", + "originalSize": 346282, + "compressedSize": 96021, + "savedBytes": 250261, + "ratio": 0.2773 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_index_msg_content_bg.png", + "originalSize": 344220, + "compressedSize": 70303, + "savedBytes": 273917, + "ratio": 0.2042 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_game_king_week_bg.png", + "originalSize": 341672, + "compressedSize": 91458, + "savedBytes": 250214, + "ratio": 0.2677 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_game_king_day_bg.png", + "originalSize": 341303, + "compressedSize": 91098, + "savedBytes": 250205, + "ratio": 0.2669 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_rps_1.png", + "originalSize": 335629, + "compressedSize": 93318, + "savedBytes": 242311, + "ratio": 0.278 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_leader_spinner_room_bg.png", + "originalSize": 335187, + "compressedSize": 88446, + "savedBytes": 246741, + "ratio": 0.2639 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_leader_spinner_wealth_bg.png", + "originalSize": 329050, + "compressedSize": 87187, + "savedBytes": 241863, + "ratio": 0.265 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_leader_spinner_charm_bg.png", + "originalSize": 317178, + "compressedSize": 83538, + "savedBytes": 233640, + "ratio": 0.2634 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_medal_detail_bg.png", + "originalSize": 313672, + "compressedSize": 73800, + "savedBytes": 239872, + "ratio": 0.2353 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_send_cp_requst_dialog_head.png", + "originalSize": 306891, + "compressedSize": 76865, + "savedBytes": 230026, + "ratio": 0.2505 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_roomgift_rank_title_bg.png", + "originalSize": 303424, + "compressedSize": 91364, + "savedBytes": 212060, + "ratio": 0.3011 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_medals_userinfo_bg.png", + "originalSize": 278704, + "compressedSize": 64908, + "savedBytes": 213796, + "ratio": 0.2329 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_user_info_bg.png", + "originalSize": 275262, + "compressedSize": 78759, + "savedBytes": 196503, + "ratio": 0.2861 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_my_room_has_bg.png", + "originalSize": 271650, + "compressedSize": 73801, + "savedBytes": 197849, + "ratio": 0.2717 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_wealth_info_bg.png", + "originalSize": 269109, + "compressedSize": 74118, + "savedBytes": 194991, + "ratio": 0.2754 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_coupon_head_bg.png", + "originalSize": 252310, + "compressedSize": 116082, + "savedBytes": 136228, + "ratio": 0.4601 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_app_update_bg.png", + "originalSize": 245009, + "compressedSize": 37417, + "savedBytes": 207592, + "ratio": 0.1527 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_float_bg2.png", + "originalSize": 243085, + "compressedSize": 48211, + "savedBytes": 194874, + "ratio": 0.1983 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_vistors_follow_fans_bg_woman.png", + "originalSize": 220411, + "compressedSize": 59854, + "savedBytes": 160557, + "ratio": 0.2716 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_red_envelopes_msg_item_bg.png", + "originalSize": 211626, + "compressedSize": 62829, + "savedBytes": 148797, + "ratio": 0.2969 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_vistors_follow_fans_bg_man.png", + "originalSize": 210234, + "compressedSize": 69354, + "savedBytes": 140880, + "ratio": 0.3299 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/splash/sc_icon_splash_icon.png", + "originalSize": 198651, + "compressedSize": 46959, + "savedBytes": 151692, + "ratio": 0.2364 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_gift_float_bg.png", + "originalSize": 195998, + "compressedSize": 50876, + "savedBytes": 145122, + "ratio": 0.2596 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_sgin_bg.png", + "originalSize": 191548, + "compressedSize": 46109, + "savedBytes": 145439, + "ratio": 0.2407 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_wear_honor_dialog_item_on_use.png", + "originalSize": 184499, + "compressedSize": 70340, + "savedBytes": 114159, + "ratio": 0.3812 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_seat_num_bg.png", + "originalSize": 182895, + "compressedSize": 47456, + "savedBytes": 135439, + "ratio": 0.2595 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_activity_gift_head_bg_ar.png", + "originalSize": 182654, + "compressedSize": 55894, + "savedBytes": 126760, + "ratio": 0.306 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_activity_gift_head_bg_en.png", + "originalSize": 181210, + "compressedSize": 55313, + "savedBytes": 125897, + "ratio": 0.3052 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_float_bg1.png", + "originalSize": 179786, + "compressedSize": 37390, + "savedBytes": 142396, + "ratio": 0.208 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_honor_detail_bg.png", + "originalSize": 169995, + "compressedSize": 76741, + "savedBytes": 93254, + "ratio": 0.4514 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/coupon/sc_icon_coupon_vip_item_bg.png", + "originalSize": 167251, + "compressedSize": 55142, + "savedBytes": 112109, + "ratio": 0.3297 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/coupon/sc_icon_coupon_headdress_item_bg.png", + "originalSize": 163117, + "compressedSize": 66120, + "savedBytes": 96997, + "ratio": 0.4054 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_logo.png", + "originalSize": 153727, + "compressedSize": 23106, + "savedBytes": 130621, + "ratio": 0.1503 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_first_recharge_room_tag.png", + "originalSize": 149998, + "compressedSize": 29509, + "savedBytes": 120489, + "ratio": 0.1967 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/coupon/sc_icon_coupon_mountains_item_bg.png", + "originalSize": 145349, + "compressedSize": 54529, + "savedBytes": 90820, + "ratio": 0.3752 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_task_item_select_bg.png", + "originalSize": 144900, + "compressedSize": 34309, + "savedBytes": 110591, + "ratio": 0.2368 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_avar_sex_woman.png", + "originalSize": 143921, + "compressedSize": 34345, + "savedBytes": 109576, + "ratio": 0.2386 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_empty.png", + "originalSize": 143502, + "compressedSize": 28399, + "savedBytes": 115103, + "ratio": 0.1979 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_count_guard3.png", + "originalSize": 139568, + "compressedSize": 40374, + "savedBytes": 99194, + "ratio": 0.2893 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_avar_defalt.png", + "originalSize": 137334, + "compressedSize": 32269, + "savedBytes": 105065, + "ratio": 0.235 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_avar_sex_man.png", + "originalSize": 137334, + "compressedSize": 32269, + "savedBytes": 105065, + "ratio": 0.235 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_count_guard1.png", + "originalSize": 136246, + "compressedSize": 40361, + "savedBytes": 95885, + "ratio": 0.2962 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_wear_honor_dialog_item_un_use.png", + "originalSize": 132815, + "compressedSize": 61578, + "savedBytes": 71237, + "ratio": 0.4636 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_send_cp_requst_dialog_head2.png", + "originalSize": 131039, + "compressedSize": 83047, + "savedBytes": 47992, + "ratio": 0.6338 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_count_guard3_user.png", + "originalSize": 127716, + "compressedSize": 33813, + "savedBytes": 93903, + "ratio": 0.2648 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_honor_item_bg.png", + "originalSize": 126585, + "compressedSize": 73241, + "savedBytes": 53344, + "ratio": 0.5786 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_task_item_unselect_bg.png", + "originalSize": 125378, + "compressedSize": 29028, + "savedBytes": 96350, + "ratio": 0.2315 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_count_guard1_user.png", + "originalSize": 124719, + "compressedSize": 32695, + "savedBytes": 92024, + "ratio": 0.2621 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_6.png", + "originalSize": 122598, + "compressedSize": 36275, + "savedBytes": 86323, + "ratio": 0.2959 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_9.png", + "originalSize": 114973, + "compressedSize": 33303, + "savedBytes": 81670, + "ratio": 0.2897 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_8.png", + "originalSize": 114200, + "compressedSize": 32858, + "savedBytes": 81342, + "ratio": 0.2877 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_5.png", + "originalSize": 111362, + "compressedSize": 32685, + "savedBytes": 78677, + "ratio": 0.2935 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_3.png", + "originalSize": 110711, + "compressedSize": 35036, + "savedBytes": 75675, + "ratio": 0.3165 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_splash_king_games_name_bg.png", + "originalSize": 110153, + "compressedSize": 38393, + "savedBytes": 71760, + "ratio": 0.3485 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_game_history_bg.png", + "originalSize": 109994, + "compressedSize": 31851, + "savedBytes": 78143, + "ratio": 0.2896 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_2.png", + "originalSize": 107804, + "compressedSize": 29573, + "savedBytes": 78231, + "ratio": 0.2743 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_index_bottom_navigation_bar_bg.png", + "originalSize": 104351, + "compressedSize": 28817, + "savedBytes": 75534, + "ratio": 0.2762 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_0.png", + "originalSize": 102488, + "compressedSize": 29718, + "savedBytes": 72770, + "ratio": 0.29 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_4.png", + "originalSize": 93531, + "compressedSize": 31982, + "savedBytes": 61549, + "ratio": 0.3419 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_7.png", + "originalSize": 91051, + "compressedSize": 28703, + "savedBytes": 62348, + "ratio": 0.3152 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_float_n_bg.png", + "originalSize": 88868, + "compressedSize": 21414, + "savedBytes": 67454, + "ratio": 0.241 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_count_guard.png", + "originalSize": 87669, + "compressedSize": 8964, + "savedBytes": 78705, + "ratio": 0.1022 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_wallet_icon.png", + "originalSize": 85378, + "compressedSize": 21087, + "savedBytes": 64291, + "ratio": 0.247 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_my_room_no_bg.png", + "originalSize": 85166, + "compressedSize": 26434, + "savedBytes": 58732, + "ratio": 0.3104 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_gift_left_no_vip_bg.png", + "originalSize": 83951, + "compressedSize": 11768, + "savedBytes": 72183, + "ratio": 0.1402 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_count_guard2_user.png", + "originalSize": 82164, + "compressedSize": 34525, + "savedBytes": 47639, + "ratio": 0.4202 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_bag.png", + "originalSize": 77566, + "compressedSize": 24131, + "savedBytes": 53435, + "ratio": 0.3111 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_level.png", + "originalSize": 76075, + "compressedSize": 22320, + "savedBytes": 53755, + "ratio": 0.2934 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/entrance/sc_icon_room_entrance_no_vip_bg.png", + "originalSize": 75503, + "compressedSize": 13556, + "savedBytes": 61947, + "ratio": 0.1795 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_msg_n_bg.png", + "originalSize": 75193, + "compressedSize": 10479, + "savedBytes": 64714, + "ratio": 0.1394 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_count_guard2.png", + "originalSize": 74767, + "compressedSize": 33011, + "savedBytes": 41756, + "ratio": 0.4415 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_send_cp_requst_ok_bg.png", + "originalSize": 74585, + "compressedSize": 21944, + "savedBytes": 52641, + "ratio": 0.2942 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_medals_en.png", + "originalSize": 65801, + "compressedSize": 15031, + "savedBytes": 50770, + "ratio": 0.2284 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_honor_item_c_bg.png", + "originalSize": 65009, + "compressedSize": 25843, + "savedBytes": 39166, + "ratio": 0.3975 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_lucknumber_1.png", + "originalSize": 63001, + "compressedSize": 21721, + "savedBytes": 41280, + "ratio": 0.3448 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_giftwall_item_bg.png", + "originalSize": 55706, + "compressedSize": 15928, + "savedBytes": 39778, + "ratio": 0.2859 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip4_seat.png", + "originalSize": 54470, + "compressedSize": 10921, + "savedBytes": 43549, + "ratio": 0.2005 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_sgin_rec_bg.png", + "originalSize": 53661, + "compressedSize": 10033, + "savedBytes": 43628, + "ratio": 0.187 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_charm.png", + "originalSize": 51826, + "compressedSize": 14379, + "savedBytes": 37447, + "ratio": 0.2774 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip5_seat.png", + "originalSize": 51796, + "compressedSize": 11563, + "savedBytes": 40233, + "ratio": 0.2232 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_me_menu_1_bg.png", + "originalSize": 50407, + "compressedSize": 16952, + "savedBytes": 33455, + "ratio": 0.3363 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_special_effects.png", + "originalSize": 49593, + "compressedSize": 14603, + "savedBytes": 34990, + "ratio": 0.2945 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_medals_no.png", + "originalSize": 48862, + "compressedSize": 16212, + "savedBytes": 32650, + "ratio": 0.3318 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_splash_cp_name_bg.png", + "originalSize": 47353, + "compressedSize": 11019, + "savedBytes": 36334, + "ratio": 0.2327 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_reort_add_pic.png", + "originalSize": 47310, + "compressedSize": 12817, + "savedBytes": 34493, + "ratio": 0.2709 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_medal_item_s_bg.png", + "originalSize": 42732, + "compressedSize": 15269, + "savedBytes": 27463, + "ratio": 0.3573 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_rps_tag.png", + "originalSize": 42629, + "compressedSize": 13102, + "savedBytes": 29527, + "ratio": 0.3073 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_my_rechage_title.png", + "originalSize": 41855, + "compressedSize": 11160, + "savedBytes": 30695, + "ratio": 0.2666 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_task.png", + "originalSize": 41459, + "compressedSize": 13490, + "savedBytes": 27969, + "ratio": 0.3254 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_redpackg_tag.png", + "originalSize": 41221, + "compressedSize": 13970, + "savedBytes": 27251, + "ratio": 0.3389 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_notifcation_title_bg_ar.png", + "originalSize": 41032, + "compressedSize": 11093, + "savedBytes": 29939, + "ratio": 0.2703 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_system_title_bg_ar.png", + "originalSize": 40681, + "compressedSize": 10311, + "savedBytes": 30370, + "ratio": 0.2535 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_notifcation_title_bg.png", + "originalSize": 40366, + "compressedSize": 10782, + "savedBytes": 29584, + "ratio": 0.2671 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_system_title_bg.png", + "originalSize": 40168, + "compressedSize": 10024, + "savedBytes": 30144, + "ratio": 0.2496 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_charm_tag.png", + "originalSize": 39215, + "compressedSize": 12835, + "savedBytes": 26380, + "ratio": 0.3273 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_hotgames_tag_bg.png", + "originalSize": 39127, + "compressedSize": 11731, + "savedBytes": 27396, + "ratio": 0.2998 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_tag.png", + "originalSize": 38913, + "compressedSize": 16557, + "savedBytes": 22356, + "ratio": 0.4255 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_game_item_bg_v.png", + "originalSize": 38499, + "compressedSize": 19572, + "savedBytes": 18927, + "ratio": 0.5084 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip3_seat.png", + "originalSize": 37891, + "compressedSize": 8264, + "savedBytes": 29627, + "ratio": 0.2181 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_room_bord.png", + "originalSize": 37698, + "compressedSize": 16665, + "savedBytes": 21033, + "ratio": 0.4421 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip6_seat.png", + "originalSize": 36098, + "compressedSize": 10859, + "savedBytes": 25239, + "ratio": 0.3008 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_home_en.png", + "originalSize": 35216, + "compressedSize": 10591, + "savedBytes": 24625, + "ratio": 0.3007 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_honor_item_s_bg.png", + "originalSize": 34824, + "compressedSize": 12264, + "savedBytes": 22560, + "ratio": 0.3522 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_medal_item_c_bg.png", + "originalSize": 34519, + "compressedSize": 14159, + "savedBytes": 20360, + "ratio": 0.4102 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_message_en.png", + "originalSize": 34155, + "compressedSize": 10450, + "savedBytes": 23705, + "ratio": 0.306 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_explore_no.png", + "originalSize": 33834, + "compressedSize": 11489, + "savedBytes": 22345, + "ratio": 0.3396 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_send_cp_requst_username_bg.png", + "originalSize": 33644, + "compressedSize": 11334, + "savedBytes": 22310, + "ratio": 0.3369 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_explore_en.png", + "originalSize": 33620, + "compressedSize": 10196, + "savedBytes": 23424, + "ratio": 0.3033 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_home_no.png", + "originalSize": 33527, + "compressedSize": 10484, + "savedBytes": 23043, + "ratio": 0.3127 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_claimed_text.png", + "originalSize": 32886, + "compressedSize": 9018, + "savedBytes": 23868, + "ratio": 0.2742 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_send_cp_requst_cancel_bg.png", + "originalSize": 32709, + "compressedSize": 20375, + "savedBytes": 12334, + "ratio": 0.6229 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_me_no.png", + "originalSize": 32543, + "compressedSize": 10201, + "savedBytes": 22342, + "ratio": 0.3135 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_botton_gift.png", + "originalSize": 32391, + "compressedSize": 8496, + "savedBytes": 23895, + "ratio": 0.2623 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_wear_honor_dialog_bg.png", + "originalSize": 31823, + "compressedSize": 4236, + "savedBytes": 27587, + "ratio": 0.1331 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_fz.png", + "originalSize": 31692, + "compressedSize": 10460, + "savedBytes": 21232, + "ratio": 0.3301 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_jb3.png", + "originalSize": 30740, + "compressedSize": 10277, + "savedBytes": 20463, + "ratio": 0.3343 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_first_recharge_btn.png", + "originalSize": 30281, + "compressedSize": 10605, + "savedBytes": 19676, + "ratio": 0.3502 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_gly.png", + "originalSize": 30009, + "compressedSize": 11417, + "savedBytes": 18592, + "ratio": 0.3805 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_message_no.png", + "originalSize": 29472, + "compressedSize": 9237, + "savedBytes": 20235, + "ratio": 0.3134 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_hy.png", + "originalSize": 29409, + "compressedSize": 10430, + "savedBytes": 18979, + "ratio": 0.3547 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_medal_item_b_bg.png", + "originalSize": 29263, + "compressedSize": 11060, + "savedBytes": 18203, + "ratio": 0.378 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_medal_item_a_bg.png", + "originalSize": 27801, + "compressedSize": 9122, + "savedBytes": 18679, + "ratio": 0.3281 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_inv_go_btn.png", + "originalSize": 27779, + "compressedSize": 9526, + "savedBytes": 18253, + "ratio": 0.3429 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_num_text_ar.png", + "originalSize": 27594, + "compressedSize": 8338, + "savedBytes": 19256, + "ratio": 0.3022 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip3_sonic.png", + "originalSize": 27024, + "compressedSize": 3884, + "savedBytes": 23140, + "ratio": 0.1437 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_jb.png", + "originalSize": 26158, + "compressedSize": 8582, + "savedBytes": 17576, + "ratio": 0.3281 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_honor_item_b_bg.png", + "originalSize": 26089, + "compressedSize": 9784, + "savedBytes": 16305, + "ratio": 0.375 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_cp_head_ring.png", + "originalSize": 24633, + "compressedSize": 6599, + "savedBytes": 18034, + "ratio": 0.2679 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_honor_item_a_bg.png", + "originalSize": 24450, + "compressedSize": 8242, + "savedBytes": 16208, + "ratio": 0.3371 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_jb2.png", + "originalSize": 24356, + "compressedSize": 8354, + "savedBytes": 16002, + "ratio": 0.343 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_wealth_level_40_50.png", + "originalSize": 24096, + "compressedSize": 6960, + "savedBytes": 17136, + "ratio": 0.2888 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_loading.png", + "originalSize": 23643, + "compressedSize": 5909, + "savedBytes": 17734, + "ratio": 0.2499 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_no_data_icon2.png", + "originalSize": 23643, + "compressedSize": 5909, + "savedBytes": 17734, + "ratio": 0.2499 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_no_data_icon.png", + "originalSize": 23643, + "compressedSize": 5909, + "savedBytes": 17734, + "ratio": 0.2499 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip6_sonic.png", + "originalSize": 23603, + "compressedSize": 6381, + "savedBytes": 17222, + "ratio": 0.2703 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_pause.png", + "originalSize": 23564, + "compressedSize": 7902, + "savedBytes": 15662, + "ratio": 0.3353 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_play.png", + "originalSize": 23225, + "compressedSize": 8072, + "savedBytes": 15153, + "ratio": 0.3476 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_wealth_level_30_40.png", + "originalSize": 22885, + "compressedSize": 6760, + "savedBytes": 16125, + "ratio": 0.2954 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_task_list_item_go_btn.png", + "originalSize": 22794, + "compressedSize": 7723, + "savedBytes": 15071, + "ratio": 0.3388 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_first_recharge_ar_text.png", + "originalSize": 22672, + "compressedSize": 5834, + "savedBytes": 16838, + "ratio": 0.2573 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_msg_n_ball.png", + "originalSize": 22485, + "compressedSize": 7411, + "savedBytes": 15074, + "ratio": 0.3296 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_serach.png", + "originalSize": 22213, + "compressedSize": 7361, + "savedBytes": 14852, + "ratio": 0.3314 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_num_text_en.png", + "originalSize": 21833, + "compressedSize": 6969, + "savedBytes": 14864, + "ratio": 0.3192 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_mic_model_5.png", + "originalSize": 21412, + "compressedSize": 6413, + "savedBytes": 14999, + "ratio": 0.2995 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_first_recharge_en_text.png", + "originalSize": 21063, + "compressedSize": 5223, + "savedBytes": 15840, + "ratio": 0.248 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_seat_open.png", + "originalSize": 20898, + "compressedSize": 7255, + "savedBytes": 13643, + "ratio": 0.3472 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_seat_lock.png", + "originalSize": 20740, + "compressedSize": 7249, + "savedBytes": 13491, + "ratio": 0.3495 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_30_40.png", + "originalSize": 20546, + "compressedSize": 6446, + "savedBytes": 14100, + "ratio": 0.3137 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_20_30.png", + "originalSize": 19276, + "compressedSize": 6203, + "savedBytes": 13073, + "ratio": 0.3218 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_task_list_item_act_btn.png", + "originalSize": 19004, + "compressedSize": 5809, + "savedBytes": 13195, + "ratio": 0.3057 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_wealth_level_20_30.png", + "originalSize": 18461, + "compressedSize": 6624, + "savedBytes": 11837, + "ratio": 0.3588 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_wealth_level_1_10.png", + "originalSize": 18332, + "compressedSize": 6023, + "savedBytes": 12309, + "ratio": 0.3286 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_10_20.png", + "originalSize": 18273, + "compressedSize": 6167, + "savedBytes": 12106, + "ratio": 0.3375 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_signedin_bg.png", + "originalSize": 18001, + "compressedSize": 8768, + "savedBytes": 9233, + "ratio": 0.4871 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_times_text_ar.png", + "originalSize": 17629, + "compressedSize": 4769, + "savedBytes": 12860, + "ratio": 0.2705 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_share_whatsapp.png", + "originalSize": 17377, + "compressedSize": 4613, + "savedBytes": 12764, + "ratio": 0.2655 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_guest.png", + "originalSize": 16993, + "compressedSize": 9512, + "savedBytes": 7481, + "ratio": 0.5598 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_xiangji.png", + "originalSize": 16941, + "compressedSize": 3547, + "savedBytes": 13394, + "ratio": 0.2094 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_tupian.png", + "originalSize": 16940, + "compressedSize": 3617, + "savedBytes": 13323, + "ratio": 0.2135 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_game_mic_open.png", + "originalSize": 16702, + "compressedSize": 5577, + "savedBytes": 11125, + "ratio": 0.3339 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_sgin_item_day7_bg3.png", + "originalSize": 16669, + "compressedSize": 5614, + "savedBytes": 11055, + "ratio": 0.3368 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_wealth_level_10_20.png", + "originalSize": 16292, + "compressedSize": 6439, + "savedBytes": 9853, + "ratio": 0.3952 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_1_10.png", + "originalSize": 15864, + "compressedSize": 5437, + "savedBytes": 10427, + "ratio": 0.3427 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_index_room_brd.png", + "originalSize": 15750, + "compressedSize": 7600, + "savedBytes": 8150, + "ratio": 0.4825 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_sgin_item_bg2.png", + "originalSize": 15418, + "compressedSize": 5508, + "savedBytes": 9910, + "ratio": 0.3572 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_game_mic_close.png", + "originalSize": 15362, + "compressedSize": 5217, + "savedBytes": 10145, + "ratio": 0.3396 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_times_text_en.png", + "originalSize": 15225, + "compressedSize": 4405, + "savedBytes": 10820, + "ratio": 0.2893 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_hongbao.png", + "originalSize": 14687, + "compressedSize": 2792, + "savedBytes": 11895, + "ratio": 0.1901 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_message_noti.png", + "originalSize": 14627, + "compressedSize": 7349, + "savedBytes": 7278, + "ratio": 0.5024 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_share_snapchat.png", + "originalSize": 14345, + "compressedSize": 4572, + "savedBytes": 9773, + "ratio": 0.3187 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_create_dynamic_add_pic.png", + "originalSize": 14044, + "compressedSize": 2696, + "savedBytes": 11348, + "ratio": 0.192 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_message_system.png", + "originalSize": 13837, + "compressedSize": 6422, + "savedBytes": 7415, + "ratio": 0.4641 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_cp_opt_bg.png", + "originalSize": 13760, + "compressedSize": 3662, + "savedBytes": 10098, + "ratio": 0.2661 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_numk.png", + "originalSize": 13720, + "compressedSize": 5024, + "savedBytes": 8696, + "ratio": 0.3662 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_6.png", + "originalSize": 13580, + "compressedSize": 4451, + "savedBytes": 9129, + "ratio": 0.3278 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_8.png", + "originalSize": 13432, + "compressedSize": 4445, + "savedBytes": 8987, + "ratio": 0.3309 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_9.png", + "originalSize": 13417, + "compressedSize": 4420, + "savedBytes": 8997, + "ratio": 0.3294 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_3.png", + "originalSize": 13312, + "compressedSize": 4387, + "savedBytes": 8925, + "ratio": 0.3296 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_5.png", + "originalSize": 13103, + "compressedSize": 4380, + "savedBytes": 8723, + "ratio": 0.3343 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_m.png", + "originalSize": 13031, + "compressedSize": 4487, + "savedBytes": 8544, + "ratio": 0.3443 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_customized_rule.png", + "originalSize": 13003, + "compressedSize": 5280, + "savedBytes": 7723, + "ratio": 0.4061 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_message_activity.png", + "originalSize": 12877, + "compressedSize": 5999, + "savedBytes": 6878, + "ratio": 0.4659 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_free_sonic.png", + "originalSize": 12841, + "compressedSize": 1802, + "savedBytes": 11039, + "ratio": 0.1403 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_0.png", + "originalSize": 12703, + "compressedSize": 4176, + "savedBytes": 8527, + "ratio": 0.3287 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_cp_head_ring2.png", + "originalSize": 12271, + "compressedSize": 6669, + "savedBytes": 5602, + "ratio": 0.5435 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_send_user_gift.png", + "originalSize": 12219, + "compressedSize": 4338, + "savedBytes": 7881, + "ratio": 0.355 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_2.png", + "originalSize": 12189, + "compressedSize": 3976, + "savedBytes": 8213, + "ratio": 0.3262 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num6.png", + "originalSize": 12045, + "compressedSize": 4492, + "savedBytes": 7553, + "ratio": 0.3729 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num0.png", + "originalSize": 11910, + "compressedSize": 4578, + "savedBytes": 7332, + "ratio": 0.3844 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_edit_head_camera_alt.png", + "originalSize": 11902, + "compressedSize": 4923, + "savedBytes": 6979, + "ratio": 0.4136 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num2.png", + "originalSize": 11856, + "compressedSize": 4368, + "savedBytes": 7488, + "ratio": 0.3684 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num3.png", + "originalSize": 11716, + "compressedSize": 4408, + "savedBytes": 7308, + "ratio": 0.3762 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_person_follow.png", + "originalSize": 11694, + "compressedSize": 1619, + "savedBytes": 10075, + "ratio": 0.1384 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_person_tochat.png", + "originalSize": 11620, + "compressedSize": 1694, + "savedBytes": 9926, + "ratio": 0.1458 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num9.png", + "originalSize": 11544, + "compressedSize": 4335, + "savedBytes": 7209, + "ratio": 0.3755 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num8.png", + "originalSize": 11525, + "compressedSize": 4305, + "savedBytes": 7220, + "ratio": 0.3735 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_person_in_room.png", + "originalSize": 11342, + "compressedSize": 1743, + "savedBytes": 9599, + "ratio": 0.1537 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_4.png", + "originalSize": 11331, + "compressedSize": 3867, + "savedBytes": 7464, + "ratio": 0.3413 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_x.png", + "originalSize": 11313, + "compressedSize": 3676, + "savedBytes": 7637, + "ratio": 0.3249 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num4.png", + "originalSize": 10849, + "compressedSize": 4075, + "savedBytes": 6774, + "ratio": 0.3756 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_k.png", + "originalSize": 10785, + "compressedSize": 3723, + "savedBytes": 7062, + "ratio": 0.3452 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num5.png", + "originalSize": 10594, + "compressedSize": 4057, + "savedBytes": 6537, + "ratio": 0.383 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_medals.png", + "originalSize": 10146, + "compressedSize": 4500, + "savedBytes": 5646, + "ratio": 0.4435 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_7.png", + "originalSize": 10086, + "compressedSize": 3339, + "savedBytes": 6747, + "ratio": 0.3311 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_dynamic_no.png", + "originalSize": 10005, + "compressedSize": 3138, + "savedBytes": 6867, + "ratio": 0.3136 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num7.png", + "originalSize": 9740, + "compressedSize": 3757, + "savedBytes": 5983, + "ratio": 0.3857 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_num1.png", + "originalSize": 9600, + "compressedSize": 3894, + "savedBytes": 5706, + "ratio": 0.4056 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_share_facebook.png", + "originalSize": 9591, + "compressedSize": 2376, + "savedBytes": 7215, + "ratio": 0.2477 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_number_1.png", + "originalSize": 9509, + "compressedSize": 3317, + "savedBytes": 6192, + "ratio": 0.3488 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_honor_userinfo_btn.png", + "originalSize": 9496, + "compressedSize": 4139, + "savedBytes": 5357, + "ratio": 0.4359 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_roomgift_rule_back_bg.png", + "originalSize": 9360, + "compressedSize": 3507, + "savedBytes": 5853, + "ratio": 0.3747 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_game_min.png", + "originalSize": 8989, + "compressedSize": 3922, + "savedBytes": 5067, + "ratio": 0.4363 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_game_close.png", + "originalSize": 8875, + "compressedSize": 3836, + "savedBytes": 5039, + "ratio": 0.4322 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_invite_new_users_to_earn_coins.png", + "originalSize": 8795, + "compressedSize": 3964, + "savedBytes": 4831, + "ratio": 0.4507 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_task_list_item_complete_btn.png", + "originalSize": 8738, + "compressedSize": 6144, + "savedBytes": 2594, + "ratio": 0.7031 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip5_sonic.png", + "originalSize": 8678, + "compressedSize": 4541, + "savedBytes": 4137, + "ratio": 0.5233 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_my_items.png", + "originalSize": 8231, + "compressedSize": 3579, + "savedBytes": 4652, + "ratio": 0.4348 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_task.png", + "originalSize": 8026, + "compressedSize": 3815, + "savedBytes": 4211, + "ratio": 0.4753 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/splash/sc_icon_splash_skip_bg.png", + "originalSize": 7280, + "compressedSize": 3056, + "savedBytes": 4224, + "ratio": 0.4198 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_roomgift_rank_back_bg.png", + "originalSize": 7132, + "compressedSize": 2783, + "savedBytes": 4349, + "ratio": 0.3902 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_select_un_ok.png", + "originalSize": 6935, + "compressedSize": 2673, + "savedBytes": 4262, + "ratio": 0.3854 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_sex_woman_bg.png", + "originalSize": 6895, + "compressedSize": 2602, + "savedBytes": 4293, + "ratio": 0.3774 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_game_en.png", + "originalSize": 6811, + "compressedSize": 2619, + "savedBytes": 4192, + "ratio": 0.3845 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_task_exp.png", + "originalSize": 5951, + "compressedSize": 2398, + "savedBytes": 3553, + "ratio": 0.403 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_theme.png", + "originalSize": 5933, + "compressedSize": 2163, + "savedBytes": 3770, + "ratio": 0.3646 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_gift_effect.png", + "originalSize": 5890, + "compressedSize": 1754, + "savedBytes": 4136, + "ratio": 0.2978 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_dynamic_en.png", + "originalSize": 5886, + "compressedSize": 2307, + "savedBytes": 3579, + "ratio": 0.3919 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_share_link.png", + "originalSize": 5863, + "compressedSize": 2481, + "savedBytes": 3382, + "ratio": 0.4232 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_social_privilege_open.png", + "originalSize": 5701, + "compressedSize": 2344, + "savedBytes": 3357, + "ratio": 0.4112 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_gift_luck.png", + "originalSize": 5669, + "compressedSize": 1615, + "savedBytes": 4054, + "ratio": 0.2849 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_sex_man_bg.png", + "originalSize": 5663, + "compressedSize": 2289, + "savedBytes": 3374, + "ratio": 0.4042 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_switch_on.png", + "originalSize": 5602, + "compressedSize": 2772, + "savedBytes": 2830, + "ratio": 0.4948 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_cp_value_tag.png", + "originalSize": 5513, + "compressedSize": 2327, + "savedBytes": 3186, + "ratio": 0.4221 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_contribute_rank3.png", + "originalSize": 5266, + "compressedSize": 2402, + "savedBytes": 2864, + "ratio": 0.4561 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_sgin_item_day7_bg1.png", + "originalSize": 5260, + "compressedSize": 1716, + "savedBytes": 3544, + "ratio": 0.3262 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_contribute_rank2.png", + "originalSize": 5218, + "compressedSize": 2408, + "savedBytes": 2810, + "ratio": 0.4615 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_menu_mic_model_change.png", + "originalSize": 5175, + "compressedSize": 2422, + "savedBytes": 2753, + "ratio": 0.468 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_contribute.png", + "originalSize": 4946, + "compressedSize": 2322, + "savedBytes": 2624, + "ratio": 0.4695 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_sgin_item_day7_bg2.png", + "originalSize": 4863, + "compressedSize": 1383, + "savedBytes": 3480, + "ratio": 0.2844 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_msg_pic.png", + "originalSize": 4853, + "compressedSize": 1857, + "savedBytes": 2996, + "ratio": 0.3826 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_contribute_rank1.png", + "originalSize": 4734, + "compressedSize": 2248, + "savedBytes": 2486, + "ratio": 0.4749 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_exit_room.png", + "originalSize": 4496, + "compressedSize": 1700, + "savedBytes": 2796, + "ratio": 0.3781 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_game_numxx.png", + "originalSize": 4455, + "compressedSize": 2028, + "savedBytes": 2427, + "ratio": 0.4552 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_gift_music.png", + "originalSize": 4430, + "compressedSize": 1338, + "savedBytes": 3092, + "ratio": 0.302 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_un_follow.png", + "originalSize": 4366, + "compressedSize": 1548, + "savedBytes": 2818, + "ratio": 0.3546 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_botton_mic_close.png", + "originalSize": 4191, + "compressedSize": 1977, + "savedBytes": 2214, + "ratio": 0.4717 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_sgin_item_bg3.png", + "originalSize": 4169, + "compressedSize": 1376, + "savedBytes": 2793, + "ratio": 0.3301 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music.png", + "originalSize": 4147, + "compressedSize": 2016, + "savedBytes": 2131, + "ratio": 0.4861 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_checked.png", + "originalSize": 3989, + "compressedSize": 922, + "savedBytes": 3067, + "ratio": 0.2311 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_free_seat.png", + "originalSize": 3969, + "compressedSize": 1745, + "savedBytes": 2224, + "ratio": 0.4397 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_at_tag_user.png", + "originalSize": 3935, + "compressedSize": 1358, + "savedBytes": 2577, + "ratio": 0.3451 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_send_user_message.png", + "originalSize": 3875, + "compressedSize": 1372, + "savedBytes": 2503, + "ratio": 0.3541 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_my_drawer_item_bg.png", + "originalSize": 3866, + "compressedSize": 1987, + "savedBytes": 1879, + "ratio": 0.514 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_sgin_item_bg1.png", + "originalSize": 3827, + "compressedSize": 1311, + "savedBytes": 2516, + "ratio": 0.3426 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_gift_cp.png", + "originalSize": 3799, + "compressedSize": 1324, + "savedBytes": 2475, + "ratio": 0.3485 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_follow.png", + "originalSize": 3734, + "compressedSize": 1309, + "savedBytes": 2425, + "ratio": 0.3506 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_menu_settins.png", + "originalSize": 3594, + "compressedSize": 1375, + "savedBytes": 2219, + "ratio": 0.3826 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_select.png", + "originalSize": 3531, + "compressedSize": 1306, + "savedBytes": 2225, + "ratio": 0.3699 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_agen_center.png", + "originalSize": 3520, + "compressedSize": 1834, + "savedBytes": 1686, + "ratio": 0.521 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_botton_mic_open.png", + "originalSize": 3471, + "compressedSize": 1784, + "savedBytes": 1687, + "ratio": 0.514 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_min_room.png", + "originalSize": 3396, + "compressedSize": 1313, + "savedBytes": 2083, + "ratio": 0.3866 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_social_privilege_select.png", + "originalSize": 3386, + "compressedSize": 888, + "savedBytes": 2498, + "ratio": 0.2623 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_edit_user_info_add_pic.png", + "originalSize": 3311, + "compressedSize": 1627, + "savedBytes": 1684, + "ratio": 0.4914 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_report.png", + "originalSize": 3308, + "compressedSize": 1363, + "savedBytes": 1945, + "ratio": 0.412 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_botton_game.png", + "originalSize": 3307, + "compressedSize": 1582, + "savedBytes": 1725, + "ratio": 0.4784 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_mic_open.png", + "originalSize": 3247, + "compressedSize": 1254, + "savedBytes": 1993, + "ratio": 0.3862 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_mic_mute.png", + "originalSize": 3227, + "compressedSize": 1327, + "savedBytes": 1900, + "ratio": 0.4112 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_admin_center.png", + "originalSize": 3183, + "compressedSize": 1605, + "savedBytes": 1578, + "ratio": 0.5042 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_settings.png", + "originalSize": 3119, + "compressedSize": 1579, + "savedBytes": 1540, + "ratio": 0.5063 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_honor.png", + "originalSize": 3092, + "compressedSize": 1538, + "savedBytes": 1554, + "ratio": 0.4974 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_select.png", + "originalSize": 3029, + "compressedSize": 1409, + "savedBytes": 1620, + "ratio": 0.4652 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_recharge_agency.png", + "originalSize": 2999, + "compressedSize": 1445, + "savedBytes": 1554, + "ratio": 0.4818 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_paid.png", + "originalSize": 2911, + "compressedSize": 1333, + "savedBytes": 1578, + "ratio": 0.4579 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_bd_leader.png", + "originalSize": 2892, + "compressedSize": 1393, + "savedBytes": 1499, + "ratio": 0.4817 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_coupon.png", + "originalSize": 2889, + "compressedSize": 1421, + "savedBytes": 1468, + "ratio": 0.4919 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_gift_heartbeat.png", + "originalSize": 2866, + "compressedSize": 1753, + "savedBytes": 1113, + "ratio": 0.6117 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_volume1.png", + "originalSize": 2853, + "compressedSize": 1284, + "savedBytes": 1569, + "ratio": 0.4501 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_join_room_member.png", + "originalSize": 2834, + "compressedSize": 1240, + "savedBytes": 1594, + "ratio": 0.4375 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_msg_clear.png", + "originalSize": 2798, + "compressedSize": 1036, + "savedBytes": 1762, + "ratio": 0.3703 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_follow_no.png", + "originalSize": 2796, + "compressedSize": 1061, + "savedBytes": 1735, + "ratio": 0.3795 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_add_pic.png", + "originalSize": 2728, + "compressedSize": 1323, + "savedBytes": 1405, + "ratio": 0.485 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_jiesuo.png", + "originalSize": 2719, + "compressedSize": 999, + "savedBytes": 1720, + "ratio": 0.3674 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_suo.png", + "originalSize": 2717, + "compressedSize": 1038, + "savedBytes": 1679, + "ratio": 0.382 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_user_card_setting.png", + "originalSize": 2715, + "compressedSize": 1215, + "savedBytes": 1500, + "ratio": 0.4475 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_host_center.png", + "originalSize": 2682, + "compressedSize": 1282, + "savedBytes": 1400, + "ratio": 0.478 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_follow_room_un.png", + "originalSize": 2602, + "compressedSize": 1135, + "savedBytes": 1467, + "ratio": 0.4362 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_sex_man.png", + "originalSize": 2579, + "compressedSize": 1153, + "savedBytes": 1426, + "ratio": 0.4471 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_serach2.png", + "originalSize": 2578, + "compressedSize": 1310, + "savedBytes": 1268, + "ratio": 0.5081 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_sex_woman.png", + "originalSize": 2575, + "compressedSize": 1078, + "savedBytes": 1497, + "ratio": 0.4186 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_menu.png", + "originalSize": 2564, + "compressedSize": 1088, + "savedBytes": 1476, + "ratio": 0.4243 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_music_delete.png", + "originalSize": 2509, + "compressedSize": 1136, + "savedBytes": 1373, + "ratio": 0.4528 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_become_host_center.png", + "originalSize": 2509, + "compressedSize": 1228, + "savedBytes": 1281, + "ratio": 0.4894 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_index_room_model_2.png", + "originalSize": 2454, + "compressedSize": 931, + "savedBytes": 1523, + "ratio": 0.3794 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_edit_user_info2.png", + "originalSize": 2449, + "compressedSize": 1100, + "savedBytes": 1349, + "ratio": 0.4492 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_google.png", + "originalSize": 2445, + "compressedSize": 1069, + "savedBytes": 1376, + "ratio": 0.4372 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_remve_block.png", + "originalSize": 2437, + "compressedSize": 1210, + "savedBytes": 1227, + "ratio": 0.4965 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_add.png", + "originalSize": 2427, + "compressedSize": 1163, + "savedBytes": 1264, + "ratio": 0.4792 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_agent_center.png", + "originalSize": 2397, + "compressedSize": 1144, + "savedBytes": 1253, + "ratio": 0.4773 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_follow_room_en.png", + "originalSize": 2390, + "compressedSize": 1128, + "savedBytes": 1262, + "ratio": 0.472 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_bd_center.png", + "originalSize": 2346, + "compressedSize": 1154, + "savedBytes": 1192, + "ratio": 0.4919 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_chat_key.png", + "originalSize": 2318, + "compressedSize": 1145, + "savedBytes": 1173, + "ratio": 0.494 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_add.png", + "originalSize": 2273, + "compressedSize": 1050, + "savedBytes": 1223, + "ratio": 0.4619 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_model_1.png", + "originalSize": 2255, + "compressedSize": 998, + "savedBytes": 1257, + "ratio": 0.4426 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_index_creat_room_tag.png", + "originalSize": 2226, + "compressedSize": 789, + "savedBytes": 1437, + "ratio": 0.3544 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_room_flot_close.png", + "originalSize": 2223, + "compressedSize": 1001, + "savedBytes": 1222, + "ratio": 0.4503 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_coupon_recod.png", + "originalSize": 2149, + "compressedSize": 943, + "savedBytes": 1206, + "ratio": 0.4388 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_model_2.png", + "originalSize": 2142, + "compressedSize": 928, + "savedBytes": 1214, + "ratio": 0.4332 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_my_room_tag2.png", + "originalSize": 2128, + "compressedSize": 1064, + "savedBytes": 1064, + "ratio": 0.5 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_cp_helpe.png", + "originalSize": 2056, + "compressedSize": 1066, + "savedBytes": 990, + "ratio": 0.5185 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_model_3.png", + "originalSize": 2021, + "compressedSize": 899, + "savedBytes": 1122, + "ratio": 0.4448 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_pic_close.png", + "originalSize": 2019, + "compressedSize": 742, + "savedBytes": 1277, + "ratio": 0.3675 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_chat_message_send.png", + "originalSize": 2005, + "compressedSize": 869, + "savedBytes": 1136, + "ratio": 0.4334 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_task_tag.png", + "originalSize": 2003, + "compressedSize": 1245, + "savedBytes": 758, + "ratio": 0.6216 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_setting_language.png", + "originalSize": 1954, + "compressedSize": 1052, + "savedBytes": 902, + "ratio": 0.5384 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_clear_c.png", + "originalSize": 1953, + "compressedSize": 937, + "savedBytes": 1016, + "ratio": 0.4798 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_msg_menu_delete.png", + "originalSize": 1941, + "compressedSize": 894, + "savedBytes": 1047, + "ratio": 0.4606 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_social_privilege_close.png", + "originalSize": 1921, + "compressedSize": 851, + "savedBytes": 1070, + "ratio": 0.443 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_mic_switch_mode.png", + "originalSize": 1904, + "compressedSize": 890, + "savedBytes": 1014, + "ratio": 0.4674 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_open_card.png", + "originalSize": 1878, + "compressedSize": 847, + "savedBytes": 1031, + "ratio": 0.451 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_all_on_microphone.png", + "originalSize": 1873, + "compressedSize": 915, + "savedBytes": 958, + "ratio": 0.4885 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_card_report.png", + "originalSize": 1857, + "compressedSize": 775, + "savedBytes": 1082, + "ratio": 0.4173 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_next.png", + "originalSize": 1849, + "compressedSize": 641, + "savedBytes": 1208, + "ratio": 0.3467 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_previous.png", + "originalSize": 1844, + "compressedSize": 651, + "savedBytes": 1193, + "ratio": 0.353 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/store/sc_icon_shop_item_play.png", + "originalSize": 1844, + "compressedSize": 973, + "savedBytes": 871, + "ratio": 0.5277 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_add_user.png", + "originalSize": 1836, + "compressedSize": 754, + "savedBytes": 1082, + "ratio": 0.4107 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_sc.png", + "originalSize": 1812, + "compressedSize": 925, + "savedBytes": 887, + "ratio": 0.5105 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_person_unfollow.png", + "originalSize": 1796, + "compressedSize": 956, + "savedBytes": 840, + "ratio": 0.5323 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_switch_mic_model_check.png", + "originalSize": 1774, + "compressedSize": 656, + "savedBytes": 1118, + "ratio": 0.3698 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_message_send.png", + "originalSize": 1765, + "compressedSize": 790, + "savedBytes": 975, + "ratio": 0.4476 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_ext_min.png", + "originalSize": 1764, + "compressedSize": 848, + "savedBytes": 916, + "ratio": 0.4807 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_search.png", + "originalSize": 1761, + "compressedSize": 807, + "savedBytes": 954, + "ratio": 0.4583 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_select_ok.png", + "originalSize": 1745, + "compressedSize": 728, + "savedBytes": 1017, + "ratio": 0.4172 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_gift_all_en.png", + "originalSize": 1706, + "compressedSize": 660, + "savedBytes": 1046, + "ratio": 0.3869 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_msg_menu_recall.png", + "originalSize": 1653, + "compressedSize": 676, + "savedBytes": 977, + "ratio": 0.409 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/store/sc_icon_shop_item_search.png", + "originalSize": 1612, + "compressedSize": 841, + "savedBytes": 771, + "ratio": 0.5217 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_room_suo.png", + "originalSize": 1603, + "compressedSize": 596, + "savedBytes": 1007, + "ratio": 0.3718 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_msg_menu_copy.png", + "originalSize": 1592, + "compressedSize": 678, + "savedBytes": 914, + "ratio": 0.4259 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_switch_off.png", + "originalSize": 1571, + "compressedSize": 814, + "savedBytes": 757, + "ratio": 0.5181 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_unselect.png", + "originalSize": 1563, + "compressedSize": 720, + "savedBytes": 843, + "ratio": 0.4607 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_music_to_up.png", + "originalSize": 1553, + "compressedSize": 620, + "savedBytes": 933, + "ratio": 0.3992 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_edit_noti.png", + "originalSize": 1543, + "compressedSize": 847, + "savedBytes": 696, + "ratio": 0.5489 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_userson_microphone.png", + "originalSize": 1459, + "compressedSize": 722, + "savedBytes": 737, + "ratio": 0.4949 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_index_room_model_1.png", + "originalSize": 1380, + "compressedSize": 589, + "savedBytes": 791, + "ratio": 0.4268 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_botton_menu.png", + "originalSize": 1375, + "compressedSize": 780, + "savedBytes": 595, + "ratio": 0.5673 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_seat_mic_mute.png", + "originalSize": 1364, + "compressedSize": 609, + "savedBytes": 755, + "ratio": 0.4465 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_pass1.png", + "originalSize": 1362, + "compressedSize": 899, + "savedBytes": 463, + "ratio": 0.6601 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/msg/sc_icon_msg_emoji.png", + "originalSize": 1358, + "compressedSize": 735, + "savedBytes": 623, + "ratio": 0.5412 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_iphone.png", + "originalSize": 1346, + "compressedSize": 633, + "savedBytes": 713, + "ratio": 0.4703 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_social_privilege_unselect.png", + "originalSize": 1291, + "compressedSize": 537, + "savedBytes": 754, + "ratio": 0.416 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_edit.png", + "originalSize": 1273, + "compressedSize": 719, + "savedBytes": 554, + "ratio": 0.5648 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_gift_all_no.png", + "originalSize": 1245, + "compressedSize": 660, + "savedBytes": 585, + "ratio": 0.5301 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_block_list_delete.png", + "originalSize": 1231, + "compressedSize": 604, + "savedBytes": 627, + "ratio": 0.4907 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_pass.png", + "originalSize": 1229, + "compressedSize": 675, + "savedBytes": 554, + "ratio": 0.5492 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_delete.png", + "originalSize": 1223, + "compressedSize": 477, + "savedBytes": 746, + "ratio": 0.39 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_login_ser_select.png", + "originalSize": 1218, + "compressedSize": 497, + "savedBytes": 721, + "ratio": 0.408 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_recharge_recod.png", + "originalSize": 1210, + "compressedSize": 636, + "savedBytes": 574, + "ratio": 0.5256 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_account.png", + "originalSize": 1209, + "compressedSize": 596, + "savedBytes": 613, + "ratio": 0.493 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_botton_message.png", + "originalSize": 1190, + "compressedSize": 615, + "savedBytes": 575, + "ratio": 0.5168 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/store/sc_icon_store_theme_rev.png", + "originalSize": 1166, + "compressedSize": 508, + "savedBytes": 658, + "ratio": 0.4357 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_all_in_the_room.png", + "originalSize": 1126, + "compressedSize": 464, + "savedBytes": 662, + "ratio": 0.4121 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/icon_room_input_t.png", + "originalSize": 1066, + "compressedSize": 532, + "savedBytes": 534, + "ratio": 0.4991 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_back.png", + "originalSize": 1045, + "compressedSize": 335, + "savedBytes": 710, + "ratio": 0.3206 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/store/sc_icon_shop_bag.png", + "originalSize": 1035, + "compressedSize": 547, + "savedBytes": 488, + "ratio": 0.5285 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_msg_tips_close.png", + "originalSize": 1010, + "compressedSize": 562, + "savedBytes": 448, + "ratio": 0.5564 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_add_room.png", + "originalSize": 1000, + "compressedSize": 354, + "savedBytes": 646, + "ratio": 0.354 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/store/sc_icon_bag_shop.png", + "originalSize": 992, + "compressedSize": 568, + "savedBytes": 424, + "ratio": 0.5726 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_online_peple.png", + "originalSize": 889, + "compressedSize": 529, + "savedBytes": 360, + "ratio": 0.5951 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_user_card_copy_id.png", + "originalSize": 785, + "compressedSize": 427, + "savedBytes": 358, + "ratio": 0.5439 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/store/sc_icon_bag_clock.png", + "originalSize": 592, + "compressedSize": 361, + "savedBytes": 231, + "ratio": 0.6098 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_online_user.png", + "originalSize": 573, + "compressedSize": 265, + "savedBytes": 308, + "ratio": 0.4625 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_give_gift_type_bg.png", + "originalSize": 194398, + "compressedSize": 21926, + "savedBytes": 172472, + "ratio": 0.1128 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_shop.png", + "originalSize": 84533, + "compressedSize": 25361, + "savedBytes": 59172, + "ratio": 0.3 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_me_en.png", + "originalSize": 33444, + "compressedSize": 10083, + "savedBytes": 23361, + "ratio": 0.3015 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip4_sonic.png", + "originalSize": 21834, + "compressedSize": 3055, + "savedBytes": 18779, + "ratio": 0.1399 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_40_50.png", + "originalSize": 19545, + "compressedSize": 6167, + "savedBytes": 13378, + "ratio": 0.3155 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_login_ser_select_un.png", + "originalSize": 1032, + "compressedSize": 536, + "savedBytes": 496, + "ratio": 0.5194 + } + ], + "failures": [ + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv4_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv2_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv3_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv5_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv1_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip6_sonic_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip3_sonic_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luckgift_coins_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip5_sonic_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_loading.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip4_sonic_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_rps_animal.webp", + "message": "Shrink failed (400): Image could not be decoded." + } + ] +} diff --git a/tinypng-report.json b/tinypng-report.json new file mode 100644 index 0000000..a83c3f7 --- /dev/null +++ b/tinypng-report.json @@ -0,0 +1,271 @@ +{ + "totalFiles": 412, + "trackedFiles": 412, + "compressedFiles": 400, + "failedFiles": 12, + "originalBytes": 35496648, + "compressedBytes": 9295657, + "savedBytes": 26200991, + "failures": [ + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv4_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv2_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv3_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv5_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_gamebroad_lv1_bg.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip6_sonic_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip3_sonic_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luckgift_coins_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip5_sonic_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/general/sc_icon_loading.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_vip4_sonic_anim.webp", + "message": "Shrink failed (400): Image could not be decoded." + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_rps_animal.webp", + "message": "Shrink failed (400): Image could not be decoded." + } + ], + "topSavings": [ + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_edit_userinfo_bg.png", + "originalSize": 2640776, + "compressedSize": 436823, + "savedBytes": 2203953, + "ratio": 0.16541129420359293 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/splash/sc_splash.png", + "originalSize": 2373335, + "compressedSize": 379804, + "savedBytes": 1993531, + "ratio": 0.1600335400795844 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_defaut_bg.png", + "originalSize": 2243222, + "compressedSize": 704696, + "savedBytes": 1538526, + "ratio": 0.3141 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_index_bg.png", + "originalSize": 1422169, + "compressedSize": 420635, + "savedBytes": 1001534, + "ratio": 0.2958 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_medals_bg.png", + "originalSize": 709366, + "compressedSize": 181712, + "savedBytes": 527654, + "ratio": 0.2562 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_task_rule_bg.png", + "originalSize": 680955, + "compressedSize": 168665, + "savedBytes": 512290, + "ratio": 0.2477 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_center_bg_1.png", + "originalSize": 565256, + "compressedSize": 95294, + "savedBytes": 469962, + "ratio": 0.1686 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_my_head_bg_defalt.png", + "originalSize": 599816, + "compressedSize": 129984, + "savedBytes": 469832, + "ratio": 0.2167 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_level_center_bg_2.png", + "originalSize": 552863, + "compressedSize": 99316, + "savedBytes": 453547, + "ratio": 0.1796 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_wealth_center_bg_2.png", + "originalSize": 557458, + "compressedSize": 107272, + "savedBytes": 450186, + "ratio": 0.1924 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_task_head_bg.png", + "originalSize": 615700, + "compressedSize": 180813, + "savedBytes": 434887, + "ratio": 0.2937 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/level/sc_icon_user_wealth_center_bg_1.png", + "originalSize": 521981, + "compressedSize": 90132, + "savedBytes": 431849, + "ratio": 0.1727 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_float_bg5.png", + "originalSize": 501355, + "compressedSize": 113292, + "savedBytes": 388063, + "ratio": 0.226 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_float_bg4.png", + "originalSize": 478509, + "compressedSize": 112026, + "savedBytes": 366483, + "ratio": 0.2341 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_emoji_vip4_6_bg.png", + "originalSize": 497274, + "compressedSize": 135808, + "savedBytes": 361466, + "ratio": 0.2731 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_music_contrl_bg.png", + "originalSize": 498223, + "compressedSize": 150025, + "savedBytes": 348198, + "ratio": 0.3011 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/login/sc_icon_login_edit_data_bg.png", + "originalSize": 412832, + "compressedSize": 86426, + "savedBytes": 326406, + "ratio": 0.2093 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_rps_3.png", + "originalSize": 430701, + "compressedSize": 117750, + "savedBytes": 312951, + "ratio": 0.2734 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_luck_gift_float_bg3.png", + "originalSize": 377040, + "compressedSize": 80836, + "savedBytes": 296204, + "ratio": 0.2144 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_emoji_vip1_3_bg.png", + "originalSize": 402093, + "compressedSize": 108798, + "savedBytes": 293295, + "ratio": 0.2706 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_index_msg_content_bg.png", + "originalSize": 344220, + "compressedSize": 70303, + "savedBytes": 273917, + "ratio": 0.2042 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_wallet_bg.png", + "originalSize": 380555, + "compressedSize": 108400, + "savedBytes": 272155, + "ratio": 0.2848 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_room_task_list_item_bg.png", + "originalSize": 358516, + "compressedSize": 87362, + "savedBytes": 271154, + "ratio": 0.2437 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_honor_userinfo_bg.png", + "originalSize": 392450, + "compressedSize": 124139, + "savedBytes": 268311, + "ratio": 0.3163 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/person/sc_icon_send_cp_requst_dialog_content.png", + "originalSize": 405302, + "compressedSize": 151340, + "savedBytes": 253962, + "ratio": 0.3734 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_rps_2.png", + "originalSize": 346282, + "compressedSize": 96021, + "savedBytes": 250261, + "ratio": 0.2773 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_game_king_week_bg.png", + "originalSize": 341672, + "compressedSize": 91458, + "savedBytes": 250214, + "ratio": 0.2677 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_game_king_day_bg.png", + "originalSize": 341303, + "compressedSize": 91098, + "savedBytes": 250205, + "ratio": 0.2669 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/index/sc_icon_leader_spinner_room_bg.png", + "originalSize": 335187, + "compressedSize": 88446, + "savedBytes": 246741, + "ratio": 0.2639 + }, + { + "filePath": "/Users/nigger/Documents/GitHub/chatapp3-flutter/sc_images/room/sc_icon_rps_1.png", + "originalSize": 335629, + "compressedSize": 93318, + "savedBytes": 242311, + "ratio": 0.278 + } + ] +} diff --git a/需求进度.md b/需求进度.md index 789dc4a..9341bb1 100644 --- a/需求进度.md +++ b/需求进度.md @@ -1,99 +1,102 @@ # 需求进度 ## 当前总目标 -- 分析当前 Flutter 包体过大的主要原因,识别多余组件、冗余依赖、过大资源或不合理构建配置,并给出可执行的优化建议。 +- 控制当前 Flutter Android 发包体积,持续定位冗余组件、超大资源和不合理构建配置,并把每一步处理结果落盘记录。 ## 已完成模块 -- 创建进度跟踪文件。 -- 初步确认仓库结构与当前工作区状态。 -- 完成第一轮静态体积排查,拿到目录体积与大文件分布。 -- 完成第二轮依赖使用情况排查,识别出未直接引用的重型插件与高风险依赖。 -- 完成第一轮高置信度瘦身改动,移除 4 个当前未在业务层使用的插件依赖并清理相关平台声明。 -- 完成构建阻塞项定位,确认 `image_cropper 5.0.1` 是当前 Android 构建失败的主要兼容性来源,并已切换到本地修补版依赖。 -- 完成 Android 签名配置兜底,解决当前仓库缺少 `yumi.jks` / `yumi_debug.jks` 时无法继续本地构建分析的问题。 -- 完成 Android release 包体构建与体积分析,拿到当前 APK 的真实大小和主要组成。 +- 创建并持续维护进度跟踪文件。 +- 完成仓库结构、依赖引用、资源体积和 APK 组成的第一轮排查。 +- 移除 4 个当前未在业务层直接使用的插件依赖:`loading_indicator_view_plus`、`social_sharing_plus`、`flutter_foreground_task`、`on_audio_query`,并清理相关平台声明。 +- 修补 `image_cropper 5.0.1` Android 兼容问题,切换到本地 path 依赖以恢复构建。 +- 完成 Android release 签名回退配置,解决仓库缺少 `yumi.jks` / `yumi_debug.jks` 时无法继续本地构建分析的问题。 +- 完成 release 包体分析,确认 universal APK 过大主要由多 ABI 与 Agora/Tencent 原生 so 导致。 +- 去除 Gradle 中与 Flutter 冲突的硬编码 `abiFilters`,确认 `--split-per-abi` 可以正常产出分架构 APK。 +- 完成 TinyPNG 环境核查,并接入可执行的 Ruby 批量压缩脚本。 +- 已完成 TinyPNG 第一轮批量压缩,`sc_images + assets` 总量已从 `47.25 MB` 降到 `22.54 MB`。 +- 已增强 TinyPNG 脚本,支持断点续跑、单文件目标和失败项重试。 +- 已完成 TinyPNG 网络失败项补跑,6 张 `SSL_connect` 异常图片已全部压缩成功。 +- 已完成图片压缩后的 release 复测,确认分 ABI APK 体积继续显著下降。 +- 已切换 Android `release` 为真正的瘦身模式:开启 `minify`、`shrinkResources`、`zipAlign`。 +- 已完成开启瘦身配置后的 Android release 复测,并接入 `split-debug-info` 保存 Dart symbols。 +- 已生成统一的 Python 打包脚本 `scripts/build_release.py`,开始接管 `AAB`、分 ABI APK 与 iOS 包流程。 ## 进行中模块 -- 汇总最终结论,整理造成包体冗余的主因与后续优化优先级。 +- 开启并验证 Android release 的 `minify`、`shrinkResources`、`zipAlign` 瘦身配置。 +- 生成统一的 Python 打包脚本,流程化产出 `AAB`、分 ABI APK 与 iOS 包。 +- 继续评估 Agora 扩展 so 与 release shrink 策略是否还能进一步裁剪。 +- 评估 12 张 TinyPNG 不支持解码的特殊 `webp` 是否需要改格式或换工具处理。 ## 关键技术决策 -- 先做无侵入体检:优先分析依赖、资源体积和构建配置,暂不直接删除业务代码或资源。 -- 避开仓库中已有未提交改动,只在必要文件上新增或追加分析结果。 -- 重点关注发布包相关项,而不是被 `build/`、iOS 中间产物这类本地构建缓存误导。 -- 发布包体分析优先使用单 ABI 做 `--analyze-size`,因为当前工程配置了多 ABI,Flutter 不允许直接对多 ABI 产物做代码体积分析。 -- 实际清理仅选择高置信度冗余项:`loading_indicator_view_plus`、`social_sharing_plus`、`flutter_foreground_task`、`on_audio_query`,暂不动 Agora、腾讯 IM、支付、WebView 等核心能力依赖。 -- 对 `image_cropper` 不做升级式重构,先采用本地 path 依赖加最小兼容补丁的方式恢复构建,避免改动业务裁剪调用代码。 -- 对 Android 签名配置采用条件回退策略:存在正式 keystore 时走正式签名,不存在时回退到 debug 签名,仅用于本地分析和构建验证。 -- 即便传入 `--target-platform android-arm64`,当前 Gradle 的 `abiFilters` 仍会把 `arm64-v8a`、`armeabi-v7a`、`x86_64` 三套 so 一起打进 APK,因此后续瘦身必须回到 Gradle ABI 配置本身处理。 +- 先做高置信度瘦身:优先清理未使用插件、ABI 配置和超大图片,暂不贸然删除核心业务能力。 +- 避开仓库中用户已有未提交改动,只改必要文件并持续把结果写入本文件。 +- 包体分析聚焦 release 产物,不被 `build/`、iOS 中间产物等本地缓存误导。 +- Android 架构裁剪交给 Flutter 构建命令驱动,不再在 Gradle 中硬编码 `abiFilters`。 +- 对 `image_cropper` 采用本地 path 依赖加最小补丁策略,避免升级带来的业务回归面。 +- Android 签名配置采用条件回退:正式 keystore 不存在时自动回退到 debug 签名,仅用于本地分析验证。 +- 图片压缩优先走 TinyPNG,以尽量保持画质稳定;失败项按原因分流处理。 +- TinyPNG 的 `SSL_connect` 视为可重试网络抖动;`Image could not be decoded` 视为 TinyPNG 对特殊/动图 WebP 的能力边界,先记录不阻塞其余压缩。 ## 已改动文件 - `需求进度.md` - `pubspec.yaml` +- `pubspec.lock` - `lib/ui_kit/components/dialog/dialog.dart` - `android/app/src/main/AndroidManifest.xml` - `ios/Runner/Info.plist` +- `scripts/tinypng_batch.rb` +- `scripts/build_release.py` +- `tinypng-progress.json` +- `tinypng-report.json` - `local_packages/image_cropper-5.0.1-patched/android/src/main/java/vn/hunghd/flutter/plugins/imagecropper/ImageCropperPlugin.java` - `local_packages/image_cropper-5.0.1-patched/` - `android/app/build.gradle.kts` +- `build/symbols/android/` +- `sc_images/` +- `assets/` ## 已验证结果 -- 仓库存在 `pubspec.yaml`、Android/iOS 构建配置以及大量图片资源和多个 `local_packages` 本地包。 -- 当前工作区存在用户已有未提交改动,后续分析将避免覆盖。 -- 目录体积显示:`build/` 约 4.7G、`.dart_tool/` 约 347M、`ios/` 约 250M、`sc_images/` 约 48M、`local_packages/` 约 6.1M。 -- `android/app/build.gradle.kts` 中 release 构建关闭了 `minify`、`shrinkResources`、`zipAlign`,会直接放大发布包体。 -- Android ABI 当前包含 `arm64-v8a`、`armeabi-v7a`、`x86_64`,如果打通用包会把不必要架构一起带进去。 -- 当前资源中存在多张 2MB 以上的大图,例如 `sc_images/person/sc_icon_edit_userinfo_bg.png`、`sc_images/splash/sc_splash.png` 和多张 2.2MB 左右的 `webp` 背景图。 -- 资源子目录中较大的部分主要是:`sc_images/index/` 约 18M、`sc_images/room/` 约 17M、`sc_images/person/` 约 5M、`sc_images/splash/` 约 2.5M。 -- 本地包体积中较大的部分主要是:`local_packages/tancent_vap-1.0.0+1` 约 4.2M、`local_packages/flutter_foreground_task-9.1.0` 约 1.1M。 -- 依赖引用扫描结果显示:`social_sharing_plus`、`flutter_foreground_task`、`on_audio_query` 当前在 `lib/` 与 `test/` 中没有直接 import,属于优先核查是否可移除的候选项。 -- 明确在业务中使用的重型能力包括:`agora_rtc_engine`、`tencent_cloud_chat_sdk`、`tancent_vap`、`flutter_svga`、`firebase_auth/core/crashlytics`、`in_app_purchase`、`webview_flutter`。 -- 执行 `flutter build apk --release --analyze-size` 时失败,Flutter 明确提示当前多 ABI 配置下必须指定单一 `--target-platform` 才能输出体积分析。 -- `app-debug.apk` 当前约 405MB;拆包后可见最大组成是三套 ABI 的 `libflutter.so`、Agora 系列 so、腾讯 IM so,以及 `sc_images/index`、`sc_images/room` 等大资源目录。 -- `.flutter-plugins-dependencies` 已证明 Android 端存在大量 `native_build` 插件注册;即使 Dart 代码没有 import,插件仍会进入原生构建链路。 -- 已将 `loading_indicator_view_plus` 的使用替换为 Flutter 自带 `CircularProgressIndicator`,为后续移除该插件铺平路径。 -- 已从工程依赖中删除 `loading_indicator_view_plus`、`social_sharing_plus`、`flutter_foreground_task`、`on_audio_query`,并同步清理 Android 前台服务与媒体音频权限、iOS 前台任务标识与媒体库用途说明。 -- `flutter pub get` 后,上述 4 个冗余插件已不再出现在 Flutter 当前插件注册链路中;搜索结果仅残留在未重新执行 `pod install` 的 `ios/Podfile.lock` 旧记录里。 -- 继续构建时又发现 `image_cropper 5.0.1` 的 Android 插件源码仍引用已移除的 `PluginRegistry.Registrar`,这会同时阻塞 debug/release。 -- 已复制 `image_cropper 5.0.1` 到工作区本地包,并删除其过时的 `registerWith` 兼容入口,准备再次验证构建。 -- 当前仓库下 `android/app/yumi.jks` 与 `android/app/yumi_debug.jks` 都不存在,原始 Gradle 配置会在签名校验阶段阻塞 release 构建。 -- 已将 Gradle 配置调整为:正式 keystore 缺失时自动回退到 debug 签名,从而继续完成本地分析构建。 -- `flutter build apk --release --target-platform android-arm64 --analyze-size` 已成功执行,生成 `build/app/outputs/flutter-apk/app-release.apk`。 -- 当前 release APK 文件大小约 `271MB`,构建输出显示约 `284.6MB`,分析总压缩体积约 `271MB`。 -- 当前 release APK 的压缩后主要组成是: -- `lib/arm64-v8a` 约 `101.3MB` -- `lib/x86_64` 约 `64.4MB` -- `lib/armeabi-v7a` 约 `58.2MB` -- `assets/flutter_assets` 约 `49.9MB` -- `classes.dex + classes2.dex + classes3.dex` 合计约 `8.8MB` -- 三套 ABI 合计约 `223.8MB`,其中 `x86_64 + armeabi-v7a` 两套额外架构合计约 `122.5MB`,是当前包体过大的头号原因。 -- release APK 中最大的 native so 主要来自 Agora 与腾讯 IM: -- `libagora-rtc-sdk.so` 合计约 `79.4MB` -- `libagora-ffmpeg.so` 合计约 `17.8MB` -- `libagora_lip_sync_extension.so` 合计约 `13.7MB` -- `libagora_spatial_audio_extension.so` 合计约 `13.4MB` -- `libImSDK.so` 合计约 `10.2MB` -- `libflutter.so` 约 `11.3MB` -- release APK 中最大的资源目录主要是: -- `sc_images/index` 约 `18.9MB` -- `sc_images/room` 约 `16.9MB` -- `sc_images/person` 约 `5.1MB` -- `sc_images/level` 约 `2.9MB` -- `sc_images/splash` 约 `2.6MB` -- 单文件大图中比较明显的包括: -- `sc_images/person/sc_icon_edit_userinfo_bg.png` 约 `2.64MB` -- `sc_images/splash/sc_splash.png` 约 `2.37MB` -- 多张 `sc_icon_gamebroad_lv*.webp` 单张约 `2.0MB - 2.35MB` -- Flutter 的 Dart AOT 符号在分析里约 `11MB`,其中 `package:yumi` 自身约 `2MB`,说明业务 Dart 代码不是主要膨胀来源。 -- `MaterialIcons-Regular.otf` 在 release 中已自动 tree-shake 到约 `3.7KB`,图标字体不是问题。 -- 本轮为恢复构建额外处理了两个工程兼容问题:`loading_indicator_view_plus` 缺少 Android namespace、`image_cropper 5.0.1` 旧注册接口不兼容当前 Flutter/AGP。 +- 当前工作区存在用户已有未提交改动,后续处理均避开覆盖。 +- 目录体积排查显示:`build/` 约 `4.7G`、`.dart_tool/` 约 `347M`、`ios/` 约 `250M`、`sc_images/` 约 `48M`、`local_packages/` 约 `6.1M`。 +- 当前包体过大的主要原因已经确认: +- universal APK 带入了 `arm64-v8a`、`armeabi-v7a`、`x86_64` 三套 ABI。 +- Agora 与腾讯 IM 原生 so 很大,其中 `libagora-rtc-sdk.so` 合计约 `79.4MB`,`libImSDK.so` 合计约 `10.2MB`。 +- 资源目录中 `sc_images/index`、`sc_images/room`、`sc_images/person`、`sc_images/splash` 是最主要的大图来源。 +- `flutter build apk --release --target-platform android-arm64 --analyze-size` 已成功执行,当前 universal release APK 约 `271MB`。 +- `flutter build apk --release --split-per-abi` 已成功执行,压缩前分架构 APK 约为: +- `app-arm64-v8a-release.apk` 约 `161.4MB` +- `app-armeabi-v7a-release.apk` 约 `138.8MB` +- `app-x86_64-release.apk` 约 `148.6MB` +- `loading_indicator_view_plus`、`social_sharing_plus`、`flutter_foreground_task`、`on_audio_query` 已从当前依赖链路中移除。 +- 当前图片资源统计为 `412` 张,TinyPNG 两轮处理后总量已从 `47.25 MB` 降到 `22.27 MB`,累计节省约 `24.99 MB`。 +- 当前 TinyPNG 已成功压缩 `400` 张图片,剩余失败 `12` 张。 +- 当前压缩收益最大的图片包括: +- `sc_images/person/sc_icon_edit_userinfo_bg.png`:`2640776 -> 436823`,节省约 `2.10 MB` +- `sc_images/splash/sc_splash.png`:`2373335 -> 379804`,节省约 `1.90 MB` +- `sc_images/room/sc_icon_room_defaut_bg.png`:`2243222 -> 704696`,节省约 `1.47 MB` +- `sc_images/index/sc_icon_index_bg.png`:`1422169 -> 420635`,节省约 `0.96 MB` +- 失败项已分型: +- `12` 张为 TinyPNG 无法解码的特殊/动图 `webp` +- 当前 TinyPNG 进度与统计文件已落盘:`tinypng-progress.json`、`tinypng-report.json` +- 图片压缩后再次执行 `flutter build apk --release --split-per-abi`,当前分架构 APK 已下降到: +- `app-arm64-v8a-release.apk` 约 `135.2MB`,比压缩前少 `26.2MB` +- `app-armeabi-v7a-release.apk` 约 `112.6MB`,比压缩前少 `26.2MB` +- `app-x86_64-release.apk` 约 `122.4MB`,比压缩前少 `26.2MB` +- 可以确认:这轮图片压缩带来的资源收益已经真实反映到最终 APK 体积中。 +- 在开启 `minify`、`shrinkResources`、`zipAlign` 并追加 `--split-debug-info=build/symbols/android` 后,Android release 继续下降为: +- `app-release.aab` 约 `181.8MB` +- `app-arm64-v8a-release.apk` 约 `128.7MB`,比上一轮 `135.2MB` 再少 `6.5MB` +- `app-armeabi-v7a-release.apk` 约 `105.8MB`,比上一轮 `112.6MB` 再少 `6.8MB` +- `app-x86_64-release.apk` 约 `115.8MB`,比上一轮 `122.4MB` 再少 `6.6MB` +- `build/symbols/android` 已生成 3 份符号文件,总计约 `14MB`,后续可用于 Dart 堆栈还原。 ## 已知问题 -- `ios/Podfile.lock` 还保留旧插件记录,因为本轮未执行 `pod install`;但 Flutter 当前依赖与插件注册链路已经不再包含已移除插件。 -- 目前 release 仍关闭了 `minify` / `shrinkResources` / `zipAlign`,这部分尚未动手优化,因为可能影响 Agora、腾讯 IM、Firebase 等反射或资源引用行为。 -- Android 构建配置中的 `abiFilters` 仍然固定包含三套架构,导致单 ABI 分析构建时 APK 里依旧带入 `x86_64` 与 `armeabi-v7a`。 +- `ios/Podfile.lock` 还保留旧插件记录,因为本轮未执行 `pod install`;但 Flutter 当前依赖链路已经不再包含已移除插件。 +- universal APK 仍然会非常大;当前正确发包方式应优先使用 `--split-per-abi` 或直接产出 `aab`。 +- 仍有 `12` 张 `webp` 被 TinyPNG 拒绝解码,推测是动画或特殊编码格式,不能继续直接走 TinyPNG 常规压缩。 +- `split-debug-info` 会把 Dart symbols 额外落到构建目录,发包时需要和正式包一起留档,不能丢。 ## 下一步要做什么 -- 调整 Android ABI 策略,至少移除 `x86_64`,并根据发包方式决定是否保留 `armeabi-v7a`。 -- 压缩或替换 `sc_images/index`、`sc_images/room`、`sc_images/person` 中的超大图片资源。 -- 评估 Agora 扩展能力是否都需要,优先核查 lip sync、spatial audio、clear vision、segmentation、face capture 等扩展库能否裁剪。 -- 在补齐必要 keep rules 后,再尝试开启 `minify`、`shrinkResources`、`zipAlign` 做第二轮正式瘦身。 +- 将新的 Android release 瘦身参数固化进统一打包脚本,并整理产物目录。 +- 验证 Python 打包脚本的 Android 产物归档结果,再补 iOS 流程验证。 +- 继续评估 Agora 扩展库是否都需要,优先核查 `lip sync`、`spatial audio`、`clear vision`、`segmentation`、`face capture` 等扩展 so 能否裁剪。 +- 决定是否处理剩余 12 张特殊 `webp`:改格式、换压缩工具,或维持现状。