From 12d4c491238d692843b0ac9efd1eace7f376c92e Mon Sep 17 00:00:00 2001 From: johnsonlee Date: Sun, 7 Jul 2019 13:26:01 +0800 Subject: [PATCH] Fix AAPT2 compatibility for Android gradle plugin 3.1.0 --- booster-aapt2/build.gradle | 1 + .../aapt2/legacy/ConfigurationLegacy.java | 426 +++ .../aapt2/legacy/ResourcesInternalLegacy.java | 2279 +++++++++++++++++ .../didiglobal/booster/aapt/Configuration.kt | 372 +++ .../booster/aapt2/Aapt2Container.kt | 10 + .../didiglobal/booster/aapt2/Aapt2Parser.kt | 152 +- .../main/proto/ResourcesInternalLegacy.proto | 38 + .../booster/aapt2/Aapt2ParserTest.kt | 46 +- .../aapt2/3.1.0/anim_abc_fade_in.xml.flat | Bin 0 -> 692 bytes .../aapt2/3.1.0/anim_abc_fade_out.xml.flat | Bin 0 -> 692 bytes ...anim_abc_grow_fade_in_from_bottom.xml.flat | Bin 0 -> 1248 bytes .../aapt2/3.1.0/anim_abc_popup_enter.xml.flat | Bin 0 -> 824 bytes .../aapt2/3.1.0/anim_abc_popup_exit.xml.flat | Bin 0 -> 820 bytes ...m_abc_shrink_fade_out_from_bottom.xml.flat | Bin 0 -> 1258 bytes .../3.1.0/anim_abc_slide_in_bottom.xml.flat | Bin 0 -> 716 bytes .../3.1.0/anim_abc_slide_in_top.xml.flat | Bin 0 -> 708 bytes .../3.1.0/anim_abc_slide_out_bottom.xml.flat | Bin 0 -> 716 bytes .../3.1.0/anim_abc_slide_out_top.xml.flat | Bin 0 -> 712 bytes .../3.1.0/anim_abc_tooltip_enter.xml.flat | Bin 0 -> 700 bytes .../3.1.0/anim_abc_tooltip_exit.xml.flat | Bin 0 -> 696 bytes ..._colored_borderless_text_material.xml.flat | Bin 0 -> 806 bytes ..._colored_borderless_text_material.xml.flat | Bin 0 -> 874 bytes ...v23_abc_btn_colored_text_material.xml.flat | Bin 0 -> 866 bytes ...-v23_abc_color_highlight_material.xml.flat | Bin 0 -> 922 bytes .../color-v23_abc_tint_btn_checkable.xml.flat | Bin 0 -> 964 bytes .../3.1.0/color-v23_abc_tint_default.xml.flat | Bin 0 -> 1436 bytes .../color-v23_abc_tint_edittext.xml.flat | Bin 0 -> 980 bytes .../color-v23_abc_tint_seek_thumb.xml.flat | Bin 0 -> 800 bytes .../3.1.0/color-v23_abc_tint_spinner.xml.flat | Bin 0 -> 980 bytes .../color-v23_abc_tint_switch_track.xml.flat | Bin 0 -> 996 bytes ...cache_hint_selector_material_dark.xml.flat | Bin 0 -> 830 bytes ...ache_hint_selector_material_light.xml.flat | Bin 0 -> 834 bytes ...lor_abc_btn_colored_text_material.xml.flat | Bin 0 -> 966 bytes ...abc_hint_foreground_material_dark.xml.flat | Bin 0 -> 938 bytes ...bc_hint_foreground_material_light.xml.flat | Bin 0 -> 946 bytes ...y_text_disable_only_material_dark.xml.flat | Bin 0 -> 842 bytes ..._text_disable_only_material_light.xml.flat | Bin 0 -> 850 bytes ...or_abc_primary_text_material_dark.xml.flat | Bin 0 -> 818 bytes ...r_abc_primary_text_material_light.xml.flat | Bin 0 -> 818 bytes .../3.1.0/color_abc_search_url_text.xml.flat | Bin 0 -> 936 bytes ..._abc_secondary_text_material_dark.xml.flat | Bin 0 -> 826 bytes ...abc_secondary_text_material_light.xml.flat | Bin 0 -> 826 bytes .../color_abc_tint_btn_checkable.xml.flat | Bin 0 -> 1064 bytes .../3.1.0/color_abc_tint_default.xml.flat | Bin 0 -> 1536 bytes .../3.1.0/color_abc_tint_edittext.xml.flat | Bin 0 -> 1080 bytes .../3.1.0/color_abc_tint_seek_thumb.xml.flat | Bin 0 -> 900 bytes .../3.1.0/color_abc_tint_spinner.xml.flat | Bin 0 -> 1080 bytes .../color_abc_tint_switch_track.xml.flat | Bin 0 -> 1096 bytes .../color_switch_thumb_material_dark.xml.flat | Bin 0 -> 808 bytes ...color_switch_thumb_material_light.xml.flat | Bin 0 -> 808 bytes ...v4_abc_ab_share_pack_mtrl_alpha.9.png.flat | Bin 0 -> 538 bytes ...i-v4_abc_btn_check_to_on_mtrl_000.png.flat | Bin 0 -> 489 bytes ...i-v4_abc_btn_check_to_on_mtrl_015.png.flat | Bin 0 -> 666 bytes ...i-v4_abc_btn_radio_to_on_mtrl_000.png.flat | Bin 0 -> 726 bytes ...i-v4_abc_btn_radio_to_on_mtrl_015.png.flat | Bin 0 -> 825 bytes ...abc_btn_switch_to_on_mtrl_00001.9.png.flat | Bin 0 -> 1366 bytes ...abc_btn_switch_to_on_mtrl_00012.9.png.flat | Bin 0 -> 1513 bytes ...c_cab_background_top_mtrl_alpha.9.png.flat | Bin 0 -> 500 bytes ...c_ic_commit_search_api_mtrl_alpha.png.flat | Bin 0 -> 449 bytes ...v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 468 bytes ...dpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 662 bytes ...4_abc_ic_menu_paste_mtrl_am_alpha.png.flat | Bin 0 -> 496 bytes ..._abc_ic_menu_selectall_mtrl_alpha.png.flat | Bin 0 -> 485 bytes ...i-v4_abc_ic_menu_share_mtrl_alpha.png.flat | Bin 0 -> 651 bytes ...le-hdpi-v4_abc_ic_star_black_16dp.png.flat | Bin 0 -> 513 bytes ...le-hdpi-v4_abc_ic_star_black_36dp.png.flat | Bin 0 -> 772 bytes ...le-hdpi-v4_abc_ic_star_black_48dp.png.flat | Bin 0 -> 918 bytes ...pi-v4_abc_ic_star_half_black_16dp.png.flat | Bin 0 -> 459 bytes ...pi-v4_abc_ic_star_half_black_36dp.png.flat | Bin 0 -> 590 bytes ...pi-v4_abc_ic_star_half_black_48dp.png.flat | Bin 0 -> 693 bytes ...-v4_abc_list_divider_mtrl_alpha.9.png.flat | Bin 0 -> 429 bytes ...e-hdpi-v4_abc_list_focused_holo.9.png.flat | Bin 0 -> 494 bytes ...pi-v4_abc_list_longpressed_holo.9.png.flat | Bin 0 -> 470 bytes ...i-v4_abc_list_pressed_holo_dark.9.png.flat | Bin 0 -> 470 bytes ...-v4_abc_list_pressed_holo_light.9.png.flat | Bin 0 -> 470 bytes ...ist_selector_disabled_holo_dark.9.png.flat | Bin 0 -> 510 bytes ...st_selector_disabled_holo_light.9.png.flat | Bin 0 -> 511 bytes ...bc_menu_hardkey_panel_mtrl_mult.9.png.flat | Bin 0 -> 1012 bytes ..._abc_popup_background_mtrl_mult.9.png.flat | Bin 0 -> 1368 bytes ...c_scrubber_control_off_mtrl_alpha.png.flat | Bin 0 -> 479 bytes ...ubber_control_to_pressed_mtrl_000.png.flat | Bin 0 -> 482 bytes ...ubber_control_to_pressed_mtrl_005.png.flat | Bin 0 -> 558 bytes ...abc_scrubber_primary_mtrl_alpha.9.png.flat | Bin 0 -> 475 bytes ...4_abc_scrubber_track_mtrl_alpha.9.png.flat | Bin 0 -> 462 bytes ...pi-v4_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 603 bytes ...-v4_abc_switch_track_mtrl_alpha.9.png.flat | Bin 0 -> 746 bytes ...v4_abc_tab_indicator_mtrl_alpha.9.png.flat | Bin 0 -> 456 bytes ...text_select_handle_left_mtrl_dark.png.flat | Bin 0 -> 560 bytes ...ext_select_handle_left_mtrl_light.png.flat | Bin 0 -> 560 bytes ...xt_select_handle_middle_mtrl_dark.png.flat | Bin 0 -> 684 bytes ...t_select_handle_middle_mtrl_light.png.flat | Bin 0 -> 682 bytes ...ext_select_handle_right_mtrl_dark.png.flat | Bin 0 -> 545 bytes ...xt_select_handle_right_mtrl_light.png.flat | Bin 0 -> 548 bytes ..._textfield_activated_mtrl_alpha.9.png.flat | Bin 0 -> 464 bytes ...bc_textfield_default_mtrl_alpha.9.png.flat | Bin 0 -> 466 bytes ...eld_search_activated_mtrl_alpha.9.png.flat | Bin 0 -> 468 bytes ...field_search_default_mtrl_alpha.9.png.flat | Bin 0 -> 464 bytes ...i-v4_notification_bg_low_normal.9.png.flat | Bin 0 -> 474 bytes ...-v4_notification_bg_low_pressed.9.png.flat | Bin 0 -> 487 bytes ...-hdpi-v4_notification_bg_normal.9.png.flat | Bin 0 -> 466 bytes ..._notification_bg_normal_pressed.9.png.flat | Bin 0 -> 495 bytes ...notify_panel_notification_icon_bg.png.flat | Bin 0 -> 381 bytes ...17_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 471 bytes ...pi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 664 bytes ...i-v17_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 609 bytes ...17_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 399 bytes ...pi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 517 bytes ...i-v17_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 582 bytes ...17_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 452 bytes ...pi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 760 bytes ...i-v17_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 683 bytes ...17_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 536 bytes ...pi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 973 bytes ...i-v17_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 793 bytes ...17_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 603 bytes ...pi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 1175 bytes ...i-v17_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 707 bytes ...v4_abc_ab_share_pack_mtrl_alpha.9.png.flat | Bin 0 -> 533 bytes ...i-v4_abc_btn_check_to_on_mtrl_000.png.flat | Bin 0 -> 476 bytes ...i-v4_abc_btn_check_to_on_mtrl_015.png.flat | Bin 0 -> 583 bytes ...i-v4_abc_btn_radio_to_on_mtrl_000.png.flat | Bin 0 -> 586 bytes ...i-v4_abc_btn_radio_to_on_mtrl_015.png.flat | Bin 0 -> 618 bytes ...abc_btn_switch_to_on_mtrl_00001.9.png.flat | Bin 0 -> 1024 bytes ...abc_btn_switch_to_on_mtrl_00012.9.png.flat | Bin 0 -> 1095 bytes ...c_cab_background_top_mtrl_alpha.9.png.flat | Bin 0 -> 490 bytes ...c_ic_commit_search_api_mtrl_alpha.png.flat | Bin 0 -> 451 bytes ...v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 399 bytes ...dpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 509 bytes ...4_abc_ic_menu_paste_mtrl_am_alpha.png.flat | Bin 0 -> 422 bytes ..._abc_ic_menu_selectall_mtrl_alpha.png.flat | Bin 0 -> 409 bytes ...i-v4_abc_ic_menu_share_mtrl_alpha.png.flat | Bin 0 -> 532 bytes ...le-mdpi-v4_abc_ic_star_black_16dp.png.flat | Bin 0 -> 443 bytes ...le-mdpi-v4_abc_ic_star_black_36dp.png.flat | Bin 0 -> 614 bytes ...le-mdpi-v4_abc_ic_star_black_48dp.png.flat | Bin 0 -> 717 bytes ...pi-v4_abc_ic_star_half_black_16dp.png.flat | Bin 0 -> 408 bytes ...pi-v4_abc_ic_star_half_black_36dp.png.flat | Bin 0 -> 515 bytes ...pi-v4_abc_ic_star_half_black_48dp.png.flat | Bin 0 -> 572 bytes ...-v4_abc_list_divider_mtrl_alpha.9.png.flat | Bin 0 -> 429 bytes ...e-mdpi-v4_abc_list_focused_holo.9.png.flat | Bin 0 -> 472 bytes ...pi-v4_abc_list_longpressed_holo.9.png.flat | Bin 0 -> 469 bytes ...i-v4_abc_list_pressed_holo_dark.9.png.flat | Bin 0 -> 469 bytes ...-v4_abc_list_pressed_holo_light.9.png.flat | Bin 0 -> 469 bytes ...ist_selector_disabled_holo_dark.9.png.flat | Bin 0 -> 499 bytes ...st_selector_disabled_holo_light.9.png.flat | Bin 0 -> 499 bytes ...bc_menu_hardkey_panel_mtrl_mult.9.png.flat | Bin 0 -> 815 bytes ..._abc_popup_background_mtrl_mult.9.png.flat | Bin 0 -> 1046 bytes ...c_scrubber_control_off_mtrl_alpha.png.flat | Bin 0 -> 437 bytes ...ubber_control_to_pressed_mtrl_000.png.flat | Bin 0 -> 431 bytes ...ubber_control_to_pressed_mtrl_005.png.flat | Bin 0 -> 483 bytes ...abc_scrubber_primary_mtrl_alpha.9.png.flat | Bin 0 -> 473 bytes ...4_abc_scrubber_track_mtrl_alpha.9.png.flat | Bin 0 -> 460 bytes ...pi-v4_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 585 bytes ...-v4_abc_switch_track_mtrl_alpha.9.png.flat | Bin 0 -> 657 bytes ...v4_abc_tab_indicator_mtrl_alpha.9.png.flat | Bin 0 -> 452 bytes ...text_select_handle_left_mtrl_dark.png.flat | Bin 0 -> 485 bytes ...ext_select_handle_left_mtrl_light.png.flat | Bin 0 -> 485 bytes ...xt_select_handle_middle_mtrl_dark.png.flat | Bin 0 -> 597 bytes ...t_select_handle_middle_mtrl_light.png.flat | Bin 0 -> 596 bytes ...ext_select_handle_right_mtrl_dark.png.flat | Bin 0 -> 469 bytes ...xt_select_handle_right_mtrl_light.png.flat | Bin 0 -> 472 bytes ..._textfield_activated_mtrl_alpha.9.png.flat | Bin 0 -> 459 bytes ...bc_textfield_default_mtrl_alpha.9.png.flat | Bin 0 -> 452 bytes ...eld_search_activated_mtrl_alpha.9.png.flat | Bin 0 -> 468 bytes ...field_search_default_mtrl_alpha.9.png.flat | Bin 0 -> 464 bytes ...i-v4_notification_bg_low_normal.9.png.flat | Bin 0 -> 477 bytes ...-v4_notification_bg_low_pressed.9.png.flat | Bin 0 -> 485 bytes ...-mdpi-v4_notification_bg_normal.9.png.flat | Bin 0 -> 469 bytes ..._notification_bg_normal_pressed.9.png.flat | Bin 0 -> 493 bytes ...notify_panel_notification_icon_bg.png.flat | Bin 0 -> 372 bytes ...tion_bar_item_background_material.xml.flat | Bin 0 -> 586 bytes ...able-v21_abc_btn_colored_material.xml.flat | Bin 0 -> 2286 bytes ...21_abc_dialog_material_background.xml.flat | Bin 0 -> 1026 bytes ...awable-v21_abc_edit_text_material.xml.flat | Bin 0 -> 1734 bytes ...ble-v21_abc_list_divider_material.xml.flat | Bin 0 -> 814 bytes ...21_notification_action_background.xml.flat | Bin 0 -> 1738 bytes ...3_abc_control_background_material.xml.flat | Bin 0 -> 614 bytes ...awable-v24_ic_launcher_foreground.xml.flat | Bin 0 -> 3076 bytes ...20_abc_dialog_material_background.xml.flat | Bin 0 -> 666 bytes ...v4_abc_ab_share_pack_mtrl_alpha.9.png.flat | Bin 0 -> 544 bytes ...i-v4_abc_btn_check_to_on_mtrl_000.png.flat | Bin 0 -> 545 bytes ...i-v4_abc_btn_check_to_on_mtrl_015.png.flat | Bin 0 -> 696 bytes ...i-v4_abc_btn_radio_to_on_mtrl_000.png.flat | Bin 0 -> 915 bytes ...i-v4_abc_btn_radio_to_on_mtrl_015.png.flat | Bin 0 -> 1049 bytes ...abc_btn_switch_to_on_mtrl_00001.9.png.flat | Bin 0 -> 1798 bytes ...abc_btn_switch_to_on_mtrl_00012.9.png.flat | Bin 0 -> 2003 bytes ...c_cab_background_top_mtrl_alpha.9.png.flat | Bin 0 -> 505 bytes ...c_ic_commit_search_api_mtrl_alpha.png.flat | Bin 0 -> 504 bytes ...v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 446 bytes ...dpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 752 bytes ...4_abc_ic_menu_paste_mtrl_am_alpha.png.flat | Bin 0 -> 511 bytes ..._abc_ic_menu_selectall_mtrl_alpha.png.flat | Bin 0 -> 455 bytes ...i-v4_abc_ic_menu_share_mtrl_alpha.png.flat | Bin 0 -> 744 bytes ...e-xhdpi-v4_abc_ic_star_black_16dp.png.flat | Bin 0 -> 585 bytes ...e-xhdpi-v4_abc_ic_star_black_36dp.png.flat | Bin 0 -> 904 bytes ...e-xhdpi-v4_abc_ic_star_black_48dp.png.flat | Bin 0 -> 1139 bytes ...pi-v4_abc_ic_star_half_black_16dp.png.flat | Bin 0 -> 495 bytes ...pi-v4_abc_ic_star_half_black_36dp.png.flat | Bin 0 -> 681 bytes ...pi-v4_abc_ic_star_half_black_48dp.png.flat | Bin 0 -> 808 bytes ...-v4_abc_list_divider_mtrl_alpha.9.png.flat | Bin 0 -> 431 bytes ...-xhdpi-v4_abc_list_focused_holo.9.png.flat | Bin 0 -> 496 bytes ...pi-v4_abc_list_longpressed_holo.9.png.flat | Bin 0 -> 474 bytes ...i-v4_abc_list_pressed_holo_dark.9.png.flat | Bin 0 -> 469 bytes ...-v4_abc_list_pressed_holo_light.9.png.flat | Bin 0 -> 473 bytes ...ist_selector_disabled_holo_dark.9.png.flat | Bin 0 -> 516 bytes ...st_selector_disabled_holo_light.9.png.flat | Bin 0 -> 519 bytes ...bc_menu_hardkey_panel_mtrl_mult.9.png.flat | Bin 0 -> 1238 bytes ..._abc_popup_background_mtrl_mult.9.png.flat | Bin 0 -> 1812 bytes ...c_scrubber_control_off_mtrl_alpha.png.flat | Bin 0 -> 543 bytes ...ubber_control_to_pressed_mtrl_000.png.flat | Bin 0 -> 555 bytes ...ubber_control_to_pressed_mtrl_005.png.flat | Bin 0 -> 679 bytes ...abc_scrubber_primary_mtrl_alpha.9.png.flat | Bin 0 -> 480 bytes ...4_abc_scrubber_track_mtrl_alpha.9.png.flat | Bin 0 -> 466 bytes ...pi-v4_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 708 bytes ...-v4_abc_switch_track_mtrl_alpha.9.png.flat | Bin 0 -> 882 bytes ...v4_abc_tab_indicator_mtrl_alpha.9.png.flat | Bin 0 -> 458 bytes ...text_select_handle_left_mtrl_dark.png.flat | Bin 0 -> 616 bytes ...ext_select_handle_left_mtrl_light.png.flat | Bin 0 -> 619 bytes ...xt_select_handle_middle_mtrl_dark.png.flat | Bin 0 -> 867 bytes ...t_select_handle_middle_mtrl_light.png.flat | Bin 0 -> 873 bytes ...ext_select_handle_right_mtrl_dark.png.flat | Bin 0 -> 603 bytes ...xt_select_handle_right_mtrl_light.png.flat | Bin 0 -> 602 bytes ..._textfield_activated_mtrl_alpha.9.png.flat | Bin 0 -> 465 bytes ...bc_textfield_default_mtrl_alpha.9.png.flat | Bin 0 -> 459 bytes ...eld_search_activated_mtrl_alpha.9.png.flat | Bin 0 -> 476 bytes ...field_search_default_mtrl_alpha.9.png.flat | Bin 0 -> 470 bytes ...i-v4_notification_bg_low_normal.9.png.flat | Bin 0 -> 481 bytes ...-v4_notification_bg_low_pressed.9.png.flat | Bin 0 -> 516 bytes ...xhdpi-v4_notification_bg_normal.9.png.flat | Bin 0 -> 473 bytes ..._notification_bg_normal_pressed.9.png.flat | Bin 0 -> 515 bytes ...notify_panel_notification_icon_bg.png.flat | Bin 0 -> 410 bytes ...v4_abc_ab_share_pack_mtrl_alpha.9.png.flat | Bin 0 -> 552 bytes ...i-v4_abc_btn_check_to_on_mtrl_000.png.flat | Bin 0 -> 573 bytes ...i-v4_abc_btn_check_to_on_mtrl_015.png.flat | Bin 0 -> 859 bytes ...i-v4_abc_btn_radio_to_on_mtrl_000.png.flat | Bin 0 -> 1250 bytes ...i-v4_abc_btn_radio_to_on_mtrl_015.png.flat | Bin 0 -> 1474 bytes ...abc_btn_switch_to_on_mtrl_00001.9.png.flat | Bin 0 -> 2737 bytes ...abc_btn_switch_to_on_mtrl_00012.9.png.flat | Bin 0 -> 3108 bytes ...c_cab_background_top_mtrl_alpha.9.png.flat | Bin 0 -> 515 bytes ...c_ic_commit_search_api_mtrl_alpha.png.flat | Bin 0 -> 502 bytes ...v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 533 bytes ...dpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 972 bytes ...4_abc_ic_menu_paste_mtrl_am_alpha.png.flat | Bin 0 -> 618 bytes ..._abc_ic_menu_selectall_mtrl_alpha.png.flat | Bin 0 -> 536 bytes ...i-v4_abc_ic_menu_share_mtrl_alpha.png.flat | Bin 0 -> 966 bytes ...-xxhdpi-v4_abc_ic_star_black_16dp.png.flat | Bin 0 -> 713 bytes ...-xxhdpi-v4_abc_ic_star_black_36dp.png.flat | Bin 0 -> 1237 bytes ...-xxhdpi-v4_abc_ic_star_black_48dp.png.flat | Bin 0 -> 1545 bytes ...pi-v4_abc_ic_star_half_black_16dp.png.flat | Bin 0 -> 571 bytes ...pi-v4_abc_ic_star_half_black_36dp.png.flat | Bin 0 -> 839 bytes ...pi-v4_abc_ic_star_half_black_48dp.png.flat | Bin 0 -> 1051 bytes ...-v4_abc_list_divider_mtrl_alpha.9.png.flat | Bin 0 -> 437 bytes ...xxhdpi-v4_abc_list_focused_holo.9.png.flat | Bin 0 -> 499 bytes ...pi-v4_abc_list_longpressed_holo.9.png.flat | Bin 0 -> 483 bytes ...i-v4_abc_list_pressed_holo_dark.9.png.flat | Bin 0 -> 474 bytes ...-v4_abc_list_pressed_holo_light.9.png.flat | Bin 0 -> 478 bytes ...ist_selector_disabled_holo_dark.9.png.flat | Bin 0 -> 542 bytes ...st_selector_disabled_holo_light.9.png.flat | Bin 0 -> 544 bytes ...bc_menu_hardkey_panel_mtrl_mult.9.png.flat | Bin 0 -> 2053 bytes ..._abc_popup_background_mtrl_mult.9.png.flat | Bin 0 -> 2575 bytes ...c_scrubber_control_off_mtrl_alpha.png.flat | Bin 0 -> 600 bytes ...ubber_control_to_pressed_mtrl_000.png.flat | Bin 0 -> 693 bytes ...ubber_control_to_pressed_mtrl_005.png.flat | Bin 0 -> 885 bytes ...abc_scrubber_primary_mtrl_alpha.9.png.flat | Bin 0 -> 484 bytes ...4_abc_scrubber_track_mtrl_alpha.9.png.flat | Bin 0 -> 477 bytes ...pi-v4_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 786 bytes ...-v4_abc_switch_track_mtrl_alpha.9.png.flat | Bin 0 -> 1117 bytes ...v4_abc_tab_indicator_mtrl_alpha.9.png.flat | Bin 0 -> 470 bytes ...text_select_handle_left_mtrl_dark.png.flat | Bin 0 -> 702 bytes ...ext_select_handle_left_mtrl_light.png.flat | Bin 0 -> 706 bytes ...xt_select_handle_middle_mtrl_dark.png.flat | Bin 0 -> 1038 bytes ...t_select_handle_middle_mtrl_light.png.flat | Bin 0 -> 1043 bytes ...ext_select_handle_right_mtrl_dark.png.flat | Bin 0 -> 708 bytes ...xt_select_handle_right_mtrl_light.png.flat | Bin 0 -> 708 bytes ..._textfield_activated_mtrl_alpha.9.png.flat | Bin 0 -> 477 bytes ...bc_textfield_default_mtrl_alpha.9.png.flat | Bin 0 -> 474 bytes ...eld_search_activated_mtrl_alpha.9.png.flat | Bin 0 -> 481 bytes ...field_search_default_mtrl_alpha.9.png.flat | Bin 0 -> 476 bytes ...i-v4_abc_btn_check_to_on_mtrl_000.png.flat | Bin 0 -> 539 bytes ...i-v4_abc_btn_check_to_on_mtrl_015.png.flat | Bin 0 -> 740 bytes ...i-v4_abc_btn_radio_to_on_mtrl_000.png.flat | Bin 0 -> 1049 bytes ...i-v4_abc_btn_radio_to_on_mtrl_015.png.flat | Bin 0 -> 1210 bytes ...abc_btn_switch_to_on_mtrl_00001.9.png.flat | Bin 0 -> 2777 bytes ...abc_btn_switch_to_on_mtrl_00012.9.png.flat | Bin 0 -> 3088 bytes ...v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat | Bin 0 -> 595 bytes ...dpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat | Bin 0 -> 1170 bytes ...4_abc_ic_menu_paste_mtrl_am_alpha.png.flat | Bin 0 -> 733 bytes ..._abc_ic_menu_selectall_mtrl_alpha.png.flat | Bin 0 -> 577 bytes ...i-v4_abc_ic_menu_share_mtrl_alpha.png.flat | Bin 0 -> 1163 bytes ...xxxhdpi-v4_abc_ic_star_black_16dp.png.flat | Bin 0 -> 851 bytes ...xxxhdpi-v4_abc_ic_star_black_36dp.png.flat | Bin 0 -> 1521 bytes ...xxxhdpi-v4_abc_ic_star_black_48dp.png.flat | Bin 0 -> 1932 bytes ...pi-v4_abc_ic_star_half_black_16dp.png.flat | Bin 0 -> 640 bytes ...pi-v4_abc_ic_star_half_black_36dp.png.flat | Bin 0 -> 1024 bytes ...pi-v4_abc_ic_star_half_black_48dp.png.flat | Bin 0 -> 1255 bytes ...ubber_control_to_pressed_mtrl_000.png.flat | Bin 0 -> 703 bytes ...ubber_control_to_pressed_mtrl_005.png.flat | Bin 0 -> 919 bytes ...pi-v4_abc_spinner_mtrl_am_alpha.9.png.flat | Bin 0 -> 690 bytes ...-v4_abc_switch_track_mtrl_alpha.9.png.flat | Bin 0 -> 1077 bytes ...v4_abc_tab_indicator_mtrl_alpha.9.png.flat | Bin 0 -> 470 bytes ...text_select_handle_left_mtrl_dark.png.flat | Bin 0 -> 797 bytes ...ext_select_handle_left_mtrl_light.png.flat | Bin 0 -> 797 bytes ...ext_select_handle_right_mtrl_dark.png.flat | Bin 0 -> 797 bytes ...xt_select_handle_right_mtrl_light.png.flat | Bin 0 -> 801 bytes ...wable_abc_btn_borderless_material.xml.flat | Bin 0 -> 918 bytes .../drawable_abc_btn_check_material.xml.flat | Bin 0 -> 800 bytes ...awable_abc_btn_default_mtrl_shape.xml.flat | Bin 0 -> 1410 bytes .../drawable_abc_btn_radio_material.xml.flat | Bin 0 -> 800 bytes ...le_abc_cab_background_internal_bg.xml.flat | Bin 0 -> 654 bytes ...e_abc_cab_background_top_material.xml.flat | Bin 0 -> 622 bytes .../drawable_abc_ic_ab_back_material.xml.flat | Bin 0 -> 996 bytes ...bc_ic_arrow_drop_right_black_24dp.xml.flat | Bin 0 -> 1334 bytes .../drawable_abc_ic_clear_material.xml.flat | Bin 0 -> 976 bytes ...ble_abc_ic_go_search_api_material.xml.flat | Bin 0 -> 950 bytes ...ble_abc_ic_menu_overflow_material.xml.flat | Bin 0 -> 1102 bytes ...awable_abc_ic_search_api_material.xml.flat | Bin 0 -> 1114 bytes ..._abc_ic_voice_search_api_material.xml.flat | Bin 0 -> 1142 bytes ...ble_abc_item_background_holo_dark.xml.flat | Bin 0 -> 1470 bytes ...le_abc_item_background_holo_light.xml.flat | Bin 0 -> 1470 bytes ...r_background_transition_holo_dark.xml.flat | Bin 0 -> 802 bytes ..._background_transition_holo_light.xml.flat | Bin 0 -> 802 bytes ...wable_abc_list_selector_holo_dark.xml.flat | Bin 0 -> 1510 bytes ...able_abc_list_selector_holo_light.xml.flat | Bin 0 -> 1514 bytes ..._abc_ratingbar_indicator_material.xml.flat | Bin 0 -> 1138 bytes .../drawable_abc_ratingbar_material.xml.flat | Bin 0 -> 1116 bytes ...able_abc_ratingbar_small_material.xml.flat | Bin 0 -> 1130 bytes ...awable_abc_seekbar_thumb_material.xml.flat | Bin 0 -> 1530 bytes ...le_abc_seekbar_tick_mark_material.xml.flat | Bin 0 -> 830 bytes ...awable_abc_seekbar_track_material.xml.flat | Bin 0 -> 1858 bytes ...ner_textfield_background_material.xml.flat | Bin 0 -> 1610 bytes ...rawable_abc_switch_thumb_material.xml.flat | Bin 0 -> 814 bytes ...awable_abc_tab_indicator_material.xml.flat | Bin 0 -> 798 bytes ...drawable_abc_text_cursor_material.xml.flat | Bin 0 -> 784 bytes ...ble_abc_textfield_search_material.xml.flat | Bin 0 -> 1122 bytes .../3.1.0/drawable_abc_vector_test.xml.flat | Bin 0 -> 868 bytes .../drawable_ic_launcher_background.xml.flat | Bin 0 -> 5956 bytes .../3.1.0/drawable_notification_bg.xml.flat | Bin 0 -> 904 bytes .../drawable_notification_bg_low.xml.flat | Bin 0 -> 912 bytes ...able_notification_icon_background.xml.flat | Bin 0 -> 658 bytes .../drawable_notification_tile_bg.xml.flat | Bin 0 -> 592 bytes .../drawable_tooltip_frame_dark.xml.flat | Bin 0 -> 780 bytes .../drawable_tooltip_frame_light.xml.flat | Bin 0 -> 784 bytes .../layout-v21_notification_action.xml.flat | Bin 0 -> 1688 bytes ...v21_notification_action_tombstone.xml.flat | Bin 0 -> 1894 bytes ..._notification_template_custom_big.xml.flat | Bin 0 -> 3642 bytes ..._notification_template_icon_group.xml.flat | Bin 0 -> 1580 bytes .../layout-v26_abc_screen_toolbar.xml.flat | Bin 0 -> 2240 bytes ..._alert_dialog_button_bar_material.xml.flat | Bin 0 -> 1798 bytes ...0_abc_alert_dialog_title_material.xml.flat | Bin 0 -> 2030 bytes .../layout_abc_action_bar_title_item.xml.flat | Bin 0 -> 1386 bytes ...ayout_abc_action_bar_up_container.xml.flat | Bin 0 -> 778 bytes ...ayout_abc_action_menu_item_layout.xml.flat | Bin 0 -> 1138 bytes .../layout_abc_action_menu_layout.xml.flat | Bin 0 -> 872 bytes .../3.1.0/layout_abc_action_mode_bar.xml.flat | Bin 0 -> 784 bytes ...c_action_mode_close_item_material.xml.flat | Bin 0 -> 1312 bytes .../layout_abc_activity_chooser_view.xml.flat | Bin 0 -> 2334 bytes ...c_activity_chooser_view_list_item.xml.flat | Bin 0 -> 1904 bytes ..._alert_dialog_button_bar_material.xml.flat | Bin 0 -> 2264 bytes .../layout_abc_alert_dialog_material.xml.flat | Bin 0 -> 3554 bytes ...t_abc_alert_dialog_title_material.xml.flat | Bin 0 -> 2294 bytes ...ut_abc_cascading_menu_item_layout.xml.flat | Bin 0 -> 2846 bytes .../layout_abc_dialog_title_material.xml.flat | Bin 0 -> 1556 bytes .../layout_abc_expanded_menu_layout.xml.flat | Bin 0 -> 716 bytes ...ayout_abc_list_menu_item_checkbox.xml.flat | Bin 0 -> 852 bytes .../layout_abc_list_menu_item_icon.xml.flat | Bin 0 -> 1006 bytes .../layout_abc_list_menu_item_layout.xml.flat | Bin 0 -> 1994 bytes .../layout_abc_list_menu_item_radio.xml.flat | Bin 0 -> 840 bytes ...abc_popup_menu_header_item_layout.xml.flat | Bin 0 -> 1318 bytes ...layout_abc_popup_menu_item_layout.xml.flat | Bin 0 -> 3076 bytes ...layout_abc_screen_content_include.xml.flat | Bin 0 -> 896 bytes .../3.1.0/layout_abc_screen_simple.xml.flat | Bin 0 -> 1326 bytes ...screen_simple_overlay_action_mode.xml.flat | Bin 0 -> 1316 bytes .../3.1.0/layout_abc_screen_toolbar.xml.flat | Bin 0 -> 2184 bytes ..._search_dropdown_item_icons_2line.xml.flat | Bin 0 -> 2864 bytes .../3.1.0/layout_abc_search_view.xml.flat | Bin 0 -> 4998 bytes ...layout_abc_select_dialog_material.xml.flat | Bin 0 -> 1526 bytes .../aapt2/3.1.0/layout_abc_tooltip.xml.flat | Bin 0 -> 1524 bytes ...ication_template_part_chronometer.xml.flat | Bin 0 -> 822 bytes ...t_notification_template_part_time.xml.flat | Bin 0 -> 792 bytes ...ayout_select_dialog_item_material.xml.flat | Bin 0 -> 1154 bytes ...elect_dialog_multichoice_material.xml.flat | Bin 0 -> 1434 bytes ...lect_dialog_singlechoice_material.xml.flat | Bin 0 -> 1438 bytes ...port_simple_spinner_dropdown_item.xml.flat | Bin 0 -> 858 bytes .../mipmap-anydpi-v26_ic_launcher.xml.flat | Bin 0 -> 726 bytes ...pmap-anydpi-v26_ic_launcher_round.xml.flat | Bin 0 -> 738 bytes .../3.1.0/mipmap-hdpi_ic_launcher.png.flat | Bin 0 -> 3157 bytes .../mipmap-hdpi_ic_launcher_round.png.flat | Bin 0 -> 5111 bytes .../3.1.0/mipmap-mdpi_ic_launcher.png.flat | Bin 0 -> 2254 bytes .../mipmap-mdpi_ic_launcher_round.png.flat | Bin 0 -> 2989 bytes .../3.1.0/mipmap-xhdpi_ic_launcher.png.flat | Bin 0 -> 4686 bytes .../mipmap-xhdpi_ic_launcher_round.png.flat | Bin 0 -> 7103 bytes .../3.1.0/mipmap-xxhdpi_ic_launcher.png.flat | Bin 0 -> 6585 bytes .../mipmap-xxhdpi_ic_launcher_round.png.flat | Bin 0 -> 10623 bytes .../3.1.0/mipmap-xxxhdpi_ic_launcher.png.flat | Bin 0 -> 9324 bytes .../mipmap-xxxhdpi_ic_launcher_round.png.flat | Bin 0 -> 15340 bytes .../com/didiglobal/booster/util/FileSearch.kt | 7 +- .../task/compression/CompressImages.kt | 4 +- .../compression/RemoveRedundantFlatImages.kt | 13 +- .../cwebp/CwebpCompressFlatImages.kt | 14 +- .../pngquant/PngquantCompressFlatImages.kt | 12 +- .../shrink/RetainedSymbolCollector.kt | 6 +- 400 files changed, 3329 insertions(+), 51 deletions(-) create mode 100644 booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ConfigurationLegacy.java create mode 100644 booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ResourcesInternalLegacy.java create mode 100644 booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt/Configuration.kt create mode 100644 booster-aapt2/src/main/proto/ResourcesInternalLegacy.proto create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_in.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_out.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_grow_fade_in_from_bottom.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_enter.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_exit.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_shrink_fade_out_from_bottom.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_bottom.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_top.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_out_bottom.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_out_top.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_enter.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_exit.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v21_abc_btn_colored_borderless_text_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_borderless_text_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_text_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_color_highlight_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_btn_checkable.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_default.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_edittext.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_seek_thumb.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_spinner.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_switch_track.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_btn_colored_text_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_search_url_text.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_btn_checkable.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_default.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_edittext.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_seek_thumb.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_spinner.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_switch_track.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_focused_holo.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_longpressed_holo.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_dark.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_light.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_popup_background_mtrl_mult.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_low_normal.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_low_pressed.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal_pressed.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_focused_holo.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_longpressed_holo.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_dark.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_light.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_popup_background_mtrl_mult.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_low_normal.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_low_pressed.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_normal.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_normal_pressed.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_action_bar_item_background_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_btn_colored_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_dialog_material_background.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_edit_text_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_list_divider_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_notification_action_background.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v23_abc_control_background_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v24_ic_launcher_foreground.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-watch-v20_abc_dialog_material_background.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_focused_holo.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_longpressed_holo.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_dark.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_light.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_pressed.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal_pressed.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_focused_holo.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_longpressed_holo.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_dark.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_light.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_16dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_36dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_48dp.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_borderless_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_check_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_default_mtrl_shape.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_radio_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_internal_bg.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_top_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_ab_back_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_arrow_drop_right_black_24dp.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_clear_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_go_search_api_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_menu_overflow_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_search_api_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_voice_search_api_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_indicator_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_small_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_thumb_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_tick_mark_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_track_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_spinner_textfield_background_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_switch_thumb_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_tab_indicator_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_text_cursor_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_textfield_search_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_vector_test.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_ic_launcher_background.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg_low.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_icon_background.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_tile_bg.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_dark.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_light.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action_tombstone.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_custom_big.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_icon_group.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v26_abc_screen_toolbar.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_button_bar_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_title_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_title_item.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_up_container.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_item_layout.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_layout.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_bar.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_close_item_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view_list_item.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_button_bar_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_title_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_cascading_menu_item_layout.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_dialog_title_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_expanded_menu_layout.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_checkbox.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_icon.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_layout.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_radio.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_header_item_layout.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_item_layout.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_content_include.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple_overlay_action_mode.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_toolbar.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_dropdown_item_icons_2line.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_view.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_select_dialog_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_tooltip.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_chronometer.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_time.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_item_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_multichoice_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_singlechoice_material.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_support_simple_spinner_dropdown_item.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher_round.xml.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher_round.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher_round.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher_round.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher_round.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher.png.flat create mode 100644 booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher_round.png.flat diff --git a/booster-aapt2/build.gradle b/booster-aapt2/build.gradle index 9d4f8eb60..0dc9aac51 100644 --- a/booster-aapt2/build.gradle +++ b/booster-aapt2/build.gradle @@ -2,4 +2,5 @@ apply from: '../gradle/booster.gradle' dependencies { compile 'com.google.protobuf:protobuf-java:3.4.0' + testCompile 'com.android.tools.build:gradle:3.0.0' } diff --git a/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ConfigurationLegacy.java b/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ConfigurationLegacy.java new file mode 100644 index 000000000..32d5c3f45 --- /dev/null +++ b/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ConfigurationLegacy.java @@ -0,0 +1,426 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: ConfigurationLegacy.proto + +package com.didiglobal.booster.aapt2.legacy; + +public final class ConfigurationLegacy { + private ConfigurationLegacy() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + public interface ConfigDescriptionOrBuilder extends + // @@protoc_insertion_point(interface_extends:aapt.pb.ConfigDescription) + com.google.protobuf.MessageLiteOrBuilder { + + /** + * bytes data = 1; + */ + com.google.protobuf.ByteString getData(); + + /** + * string product = 2; + */ + java.lang.String getProduct(); + /** + * string product = 2; + */ + com.google.protobuf.ByteString + getProductBytes(); + } + /** + *
+   * A configuration description that wraps the binary form of the C++ class
+   * aapt::ConfigDescription, with an added product definition.
+   * TODO(adamlesinski): Flesh this out to be represented in proto.
+   * 
+ * + * Protobuf type {@code aapt.pb.ConfigDescription} + */ + public static final class ConfigDescription extends + com.google.protobuf.GeneratedMessageLite< + ConfigDescription, ConfigDescription.Builder> implements + // @@protoc_insertion_point(message_implements:aapt.pb.ConfigDescription) + ConfigDescriptionOrBuilder { + private ConfigDescription() { + data_ = com.google.protobuf.ByteString.EMPTY; + product_ = ""; + } + public static final int DATA_FIELD_NUMBER = 1; + private com.google.protobuf.ByteString data_; + /** + * bytes data = 1; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * bytes data = 1; + */ + private void setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + } + /** + * bytes data = 1; + */ + private void clearData() { + + data_ = getDefaultInstance().getData(); + } + + public static final int PRODUCT_FIELD_NUMBER = 2; + private java.lang.String product_; + /** + * string product = 2; + */ + public java.lang.String getProduct() { + return product_; + } + /** + * string product = 2; + */ + public com.google.protobuf.ByteString + getProductBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(product_); + } + /** + * string product = 2; + */ + private void setProduct( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + product_ = value; + } + /** + * string product = 2; + */ + private void clearProduct() { + + product_ = getDefaultInstance().getProduct(); + } + /** + * string product = 2; + */ + private void setProductBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + product_ = value.toStringUtf8(); + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!data_.isEmpty()) { + output.writeBytes(1, data_); + } + if (!product_.isEmpty()) { + output.writeString(2, getProduct()); + } + unknownFields.writeTo(output); + } + + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (!data_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, data_); + } + if (!product_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(2, getProduct()); + } + size += unknownFields.getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + /** + *
+     * A configuration description that wraps the binary form of the C++ class
+     * aapt::ConfigDescription, with an added product definition.
+     * TODO(adamlesinski): Flesh this out to be represented in proto.
+     * 
+ * + * Protobuf type {@code aapt.pb.ConfigDescription} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageLite.Builder< + com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription, Builder> implements + // @@protoc_insertion_point(builder_implements:aapt.pb.ConfigDescription) + com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescriptionOrBuilder { + // Construct using com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription.newBuilder() + private Builder() { + super(DEFAULT_INSTANCE); + } + + + /** + * bytes data = 1; + */ + public com.google.protobuf.ByteString getData() { + return instance.getData(); + } + /** + * bytes data = 1; + */ + public Builder setData(com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setData(value); + return this; + } + /** + * bytes data = 1; + */ + public Builder clearData() { + copyOnWrite(); + instance.clearData(); + return this; + } + + /** + * string product = 2; + */ + public java.lang.String getProduct() { + return instance.getProduct(); + } + /** + * string product = 2; + */ + public com.google.protobuf.ByteString + getProductBytes() { + return instance.getProductBytes(); + } + /** + * string product = 2; + */ + public Builder setProduct( + java.lang.String value) { + copyOnWrite(); + instance.setProduct(value); + return this; + } + /** + * string product = 2; + */ + public Builder clearProduct() { + copyOnWrite(); + instance.clearProduct(); + return this; + } + /** + * string product = 2; + */ + public Builder setProductBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setProductBytes(value); + return this; + } + + // @@protoc_insertion_point(builder_scope:aapt.pb.ConfigDescription) + } + @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) + protected final java.lang.Object dynamicMethod( + com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, + java.lang.Object arg0, java.lang.Object arg1) { + switch (method) { + case NEW_MUTABLE_INSTANCE: { + return new com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription(); + } + case IS_INITIALIZED: { + return DEFAULT_INSTANCE; + } + case MAKE_IMMUTABLE: { + return null; + } + case NEW_BUILDER: { + return new Builder(); + } + case VISIT: { + Visitor visitor = (Visitor) arg0; + com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription other = (com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription) arg1; + data_ = visitor.visitByteString(data_ != com.google.protobuf.ByteString.EMPTY, data_, + other.data_ != com.google.protobuf.ByteString.EMPTY, other.data_); + product_ = visitor.visitString(!product_.isEmpty(), product_, + !other.product_.isEmpty(), other.product_); + if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor + .INSTANCE) { + } + return this; + } + case MERGE_FROM_STREAM: { + com.google.protobuf.CodedInputStream input = + (com.google.protobuf.CodedInputStream) arg0; + com.google.protobuf.ExtensionRegistryLite extensionRegistry = + (com.google.protobuf.ExtensionRegistryLite) arg1; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(tag, input)) { + done = true; + } + break; + } + case 10: { + + data_ = input.readBytes(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + product_ = s; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw new RuntimeException(e.setUnfinishedMessage(this)); + } catch (java.io.IOException e) { + throw new RuntimeException( + new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this)); + } finally { + } + } + // fall through + case GET_DEFAULT_INSTANCE: { + return DEFAULT_INSTANCE; + } + case GET_PARSER: { + if (PARSER == null) { synchronized (com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription.class) { + if (PARSER == null) { + PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE); + } + } + } + return PARSER; + } + } + throw new UnsupportedOperationException(); + } + + + // @@protoc_insertion_point(class_scope:aapt.pb.ConfigDescription) + private static final com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new ConfigDescription(); + DEFAULT_INSTANCE.makeImmutable(); + } + + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static volatile com.google.protobuf.Parser PARSER; + + public static com.google.protobuf.Parser parser() { + return DEFAULT_INSTANCE.getParserForType(); + } + } + + + static { + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ResourcesInternalLegacy.java b/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ResourcesInternalLegacy.java new file mode 100644 index 000000000..ebac47eb2 --- /dev/null +++ b/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ResourcesInternalLegacy.java @@ -0,0 +1,2279 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: ResourcesInternalLegacy.proto + +package com.didiglobal.booster.aapt2.legacy; + +public final class ResourcesInternalLegacy { + private ResourcesInternalLegacy() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + public interface ConfigDescriptionOrBuilder extends + // @@protoc_insertion_point(interface_extends:aapt.pb.internal.ConfigDescription) + com.google.protobuf.MessageLiteOrBuilder { + + /** + * bytes data = 1; + */ + com.google.protobuf.ByteString getData(); + + /** + * string product = 2; + */ + java.lang.String getProduct(); + /** + * string product = 2; + */ + com.google.protobuf.ByteString + getProductBytes(); + } + /** + *
+   * A configuration description that wraps the binary form of the C++ class
+   * aapt::ConfigDescription, with an added product definition.
+   * TODO(adamlesinski): Flesh this out to be represented in proto.
+   * 
+ * + * Protobuf type {@code aapt.pb.internal.ConfigDescription} + */ + public static final class ConfigDescription extends + com.google.protobuf.GeneratedMessageLite< + ConfigDescription, ConfigDescription.Builder> implements + // @@protoc_insertion_point(message_implements:aapt.pb.internal.ConfigDescription) + ConfigDescriptionOrBuilder { + private ConfigDescription() { + data_ = com.google.protobuf.ByteString.EMPTY; + product_ = ""; + } + public static final int DATA_FIELD_NUMBER = 1; + private com.google.protobuf.ByteString data_; + /** + * bytes data = 1; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * bytes data = 1; + */ + private void setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + } + /** + * bytes data = 1; + */ + private void clearData() { + + data_ = getDefaultInstance().getData(); + } + + public static final int PRODUCT_FIELD_NUMBER = 2; + private java.lang.String product_; + /** + * string product = 2; + */ + public java.lang.String getProduct() { + return product_; + } + /** + * string product = 2; + */ + public com.google.protobuf.ByteString + getProductBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(product_); + } + /** + * string product = 2; + */ + private void setProduct( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + product_ = value; + } + /** + * string product = 2; + */ + private void clearProduct() { + + product_ = getDefaultInstance().getProduct(); + } + /** + * string product = 2; + */ + private void setProductBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + product_ = value.toStringUtf8(); + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!data_.isEmpty()) { + output.writeBytes(1, data_); + } + if (!product_.isEmpty()) { + output.writeString(2, getProduct()); + } + unknownFields.writeTo(output); + } + + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (!data_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, data_); + } + if (!product_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(2, getProduct()); + } + size += unknownFields.getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + /** + *
+     * A configuration description that wraps the binary form of the C++ class
+     * aapt::ConfigDescription, with an added product definition.
+     * TODO(adamlesinski): Flesh this out to be represented in proto.
+     * 
+ * + * Protobuf type {@code aapt.pb.internal.ConfigDescription} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageLite.Builder< + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription, Builder> implements + // @@protoc_insertion_point(builder_implements:aapt.pb.internal.ConfigDescription) + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescriptionOrBuilder { + // Construct using com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.newBuilder() + private Builder() { + super(DEFAULT_INSTANCE); + } + + + /** + * bytes data = 1; + */ + public com.google.protobuf.ByteString getData() { + return instance.getData(); + } + /** + * bytes data = 1; + */ + public Builder setData(com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setData(value); + return this; + } + /** + * bytes data = 1; + */ + public Builder clearData() { + copyOnWrite(); + instance.clearData(); + return this; + } + + /** + * string product = 2; + */ + public java.lang.String getProduct() { + return instance.getProduct(); + } + /** + * string product = 2; + */ + public com.google.protobuf.ByteString + getProductBytes() { + return instance.getProductBytes(); + } + /** + * string product = 2; + */ + public Builder setProduct( + java.lang.String value) { + copyOnWrite(); + instance.setProduct(value); + return this; + } + /** + * string product = 2; + */ + public Builder clearProduct() { + copyOnWrite(); + instance.clearProduct(); + return this; + } + /** + * string product = 2; + */ + public Builder setProductBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setProductBytes(value); + return this; + } + + // @@protoc_insertion_point(builder_scope:aapt.pb.internal.ConfigDescription) + } + @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) + protected final java.lang.Object dynamicMethod( + com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, + java.lang.Object arg0, java.lang.Object arg1) { + switch (method) { + case NEW_MUTABLE_INSTANCE: { + return new com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription(); + } + case IS_INITIALIZED: { + return DEFAULT_INSTANCE; + } + case MAKE_IMMUTABLE: { + return null; + } + case NEW_BUILDER: { + return new Builder(); + } + case VISIT: { + Visitor visitor = (Visitor) arg0; + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription other = (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription) arg1; + data_ = visitor.visitByteString(data_ != com.google.protobuf.ByteString.EMPTY, data_, + other.data_ != com.google.protobuf.ByteString.EMPTY, other.data_); + product_ = visitor.visitString(!product_.isEmpty(), product_, + !other.product_.isEmpty(), other.product_); + if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor + .INSTANCE) { + } + return this; + } + case MERGE_FROM_STREAM: { + com.google.protobuf.CodedInputStream input = + (com.google.protobuf.CodedInputStream) arg0; + com.google.protobuf.ExtensionRegistryLite extensionRegistry = + (com.google.protobuf.ExtensionRegistryLite) arg1; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(tag, input)) { + done = true; + } + break; + } + case 10: { + + data_ = input.readBytes(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + product_ = s; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw new RuntimeException(e.setUnfinishedMessage(this)); + } catch (java.io.IOException e) { + throw new RuntimeException( + new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this)); + } finally { + } + } + // fall through + case GET_DEFAULT_INSTANCE: { + return DEFAULT_INSTANCE; + } + case GET_PARSER: { + if (PARSER == null) { synchronized (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.class) { + if (PARSER == null) { + PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE); + } + } + } + return PARSER; + } + } + throw new UnsupportedOperationException(); + } + + + // @@protoc_insertion_point(class_scope:aapt.pb.internal.ConfigDescription) + private static final com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new ConfigDescription(); + DEFAULT_INSTANCE.makeImmutable(); + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static volatile com.google.protobuf.Parser PARSER; + + public static com.google.protobuf.Parser parser() { + return DEFAULT_INSTANCE.getParserForType(); + } + } + + public interface CompiledFileLegacyOrBuilder extends + // @@protoc_insertion_point(interface_extends:aapt.pb.internal.CompiledFileLegacy) + com.google.protobuf.MessageLiteOrBuilder { + + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + java.lang.String getResourceName(); + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + com.google.protobuf.ByteString + getResourceNameBytes(); + + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + boolean hasConfig(); + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription getConfig(); + + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + java.lang.String getSourcePath(); + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + com.google.protobuf.ByteString + getSourcePathBytes(); + + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + java.util.List + getExportedSymbolList(); + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol getExportedSymbol(int index); + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + int getExportedSymbolCount(); + + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + boolean hasXmlRoot(); + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + com.didiglobal.booster.aapt2.Resources.XmlNode getXmlRoot(); + } + /** + *
+   * The top level message representing an external resource file (layout XML, PNG, etc).
+   * This is used to represent a compiled file before it is linked. Only useful to aapt2.
+   * 
+ * + * Protobuf type {@code aapt.pb.internal.CompiledFileLegacy} + */ + public static final class CompiledFileLegacy extends + com.google.protobuf.GeneratedMessageLite< + CompiledFileLegacy, CompiledFileLegacy.Builder> implements + // @@protoc_insertion_point(message_implements:aapt.pb.internal.CompiledFileLegacy) + CompiledFileLegacyOrBuilder { + private CompiledFileLegacy() { + resourceName_ = ""; + sourcePath_ = ""; + exportedSymbol_ = emptyProtobufList(); + } + public interface SymbolOrBuilder extends + // @@protoc_insertion_point(interface_extends:aapt.pb.internal.CompiledFileLegacy.Symbol) + com.google.protobuf.MessageLiteOrBuilder { + + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + java.lang.String getResourceName(); + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + com.google.protobuf.ByteString + getResourceNameBytes(); + + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + boolean hasSource(); + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + com.didiglobal.booster.aapt2.Resources.SourcePosition getSource(); + } + /** + * Protobuf type {@code aapt.pb.internal.CompiledFileLegacy.Symbol} + */ + public static final class Symbol extends + com.google.protobuf.GeneratedMessageLite< + Symbol, Symbol.Builder> implements + // @@protoc_insertion_point(message_implements:aapt.pb.internal.CompiledFileLegacy.Symbol) + SymbolOrBuilder { + private Symbol() { + resourceName_ = ""; + } + public static final int RESOURCE_NAME_FIELD_NUMBER = 1; + private java.lang.String resourceName_; + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public java.lang.String getResourceName() { + return resourceName_; + } + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public com.google.protobuf.ByteString + getResourceNameBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(resourceName_); + } + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + private void setResourceName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + resourceName_ = value; + } + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + private void clearResourceName() { + + resourceName_ = getDefaultInstance().getResourceName(); + } + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + private void setResourceNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + resourceName_ = value.toStringUtf8(); + } + + public static final int SOURCE_FIELD_NUMBER = 2; + private com.didiglobal.booster.aapt2.Resources.SourcePosition source_; + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public boolean hasSource() { + return source_ != null; + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public com.didiglobal.booster.aapt2.Resources.SourcePosition getSource() { + return source_ == null ? com.didiglobal.booster.aapt2.Resources.SourcePosition.getDefaultInstance() : source_; + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + private void setSource(com.didiglobal.booster.aapt2.Resources.SourcePosition value) { + if (value == null) { + throw new NullPointerException(); + } + source_ = value; + + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + private void setSource( + com.didiglobal.booster.aapt2.Resources.SourcePosition.Builder builderForValue) { + source_ = builderForValue.build(); + + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + private void mergeSource(com.didiglobal.booster.aapt2.Resources.SourcePosition value) { + if (source_ != null && + source_ != com.didiglobal.booster.aapt2.Resources.SourcePosition.getDefaultInstance()) { + source_ = + com.didiglobal.booster.aapt2.Resources.SourcePosition.newBuilder(source_).mergeFrom(value).buildPartial(); + } else { + source_ = value; + } + + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + private void clearSource() { source_ = null; + + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!resourceName_.isEmpty()) { + output.writeString(1, getResourceName()); + } + if (source_ != null) { + output.writeMessage(2, getSource()); + } + unknownFields.writeTo(output); + } + + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (!resourceName_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(1, getResourceName()); + } + if (source_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getSource()); + } + size += unknownFields.getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + /** + * Protobuf type {@code aapt.pb.internal.CompiledFileLegacy.Symbol} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageLite.Builder< + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol, Builder> implements + // @@protoc_insertion_point(builder_implements:aapt.pb.internal.CompiledFileLegacy.Symbol) + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.SymbolOrBuilder { + // Construct using com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.newBuilder() + private Builder() { + super(DEFAULT_INSTANCE); + } + + + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public java.lang.String getResourceName() { + return instance.getResourceName(); + } + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public com.google.protobuf.ByteString + getResourceNameBytes() { + return instance.getResourceNameBytes(); + } + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public Builder setResourceName( + java.lang.String value) { + copyOnWrite(); + instance.setResourceName(value); + return this; + } + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public Builder clearResourceName() { + copyOnWrite(); + instance.clearResourceName(); + return this; + } + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public Builder setResourceNameBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setResourceNameBytes(value); + return this; + } + + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public boolean hasSource() { + return instance.hasSource(); + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public com.didiglobal.booster.aapt2.Resources.SourcePosition getSource() { + return instance.getSource(); + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public Builder setSource(com.didiglobal.booster.aapt2.Resources.SourcePosition value) { + copyOnWrite(); + instance.setSource(value); + return this; + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public Builder setSource( + com.didiglobal.booster.aapt2.Resources.SourcePosition.Builder builderForValue) { + copyOnWrite(); + instance.setSource(builderForValue); + return this; + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public Builder mergeSource(com.didiglobal.booster.aapt2.Resources.SourcePosition value) { + copyOnWrite(); + instance.mergeSource(value); + return this; + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public Builder clearSource() { copyOnWrite(); + instance.clearSource(); + return this; + } + + // @@protoc_insertion_point(builder_scope:aapt.pb.internal.CompiledFileLegacy.Symbol) + } + @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) + protected final java.lang.Object dynamicMethod( + com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, + java.lang.Object arg0, java.lang.Object arg1) { + switch (method) { + case NEW_MUTABLE_INSTANCE: { + return new com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol(); + } + case IS_INITIALIZED: { + return DEFAULT_INSTANCE; + } + case MAKE_IMMUTABLE: { + return null; + } + case NEW_BUILDER: { + return new Builder(); + } + case VISIT: { + Visitor visitor = (Visitor) arg0; + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol other = (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol) arg1; + resourceName_ = visitor.visitString(!resourceName_.isEmpty(), resourceName_, + !other.resourceName_.isEmpty(), other.resourceName_); + source_ = visitor.visitMessage(source_, other.source_); + if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor + .INSTANCE) { + } + return this; + } + case MERGE_FROM_STREAM: { + com.google.protobuf.CodedInputStream input = + (com.google.protobuf.CodedInputStream) arg0; + com.google.protobuf.ExtensionRegistryLite extensionRegistry = + (com.google.protobuf.ExtensionRegistryLite) arg1; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(tag, input)) { + done = true; + } + break; + } + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + resourceName_ = s; + break; + } + case 18: { + com.didiglobal.booster.aapt2.Resources.SourcePosition.Builder subBuilder = null; + if (source_ != null) { + subBuilder = source_.toBuilder(); + } + source_ = input.readMessage(com.didiglobal.booster.aapt2.Resources.SourcePosition.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(source_); + source_ = subBuilder.buildPartial(); + } + + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw new RuntimeException(e.setUnfinishedMessage(this)); + } catch (java.io.IOException e) { + throw new RuntimeException( + new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this)); + } finally { + } + } + // fall through + case GET_DEFAULT_INSTANCE: { + return DEFAULT_INSTANCE; + } + case GET_PARSER: { + if (PARSER == null) { synchronized (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.class) { + if (PARSER == null) { + PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE); + } + } + } + return PARSER; + } + } + throw new UnsupportedOperationException(); + } + + + // @@protoc_insertion_point(class_scope:aapt.pb.internal.CompiledFileLegacy.Symbol) + private static final com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new Symbol(); + DEFAULT_INSTANCE.makeImmutable(); + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static volatile com.google.protobuf.Parser PARSER; + + public static com.google.protobuf.Parser parser() { + return DEFAULT_INSTANCE.getParserForType(); + } + } + + private int bitField0_; + public static final int RESOURCE_NAME_FIELD_NUMBER = 1; + private java.lang.String resourceName_; + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + public java.lang.String getResourceName() { + return resourceName_; + } + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + public com.google.protobuf.ByteString + getResourceNameBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(resourceName_); + } + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + private void setResourceName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + resourceName_ = value; + } + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + private void clearResourceName() { + + resourceName_ = getDefaultInstance().getResourceName(); + } + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + private void setResourceNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + resourceName_ = value.toStringUtf8(); + } + + public static final int CONFIG_FIELD_NUMBER = 2; + private com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription config_; + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public boolean hasConfig() { + return config_ != null; + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription getConfig() { + return config_ == null ? com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.getDefaultInstance() : config_; + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + private void setConfig(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription value) { + if (value == null) { + throw new NullPointerException(); + } + config_ = value; + + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + private void setConfig( + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.Builder builderForValue) { + config_ = builderForValue.build(); + + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + private void mergeConfig(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription value) { + if (config_ != null && + config_ != com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.getDefaultInstance()) { + config_ = + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.newBuilder(config_).mergeFrom(value).buildPartial(); + } else { + config_ = value; + } + + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + private void clearConfig() { config_ = null; + + } + + public static final int SOURCE_PATH_FIELD_NUMBER = 3; + private java.lang.String sourcePath_; + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + public java.lang.String getSourcePath() { + return sourcePath_; + } + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + public com.google.protobuf.ByteString + getSourcePathBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(sourcePath_); + } + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + private void setSourcePath( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + sourcePath_ = value; + } + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + private void clearSourcePath() { + + sourcePath_ = getDefaultInstance().getSourcePath(); + } + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + private void setSourcePathBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + sourcePath_ = value.toStringUtf8(); + } + + public static final int EXPORTED_SYMBOL_FIELD_NUMBER = 4; + private com.google.protobuf.Internal.ProtobufList exportedSymbol_; + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public java.util.List getExportedSymbolList() { + return exportedSymbol_; + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public java.util.List + getExportedSymbolOrBuilderList() { + return exportedSymbol_; + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public int getExportedSymbolCount() { + return exportedSymbol_.size(); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol getExportedSymbol(int index) { + return exportedSymbol_.get(index); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.SymbolOrBuilder getExportedSymbolOrBuilder( + int index) { + return exportedSymbol_.get(index); + } + private void ensureExportedSymbolIsMutable() { + if (!exportedSymbol_.isModifiable()) { + exportedSymbol_ = + com.google.protobuf.GeneratedMessageLite.mutableCopy(exportedSymbol_); + } + } + + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void setExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExportedSymbolIsMutable(); + exportedSymbol_.set(index, value); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void setExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + ensureExportedSymbolIsMutable(); + exportedSymbol_.set(index, builderForValue.build()); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addExportedSymbol(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExportedSymbolIsMutable(); + exportedSymbol_.add(value); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExportedSymbolIsMutable(); + exportedSymbol_.add(index, value); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addExportedSymbol( + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + ensureExportedSymbolIsMutable(); + exportedSymbol_.add(builderForValue.build()); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + ensureExportedSymbolIsMutable(); + exportedSymbol_.add(index, builderForValue.build()); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addAllExportedSymbol( + java.lang.Iterable values) { + ensureExportedSymbolIsMutable(); + com.google.protobuf.AbstractMessageLite.addAll( + values, exportedSymbol_); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void clearExportedSymbol() { + exportedSymbol_ = emptyProtobufList(); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void removeExportedSymbol(int index) { + ensureExportedSymbolIsMutable(); + exportedSymbol_.remove(index); + } + + public static final int XML_ROOT_FIELD_NUMBER = 5; + private com.didiglobal.booster.aapt2.Resources.XmlNode xmlRoot_; + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public boolean hasXmlRoot() { + return xmlRoot_ != null; + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public com.didiglobal.booster.aapt2.Resources.XmlNode getXmlRoot() { + return xmlRoot_ == null ? com.didiglobal.booster.aapt2.Resources.XmlNode.getDefaultInstance() : xmlRoot_; + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + private void setXmlRoot(com.didiglobal.booster.aapt2.Resources.XmlNode value) { + if (value == null) { + throw new NullPointerException(); + } + xmlRoot_ = value; + + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + private void setXmlRoot( + com.didiglobal.booster.aapt2.Resources.XmlNode.Builder builderForValue) { + xmlRoot_ = builderForValue.build(); + + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + private void mergeXmlRoot(com.didiglobal.booster.aapt2.Resources.XmlNode value) { + if (xmlRoot_ != null && + xmlRoot_ != com.didiglobal.booster.aapt2.Resources.XmlNode.getDefaultInstance()) { + xmlRoot_ = + com.didiglobal.booster.aapt2.Resources.XmlNode.newBuilder(xmlRoot_).mergeFrom(value).buildPartial(); + } else { + xmlRoot_ = value; + } + + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + private void clearXmlRoot() { xmlRoot_ = null; + + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!resourceName_.isEmpty()) { + output.writeString(1, getResourceName()); + } + if (config_ != null) { + output.writeMessage(2, getConfig()); + } + if (!sourcePath_.isEmpty()) { + output.writeString(3, getSourcePath()); + } + for (int i = 0; i < exportedSymbol_.size(); i++) { + output.writeMessage(4, exportedSymbol_.get(i)); + } + if (xmlRoot_ != null) { + output.writeMessage(5, getXmlRoot()); + } + unknownFields.writeTo(output); + } + + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (!resourceName_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(1, getResourceName()); + } + if (config_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getConfig()); + } + if (!sourcePath_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(3, getSourcePath()); + } + for (int i = 0; i < exportedSymbol_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, exportedSymbol_.get(i)); + } + if (xmlRoot_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getXmlRoot()); + } + size += unknownFields.getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + /** + *
+     * The top level message representing an external resource file (layout XML, PNG, etc).
+     * This is used to represent a compiled file before it is linked. Only useful to aapt2.
+     * 
+ * + * Protobuf type {@code aapt.pb.internal.CompiledFileLegacy} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageLite.Builder< + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy, Builder> implements + // @@protoc_insertion_point(builder_implements:aapt.pb.internal.CompiledFileLegacy) + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacyOrBuilder { + // Construct using com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.newBuilder() + private Builder() { + super(DEFAULT_INSTANCE); + } + + + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public java.lang.String getResourceName() { + return instance.getResourceName(); + } + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public com.google.protobuf.ByteString + getResourceNameBytes() { + return instance.getResourceNameBytes(); + } + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public Builder setResourceName( + java.lang.String value) { + copyOnWrite(); + instance.setResourceName(value); + return this; + } + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public Builder clearResourceName() { + copyOnWrite(); + instance.clearResourceName(); + return this; + } + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public Builder setResourceNameBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setResourceNameBytes(value); + return this; + } + + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public boolean hasConfig() { + return instance.hasConfig(); + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription getConfig() { + return instance.getConfig(); + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public Builder setConfig(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription value) { + copyOnWrite(); + instance.setConfig(value); + return this; + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public Builder setConfig( + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.Builder builderForValue) { + copyOnWrite(); + instance.setConfig(builderForValue); + return this; + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public Builder mergeConfig(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription value) { + copyOnWrite(); + instance.mergeConfig(value); + return this; + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public Builder clearConfig() { copyOnWrite(); + instance.clearConfig(); + return this; + } + + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public java.lang.String getSourcePath() { + return instance.getSourcePath(); + } + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public com.google.protobuf.ByteString + getSourcePathBytes() { + return instance.getSourcePathBytes(); + } + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public Builder setSourcePath( + java.lang.String value) { + copyOnWrite(); + instance.setSourcePath(value); + return this; + } + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public Builder clearSourcePath() { + copyOnWrite(); + instance.clearSourcePath(); + return this; + } + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public Builder setSourcePathBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setSourcePathBytes(value); + return this; + } + + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public java.util.List getExportedSymbolList() { + return java.util.Collections.unmodifiableList( + instance.getExportedSymbolList()); + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public int getExportedSymbolCount() { + return instance.getExportedSymbolCount(); + }/** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol getExportedSymbol(int index) { + return instance.getExportedSymbol(index); + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder setExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + copyOnWrite(); + instance.setExportedSymbol(index, value); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder setExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + copyOnWrite(); + instance.setExportedSymbol(index, builderForValue); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addExportedSymbol(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + copyOnWrite(); + instance.addExportedSymbol(value); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + copyOnWrite(); + instance.addExportedSymbol(index, value); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addExportedSymbol( + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + copyOnWrite(); + instance.addExportedSymbol(builderForValue); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + copyOnWrite(); + instance.addExportedSymbol(index, builderForValue); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addAllExportedSymbol( + java.lang.Iterable values) { + copyOnWrite(); + instance.addAllExportedSymbol(values); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder clearExportedSymbol() { + copyOnWrite(); + instance.clearExportedSymbol(); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder removeExportedSymbol(int index) { + copyOnWrite(); + instance.removeExportedSymbol(index); + return this; + } + + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public boolean hasXmlRoot() { + return instance.hasXmlRoot(); + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public com.didiglobal.booster.aapt2.Resources.XmlNode getXmlRoot() { + return instance.getXmlRoot(); + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public Builder setXmlRoot(com.didiglobal.booster.aapt2.Resources.XmlNode value) { + copyOnWrite(); + instance.setXmlRoot(value); + return this; + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public Builder setXmlRoot( + com.didiglobal.booster.aapt2.Resources.XmlNode.Builder builderForValue) { + copyOnWrite(); + instance.setXmlRoot(builderForValue); + return this; + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public Builder mergeXmlRoot(com.didiglobal.booster.aapt2.Resources.XmlNode value) { + copyOnWrite(); + instance.mergeXmlRoot(value); + return this; + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public Builder clearXmlRoot() { copyOnWrite(); + instance.clearXmlRoot(); + return this; + } + + // @@protoc_insertion_point(builder_scope:aapt.pb.internal.CompiledFileLegacy) + } + @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) + protected final java.lang.Object dynamicMethod( + com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, + java.lang.Object arg0, java.lang.Object arg1) { + switch (method) { + case NEW_MUTABLE_INSTANCE: { + return new com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy(); + } + case IS_INITIALIZED: { + return DEFAULT_INSTANCE; + } + case MAKE_IMMUTABLE: { + exportedSymbol_.makeImmutable(); + return null; + } + case NEW_BUILDER: { + return new Builder(); + } + case VISIT: { + Visitor visitor = (Visitor) arg0; + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy other = (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy) arg1; + resourceName_ = visitor.visitString(!resourceName_.isEmpty(), resourceName_, + !other.resourceName_.isEmpty(), other.resourceName_); + config_ = visitor.visitMessage(config_, other.config_); + sourcePath_ = visitor.visitString(!sourcePath_.isEmpty(), sourcePath_, + !other.sourcePath_.isEmpty(), other.sourcePath_); + exportedSymbol_= visitor.visitList(exportedSymbol_, other.exportedSymbol_); + xmlRoot_ = visitor.visitMessage(xmlRoot_, other.xmlRoot_); + if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor + .INSTANCE) { + bitField0_ |= other.bitField0_; + } + return this; + } + case MERGE_FROM_STREAM: { + com.google.protobuf.CodedInputStream input = + (com.google.protobuf.CodedInputStream) arg0; + com.google.protobuf.ExtensionRegistryLite extensionRegistry = + (com.google.protobuf.ExtensionRegistryLite) arg1; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(tag, input)) { + done = true; + } + break; + } + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + resourceName_ = s; + break; + } + case 18: { + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.Builder subBuilder = null; + if (config_ != null) { + subBuilder = config_.toBuilder(); + } + config_ = input.readMessage(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(config_); + config_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + sourcePath_ = s; + break; + } + case 34: { + if (!exportedSymbol_.isModifiable()) { + exportedSymbol_ = + com.google.protobuf.GeneratedMessageLite.mutableCopy(exportedSymbol_); + } + exportedSymbol_.add( + input.readMessage(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.parser(), extensionRegistry)); + break; + } + case 42: { + com.didiglobal.booster.aapt2.Resources.XmlNode.Builder subBuilder = null; + if (xmlRoot_ != null) { + subBuilder = xmlRoot_.toBuilder(); + } + xmlRoot_ = input.readMessage(com.didiglobal.booster.aapt2.Resources.XmlNode.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(xmlRoot_); + xmlRoot_ = subBuilder.buildPartial(); + } + + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw new RuntimeException(e.setUnfinishedMessage(this)); + } catch (java.io.IOException e) { + throw new RuntimeException( + new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this)); + } finally { + } + } + // fall through + case GET_DEFAULT_INSTANCE: { + return DEFAULT_INSTANCE; + } + case GET_PARSER: { + if (PARSER == null) { synchronized (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.class) { + if (PARSER == null) { + PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE); + } + } + } + return PARSER; + } + } + throw new UnsupportedOperationException(); + } + + + // @@protoc_insertion_point(class_scope:aapt.pb.internal.CompiledFileLegacy) + private static final com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CompiledFileLegacy(); + DEFAULT_INSTANCE.makeImmutable(); + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static volatile com.google.protobuf.Parser PARSER; + + public static com.google.protobuf.Parser parser() { + return DEFAULT_INSTANCE.getParserForType(); + } + } + + + static { + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt/Configuration.kt b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt/Configuration.kt new file mode 100644 index 000000000..80f6d78f3 --- /dev/null +++ b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt/Configuration.kt @@ -0,0 +1,372 @@ +package com.didiglobal.booster.aapt + +/** + * @author johnsonlee + * @see https://android.googlesource.com/platform/frameworks/base/+/master/libs/androidfw/include/androidfw/ResourceTypes.h + */ +class Configuration { + + var size: Int = 0 + + val imsi = Imsi() + + val locale = Locale() + + val screenType = ScreenType() + + val input = Input() + + val screenSize = ScreenSize() + + val version = Version() + + val screenConfig = ScreenConfig() + + val screenSizeDp = ScreenSize() + + /** + * The ISO-15924 short name for the script corresponding to this + * configuration. (eg. Hant, Latn, etc.). Interpreted in conjunction + * with the locale field. + */ + val localeScript = ByteArray(4) + + /** + * A single BCP-47 variant subtag. Will vary in length between 4 and 8 + * chars. Interpreted in conjunction with the locale field. + */ + val localeVariant = ByteArray(8) + + val screenConfig2 = ScreenConfig2() + + class Imsi { + + /** + * Mobile country code (from SIM). 0 means "any" + */ + var mcc: Short = 0 + + /** + * Mobile network code (from SIM). 0 means "any". + */ + var mnc: Short = 0 + } + + class Locale { + + /** + * This field can take three different forms: + * + * + * * \0\0 means "any". + * * Two 7 bit ascii values interpreted as ISO-639-1 language + * codes ('fr', 'en' etc. etc.). The high bit for both bytes is + * zero. + * * A single 16 bit little endian packed value representing an + * ISO-639-2 3 letter language code. This will be of the form: + * + *
+         * { 1, t, t, t, t, t, s, s, s, s, s, f, f, f, f, f }
+        
* + * + * bit[0, 4] = first letter of the language code

+ * bit[5, 9] = second letter of the language code

+ * bit[10, 14] = third letter of the language code.

+ * bit[15] = 1 always

+ * + * + * + * For backwards compatibility, languages that have unambiguous two + * letter codes are represented in that format. + * + * The layout is always bigendian irrespective of the runtime + * architecture. + */ + val language = ByteArray(2) + + /** + * This field can take three different forms: + * + * + * * \0\0 means "any". + * * Two 7 bit ascii values interpreted as 2 letter region codes + * ('US', 'GB' etc.). The high bit for both bytes is zero. + * * An UN M.49 3 digit region code. For simplicity, these are + * packed in the same manner as the language codes, though we should + * need only 10 bits to represent them, instead of the 15. + * + * + * he layout is always bigendian irrespective of the runtime + * architecture. + */ + val country = ByteArray(2) + + val isDefined: Boolean + get() = this.language[0].toInt() == 0 && this.language[1].toInt() == 0 && this.country[0].toInt() == 0 && this.country[1].toInt() == 0 + } + + class ScreenType { + + var orientation: Byte = 0 + var touchscreen: Byte = 0 + var density: Short = 0 + + companion object { + + /** + * Orientation: not specified + */ + const val ORIENTATION_ANY = 0x0000 + const val ORIENTATION_PORT = 0x0001 + const val ORIENTATION_LAND = 0x0002 + const val ORIENTATION_SQUARE = 0x0003 + + const val TOUCHSCREEN_ANY = 0x0000 + const val TOUCHSCREEN_NOTOUCH = 0x0001 + const val TOUCHSCREEN_STYLUS = 0x0002 + const val TOUCHSCREEN_FINGER = 0x0003 + + const val DENSITY_DEFAULT: Short = 0 + const val DENSITY_LOW: Short = 120 + const val DENSITY_MEDIUM: Short = 160 + const val DENSITY_TV: Short = 213 + const val DENSITY_HIGH: Short = 240 + const val DENSITY_XHIGH: Short = 320 + const val DENSITY_XXHIGH: Short = 480 + const val DENSITY_XXXHIGH: Short = 640 + const val DENSITY_ANY = 0xfffe.toShort() + const val DENSITY_NONE = 0xffff.toShort() + + const val KEYBOARD_ANY = 0x0000 + const val KEYBOARD_NOKEYS = 0x0001 + const val KEYBOARD_QWERTY = 0x0002 + const val KEYBOARD_12KEY = 0x0003 + + const val NAVIGATION_ANY = 0x0000 + const val NAVIGATION_NONAV = 0x0001 + const val NAVIGATION_DPAD = 0x0002 + const val NAVIGATION_TRACKBALL = 0x0003 + const val NAVIGATION_WHEEL = 0x0004 + + const val KEYSHIDDEN_ANY = 0x0000 + const val KEYSHIDDEN_NO = 0x0001 + const val KEYSHIDDEN_YES = 0x0002 + const val KEYSHIDDEN_SOFT = 0x0003 + + const val NAVHIDDEN_ANY = 0x0000 + const val NAVHIDDEN_NO = 0x0001 + const val NAVHIDDEN_YES = 0x0002 + + const val SCREENWIDTH_ANY = 0x0000 + + const val SCREENHEIGHT_ANY = 0x0000 + + const val SDKVERSION_ANY = 0x0000 + + const val MINORVERSION_ANY = 0x0000 + + const val SCREENSIZE_ANY = 0x00 + const val SCREENSIZE_SMALL = 0x01 + const val SCREENSIZE_NORMAL = 0x02 + const val SCREENSIZE_LARGE = 0x03 + const val SCREENSIZE_XLARGE = 0x04 + } + } + + class Input { + var keyboard: Byte = 0 + var navigation: Byte = 0 + var flags: Byte = 0 + var pad0: Byte = 0 + } + + class ScreenSize { + var width: Short = 0 + var height: Short = 0 + } + + class ScreenConfig { + var layout: Byte = 0 + var uiMode: Byte = 0 + var smallestWidthDp: Short = 0 + } + + class ScreenConfig2 { + /** + * Contains round/notround qualifier + */ + var layout: Byte = 0 + /** + * Wide-gamut, HDR, etc. + */ + var colorMode: Byte = 0 + /** + * Reserved padding + */ + var pad2: Short = 0 + } + + class Version { + var sdk: Short = 0 + var minor: Short = 0 // always 0 + } + + fun unpackLanguageOrRegion(data: ByteArray, base: Byte): ByteArray { + if (0 != data[0].toInt() and 0x80) { + val first = (data[1].toInt() and 0x1f).toByte() + val second = ((data[1].toInt() and 0xe0 shr 5) + (data[0].toInt() and 0x03 shl 3)).toByte() + val third = (data[0].toInt() and 0x7c shr 2).toByte() + return byteArrayOf((first + base).toByte(), (second + base).toByte(), (third + base).toByte()) + } + + return if (0 != data[0].toInt()) { + byteArrayOf(data[0], data[1]) + } else ByteArray(0) + + } + + fun unpackLanguage(): ByteArray { + return unpackLanguageOrRegion(this.locale.language, 0x61.toByte()) + } + + fun unpackRegion(): ByteArray { + return unpackLanguageOrRegion(this.locale.country, 0x30.toByte()) + } + + fun appendLocaleDir(out: StringBuilder) { + if (0 != this.locale.language[0].toInt()) { + return + } + + if (0 == this.localeScript[0].toInt() && 0 == this.localeVariant[0].toInt()) { + if (out.isNotEmpty()) { + out.append("-") + } + + out.append(String(unpackLanguage())) + + if (0 != this.locale.country[0].toInt()) { + out.append("-r") + out.append(String(unpackRegion())) + } + + return + } + + if (out.isNotEmpty()) { + out.append("-") + } + + out.append("b+") + out.append(String(unpackLanguage())) + + if (0 != this.localeScript[0].toInt()) { + out.append("+") + out.append(String(this.localeScript)) + } + + if (0 != this.locale.country[0].toInt()) { + out.append("+") + out.append(String(unpackRegion())) + } + + if (0 != this.localeVariant[0].toInt()) { + out.append("+") + out.append(String(this.localeVariant)) + } + } + + override fun toString(): String { + val res = StringBuilder() + + if (this.imsi.mcc.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("mcc%d", this.imsi.mcc)) + } + + if (this.imsi.mnc.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("mnc%d", this.imsi.mnc)) + } + + appendLocaleDir(res) + + if (this.screenConfig.smallestWidthDp.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("sw%ddp", this.screenConfig.smallestWidthDp)) + } + + if (this.screenSizeDp.width.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("w%ddp", this.screenSizeDp.width)) + } + + if (this.screenSizeDp.height.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("h%ddp", this.screenSizeDp.width)) + } + + if (this.screenType.orientation.toInt() != ScreenType.ORIENTATION_ANY) { + if (res.isNotEmpty()) { + res.append("-") + } + + when (this.screenType.orientation.toInt()) { + ScreenType.ORIENTATION_PORT -> res.append("port") + ScreenType.ORIENTATION_LAND -> res.append("land") + ScreenType.ORIENTATION_SQUARE -> res.append("square") + else -> res.append(String.format("orientation=%d", this.screenType.orientation)) + } + } + + if (this.screenType.density != ScreenType.DENSITY_DEFAULT) { + if (res.isNotEmpty()) { + res.append("-") + } + + val density = this.screenType.density + + when (density) { + ScreenType.DENSITY_LOW -> res.append("ldpi") + ScreenType.DENSITY_MEDIUM -> res.append("mdpi") + ScreenType.DENSITY_TV -> res.append("tvdpi") + ScreenType.DENSITY_HIGH -> res.append("hdpi") + ScreenType.DENSITY_XHIGH -> res.append("xhdpi") + ScreenType.DENSITY_XXHIGH -> res.append("xxhdpi") + ScreenType.DENSITY_XXXHIGH -> res.append("xxxhdpi") + ScreenType.DENSITY_NONE -> res.append("nodpi") + ScreenType.DENSITY_ANY -> res.append("anydpi") + else -> res.append(String.format("%ddpi", density)) + } + } + + if (this.screenSize.width.toInt() != 0 || this.screenSize.height.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("%dx%d", this.screenSize.width, this.screenSize.height)) + } + + if (this.version.sdk.toInt() != 0 || this.version.minor.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("v%d", this.version.sdk)) + if (this.version.minor.toInt() != 0) { + res.append(String.format(".%d", this.version.minor)) + } + } + + return if (res.isEmpty()) "" else res.toString() + } +} diff --git a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Container.kt b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Container.kt index 9d709c529..76c6d54e6 100644 --- a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Container.kt +++ b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Container.kt @@ -1,5 +1,7 @@ package com.didiglobal.booster.aapt2 +import com.didiglobal.booster.aapt.Configuration +import java.io.File import java.nio.ByteBuffer /** @@ -9,6 +11,14 @@ class Aapt2Container(val header: Header, private vararg val _entries: Entry<*>) data class Header(val magic: Int = MAGIC, val version: Int = 1, val count: Int = 1) + data class Metadata(val resourceName: String, val sourcePath: String, val config: Configuration) { + + val sourceFile = File(sourcePath) + + val resourcePath = "${sourceFile.parentFile.name}${File.separatorChar}${sourceFile.name}" + + } + abstract class Entry(val type: Int, val data: T) open class ResTable(data: Resources.ResourceTable) : Entry(RES_TABLE, data) diff --git a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Parser.kt b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Parser.kt index 33eb00aa9..6ea7ae637 100644 --- a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Parser.kt +++ b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Parser.kt @@ -1,11 +1,14 @@ package com.didiglobal.booster.aapt2 +import com.didiglobal.booster.aapt.Configuration import com.didiglobal.booster.aapt2.Aapt2Container.Entry import com.didiglobal.booster.aapt2.Aapt2Container.Header +import com.didiglobal.booster.aapt2.Aapt2Container.Metadata import com.didiglobal.booster.aapt2.Aapt2Container.Png import com.didiglobal.booster.aapt2.Aapt2Container.ResFile import com.didiglobal.booster.aapt2.Aapt2Container.ResTable import com.didiglobal.booster.aapt2.Aapt2Container.Xml +import com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy import java.io.File val File.header: Header @@ -13,24 +16,93 @@ val File.header: Header parser.parseHeader() } -val File.metadata: ResourcesInternal.CompiledFile +val File.metadata: Metadata get() = BinaryParser(this).use { parser -> - parser.parseHeader() - val type = parser.readInt() - val length = parser.readLong() - - return when (type) { - RES_FILE -> { - val headerSize = parser.readInt() - val dataSize = parser.readLong() - parser.parse { - ResourcesInternal.CompiledFile.parseFrom(parser.readBytes(headerSize)) + val magic = parser.readInt() + parser.seek(0) + + return when (magic) { + MAGIC -> { + parser.parseHeader() + val type = parser.readInt() + val length = parser.readLong() + + when (type) { + RES_FILE -> parser.parseResFileMetadata() + else -> throw RuntimeException("Unsupported entry type: 0x${type.toString(16)}") } } - else -> throw RuntimeException("Unsupported entry type: 0x${type.toString(16)}") + RES_FILE -> parser.parseLegacyMetadata() + else -> throw Aapt2ParseException("Unrecognized file `$absolutePath`") } } +private fun BinaryParser.parseResFileMetadata(): Metadata { + val headerSize = readInt() + val dataSize = readLong() + + return parse { + ResourcesInternal.CompiledFile.parseFrom(readBytes(headerSize)) + }.let { + Metadata(it.resourceName, it.sourcePath, Configuration().apply { + size = it.config.serializedSize + imsi.apply { + mcc = it.config.mcc.toShort() + mnc = it.config.mnc.toShort() + } + it.config.localeBytes.let { l -> + l.copyTo(locale.language, 0, 0, 2) + l.copyTo(locale.country, 2, 0, 2) + } + screenType.apply { + orientation = it.config.orientationValue.toByte() + touchscreen = it.config.touchscreenValue.toByte() + density = it.config.density.toShort() + } + input.apply { + keyboard = it.config.keyboardValue.toByte() + navigation = it.config.navigationValue.toByte() + flags = 0 // TODO + } + screenSize.apply { + width = it.config.screenWidth.toShort() + height = it.config.screenHeight.toShort() + } + version.apply { + sdk = it.config.sdkVersion.toShort() + minor = 0 + } + screenConfig.apply { + layout = it.config.layoutDirectionValue.toByte() + uiMode = it.config.uiModeTypeValue.toByte() + smallestWidthDp = it.config.smallestScreenWidthDp.toShort() + } + screenSizeDp.apply { + width = it.config.screenWidthDp.toShort() + height = it.config.screenHeightDp.toShort() + } + // TODO localScript = ... + // TODO localeVariant = ... + screenConfig2.apply { + layout = it.config.screenRoundValue.toByte() + colorMode = (it.config.hdrValue shl 2 and it.config.wideColorGamutValue).toByte() + } + }) + } +} + +private fun BinaryParser.parseLegacyMetadata(): Metadata { + val entryType = readInt() + val entryLength = readLong() + return parse { + ResourcesInternalLegacy.CompiledFileLegacy.parseFrom(readBytes(entryLength.toInt())) + }.let { + Metadata(it.resourceName, it.sourcePath, BinaryParser(it.config.data.newInput()).use { parser -> + parser.parseConfiguration() + }) + } +} + val File.entries: List> get() = BinaryParser(this).use { parser -> val header = parser.parseHeader() @@ -92,6 +164,62 @@ fun BinaryParser.parseResEntry(): Entry<*> { } +fun BinaryParser.parseConfiguration() = Configuration().apply { + size = readInt() + imsi.mcc = readShort() + imsi.mnc = readShort() + locale.language[1] = readByte() + locale.language[0] = readByte() + locale.country[1] = readByte() + locale.country[0] = readByte() + screenType.orientation = readByte() + screenType.touchscreen = readByte() + screenType.density = readShort() + input.keyboard = readByte() + input.navigation = readByte() + input.flags = readByte() + input.pad0 = readByte() + screenSize.width = readShort() + screenSize.height = readShort() + version.sdk = readShort() + version.minor = readShort() + + if (size >= 32) { + screenConfig.layout = readByte() + screenConfig.uiMode = readByte() + screenConfig.smallestWidthDp = readShort() + } + + // Android 3.0+ + if (size >= 36) { + screenSizeDp.width = readShort() + screenSizeDp.height = readShort() + } + + // Android 5.0+ + if (size >= 48) { + localeScript[0] = readByte() + localeScript[1] = readByte() + localeScript[2] = readByte() + localeScript[3] = readByte() + localeVariant[0] = readByte() + localeVariant[1] = readByte() + localeVariant[2] = readByte() + localeVariant[3] = readByte() + localeVariant[4] = readByte() + localeVariant[5] = readByte() + localeVariant[6] = readByte() + localeVariant[7] = readByte() + } + + // Android 6.0+ + if (size >= 52) { + screenConfig2.layout = readByte() + screenConfig2.colorMode = readByte() + screenConfig2.pad2 = readShort() + } +} + private fun BinaryParser.parseResFile(): ResFile { val headerSize = readInt() val dataSize = readLong() diff --git a/booster-aapt2/src/main/proto/ResourcesInternalLegacy.proto b/booster-aapt2/src/main/proto/ResourcesInternalLegacy.proto new file mode 100644 index 000000000..beb583a22 --- /dev/null +++ b/booster-aapt2/src/main/proto/ResourcesInternalLegacy.proto @@ -0,0 +1,38 @@ +syntax = "proto3"; + +import "Resources.proto"; + +package aapt.pb.internal; + +option java_package = "com.didiglobal.booster.aapt2.legacy"; +option optimize_for = LITE_RUNTIME; + +// A configuration description that wraps the binary form of the C++ class +// aapt::ConfigDescription, with an added product definition. +// TODO(adamlesinski): Flesh this out to be represented in proto. +message ConfigDescription { + bytes data = 1; + string product = 2; +} + +// The top level message representing an external resource file (layout XML, PNG, etc). +// This is used to represent a compiled file before it is linked. Only useful to aapt2. +message CompiledFileLegacy { + message Symbol { + // The name of the symbol (in the form package:type/name). + string resource_name = 1; + + // The position in the file at which this symbol is defined. For debug use. + aapt.pb.SourcePosition source = 2; + } + + // The name of the resource (in the form package:type/name). + string resource_name = 1; + + // The configuration for which the resource is defined. + ConfigDescription config = 2; + + // The filesystem path to where the source file originated. + // Mainly used to display helpful error messages. + string source_path = 3; +} diff --git a/booster-aapt2/src/test/kotlin/com/didiglobal/booster/aapt2/Aapt2ParserTest.kt b/booster-aapt2/src/test/kotlin/com/didiglobal/booster/aapt2/Aapt2ParserTest.kt index 1f165737f..7d1977f84 100644 --- a/booster-aapt2/src/test/kotlin/com/didiglobal/booster/aapt2/Aapt2ParserTest.kt +++ b/booster-aapt2/src/test/kotlin/com/didiglobal/booster/aapt2/Aapt2ParserTest.kt @@ -1,12 +1,56 @@ package com.didiglobal.booster.aapt2 +import com.android.ide.common.resources.configuration.FolderConfiguration +import com.android.resources.Density +import com.didiglobal.booster.aapt.Configuration.ScreenType.Companion.DENSITY_ANY +import com.didiglobal.booster.aapt.Configuration.ScreenType.Companion.DENSITY_DEFAULT +import com.didiglobal.booster.aapt.Configuration.ScreenType.Companion.DENSITY_NONE +import com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy import java.io.File import kotlin.test.Test import kotlin.test.assertEquals +import kotlin.test.assertNotNull import kotlin.test.assertTrue class Aapt2ParserTest { + @Test + fun `parse resources generated by 3_1_0`() { + File(javaClass.getResource("3.1.0").file).listFiles { dir, file -> + file.endsWith(".flat") + }.forEach { res -> + javaClass.getResourceAsStream("${res.parentFile.name}/${res.name}").use { input -> + val header = BinaryParser(input).use { parser -> + val entryType = parser.readInt() + val entryLength = parser.readLong() + parser.parse { + ResourcesInternalLegacy.CompiledFileLegacy.parseFrom(parser.readBytes(entryLength.toInt())) + } + } + + assertNotNull(header) + assertEquals(res.name.substringBefore('_').substringBefore('-') + "/" + res.name.substringBefore('.').substringAfter('_'), header.resourceName) + + val config = header.config.data.newInput().use { + BinaryParser(it).use { parser -> + parser.parseConfiguration() + } + } + assertNotNull(config) + + val density = FolderConfiguration.getConfigForFolder(res.name.substringBefore('_')).densityQualifier.let { + when (it.value) { + null -> DENSITY_DEFAULT + Density.ANYDPI -> DENSITY_ANY + Density.NODPI -> DENSITY_NONE + else -> it.value.dpiValue.toShort() + } + } + assertEquals(density, config.screenType.density) + } + } + } + @Test fun `parse xml generated by 3_2_0`() { assertLayoutParsing("3.2.0") @@ -43,7 +87,7 @@ class Aapt2ParserTest { } fun assertLayoutParsing(version: String) { - val xml = File(javaClass.getResource("$version${File.separator}layout_activity_main.xml.flat").file) + val xml = File(javaClass.getResource("$version/layout_activity_main.xml.flat").file) assertTrue(xml.exists()) val container = BinaryParser(xml).use { parser -> diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_in.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_in.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..0f55338dc73a46314d683c7af6f97db43b8aac83 GIT binary patch literal 692 zcmb7BJx{|h5WNse+R~w*4hXTfLnY#VinJ5m_yI7Y%8i{ikl2-zN{ESxKg7S%Uz;%0m54n%r zZeMdHjE=>$Fd<|p6KQyE$CXR7)(OwGp-$(g&+1EQSg2JLFXyQg@g|*N(zkIcsZ!y| zdd11}%6q9=6&qX_YeltMWOO9!X@1dXQJhGy-($T<1i>H}UWNnFACJ4^@jwP5oR8*F#OEW< zG|v7J>OZE*hqKk_QiW{n&^a~1M?2|=uXi!{5U2w~;0}<00-k^u;1zfWT(|3Y;d}6{ z))mi$R9eLB3`FcZ2BfnC6&uO zSuHtvUU4r~Dq@WbW0g_08fleIHv^r{(wNnRu^ih=dF~hUeyH$ftA}DQ8*Nmt|5D?5 zMs06-b}HBo%sHl0Py_gcmBF@NLf!nR+ui~4CO*s7?3~@5yN%s~$wO|R0DZS$sv<8H XwSuXJ+?t)U?CxpV{nOd2?=*e^DC&~| literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_grow_fade_in_from_bottom.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_grow_fade_in_from_bottom.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..8717ea7254b840153c69e4bbe8808c4e150a211d GIT binary patch literal 1248 zcmb7@OK;Oa6on^s^JpmaL3tw(Qd6W#*iK7@(*-J0CB&8rsg;nTi9JpXjwc#V3#{N@ zuw>1iB}*3k0rrSBOZMR$$B{}Eftcv?y>onL?p)tVMF{a7a5V48EE#&T7k2wbzv{*^ zQr#r$#zqgjJ#DQXuI@I2U=sb`&+Bi!XSp)D_d*Y{TxXu!H!@0<7s_y;a?cu><*_!y z{N9!qC#iyU+g>}4f?zwi{~+9swmKcZ)7e%*6!vy{aV&c~(lc25&x5RhfdEO(QLkG)Ia8xyb$KGX<$2KGN(0@; zs4R=CFqgm>V*z#v%t7Y`pXz+KhWQ$PXjw5B$M@#|_Ht;s?hEW?z%?8f;d5P)4?fp5 z0q+&p(Na4PxHmOgY8Pf`%h0NTakPwE0rRCsOO5xHSDkUR)UJTJQlq8D`cG?4`AyE& zz}hTgZ-7Z<<1zLwYGY0g?#J5dfO%=D@&Cg?jh5Q1I+%0TS2F$tg%&IJcZYiZ<(YY_Pr7?xrfYJ^(Mo z3m{HB1TO;rIF3{*I55_?|9W<2Jv-}wh`s@~;gPJ1O30O3Hm2D$OI>?y59h-q*#`Xg zcx=Txr>zqoOH<}SQ*@A^QmiBTOo}`f7BF)PJ22yaJjVl?fq(_$eZo{cR?SWga!Nb z9I_97!FtdE*n^+{ke#2`p5Xlm4_e(C$8nD%fW1Oi&hyYiz&UJ>Fy}m0HqPVw2?6J^ nvahYD^FdnQ5Xx82ajYEo6mSjfV-34AJpAU)|L_dKKhFFcLJ_iO literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_exit.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_exit.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..33bc001ed19edec6bf9e0ab2d7dcd6b2539b685d GIT binary patch literal 820 zcmb7?v2NQi5QeEJu58ySlC(onWK5O-740}dWKS;8rE}XU1q_;^EVh!UkaXZ|d4Rl7 z_70u;5P6aGKiLM_ARThT$Dca#PRFAH#@J6l)_pB1U2-v#)7sRFda9P%?~l7lvRZ%k z`0kQ_b;>&a-Q<-s6_4juq=n*A$Xq$@t*BgPZ0X*g@Jts98V~p&OOs@noSw^JdNLaI zN28%iQaL-DWto_r32qVlM5*zzEWT~6stj41(L7)WY!Wc`YEwMsUp8~-3(y0n-~vcc zf+e^Cx8M%^0>8mM2*ZBd$2h=vbTkoFYK>0EO+~4as!&#VHPw|@wl;pw0mYqdmC=YmDiIxB0p(*@FLQ(-X^g;T84$*d_qG#ihP zbMNah=MEh$g^Sm5u{5~J`p3FgO@*x2`=_Qbbjq{6J(mlsKK)&76nV4Ce-pIPNm#JU z-a>Z41FQw@fGzmx_t^Mp?Iqsd;6bY!qkYul2q0HTN^u^#4=9Fg8*_>yC8IdHpAb+S nDfy@#%1u5}@^t}SJ^4t|Kl?R|2gv?b@s8F literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_shrink_fade_out_from_bottom.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_shrink_fade_out_from_bottom.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..a332771788aeecdf5eed66e860e44f9187d10ff4 GIT binary patch literal 1258 zcmb7@O>fgc5Qf)v)1;x$56Y(yT-qX4B2HQ=oE}h-Dj}{^NUelqZR~Yy>Ug8|rh*&d zPjKYSog+sM`~m&|7cLyRm-lsSsZy^$;{47X5$DUegLlan#|LYCkJ6rBqq&| zgIGo?&=VWPMvsDlwpNc;cH6!`4fyZ<_B+RWQ7BV*uXK_ZI`=w5Bcn`tp$rpMc-F|g zh_x9N54OBG%@ky(=k?;q_qY9rkHYO}tKaYT``gNo!okiUj^$uSdIquoQhew2C_~jh z-D&BrXqCDn?ucKG5Vz`%pueqk$T_e8RsenOfu~>$-h&U|BlrY9gRkHl_zo6v*IjTQ zbb${ZgXiES7y{SrcDm)>$KHcJJKO7a*KydvzP`RE^T_Bl+AW)mRH!m#q*XzhTV=*N zlU5tCv9ZVVP?>Uwq0ZxU7|773C#ik2uVOjL?Eb`vwY9%F9wge7ZjFY_#)%ZoW|dyF zTG0e~Q=N-OBbHgA#QZ!T$CJ{r-KKtc5Xwx6>EUR4*xXF49q)QxfjN(4(W!3igc>hy zd|XYiY*H*N{L$9j+&Dea_E1#H5pox03fC=^70b&-B8_@>_NQnzt)AA@YFS-XM7631 z^L1L7K9;j2ZbERjr&#lli(m$JzVq77?^bbM#RnrR7yYh*O8|Gdl#KfVc@;2*i#p@V ze9#%!27FhHqonOJn5k@(v|YKtwgg)PFqV>j%V4&$QPRfR`PAu0N!ty;`e~!2js2gs zxz%rSz6bVZEB|R{r>D55?2S3OcprOf0_LEkjsKtXyv2NQi5Qa~&Tgys@py&_;S)Cz3MJKKi*;5N-$OAM(fC2_3QZ`djbV(-YRP=rN z2Hm^%IrA&BHcj78&AH^gDSl+oNDw3m^a7qwrzMn>o9`1o%g>r3rL z<=WaT7gj5CYu}^sAB@#B7EE!8V`FKN1|^@iZ1ct_UQm&AN;}Ko(#Ya^!P~UwG7{{ v@o)|g&U*oR0JVA?S$hfiDp=#l8vkpj(>Ss=1Uxv8WAB-l?LU)e`qtw;(r%mM literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_top.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_top.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..c21124cc61b3c8094c372ec9d9559791779a3985 GIT binary patch literal 708 zcmb7>O>WyT5QRrkUCXK$L6HJMkgc-_5YdTaME0ryvd96_MHYcUi$Cbkh+&J#sXp9)}ST{RAB82icff$ayjIl~Hz`)Qizn~MK_ zA9?Y~Yv;wIT{hk}B3n4ADlH0GEVUQG$;Ow~)&A^4l%~?q>|C6eD$hsx`fCFE^ zH}D<&0G-a+csOV&iiR{8e3XrH)~M;)hth?vw3C6m7PM<^C4+Tza`Ifq`Gt0(uuW+e zvsx>&s;|-UJ5y`wcDMUclBg9nGPa>KEuF3JZ*&zTot`d3Xs1GWw62yu+b+loi%V;t zwoO@^qJIA`8%YxEcAH*r-E`Q~IMdfCS)ZSxeLBQ^AN)qVfp)v2NQi5QeG9tz|VsP;^Lwtj-Xiq7&Ds>?r{<nK$PYwkEElz`LTi+++$vVJi_zKFv%D9)3GjRpdH}zPSsTB$t*RecrytCJrx{ZRJoGfBo&NvU~o)w|kY$&9| z-7PyTB wgNJfxP~HoW0@O-LDfSZ3pcpB|=wCZ)O-U&>0CZ)PN18tJvi)cBD8BXh5B*4-!H&}~5QZmPO4HE83L%8hUb}~tHtue>BJBwz4mvbBwnYgLBYYE!yhETiilud<>zl>GPm zc@*!0@j-la+cvmXBxmrf&>HPe69qSw8g>r3W zH)UhA-8HY!^|!V$G#d5$QJU%w^5zxIxhP+>pD~F5g zKJ|Uso1)3&FB@qZUBAtEyze{g8Jy{BlJ3t>$tgX<{1p5|JU||S6X@{|oxf$6Kf%K_ s99%a91Atx*IJ5Q;@KvzJnKkb9Nw0BcZ45ZLj`QH2m*YQ^d-~DiFX2_1kN^Mx literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_enter.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_enter.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..05e203ec4d9c13ea14c0c1c99e585e8d634edcca GIT binary patch literal 700 zcmb7BOHRWu5SZnm`f<+m+bCfw%!T;0)Xa zp4&u1hz%1xzwz^AGI{oh=mT)kIp9T_GroxCR;kRUb+?v3^yhJUXLuhHBuY) zppwFMJ8FqqeL2JH7`u8bZ*XvEKV~C4hC!xi!dC87njjU3@4NRWHOSWh!*2T z9P`DPGmUruo;G;SGonv#GpbLmb?(tI^`Pz6e}MeD&cQoC7q|fKfO{YT4DbTH0q=nC z_k%vx0oK#g883uZshFnDr&49yD$Rt9WF|GYa{jd9f=*6m?tCdVi&PP(%i7*6*nN}c zk{S)3l?kV2vua4KmRO-fstRhiW3BS5b-~$LVr@BP%)q^zo1m%>B87`9A1hzhLs7T; zb1XEsYSRV(@#?kU48rTtA!rZyLNvfm--2#`=YzE*{# zR*UCV#;M(|7gDE_JYj>+LWaz>i2)j z!g8lqTksyQK?lwtf-TwuZ3AD37TEXK(04!j{%#%h4t}0}_&M)exXQztsg2s(kNdD@ b>Y`q&do@!JwGTh%IsB!id1mmd-)Q^>D1npo literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v21_abc_btn_colored_borderless_text_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v21_abc_btn_colored_borderless_text_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..acd8f0350d9c62c6d345d5de02871d6af533bd31 GIT binary patch literal 806 zcma)4O;6)65S`GL79=D-mK8!Akl=*Wn6@C&UI6V0i3?ioIdbd??QRlRwuRub+RNVg ziTo3G#z~|FE==??_KWAuhZ6z7D}il2R;Dmk$V{b~uhOtXoo2>rv;{hsdVKV0DLvYS zEVgIsNm7S?c<+8--V*!Ik@(@zI`PxYD`zSZ-&?5*6iTW&I^nIXTyAXXhGUU0DEn|6 zkHjd~Nis>!F4RPir_AYfU9;*{)livxF*~X?g+mLe+kco!^2BiX=@gGCcU?U$M=nA{2i64w6ssK zwRIUjg_^IG!pcLx-$X&L7kKiyEF8kg$=v(pObACqDy55?gLHGHkjr18{WiGUU3e^E zFmPC)^2Wl(hVyiJDONHoP{W^SK%J6Bo3KZ2hww_qW9Si9h(G?1=Wl)5f1#%}K64wm zI+o9@HfNe~2CYsLK>5Ow^*ML9_8s<}rVdtT9X8hD9Q>z!eaCYhbS1%9kA->9IoP*) U@8ep&?U(a#Us034<=Z*@1H$ON&j0`b literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_borderless_text_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_borderless_text_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..0c801fa17599f30144be5e68ee3db8d96014c3be GIT binary patch literal 874 zcma)4O>Yx15cM_*2|<VZ?GtZ72kO)gc`3wP)dEneH(EbOi$+k$fAC-g^f z>%D)kym8iowijmgcE)c!A09hljNJhw<5Zg3SS|{g7rxEIN~^puR%u&n=W?&FeBKDJ zZ6)fx#W>40p^yGAA2IidSJw%@aN0Wl)vQ`)TAp57p=!;gkSp!Dx1x2Wv5lKdd0C}v21(Wd0cg_+t4h|@hcf&GLU44?L+MW zcaT2x5ZD6$_8*>nPqBW1FADAXg2i)y{3Mi<_Vl1hC|9)M3np;`09Qag^hgso2A*^r u>0Z~{!~9g2UMqF7srt7rrRUU%9X72KuWSp!4Gul< zL)?1jSNID0CL5~-Bqn-!s6$(3be9X4qEh;6YC z5o51Hzwo~XA3Oq%fm6T$7r+&84cq{KfLma5^H|i9qF}>vcTADCP$iZvfgSqns4e0h3X#;A5|GN$UZ)66&EtOxh55(Q3qcoW*DdhRaFpTMG=)MHKsGInwbqCSg>HrdgM4x6Y9hx+l*LMU9e!u z2kRZZf7Ym3pI-Yaido$#o*e*iV3L^hg?QEEk!ax2t(sot7H#^ICXi zE1|b$qcrWpue|SFVg4r`e2n;8r>x`eOxZZo@Z{8rTq`bxES2NlipCYj*6v`;i%Ki_ z2#vfTxQ2vQHbnVaEshl@WFCCxmJGiq1F)fWusHpW5aeG zv4`wc#Mtd180$A-4gUn7{Sr6_J^`PBufR9pJMaVe1?=uV6HRVSmCuCtwiEW!G~OEh zLi%cnN#@r^y$(}ndwb9Gs#XoZya=HerTBXt-94dRzuz9P!C=)KOgj>`zh8R4m~rkf z<65|66_7|%bFnyUrx%jqxbmuI!=Y1JNpCFM+;kp_=SY@kXcYFU5t+t5j=g=a@ZA^D z5YvQ3ci4TnyTET)41WXI0RQ+Op3W$K8&5Eb@z`tubWS$FnqsI98P)0mbcM+8ktePX zkP%0oxSPN&fH?BRjn=r{O7D74(n5dw4$vvN)Pmomwa}OL)PsDex1JaHFc+$c92Twm I2R_W}4|4_B3jhEB literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_btn_checkable.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_btn_checkable.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..58a0202c629067dd0b75ec17d7f546907f05ff00 GIT binary patch literal 964 zcmZ`&!H&}~5OuaGErm+3prx>T~BXjmtyY_sBo_!Vy4 z`2;=zPW%kKNn!ylO!YeBH};$HB#9VfKLE1Pfvin!xyat=MF;oqdKm2*dh)(FhC%oiLc@uJE}qPP4r=(N$&*OraP&ZCL;38R;=)>YF!i(_x!Y258&G{n?k(JeNC zyAAw=#qa}Q2mHf7c*>eT;`#tRKH|s|cLTWA zapZelZ=3p5_bKvsfVS%Iy4@?$=ur*40!^SnF#-tper{%oH3{#3OofUymqO08XUGJZ9`$Ew81@npwNTp0iIC z#vb?*(LVESzHK%-FzgUOy6ITW$gY=3{| z++xhR#dgkx?H3dK(#*M7Tx1*N7uRZ$({t8rS{-ZYOv*YP>rli*TvyX>=M3cJ1*-FX zon#Mm-4Bgi+LiGIPK5f~+xhz30z|Fm(xt{WVegwb2}EUw^^oWs{vha>8o(C#7b`rC z-9`Tqem-c<89KWFjZ=^&&8Z?&kd|*_ENc>12ets>C=+)dxKnVHt3_>Pee!*S@rOX} z`p=iND7*)*Lgqo4xHhm;aFo4AS<8FS)85o$dxJ+=%X>V&g-2_HM_J2zbZ_C&+2B#u z@*ed4x#?cr+u%{wA`klR(OoTj(AiS>Ghe+|{(Q^pJn!#4Y0~|!6nD<^{(blh0lY9< literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_edittext.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_edittext.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..5db55395d87dfa791fb5f9be914f52e6971bab33 GIT binary patch literal 980 zcmZuw!EO^V5cM_*34ut^qBc;DoGLY@Nvm#hsVeRWA#vdnytbDtc-N6_s&ebEaO2J= z@B>Kv2!8-?Hfsc%&g$*Vycy4oXOo06_5&ap9!P7f<06yGP*h>5RS|-|4!etCnr?Eo z-UnOE|HPBe{EgSn^AC1ad0X+xdnc69Tnf3;o(Cr?pIcY@<0;PzqoF4!{3KUtI!jN_ z`ZWnv-P;gSJT<{$dl{R{My-!(qRKecEX;r(}b~6oDlY_ zXhS~+&Vkp!TR;H@2*4NMEAS2Y4*Uf6_b)`HoGsKs6<%aUt4p(933hmRAwqDQ`Ciy6 zIBPCtD6T}%ijBwH(U(|&Fs#=Tb%B1rDGa8*By=u}*X-zM6~cPKxySZO;U`VvMB0*z z^~ZWI@o=|W1YNShz-yyru#SyJK46HYuIh3B`ni>#JZ6jWHP%Z$yGaJv9wd3d#!wG| z-;geJAJ_r^>>r+Dci}(66NPf#!Px~UPC_*)rvptwwW5t!Z4%c5=ra;Wnz$iwr{PF< zn%Ua*W8XdGY`Wgw_qHDQT0N-m{T3Jdw(C=0`n%8u+I{hpt0mrze7YOySg(C9@^SZ6 OlXjdm_l|u0CVv2MTh~nh literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_seek_thumb.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_seek_thumb.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..6ee09f7d85af1ed2d78cf30f85ef7e8729d6b81e GIT binary patch literal 800 zcmZuv!EV$r5Oun{?6OiNXptxsapF{|G2NwVc7=p0ICFy|i(@+^)QMNNsgQc%&W$^N z#i#V%zVXHa+D`N`lQ-j;=TS1o*dKsw`b1h|9T%lsg{BKDul3m~)Zf~2XE`m3P1UXU z<6F%C#M2A@!E5LFS6g@9c0B*$gff~-A#3e~@v1QzK0o3|l`4vP@#;j* z)oihNxme6~p=5bnR+T7^1$Q_b1s|Tz=68wCzqh8?+K3sj38Oe;&)6lXY0{W6_AbTn z&w;VWUhW(Nm#2*CwQSktS{kV9k*uPuzWA)N|wqy|$bEX)gVEyTE4Z-?`L_?5-K9-_3K0PdlKV Mbl0q(pZK(!YwB9DJ^%m! literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_spinner.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_spinner.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..0ded0754b37f37539d4c762090106f23fcf5a91d GIT binary patch literal 980 zcmZuw!EVz)5M4J334ut^q7W!YPL=AVNvk@!R26rGkhpLO>)kam*j{UQse0sBdgIO~ zaOc90@CWe5@gi_K*7MA~nVp#(ClO=p2S75ON>doiMJm@mul(B8c~xnI&B^QXf~BI6^}nyp$g5VkQ?o|x1w^Hv86kn^DHkkbbP{3GLIO1h+WbOnZDaU+hdAUzY`AzxKAX^w_AeBle7)MvP6uh_GJ= z8~O=w4!i;00SZ7F=7AgFEAS2Y4*UeB(+g24YjU+xxf5xj)n!p{1Uo#u5Z>GEfG{tr*FyYL_32|_vV;p_txC!v~@(}O0VTERxFF^L-h^cjgGP23o`({iMH z?QGrpq3;25wq0-Uds~ltogUQpeuoQvyY;Cr{aAb|+IaX=MaH`!Kfa;Xp!2gC`%4JkNYZ?j}~9ocT_1&QC_ z#+^^#6Zio>g&Vxttf8c3qPH`C9{Y`F5-`So0A&54)TK6D%;n4#wVT-wg_Db!GeR!6 zr~Nct=Uw>Ty}flk>xQo{RaR;09-#lJ`!>$>n9oXI1%gYh6yrdW_(zw7$`$B1pIO>>AdCmLuHTtbJ3 z^e`1sG>neV_)r{;MhBzOP)33$CrO&J4XLD_s(wZb26w=*jX((CzAl78P1kt#Y;Ca}N-F zEvH?6$K7sxPPdwS{LbY#+{;@BYKAY4=23rgAf)1O+UNUy&ij46E~l$2X!yO~_u&Kl C>BmC= literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_light.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..357ec0d00097bd552e5eae70cc5f596b37c032c9 GIT binary patch literal 834 zcmbVK!A|2a5OruvyOma=z+qLfQV)BoL=1EhX-_>PPDot1M2_P$S(3Q2z0w}{#*G_? z{mcCW_DvGAzzrsPneli$&okqIG4?sY4>G=xy3~e?M8=7bcN?RB)@dw-%vGEhwTrDP zm2}#~m2k=wqKwO8le_)ZIEvaF@BU981Ab$bvHXY5YpZJ>Zj4Av#T#DBoe{Oow5jaz z8PAGRL5HXOG)tps5q-aqi}Y-{JXtOmDoSN?o@ALw&ILEh@(ys}LU0Zt_`YS-|OW+!~1@3_d;14jJu0@?1U8Jk_T1{bFVN~tdY_@KlFZ%wv z$80$4jfgc5M9>^34utcssy4a7pN*#s<&;ZaB`^-CvLqUaSLO6-56}IwY#A91e`eX zd-xCh4Y+aV25%g%1U~RF(aX%fyq&i@*+2;K1>l(6Pj#t{q$FJ>u3oh(m93n*bgPP- zG6j{}%Sjw>^#A>R_kAFrS!Jwzsn@mDwTvzdWu=lSrE6uSGgRALo5~)Z$h;^Oa&#<@ z^DK_%@xw>yJUdw|juwl#inBC1P4b+QQ<4UI|KaS>WmSsLTbpx-V%*k&xF?b5HWUj>C-k$|e>o*vn62l?24M(HSO@tve4fu8t$T^kJ?eDLhYnD=4Ot>N& zb@C|Hm89ks&+d?3J1q_l{;rhXY%nOCs>FC~RjE>^jhIfY!y8$ty1lM=7mP7sL~u*o zLD~j>AO^_Sfj&P3#riGiA0T@@@412X4n96u^P=T8Jy|np*E=HYMBM9_x-HrF8i2o; zy+Y2+-2_G*$2siI%#PffgZr~DKmOZ2p3la;IJ^fxGxp%@`}OyEzJJ%C^Y^@;O`rF( F{0ZTp<)Huo literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_dark.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..e5adca5f376c391fb41b10fa8fd4ceff0ec650f3 GIT binary patch literal 938 zcmb7?!EV$r5Qd#@!Y&JypsEl;NR<%MN|lIdw-won0|$;=IY&!^SaSKuZ&g4)|_gY zcfu>%h&GqPo@^aWvurizzyF_oiTFpStmB_dt)0<4J+?x&ikG6SmE+zD?XYv_UhVU$ zX%%w1$M-6kW%KOdO*xnQi^c23Vy-e-7KcSuiQ-Uji@E>kKmFXb>|$f(eZ(gHIAYJ) z+laA;;Yb*N2xH_I;62db44i|n;2Zc3et=7G1$K7ct*rd5gH$1#PHEmZTC~er{MlnR zo87Kh;&@KU{I1F*=~Xr!3oWf_BukQhd$zki ztBy@3PPMA^#`0U1NIo{A^3%ek?(*l z=+AHH^p5Ix@e4sU9uGT!-cyV*rW#s@g4P-Vx<1SwQ6?<`6r@om?Jl?nNTW>JbVC~r vemD0dFLeKpz}m?lFTpyo5bA*9v;*741Vki3U$W4?X-1FBaOq literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_dark.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..ee46ebb36bdf3c99921553a03d1c21a2db0e3991 GIT binary patch literal 842 zcmb7C%TD7k6m@7zJ4i^p76{F9!~$tz+JZ>C>Ibl8#UgTIr_JERmF-GpH-9kyz>fX= z-*9dc^O9!4jgIg2Pi5&urd4Wc{g_t5 zD_aVkN?{+4=6gxfW`B7+`xEgyr>x_@%&K;#=JC=BsTI#fzEX~RD{5C5Te+VTUX)tF z$74P&WRgsitDAf(C$rh*Y&KPi%(LsPC`5KGxJB-lJBhcIW>-6H7d#- zG>3Q*V)zMg4=A7lHoz0`4EzN+U$j4x*>bt^DVkABYc{nEn#zxQvh(x*W_%Ey4TqwZ z)|8SB1`P*%A+%HM;$r3fdd|6nij{D2cQDRP#l`xe(I+JL`=wVE8;zXOD)+{+{e9RxSI_(WHKfxD_&fH>h1kgU&E@C>jP E7pwHm+5i9m literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_light.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..3062a7b4861993d1938e4e72e8976ec0e6fe86a7 GIT binary patch literal 850 zcmb7CO;6k~5Ov6IH$_5ffkTCQtb~Nrc-bu?%ZVS*D@PPLv9p`jiC4A}?2VtmkKo3= zf3LhrVrW<5z(mh8{+M~0XGe^&IKlwios~u#%SBPP_AV zuWT)JuIuH>?_ca@S)cyy@#rDqS58^Sf0LZ+IdBau0R!9ukH8b~2bfMT`+q4c36`TDwY27@l|fgzr71f;elz8N_1R=1 zT4_x!*?8Qsz*j;$#ZFFE-mfn>caX9XE*%c0rD?cW|L#Nz$)i#2Rl}0RDXmIxEZf_2 z9v7XfmTq36kNYTrBCzNa`vUhF_zNSs#=s8Nzx}gLdlSqL@dcwZKQY+{XrJr@VmdR( z-qnhS1n_ks)hF&z?_=`u@E_Z?h=X3_0njtNatsgsg@fkAK|a*m&I{|IU#dxcMFW3W H4>~*p-G|TB literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_dark.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..6147a4e933b6bb26505cb47462e4954c312ee6e8 GIT binary patch literal 818 zcmb7CJx{|h5Oruv3lb7v144`}Ac%p2NSXKntPD(%V>>j|Nh;e&upxd48#{lBp8@aE zSU|-97ros1e0R@&NyHd?2gsIpWo>H9MJCg!ElOb@Q?DO5y#7V)Taxxqj%V#i6gedx)Ebb;YNrrLkxca+yD}o z01kKoUV%4YZ|`!({zEpUb8&CxTC;v%RLa(cV!d9&0G|uvG{%g* zpI&h8AY3V2+!n^NF1eUa8c9NPw_A8!vcbSAh_x$+S_O+$EhdcE~wtI)v=o3qicFG58_i4j=#- zU;}soyaL_;{r;jN{~=o}61I`M@{z&d*Wy&ONQ!tzY|?JCJXS>-lUA$b0G}|a1(2?c zSp%e9{1X?K7q#?*4)722!Q)&dk|wyEqOW1g&atXd@g#NkKD~Vhu*Ev qu{#Sn@b^0gR19AnI13HuAqN_ApttjO`)uCc7iZ$VoSNU}tqz|TUBxs2 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_search_url_text.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_search_url_text.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..b2933ff11c0d79bffe4db61be8a63ac41ef76394 GIT binary patch literal 936 zcmb7D!A{&T5S_5u?sgHVg&tbO1?UN>F|b8sIdKGuYtNC_ak|?k@ya$Ty_Fy0);ouO zK!1TRY2R$(9-=N16TLipGM+axRw5$$4X};gDN`CNjC%%|j?My9_&sOH87D}p_cEVd(yTaJYeK--tywu?2SR5C5nvT!!gj{@GjwT$6`*_9<@H^URy^uSJ2o-Orx+`gEd)$nKfPl|I_H^Vh#QQxU;SX*UQHFxDPhgU=B5R Q&jo*Xc2V17@P}Fd1uT)!v>rf*+#&PLqDar-ubD1 zMEfQi3%XLJcA}RVk7wrDFG(0qV_1b6|tYe#-KH%FHy6tFjkC!Bc zBCzBG+lKoH{DP5OBVY~ry?1%q8)N+$Pc*8z#9|AeeX@1LRMX4e%^DyFnTc;ep5_zx xu+Nbn^ygTeMI7`Oegc*ZZyYp>jOGys8F7%0^H%#}KHisR(!G+NKjxzjzX6|F#*Y91 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_light.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..1cb8818c9a5917ec8151e10a998fe07195ab99a2 GIT binary patch literal 826 zcmb7C%}T^D5T3fbZe0-kJBWA`gvD*tRqT550la!HX_C6tw9zDj-n{rK-n{!#K7-D5 z8pf2MX43~GX0i8==T9Ch4e8S2>^+E^ID%b>BY>4~C5$gZjGiGfM2WaZ zJRx2YZ-{rq!NJ9Xz9XGf1%J?831Kq%rMz@J*GhIIhvAUd(wb7jV9@ZOFSvFJ#^bs7 zcjt^b)UV<$X$uo!D#q__8)ZUszh8P)K^!}!mGH*G>ZyfAV#NBUmfjN5Ota?yDTi_vs!46NR=uzrd_ILS4dUG6>&g9LR=OncG$E@9N8{HJ@I4s zLtGGdegZ!L-ehA@1qsBg-p=@WJa0Tn0>;=^fNZ>z=~5dm(roF9+AUL8FSC`(&P7_P zyNhv>tP}tH|IsCXZI!Y7Os{IIYaYKhLY9hW0`)C-M$|Ufrn38oJTFQGA0P08TqemZ zd3v197TnVF$+<$!9cVHhQqEf3q#Q~;M-fn=c2TV?e4CeYZjbajI$Cp z?$YB-S6npbG^l-X;WXRZ`*$YyVo_8$Rk6{?s#0Z68#b9(ho;wW1$y^uRkzn=QRK{p z!aP0&BTO3>+-6g_JHSs^1b-dq^8-+nzk&S6@IIf;+`#%ie%>hO9TxWh+9w+$rkw6k zx3#XsZAiM;fDHgzA$j5^z_8=Uhh5M8`lR~;`_#!=^|vn7BJ&z}9a;_Y#N7mLbsTxG n(XT}s^p!mT`WjS=%xhe|hp*Q^=lT9TgYJ%=_w(=b{(1cZU5@Tx literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_default.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_default.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..bb6fcba52687ce3862196cfd4cd94e7b90664040 GIT binary patch literal 1536 zcmbVM!EVz)5M9>^34t`F&=4pG4xmbvnxzd(drM>*p>(3>*`1x8H=Y^CV~l+RNE+=>B}#KK4o7yH+EFB9F;DFF zun`2g%i7O}mcKPp8-A`PsZlBKo@o&!l7}LkNW-lbsfm@InS&!9PZJ5-XR6a>BC z`El5bjs}BggF#OQQ8@08<5-OQf@|EpI@|8YS;E-kYM!dk>Wj6<9{{Jk+5o2ECSSOMPTOpBFkW3ygzg-5+m8( z-o)B$$hkpbXTo#~_im_WTx1tivI8-7rf zavbezaNJ(OQI6#}?q7q0dVf`|%CQ^=&DXlMYOdfY$0CjZzVts+=Ahn^xSlW1mFsW$ Up0k(d+bd?y+1>Y0w!81=4`pFTDF6Tf literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_edittext.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_edittext.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..2fc5743bd6974cfd8e470aa5566c0557b936a1d6 GIT binary patch literal 1080 zcmb7D&2AGh5cYNx5&{9rPa7ylq)L^#ZX2p@a;Ylr9FUMIF2QSi$+q70%63r2iHG5F zxNzgnBk%z5d9y}ns|qpEm-+E{zL{|n5kkHKUPjwoD{Uyt_`(&HTS!qjC$HSY`6x}- zIsg6rY(?K%X)L|a%gXACCLatFN>a}FQd;T^t8A`KY4?w4UMLBj9MZ#Fr0Fz$dBUgS zXf`{T&89LHJUh-hX0NCfjhJFg10B?YI zfB-H41AGF$0N;S`zz^Uj5TnM{)+wum(S?|c!m>1!;3Dbnw=rodp(7AA4b>KgH8TyYRHnLup_Aj@zEQ^#kt{V{c#?!M_7fnR-Idl@$3-Dmp>D&TF&x( zt@`ixy^s8j*Us}ZTeaS{JbUkiGMY;vEA4r3qV=V9jXyZzWoJK7l z#l~aNt0t2n1xr)Wb>MqFd?}3AY;Ug$p<8n9F{eiOY>;QtHe7V)G=T$g5iHx^|F@FI zVxv(Vbi<}ouZ@<$I<~#-13Fvjw!Z_e$37=hObwRYV0Ykd0>5A>{AK(I`~=v7{vmwS z)0r98xA8SSH@PhHAIc3F*>Z}VK_H}9GZ^&=l=v&qL<{sy+)%3}Zk literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_spinner.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_spinner.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..711c04d0c12acc95644217029133505f33c29c5b GIT binary patch literal 1080 zcmb7D&2AGh5cYNx5&{9rPZTIeq)L^#rVUj$xl|Q*4oFB9m*Dk!$rfk5vfT=C;$e6i zZrr%@2s{9Mvsojw1tBK-GCv;AH#1Hm#@J_oWHgaR8_Pu|m%gn0($!^EDSLM@O4Cis ze}6yn{FPJI@pH4PoT+&7){0y!E`?kv$GsJmD~w&c{X<@qT0tiV{GiCwbe29lmb3hD zK7Tr&&s3Vr>?kV=ksS$care*NChympv9oy7YRra>9kItuM~vML6Tm(THuOW_7y=)u*>LETR?-{G#$)Hv^ioyLc)$F@$P0&A!g&os^4Z5| zh^<4SJ8TNI4g7%gpsxencpo9k-$MQq=#Wo$Zot2fPY}v^1Lqz<=OiQ8l+!+WQ|mXo zF^TsYumylCCQY%Mz@Uwhj@zEQ^#d<;vSGc-`!|kphlBENbz*_HTc3F8zxM#>^5W;$ dNZ=)(W+NTyb?=3EcgImXcZi2K>Bhqw{sfpY?mYki literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_switch_track.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_switch_track.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..065e502c9946567a071ac7c2a2fcd89c15732588 GIT binary patch literal 1096 zcmb7C%Z}496m_O4Erl|}OG1>{A&oR*;^~wTX*VN;!~(HGVu#c^jx)(LjVs&bvExJd zA$Ba-@djsRm&j7_>Bz36`7m1v^qH=Tlrf@Q!J0s-s z#%vJB+q(aL-hIbkT4gN1(0OHb#iMg0(o%6LWUefSKxH#+R`%$GXGN)yqcI<6X&g`D zhmYhWJ(*6Ar_+gwQ<p4yMrS|yC%SS*mye|@UJIvE*6oUNoeS3MHBHb}tk>Y{<05CGw2B=ZUoLkIs zC2Z7`M^dl2STAWpM`GhNJ3Rb%CHG=sSU9y}{k~PDl1>{o99jowbI8ag4EnvQL{efO zhR$phX7E1fW73FVkKIAK4tz&+kq1DVr+Hrnc2IvG+1JxIbPu=i^FcKWY;FSdp5hAD zRMT8@-75q~0UtF@x;_S}PJ7M}O_)aL!Y{s5C^xK literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_dark.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..5776e1f5e8f9b416a7126c63d79b2f0c11225081 GIT binary patch literal 808 zcmb7C%TB{E5Zus~79=EI2ZT6q;DC^bffkW+>IZN|;#N7aLjrjq+XzmGKjFrmAL3VF zHjM>ENQjLlyWXsKyyFB!^bW8s?k7?fUt06wQkN z{oZ~OmsT4qZtASEbtS@UBUPbAB9ly8;f$pb)=H`G)_|)pGsk{_pft@k7YqLT9_TWLxUy`XotE1(UPA9@x;gQhrksO12=#H zUVvBN4LCTM{6eg9E8{||dF5z-|F_}_^FrG>k*VL8l`?g%sMl)<;8R&x4aUs5yK^Bd zBrBy2+rluZOCj%W8!`OmZZ~(jq`|=ILMN^^w6bCyu5+rZ=7bo5o`V6@fCa0x1-Ax# zz*wptuz>vDw>*FAW4(#T8`oT5u@3NewnfBT(@Ng->a-ic*M!`kxw|vpVc%)b@v|3m o@SnE<%ox5naBYooKW@xx=3wvp{oLpCeqQd$a|JEG&wCv{0fh0tX#fBK literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_light.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..d5abad155a2458995d1c6dd90defc8e7ca8d9c3f GIT binary patch literal 808 zcmb7CO;6iE5FL}GNs%J)(L+^nsniP~yo3bR;lvN%%7sg`_O7wZ+KzU&f*br5Zru4p z{FC;L<5k-z66#pbGrOLhH}lpJ5xoIy+h4QBG*-C#(r3lO7eA|XQAw|DDb2!^w}s!k z*iMpF_J6;>Jc?_ltrI_*qIOL!;#(_~(IS&sp`Gwn)-G>sGYA+19G(9*v0Ohz_V95q%7!AifMSd<@(G z3NU~No`DzO6*xY=+`y|!CsU)=U)MI)#Ii+1QU z+%E77#!?M{E$n~$YoEUjvHpZ780TDJu?O&XwhxFor<1&`)$0y`uMN3AbN5%i$G+F~ sv0jTg_{ZA^Rt$eQaBZz|Jub{^=3pP{t)C0~VP3Aub44A0*bh4V1|_+{SO5S3 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..3f785bb36e22dda98a5d1a3216ad7fbe92b24b41 GIT binary patch literal 538 zcmZQ%U|{$R#2~<>no^Wlo|u%As-KvY9G{pJU!0Lxlp0@{YEiL%R(?iaaekh@UV2et3ed*n#N>?BV*Qe$#Ju9P z{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$Uj)<( zbG>dxNnF(HB=vnF&_M7m&y6>ERLtq$NO@1LP;Ky066` zPF{h34v@wG3P6!%S{qjbsgk^ckYolHCVr5Z0T81DXxOm<#o2*a5Qv3YG+>cqg~^nT o3m?i%ro33y*y`A@q{x|pVYM04gZ8aY_&{cRy85}Sb4q9e0FygxTmS$7 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..245caef7606bf4dbb12f31e2a933cfe2296ce358 GIT binary patch literal 489 zcmZQ%U|{$N#2~<>no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YU?610 zWnlr)0VO}cc`R@ic7{|pqkd>{YEiL%R(?iaaekh@UV2et3ed*nM4(;8`Xxn)dBth@ zMY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F2&fn4 zdfkkaf=t~q6TH6AE67V{cno!AXMmqOFP9V-kjv}o;SvO-4M3O!_I8wj{PJin3Evv!^86EWow-(3Z~-MoJc# z9eI*8rTZkq(N$Hql59g)KT;5`cxm^`(SDcsjFvMIrSBIWh~Azg7PR5zuDh{YS;NYA zue%-4$Nq@_no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YXewmI zWnlr)0VO}cc`R@ic7{|pqkd>{YEiL%R(?iaaekh@UV2et3ed*nM4(;8`Xxn)dBth@ zMY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F2&fn4 zdfkkaf=t~q6TH6AE67V{n8FBgW@mt(J1>_M7m&y6>ERLtqzyor1LU8-+=e_142;p9 zE{-7;jBlse<{fenXtm$7u~AFCfhnj+`ab)S!i)?B&Eg)9hw3uSN1JUU&98B}XGH3T z)UB_-f9A56^__s_esg&=|C!xcD#!U_@Qy%$gTPD<;YINmw`0Lxai6N-Ip<-HaU>hUX`5(qpx7si%Xk@3o39Ng}%#wOo zKw`6VGLYdd&)l?~QFg{D`Ns}S@NE{DQqJaQ+0@2d*2CaDU$;v^L!Kwq``;aA zzDnH|2Y2s^ZD<7bFKa|Uj9@2 V|Gnn#SYT)~c)I$ztaD0e0swC5?d$*m literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..9b75f7999d623408890f22290f4dbfa740878be4 GIT binary patch literal 726 zcmZQ%U|{$N#2~<>no^Wlo|u%As-KvY9G_H@7hjZ^l9?Z0k{_R+7oS^FloM}YU?610 zWnlr)0VO}cc`R@ic7{|pqkd>{YEiL%R(?iaaekh@UOLbYppD6i$r-7|`Xxn)dBth@ zMY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F2&fn4 zdfkkaf=t~q6TH6AE67V{xWEW;W@mt(J1>_M7m&y6>ERLtqzyor1LU8-+=e_142;t~ zT^vIy7~fpl@0A=Va`a*T{9?yk9>)JRPWN2bTw3+uG>gcaWc`RA5|6xBENBwg;4v{v zq~x2)_6eEiRwU;9dHd=>()!)k?$-TyxL@df+R2tx!VFH!^-eEa!4SsFvxaF!mwpf{ z+p%Tq?#!OOyF4{3ry*c}7*DiX+NJ!J^Z%I|Z#<526kpfYv&#xJm|Exg z{90hiDy5c1uSC{ZzYh%-`R{Qw@qe!R-%lURFV3Fx<&<;CEtYL(my}%F@paK7A1~wE z9KKp=LAy+I*z_fKO}*4o)^^~+;wj%QW?oE;_v&wZ%Ojes85^B_S}>wmcWI%ubNk9E zeSsI3J&N$UT=wk1(kW&3DI2txdb?P^YyOhc(qzV}eEyR2>T3rM#6;b2Sm2v**lCt@ z&HjU*w4?s{|GQ`W_i~-A2m`}`0G7A+qq@pJTk||_KNff}@p<9e7Un6OOZqpnwu}3@ lOYOI~|CRYsyvF|TOs*IIS8C0QuK~ssgQu&X%Q~loCIB1M8@d1h literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..495e69a0ca65afb7c54bdd19f39749de9fe123ee GIT binary patch literal 825 zcmZQ%U|{$N#2~<>no^Wlo|u%As-KvY9G_H@7hjZ^l9?Z0k{_R+7oS^FloM}YXewmI zWnlr)0VO}cc`R@ic7{|pqkd>{YEiL%R(?iaaekh@UOLbYppD6i$r-7|`Xxn)dBth@ zMY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F2&fn4 zdfkkaf=t~q6TH6AE67V{FlK@{vopZYotI0B3&`X3^l%9R(gq;R0rJmZZbKdh2F72W zE{-7;jBl>&_1YXMa`fZ<&l6WDu*e3)>0Elk^-PWBbjV_j3dL=Ldzx-^B)v@S_@2O} zXyA3gNr1cd;)|Jw*B#RK`E%&h*Y)R;Hh#05-G01(U#Pv7+K*4Kyw=XJxV~z=RPZW> zGg+x=j3Hk0L+%87hu@#MaQ2xCGxx2VR&o2e*x^a@CO&bUr7*wei_XW3siIyvJLhTC z7tF4lAyJgez4VcCyiaPp(Kj8*7m-&#hA&GFJ@4=-N9Sg^>%Y5S)hFGb#Qi_xSMb?4 zaUCs_zxQceoSr0k{Mq4^rbcIdl!LVm-$yL@5?HlZE2n$+P3M(dYNCBY)k>MxF_%LV zZhB0T5j0KRkvqH0X!b3QL+cAfZccn!uzZ!1|0JF*9ZGeUJ)wJ2Cb75QRAkGRblLZP znz=|sfu`p*!QJ1suhx*SKGlC-{0^3u~TwN#K-kd46~T^<(9r# zx8O+6=MTFt-w#+U|1kE7mW)TBg{K8yz{-u%aq?fkh|YDZ;N{(Ncki!2m4`bns|960 zoV#d7n0>m&&g+iM(vvoRnN?uk5psNQN(SH2|NI#{C*Fy25w@PB{?hc}JAsw1+b2n{ z&6oTT|NE;iFg9BZF6_@%*>G1xrKXX=jb$3oIT0JF4O|Ij2i7@0XgG0XA^!%}25|>> khW$+U9T^!#wU#bs>mdKI;Vst0D!JTDgXcg literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..614567be44b8adc7bfc88eff12e350edf9022812 GIT binary patch literal 1366 zcmZQ%U|{$O#2~<>ky4aco|u%As-KvY9G_H@7hhbSS(2O)Uy>i6pBJB7Qj`;K00f3Y zR$LYq5KU0>1DwYKXJKbZO<>dyElw>e*3Zh%$Scmz)7MKcN=yM-nw*%Nky@-@Qk0li zoR(jdTdZrOpO%@E3Z(T6^$pWfEG&#IOw5ywQ;aMv4J<8W%}6Q8)Gae175F5v0vX8oZlAOfP$(s@AS9WAg@scA$T0w7 zAV5~e>Hro36HGu-9f(1W00DG9L=-|YB6C3O-+CIe7#Nu2JzX3_JdQt|YM&$QDRON8 z%*f+q3Mo?yCRm6?D80}Vy2$ynWr6o(HrbF1!58Nhv}eQwIx@0eiY?F05Oi{J68ST= zXriAW7YnPNNZW}yZ&`HS@0&Z*ePiK<$y+yf$@(PO zaLeE8;`0(C4%V&sOSGa%Q=3p{uStD3yK84ua`TgUN4mFap<}Kzt_F{|NZ$b z-hZ^>(WZBfZ|7)P9Y|VMcDCBJZAY%u`_Q+ylGrq?ina0%@pacMsyeDIJXzIymIQ#)@4Po_~y`HC&k?|0hCXZ141*uGmUApEvzYjfv~ z=t$dr>?MAT=hgO1ZRp(fVAf=&Z(;L%TMA{*y>Mj>trsw0HEi(laXj#qJwQCP{qx^y zrW-l|H45$j^TZC_=wRl#bN-T5;dQBZ>ohO_`kNym-}kmXUbNuVBny_!(>=>2Zgn^> z*K7TlE0?Y~!E^n-f@L?IzCDT7UJ_?jw(CklOWvg0SwA0omNs3S?8YF#Q~KzkXTfCE z{i|h9abHZnb@s~9fPdA;qE8%WU|as{{lw;A#l^YR45s(&H<@l@)ttQOy`A3Vi5|Xx zSLgKJbvnn8G3B?r*(t^3_EWEJ|C_jWqwf;dY14TY{JJUK{B-Gri*?R?OZe;O-2cD$ z?M>UDx>{qq+Y#(L5p8a)IYVOHjyGkcr zy;ijM*NbNdN`9RYyUs}ylj7ddcN-e->`u#c1FbjwD;J1GtamY(YpeEX kOHN1bR37eQ^$9i1RtH%YAK5aK2bASJUHx3vIVCg!03YHOKL7v# literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..df316779c106c60faf023a1db03b18c1fbe5543a GIT binary patch literal 1513 zcmZQ%U|{$O#2~<>ky4aco|u%As-KvY9G_H@7hhbSS(2O)Uy>i6pBJB7Qj`;KU|?Wq zBxJ>9VFA$uB|pG($c`v(m2&3B{|77DJ?BA$uv>F z2&fn40o{z0f=t~q6G9%*v(zidOJ}$Zb#!NdpF1y?6c^Ctyq+E|K|op)ggHR+OqnNY zfs{mEfqxDgkb#UHo1z^51I3c2SEvFhfxH5rBvv2;8Q<-bHUbKz!DswAXbLWof4&0tE4ci+&vwyiE=C$Cf z=9g&!lLMF()l}N$9_>1+CwgS-SA3yL9f&nb(d*TQ=#OzO?W{<%af~Gx_g- zzqiMn`HwuC^@FZg)06J6o4~{KhDl!ZfEjaxBh$4r+r?P2*zXBHx4s+~X7>Nosm$}` z2ck|U>OT81Ww+4XZna7A{po7e_a?2Md|WGQ@t@yX~FQY&!NXs5!-K zreDUe#?f4#DOj#zvfKT}&sQIwGWPZ5ym@}jvQwM&`44}bD?8Vwt;fzr-|eK#f_KS5 zCps?npI2U`T)vIlV#2{WHSIZ@xqtJW-Z9I6UZWFBaQI2Rf|hdiJB3c}Qmd^V_T8WB zP_eLVN>-PUjEBDw`?6vcp5jZBL)~~R4>jz2e0TfZeUC%k&V0;en`m)l*Sp7^&H}gB z9Q@eO7`&)@>J$cksSqIsxs~rGPGq|Oa_(2=!>4B7RX#oY>y~R1Dw)jW%KPtB#H1dX z;L2^dKZD2R_;nFS3FG}7fm?d7K33|y9(PaT#I3&7?Vk@l`oMm}g+aD|>DR`ZcVf(? zD<*X)mUCCiZ|Kc!F5-H0>g=cDdoy1jasByo>TCf^)?2MHmy>sF{`5kM{U%?>w8s~> zT5BgqTs|9Q@hezzPK{BzrcHt{-`1t-#TGM9E!aPgQSS7dF0U0nv3H}&WR2JZGGfxR zD_?181#+%h7kETmljr39)Aj#rp51-2p;O}aa&1A$>nH#JJo?-`tnH8!BUjn`SJORs z`yRH`mwjzqdZH~bW7hkR7g_>Sbl2K_IREI#1BsxF9f~*CRd}hew`tpYovV9Nf63Y@ zB_dg1hQN`Cmq+)$KlfK*YPjAWmkTQG-#hb* zo;JPyGP8!!b;^Q-TlQ?0F%>U-RoJUPJ4xRN=ND;WEk8Qprd}(f*9r&o<*i#YE;9+q z*;M@9B_6Zz5h!O j$4fFZUtJLTTmSfeb^V(MK2_W;0F?-yu6{1-oD!Ml~R;go|u%As-KvY9G{$+6rYrsoSj~jUz(Q^Uy@%CpIcIt6Q7t< zkdY{4#bsdu(FP?yzl$%)Assm1yw zMTvREY57ID#kxlNX_+~xKw8gG-!Lu3!ot|X#5~zJ#mLgqz|zt<)gmQ1$uub~EiuV7 zQNIYN7v=@sjFf^*-7*uxUeUAEE67V{cm#E9XMmqOFP9V-kjv}o;SvO-RX~^nS&0-N6_QsFlFY!w#Hj$}XaF%fFn|aM0Vz=+mIGo1AjSn4 zff8Wc=F|2I$X4}qaSZV|{`Q=sAcFzV;SFp4SeC0?n$L3JISWIBu>NgM-`6X|em(ia U$h!ObKQEA}p00i_>zopr0O}xZfdBvi literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..02af65c6d99f06ef4570f8dec8842ed44cd7e6ff GIT binary patch literal 449 zcmZQ%U|{$U#2~<>lTwseo|u%As-KvY9G{sSpPZkYn^_WHoSImaoDrW`kQtv_Qj`;) zm{X9EC}hQDVFA$yB|pG($c`v(m2&3B{|77DJ?BA z$uv>F2&fn43Ehm8f=t~q6Jk80SCE$ubn0rTb2|h4+F2QbnFFjv*C{Z_i%jY-V6!zF1S*60}@Q<}~A#TqQn*Hf;_sz5R{LuSI3+pWJ-@ z($}W$TK)|`q-zW}1SzrBP4Qq1RAN(@$lSo-;Ag-fz+lm#tInaoFUZK?aH4<_ME)06 pW*18O#Lkf5&&DO95wPF@pUc7mX`8%-yg=I-JYD@<);T3K0RRwRdC&j= literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..7ea227459608d49dbf36eefa60cb0031950ebf4d GIT binary patch literal 468 zcmZQ%U|{$P#2~<>o>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`Kfrk`a29rkR4=1`XmM&$v3^#5MqY7#p1xjsQDO?v&g8`8jMQTNlA^@C z;skvC_6Fp!$) z>Eakt!I=ERU$rCQ)W7rp?>k5c8J+m{fBJtHMkltp%_|n&S+GCBbxJjFnslN^e6vT_ z!Cn9B{!120xD@fMW0!8t6tH3IWZxITtE9=s-w=8=$+TlhLw-Yq`4L_z(~K(%0-L2A zCO9<oKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|VnKfrk`a29rkR41c;XmM&$v3^#5MqY7#p1xjsQDO?vzU0K@jMQTNlA^@C;`O@{KoVfG`6CW3;D> zV@L(#(`){D!iFO34{jQih%SxY=JZIzmg~1k;w)1RX6ukbrdGNYpYbxbx1GI{wd zx%ruA*z!%Ao&W6VO!+-|>BjrspW|J!^Kz3PpPCsKZ2ahXr@Yb~%etc1+L;pi%vsHx zr#1(wb*dC96<>&+G3(Wv18b&mX7Gv~zQni2Yi5I4f|ZUP%lD;cEJ|2@1*t92zQ8N& zy+JFL$%@%}uCx0zxdW-1!U3<(C3~j&IP^YNUwOGuZGpwrGpF|6JGHbXSt^l9YhQ_G zy3vXztE*R>9czmW1FD_gA8b9Z@RqxFg8EzL+7>6RWky4aco|u%As-KvY9G{sSpPQOj8efoDT#_1}TT+x0pO_n;m{X9E zC}hQDVFA$uB|pG zYNe-(V@L(#+p7mT4;hHGf4o!5u(DJzbEz{&U*H`D@wuy%Gx)`h3plP)f2_{I`m(xZ z!sLW~|5ZPndLQ+;UzE38&SZ+j{XOnx7H#v^Brntq-?!UfyR`I$s|IK|T(QBKv1h^tZrYvAl)o|pzB@`_C u@AS9QWIaXagM#iEeazlH4UfK^z97wYpoH1Kaceiw(F~rhelF{r5}E*P*_@vM literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..43df7d4211a03e1258c2689054f2c647269726d3 GIT binary patch literal 485 zcmZQ%U|{$O#2~<>nNpNko|u%As-KvY9G{sSpPQOj8eg26lbT$Tn3EHqTT+x0pO{mS zktk%vWnlr)1tmYgc`R@ic7{|xqkd>{YEiL%R(?iaaekh@UV2et3eeW%#N>?BV*Qe$ z#Ju9P{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$ zUj)<(^MP(gNnF&Fk=oRFpGhBzdv@^iZotI0B3&`d5^l%9R(kdX#0rHbKXMiw} zn&;`_7*cWT?bNfp4GJR7r3M|$8pa#@*~1Gqd+jLD;NX=p*cceb)JjxuZcg8a{(PX6UswdMW%S#^rf>$88E8|_c1w)_9DXiLB5g!Gly j9TP literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..2bd07ad4b9f418d4ee853b187f6227a8b4717c5b GIT binary patch literal 651 zcmZQ%U|{$N#2~<>no^Wlo|u%As-KvY9G{sSpPQOj8eg1|Sd{YEiL%R(?iaaekh@UV2et3ed*n#N>?BV*Qe$#Ju9P z{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$Uj)<( zbG>dxNnF(HB=oRFpGqf^7oY@)R=g!L|#RcT?dV0770cjNw<^cJ}n=?R|fq~J- z)5S5Qg7NKT=AMXjh65kV#n0T!y1gy;cG{Y_0P_{HTN86{^JHyz%uTkq|2J)K#{0X6 z-ikl|UC;OLJNsIhsY*8mb(?Ypm`Q)H^6%>um(t70*mFT8QMl=aN`#Ki zFU^&&w`_P{E2}%{zSd2JNUH{&=0z^|%rAa#*vhpsdB6Oh2Md-38tuKqI_I*&sX{YD zzf0?#Lkf95Tq)@MZ}WNUWQMXxE$$^VpI%nrs&3ur+o>Rx+7f%&sKbvx(bG}J>TmSI z^-F&3mX12+?dyC)t@Uxusgpqt+n%yjvP|;*R`=zG_^nsJUTf9lw3!sRUsp(P7oQr}_uqB48vJ^^auSwezV4rCF zsPz^1YC-)eFWUC+(oyVi7hTV=C%~}7zwYy#(rYo5&Hvlv8Q(lIJfM`(a~&AG44$rj JF6*2UngGU?@wNZ} literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_16dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..0872d5564a2606d3f63e04cba7f103cea8e58648 GIT binary patch literal 513 zcmZQ%U|@I(#2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNXqHkSWW{A+0Z|Jj zKfrk`a29rkR4b!?XmM&$v3^#5MqY7#p1xjsQDO?vuH?kzjMQTNlA^@C;~S@fbywJT9Hw8hgxGLTAa8=>?jbd$_uL4?aru(42g<&wJCx9Wj4x z4llL&`~H6NqtCUB@%3p7UxlBWd-2YiMt)MEc3;;d1oY;EA{!02O3SClHg zwk$j`L%j1@&sN0{NvkzdT%p%`OSM|Gb1xL?wg@NRt=_njA>hWRSAAP9O$@rbB{}%t aX8p>{Nx#y5u-pdvjKR~@&t;ucLK6UQI<#v5 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_36dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..077e8ad13618b9cd2b85051521c41951e8df4dc8 GIT binary patch literal 772 zcmZQ%U|@I(#2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNY?e|WWW{A+0Z|Jj zKfrk`a29rkR4b!?XmM&$v3^#5MqY7#p1xjsQDO?vuH?kzjMQTNlA^@C;GenIC)%Ae z)y?ShZYrE4%yL-ts31qz!>*|uET;<{i|#23>`~Ud#_L{lH$aE`{NMK*t6L7QYU`LE z#=n}+I_dYu6%2c3&5<9R~5|3>zs#G?!?)4v{UGPv_iYPX|?fq2i0C93vM zGo19r6hG`^{j!Mj=?V9!MZ!Fsg&Llyl9(NX`&#Z)pU8r l&5X_m*Y@7|e!pIxL1^Fe&yQjy`+#xG;OXk;vd$@?2>@-SD)ayV literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_48dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..bbabfb2b7de078ba2eafeddb8fb2839becf69f3b GIT binary patch literal 918 zcmZQ%U|@I(#2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNVv$lHWW{A+0Z|Jj zKfrk`a29rkR4b!?XmM&$v3^#5MqY7#p1xjsQDO?vuH?kzjMQTNlA^@C;*O~^ys_U{ zy2@kc;asH@%f&qbeN8MH;PrB_(5dmJ43;M-W#`EUgRll zTPM6J^^a2y?`D-d^ZynG-I!X`BcS@iG3{#`%fg$z79s8#w*=ee1SauzBu`$$``o*h zD_u;T)3MD_#oyk8{eR0W59u~ruLC-9ifwTMD@1+^6u()@BCg{zX-c5s>LM+V;2DZ+ z%YL6}c>8(26Z@@`Qd&8>N1f(>IBTcyK0~=b>es}E*UQD4LratyubuTebK*iD%N1uM zkp&&m9t?LCJP)2z+Gln$^Vv&-#U1{=1p?yRK8k)^sQ;uOQ#N1lY24(a%|*Kej?N2g zbJu*Q=yi7~3oB=oK&xKj!e=bP9qq?5-6Cb3J5JYa;+DViL9j4T{_2k-^Eq&lk?jtCUyemT-}H&edJ0d^l81VBchiqiHSbIY+v+tOQpD6gDVVq+fJl g{w&&kG->00{~WX3%db>d15+J?r>mdKI;Vst0OJZl2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbDcKZ&J7Y-r+-U z6uHJcJl2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbD`ac5_MpF1y?6c>=k>*?VV1fY?HJ?Rc3=E9? zo-U3d6^w7s8dpRxGO&MKojcom?b2;~uSUEsTiKhzd2B{>kEQpVGlf#g-MP0<{`P;L z_rK1kE-h`dz&Dme&J$Kn#+zzNZe+bGxxqgx^ac-C$&J`qr4dW`tQ|J<6<KVC^> z*gr+WW}#pE!AP$Xi8m_V?FX|Sl}emZ^=LmBB2yx9AX=(a!X`ZF{gfH=g|sgv-p;(1 z=s$JFWFhZMiKp3HgLX79-j!hp{WNo?#3WyPtp;C-un>KX=G786a9{ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_48dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..bd21ae16398224d5c1c6ac239312f7c3d88028bf GIT binary patch literal 693 zcmZQ%U|@I;#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbDYIym|kp4qg(ak7GNv(ln9U5-3bB1blrOui|}^4j5W zmxe@&>+bpuyn?0{z1h(cmlaOjiA!`Wcs1+$ybpHq5B@wlxNQE}Ws%}ZsuNGS%dLE7 z;8D7YwJY#4)7zve4zg3WI=q(9y|7m-gKIIX)kP-Pm06A3480bVc||P{?Ge*h&MI|0 zqmgf`gW$crY^@zeUQMYoWfsSGuznIwn~^Ezx#_4}x@y85}Sb4q9e0HI0o Ab^rhX literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..0d4a815687074f146d41a9dce05084f5aca3133a GIT binary patch literal 429 zcmZQ%U|{$N#2~<>l2Vjdo|u%As-KvY9G{a}ToRv>S(cfSS`?pKQj`;)m{X9EC}hQD zVFA$qB|pGmdKI;Vst0G)MQ_5c6? literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_focused_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_focused_holo.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..c921247aea99cee8ffc4318015cb6bc5c9bb98a6 GIT binary patch literal 494 zcmZQ%U|@I(#2~;Wmr|5io|u%As-KvY9G{a}ToRv_pIlm;ni8LppOY_S#bsduQ3@qL zz4<`acWVqepY@)UU7b&zFvA!VhYfz1|%O$WD@{V5_tvwIY1f% z%mj)Y3)rw5NQLATgd{UCF>xvYIT}EW4h$dy%s>icG?<=gy!9zE28uHx^Fi$AmVMno zadS@>#}J9j$tL%Hm8dZ@9ysE_qTnUSEmg10%zU_>jg8F>i1TCA{<<&TsFmchcw^La d-{|{{42s{`j?ZvPGXxsJ;OXk;vd$@?2>{fWc)kDt literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_longpressed_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_longpressed_holo.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a9eab750a0cbc05bc0dcda99ae4177f401bcdeda GIT binary patch literal 470 zcmZQ%U|@I)#2~<>lv0#fo|u%As-KvY9G{a}ToRv?pO;=xlv-Szni8LppOY_S#bsdu zQ4S?Pz-1NT-G@yGywpSxpAie literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_dark.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..c762c72ee860f86443b490ec073590bceed11168 GIT binary patch literal 470 zcmZQ%U|@I;#2~<>oKlono|u%As-KvY9G{a}ToPYUlv-Szni8LppOYV-l30{2WW{A+ z0Z|VnKfrk`a29rkR5zo3XmM&$v3^#5MqY7#p1xjsQDO?vzU0K@jMQTNlA^@C;JJesaKGf4s_!Ms5?6Y{M>oDq_}`wUQZ8~ARx^N!WX$;^16q(E8wgO0nl2Vjdo|u%As-KvY9G{a}ToPYUlv-Szni8LppOX(1NzW(|vf{F^ zfM|e{AK*L|I14*Ns)tcOv^ce>SU)R2Bd<6=PhT&+C@}?SVRB+}MryHsNl{{6aaw*+ zZn3VBep+TuDv;JQ)Hh5^v9K__M7m&;A>ERLtq&Y#D1LPsE8RupLDT%xS z{~REV0gQnnPue_h0jZF@f{<~^nPZzx4v7-24u3QtDnm{r-UW|#TszM literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..92a8da541a261769fa3fe27b4910276ff1e2bfe3 GIT binary patch literal 510 zcmZQ%U|?Wo1QI~NrJGWeSe}@ald7MXlpLRvSzHodoSKuGT#{cDpORS&l1Yir$j`}- zPf0Aw7P8{9uz=`FVlL8fk*2~ob$v(zidO9#643Dm`%0eF0ZGDOAwG21!8*+ zkl&VSdiw$?iM#^;93Tw_&`<=k8-S#%rlmcQ3dt)7NoHVT;#2@~G=LZ#7(fKLffNrA z%K@=`1CRh=AYg0&5+Do&C~Tu?TOI<%)ID7sLp+YZJ!Qzqpuoetq3ILn{l?Z$>g9fF hbN8-Xxe5$kxz`#hG5-3U9K04}j;E`i%Q~loCIAZcb5;NV literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..bd736d3c91f7764ac38b5c5d1447e89f261efd82 GIT binary patch literal 511 zcmZQ%U|?Wn1QI~NrI%8aSe}@ald7MXlpLRvSzHodoSKuGT#{cDpORS&l1Yir$j`|K z%B5$N2w8DiSU|Kw$q#TI3!H_WAvKLrKeRZts8~NMKO?U=KTlsTy(lpSXmxU8az<*g zeo0YcUU6D}QEsuWk$zfcPAZVrGt@UsOR=ypwlFbIHcm0Jv^21^G)}chNlr3NN=r*j zGELMk0_uf%LpLL(AXB%@ggEc$S?U$!r87K*I=C~y&z+Y`iVMi)_4IHF0@9*DY|jDm z+EPt#UmzusSKyxmq`?3hieR=pkX*oZ;w+E~$tws+W?*9CQ~+``fEXPZKm@pf6b}%~ z0kJ$tKL`T>BQEx@`4@ixnNpNko|u%As-KvY9G{z-R~ny@Sd@~TS{YxEn3tLppIcG{BuaBi zgsiwMEFij|vUX+*uv^6;~IU}`LzoaNJ zuQ)BgD7RSGNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`HN z0rkRspqr6Wkf~c{LeM9AmU;zw=|Go0VuCogGr-TCmrIHZ$m8|&a0vp^2|%pE0rJzXltf;Ee-00j0mDEhgJV;a!+(%ul-xBSC6HI(lLV6o(IBw(?2!~86_QsFlFY!w z#Hj$}XaF$~peQwfi17odKp+Ouia^YWjQ;}xj1OaX%K0!eFfeg?x;TbJ9DX~)u8*C5%NAWK?~_RDx$HwJ+ge(cB_@K>5UkMDhP0 z&j%Q{RNr|l_rLUn{hv>E6aV`y^SS?|V2w@f>FxE?@1|>Ba&wzr*NSm?b_?e4=5Up=jU7CHROcM|S& zQJXZO>EhA=iEH(f-(5}r{CI~_UbdX4i%h47PG8J_24BitWT@xVnRa^W?(t=}3QPQ?Grd7=BkH!dg9@O=~c)ywhE^g`<~x<>id#amgo6y zug}UX!`jV4zFFe2W?}2uw^o=2ng>^yygh`PNOP)O6$o8wbCxcHxt7Xso18y@r);wdl)^%Yn p&(4KDL6-F!UpTBeyvOT#DEEf!PC{xWt~$(69Az8aA*Jk literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_popup_background_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_popup_background_mtrl_mult.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..895c94177ffc2d122897bd42e33644c6d62363b6 GIT binary patch literal 1368 zcmZQ%U|{$T#2~<>o>G)po|u%As-KvY9AA)MP+Ab5l$e~IUX)*&mlB^_Qj`;)TbffM zWW{A+0nq~`Kfrk`a29rkR6nDBXmM&$v3^#5MqY7#p1xjsQDO?v&g8`8jMQTNlA^@C z;J{Xr1KsHbb#-TepF1y?6cl82-bH@9 z3y_k?EAY?Z0Wy%WV^fsFf1sFbKyWya638p?NkWzfvHwd~-vLq~c?BWK3`|U%3P6qq z5CZ{KadIpVi2te#Ei)JKM)}ELF~@B`BNDfmHj+HikW!rIsd49*e_SEs`KRjqo)orzvB1nH|=Q9lT4{p`keJ`<@HPzCdmp% zp_-c$Ers@o{nwo3c)h9N1Y1q=`j~~qG8MiHn)h0A-aXzRQLxalYrns%!UBy(HrD_q zrxUR!Qor?o*q*+$K&DZ&&cofO{g?*FEbR>k@&%)$qN0BHs60tvnsuO>Nv_}A_?L^~ zM9~&8_wzHO<34rm?%&T>pQ(EO!^^|c?<$UZ=UHBUoUzz4{C%9x-iUpNWB*y~UAH`@ zw|?F|BjcGu-9}t1v^V{8T6p;4chQ6G?@VhS#)&aj^0=_d^v#RQI@F)QVj??#yU-+& zjKY#Hb5>_ponxynoX=W3t@X&I)a-+I!rd2akGb+laMq00S!=FG&N*@Mp+%_sgOn3u zQ#eb5w+I9__N}vGl9fHTDmZNNtVONS%sbtf)@iJM!)emWRw|US`P#A$#+w=sv}E?) z*?Mf*%_X;|y5yc0{eF}EV^r_!*;A8~H6?GEYSR^IrOuu^og*xu5sc>UON}JaE|7xY+Sf$CJp6Naac! zZT)?I|Ni8pZM`kecJC||%X|64vhZ1(bl%U_=(vKzGlloQO`7G*HD{K1 zPY+K_#S{5`pIX=3d^*wEcu`D;v2<5LmtM-Z^rQu@Iu&Wh)D;YjjSM7Sth}J$+I0HV zp-1t?!hHv=f>P6re#?6+WEm7aJapi|nIm(y3C(`H<<=#We+80rnCEp)JZDzsUgBB! z`te5}pJj(yCw`0)*|DfW_mb-b?mz2hxLGzZM4HVxGuK_O=b4M5eukd+)}{x>((Gwg zGIQUq?9blBoMrv;q)fUA>$MQCbqqJZHu~SMuzI#7BcCsO^YvLzf`dBq<9d}DLnp@m z7yfIoU-^LplSn!9=G3L7=CX6`iWOZaF>%kGwsRAAUxT^x>uaq^a-XKzOmA5Cx=T~# v{dw)eLhs1;s`J&Xv}^7PSF~MUbDu%r`1C0&{5I|eWlTwseo|u%As-KvY9ABJVRGO5OS`?q0pI1_ppA(;-mKL8|Qj`;) zm{X9EC}hQDVFA$yB|pG($c`v(m2&3B{|77DJ?BA z$uv>F2&fn43Ehm8f=t~q6Jk80SCE$ubm~c{b2|h4+Eakt!T9#lLct>n0&WkdhD_>Q-gv^qU0lRjxT8d%^}wFlvPV*jI{w?t zuVd!fz3or#LzUo{C0a8-o8QpbBf2fUsKB_mxW-@7Q(2IcMXA%w=vb!6ouhgDZ(?>B z&3k>zBQEmrT(@JYvlSk03M?#?a*Z*y((_r|@H$8(R^2w{7t=%Ir5ibz#ll=;t?q8B ZVffqUzQ@z(v=Pv444$rjF6*2UngC7)l>Yz# literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..edd1e3f116ee20555fac069d473716098a284d94 GIT binary patch literal 482 zcmZQ%U|`^61QI~NWtdWwSe}@ald7MXlpJ52TvVErlv)&@oS#=xl%Eq{k{@4Clv-Sz zni8K|Qj`;KU|=9*#bsdu(G4X(zoDq_}`wUQZ8~ARsLS z!WsDSupKI3t{m_u;`ZW$WX-8XGp$Z**8>&?_RusC39+ zVWWWJ=hr#B_6?fSFw)4!FAmY$wg aB7fk)zgfQFud0F0V(@hJb6Mw<&;$T5<(lOH literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..7452621dc163bb160ff9a74634fc6c461ea56008 GIT binary patch literal 558 zcmZQ%U|`^61QI~NWtdWwSe}@ald7MXlpJ52TvVErlv)&@oS#=xl%Eq{k{@4Clv-Sz zni8K|Qj`;KU|=d_#bsdu(G4X(zoDq_}_{;Pv!y2?Em6 zAj|>soBCawdqC>Cr;B4q1>@2y2XhZO2(&)*|CFkFUxVfH#L z)c^Zb1ETz6)@?QV@3&7i;%4U8MY~sAzZJky4aco|u%As-KvY9ABJVRGO5OS`=SUl$o1YR2iRJQj`;)m{X9E zC}hQDVFA$uB|pG($c`v(m2&3B{|77DJ?BA$uv>F z2&fn40o{z0f=t~q6G9%*v(zidOJ_I>b!umTpF1y?6c>=o>*?VV1f=zopr0M-U*p8x;= literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..c6b66212e05db167da139c42d35c9d36ef984890 GIT binary patch literal 462 zcmZQ%U|{$P#2~<>mQs{ho|u%As-KvY9ABJVRGO5OS`=SWl$e|ypIcIt6Q7tkGnK`LITF+45FfGNx!q~#ZJlQzK$kNil($YB9A|*M=G$}1DG08MhzX+%o z=6v0Zl!8p%G86pX(6iJl$V+E90(EF-fS)@rmlPL}%j@ak5(K3AfmnzG zBCo(d2S_t;fCwOf(G5U$!8DFXK*}YrAS9WAiG^7K$k6~|bbu6eAPYc%8HmA_fq4uJ zj3D|#WpNXb68Cg*4AD5BoFFl?;bT3sU8Y)FU;`@y!{r>t=1T{@CV-TBy85}Sb4q9e E0I@e>761SM literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..e961f40019440b6ee9c54efa78313166466ff3b5 GIT binary patch literal 603 zcmZQ%U|@I)#2~<>lv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S?PzMo7|Z|u?3zkjv*GO-(KFB%j781^6;kdks~Dz%u^gEt1V!STEN1!fVreG z@@H{@kiv$3oYCQY4 zBWAANjoI4!E$$|%iSb=uA(&t;ucLK6V;s-_YE literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..7824331f7f895be4649fcbfd54187550a3dcaf34 GIT binary patch literal 746 zcmZQ%U|{$N#2~<>l2Vjdo|u%As-KvY9A8|XS(2O)Us9BqoE@KAQj`;)m{X9EC}hQD zVFA$qB|pG=k>*?VV1f-RLSds(eAwk1igNr9Qe&JmkpR9%ziAARDM z_hzz!Jfmi2tlB}gI4%c=18L!#rueYldie5x>ND^Edo~CuW|yffnKE_KhGgG}dAl8- z$uuqc;cDDQ?s{E+_N+C*VauHS5H357y7nl d&gLKfui0bH|5glN8)5|tH&0hTmvv4FO#mvN-gy83 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..2d81dd23a52ecb7ee454600974de4fbec09ce65c GIT binary patch literal 456 zcmZQ%U|{$R#2~<>no^Wlo|u%As-KvY9AA={6rY)wl9`-Xl3x^`TT+x0pO{mSktk%v zWnlr)0VO}cc`R@ic7{|hqkd>{YEiL%R(?iaaekh@UV2et3ed*n#N>?BV*Qe$#Ju9P z{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$Uj)<( zbG>dxNnF(HB=vnF&Xi{WpS}4(^ z@Z#I5f9uNMp4;<(?(`k{3!3=e%sjE3T~$~kfuVR&#|L|dy#)?}?TQKSA4RL0BrJ55 zdB)7G%hdX;*04+Bq3Z&ld(#(n2*$B=`TTYg31o2nakEjWM@gdzj2>N!Rdrn>FLtr= z!L8u^FPpB}oe=t7buRFp-&;+kJzGL2?E7ly{`d^ zh{fuFj=gkz)NN*_O@Dm<@SjZBTM+PiL4)VL8NB~_KIC|==V$|Zl)=;0&t;ucLK6T< CbGeZK literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..bd43d74e4ccd4ffa69cb3be485b63904c1dd62e1 GIT binary patch literal 560 zcmZQ%U|?Wn1QI~NrJquiSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18lRJzRuZ3E zQj`;)lbN1TB4ov7VFA$#B|pG{m|mnqGJ85{EWQf{5*ZV^rA$dCHl#U z$r-7|`Xxn)dBth@MY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77 zDJ?BA$uv>F2&fn458aHEf=t~q6C(YiSCE&^AO;PM&Hz7mUM?vvp!0b>JzRo-v=b03 zaIg$BMUXThilP1r8esh_X0ywm5LGI2$rM8?-nWh&T(d z+>N_>|LeNDGr#ZuEcBf<}m&xY5P0>D@v{r=gX26F*qr`nNj1?XAZISIetKoGI+ZBxvXXdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&B zB_^3B>K6g^!aSmzky4PUTV_J6hx7{a(t*zHgN8_FfS)@rmlPLJh}YA@B?w5%0kH}P z8<3oLu`82-ficw6#WAFUF-bu@he0Hs-+L2FqC}hj_o*`3*4H*&Prkh^H~!KMvvmnM z(f8#qTAm0r+^lpj*Y>E(_W;XPKa@T(L^Qp7JGIM+o8yU=iS${;7juiwIvHP-|Lhiu+n-;n#imp3%x$1?9H%gUv*G;%c6@f!kAC(a^0A9k;7J_-Cfhw`9iPUgx74X zwQaX9Ol{P7&2{sh^Ztdk!U5OhByF-B|EeuoW4CGE;fG8CVJANCjuqq3pXj+^xx~b@ln69mKRGcu zBeht+q$n}3I4!>@w^-LmKP@vS6-etD>Kmq|SXdZan3yLUrx;mU8dzEyr&^>WCz&Rt zr6nerCh8Xf^}>9jn~_qGsas}3w2$-(^3oZ4pdr#3;OEZECB+5w0I#QqOAwHj17Z~p zHXu3gVpk>u17onKi(^Oy({?=is?YXzN?On1hcg=#_=y8cA%PV+-Gq|YV_ERTuIP}}u*LCCZW zldD`_cNdxjW(dhYeRT5NqL0@C_2xa$km}8obyyiKlC3Xw&{6i_;v84!3%v|eb~z?q z3lQEV)DaYZ;)t{T!dgy^t;c(=zhJ+jFSzvAjIT0$;SE8G=g*f#D(*Sr!&a^3qN&fe zJ-Z=V(q;{#T*`-OY!#CanoB*%W{b~i(3jY=iZL#=U^&~4?t`XM53Jb!UuF2e`24dT zr;=$iS=cpOn&bbARf{fYKH;JF@cxC3E?-3cK3VHjb73vZ7ctgJhYt&LhCU96R&21M>>bofow( c-LheL`p-Nlbya0NFq9cQUHx3vIVCg!0M||T$^ZZW literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..c08c2fe238d4e970f8d4079a1e9d5c42148ec09b GIT binary patch literal 545 zcmZQ%U|?Wn1QI~NrJquiSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18ef!|o>3B? zTT+x0pORRVEo8-IVFA$#B|pG{m|mnqGJ85{EWQf{5*ZV^rA$dCHl#U z$r-7|`Xxn)dBth@MY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77 zDJ?BA$uv>F2&fn458aHEf=t~q6C(YiSCE&^zzz+K&Hz7mUM?vvp!0b>JzRo-v=b03 za3B? zTT+x0p95kFS#eodKr}SU)R2Bd<6=PhT&+C=qCjesW@R zMryHsNl{{6aaw*+Zn3VBep+TuDv;JQ)Hh5^v9K_VBW z4mKc}Yf>u%q|SP}IEGX(CM^(Axl+b_YooAKhob`5VQogusR5iG4qSW_8d|&@PI)*S zdZ%Km_Wa%#-%Hn@n17i1```0fVOuH=*D!Qk@0_-^AeUox_C$d&#g{!6_2mCd{lVJKEbM{ po29`g>e{XDy9pOB-Bfol=xoo|u%As-KvY9AA=JQIeLKnv)Wrm|T)smRORS5}#XAloOwr zQ;?A;WW{A+0nrB~Kfrk`a29rk)MQ5e(BjmhV*RZAjJ)FfJbk_NqQn%Sy~&Bm8L7qk zB}IvO#cBCPxy8Ch`e~UtsX$uKP~R{u#lpha!o)n;IK{})(!kQvIMpI0Imt9BEiEz0 zG*Q0@s2Ao3-HeoiOx-dQBK)FfsaKGf4s`1-sCzpD{M>oDq_}`wUQZ8~ARsLa!~z^3 zpT(W+c?qN>@(TQOfHVdG1?LS}i4-7Zkyj9s%)rFNqyXe-05KY1Ge8J{EC2zJr69n_ z^W)7|AT8nNpNko|u%As-KvY9AA=JQIeLKnv)WrlA4xSno|;=TT+x0pO{mS zktk%vWnlr)1tmYgc`R@ic81hMM*Yy@)S_bjto)3;;`}^)z4W5Q6rioiiOCtM#rh>h ziFw6o`9-kGnK`LITF+45FfGNx!q~#ZJlQzK$kNil($YB9A|*M=G$}1DG08Mh zzX+%o<^$b~l!8p%G82M6(X-Sm$V&&h^Z?YgodJICyj)UTKrXMRhf5HU76xJg4v@d% z&i1?nQWALu{y9Jz4j7@V|3KP#M+i5Na>y$PNoHVTVo?BcG=LZluo)l(grH22r7!?8 zl9BbI*H0iV?&;zfqH#VsL4s9T#K7o}x|^hMs4go*86P9F$+;{2AU&S0elF{r5}E)z Cz+sI5 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..0d6150c7fc01f7055567522433b6c281cf545d97 GIT binary patch literal 468 zcmZQ%U|`^71QI~NWt38sSe}@ald7MXlpJ4@T2YdgnVORlU!0m)l$;Ttm|T)smRORS z5}#XAloOwrQ;?A;WW{A+0nrX6Kfrk`a29rk)GS8*(BjmhV*RZAjJ)FfJbk_NqQn%S z^~s6J8L7qkB}IvO#cBCPxy8Ch`e~UtsX$uKP~R{u#lpha!o)n;IK{})(!kQvIMpI0 zImt9BEiEz0G*Q0@s2AoH-HeoiOx-dQ;=QD2saKGf&aesU=*|E?cU~?jE+CiJ)59eQ zNDBcmD+kDXk3>rT11X8T0{hiFw6o`9-kGnK`LITF+45FfGNx!q~#ZJlQzK$kNil($YB9A|*M= zG$}1DG08MhzX+%o<`LbDl!8p%G81Awq-UvDkeAM|3F_p|06%wLE-5Y`m)Fz7B?w3h z0Wm8F$a9ZGO8x^WiM#^;93YJW>VYDrF6-iflto@aNHPNx6O#gvqXEQdfYAUU0I~oC zz~NW_|NsB5^1;`Ed_hka#}JO|$q5oQ4Ik@m6I~h1#2Fi89X9HLRC~JmxvXoKlono|u%As-Kr%l9`s7oLG{XpBJB$9-ot69-o(Al$)3%WW{A+ z0Z|VnKfrk`a29rkR5zo3XmM&$v3^#5MqY7#p1xjsQDO?vzU0K@jMQTNlA^@C;xwQ= z#kxlNX_+~xKw8gGKQ%Qq(IUmvEX~5qB-Jp*$jmI&BE`VW$T%g{A}!U(P`?PM7v^@| zjFf^*-7*tAe$cbjE67U+y73Csot*)G?z~)5TtF_br-w@rkmdnl4v>7Y9J4i$lE^FY z&jIn#!GEB@4Oxj4AQh5V5R%Nm#Kfrpl2Vjdo|u%As-Kr%l9`s7oLG{XpBJB$9-ot69$!$DT3no(B4ov7 zVFA$qB|pGdejnKX+a(DJ~$F*VDr#2uSmQFb5NmyeWQq1CWx) zEAY<&(iq@BP~?WJL<*1!$tws+W?*9CQ~+``fEXPZKm^!;6ekeFXht9#jQ`69reec- zmh)wSYE(R3977~7CtvB&O#p_;0p7a*|IU7TdODoVsiCux!(dfMR~Li08Qa^6qB+-q P>KQy;{an^LB{Ts5(oJ)& literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..dc5b3ad5be521ec1829fff08c7c3c542ac7bc7ed GIT binary patch literal 466 zcmZQ%U|@I-#2~;WpHh@qo|u%As-Kr%l9`s7oLG{XpBJB$9-o(Al$)3%WW{A+0Z|Jj zKfrk`a29rkR6C=7XmM&$v3^#5MqY7#p1xjsQDO?vuH?kzjMQTNlA^@C;xwQ=#kxlN zX_+~xKw8gGKQ%Qq(IUmvEX~5qB-Jp*$jmI&BE`VW$T%g{A}!U(P`?PM7v^r=jFf^* z-7*s#?$@)_E67U+y6+0qjhz90?z~)5TtF_br-w@rkmdnl4v>7Y9J4i$lE^FY&jIn# z!GEB@4Oxj4AQh5V5R%Nm#Kfrp3GH+pb`d8S3j3^P6o>G)po|u%As-Kr%l9`s7oLG{XpBJB$9-o(Al$)3nUr>}V~E7%WD}iNNx*SCyLWmo%G ScK0n%J%gvKpUXO@geCxit9jo5 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..d73926bc0daa40ab1c0d1d108d9d99a551768b97 GIT binary patch literal 381 zcmZQ%U|{$S#2~<>l~R;go|u%As-Kr%l9^T+UyzuWniCJ^WF{w;Waj6^XC?!Qq;w%G zE(;5YHYoW4&SQbIurs74FzSaErxq3KXXR()73b&a>!lYZrU0!?PE5{7E!Hn7O3W)x z%P-0;)-}>k%gjjy(t3vasi~=n7AdA?X%=QCsfH;=W@f1tDF$Xn#wn>5X{knr`b9v! zFfZt4q!eW8mYERtie5opI?$onP{(!#___0PNpS(Wyq+E|K|q=hggKaio>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`Kfrl{Kvn~shsltd!l)lwoLW?@pOv4HSDc@xua{nwm;$sjIWajSwOGHT zC^4@%Ex#zYSl38DEi)$-Nb4Eu8>XdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&BB_^3B z>K6g^!rZT$lTuWYqnnXZkf~c{XimU8dIfpu$DuCm4DfU3<&xq8a(O*HT!MhK3J7zs z07-Ao0AV22=jq}YQo;E4>PB8CL!Oqzbp9JGW*ln{u{hpqf3)@h%gi=0zQ~o9eq1X* z)c*~)@z&pFvttAIw+)7emuK1*Tv3es&$e^Ji<64Ei%SCzN`^lTlF_>H#oO=&%iePf z+Ft0zbvg8%*vkLsd4LnA>XVJ~4#`YYE*v@k|L6iPpn|5^e;ni_L_%DJ=e?2baSpC# Y?qUfp|CwU)ALud$Pgg&ebxsLQ0AT@@c>n+a literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..b93cfbb34b715ef026047af85145df1fd31bfed3 GIT binary patch literal 664 zcmZQ%U|{$H#2~<>oKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|VnKfrl{Kvn~shsltdz^ETuoLW?@pOv4HSDc@xua{nwm;$sfIWajSwOGHTC^4@% zEx#zYSl38DEi)$-Nb4Eu8>XdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&BB_^3B>K6g^ z!rZQ#lTuWYqnnXZkf~c{XpYA#dIfpu6Br@R>(0`ho0JzRo-v||0H{tJ(w|n%743(sH0QN@68A+tc@%Iv1L3Fl!de z+7EjemnCWV+A_|LI@XhQgJCL%S5Pkd(Wc9cUICBYjh+XqUSivF^o;Q2YkSRB%1l4; zFyzbyy`U|R+l?aw65j2eoiHgt+NMOlq{}I{uwzI?)sA>?Hd{OUdXZV% zrSIQ-*^kch?t41zM6dIT%|Bg#OXRGOG+L4)yXDjE6DBKM*Ou?gNS5Y2-+rK~ZguVa zh9I94k{5br{g3%)v8svpZ2sd6W|L3sPcpk7MHDW(aH4NTs(6>aV5srE>in>~Gyf;s bdp&WFU?|E=Jb2j+7}5-$u6{1-oD!Mlv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S?Pzlx}BrlnX|7+aW_CmW|2Sy~!cS{kQXq$DSqCZ(k%CYdJc7XkIc zoUWUbQdE+on~_qGsas}fj@u`CmU;zw>5+^OcXkH&x$|;KaRGU}o*phiKw27zRXA9H zEak-ar*6~jl72(cwFzxE?IVtEwaII zlZr^BqPBq(+X=QnuA)bQE($G99I{7k!|h(*w!1yyWD0{p!$mjWeUq;o+o5K^dhvB} z>8qEOzb3ghx30Ca)%MNGPW++3WYEN}e?Dw-)kg#OYqNS1GMB4Oz7<&~%D97ByE?Rb z_0QDPA>SWdJb3W&o7~vra% KKbLh*2~7aeMWrwR literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..14bbe9e7fbd9726c8743b174deee60bad2c526ba GIT binary patch literal 399 zcmZQ%U|{$I#2~<>o>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`7r=RfKvn~shsltd!l)lwoLW?@pOv4HSDc@xua{nwm;$sjIWajSwOGHT zC^4@%Ex#zYSl38DEi)$-Nb4Eu8>XdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&BB_^3B z>K6g^!rZT$lTuWYqnn#jkf~c{XimU8dIfpu^-z~~2Kc%2a!GLkxxAhpE$=IP=XQo)$KK;qAF*0_KCDhn8cxlft}FM7ED|NrnGcluU7RJGf_IQzhp zMJIbCco$18NSKga(WqXz|Io67;>)K^|NmD~gOR~pH7L($VsaDELoKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|Vn7r=RfKvn~shsltdz^ETuoLW?@pOv4HSDc@xua{nwm;$sfIWajSwOGHTC^4@% zEx#zYSl38DEi)$-Nb4Eu8>XdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&BB_^3B>K6g^ z!rZQ#lTuWYqnn#jkf~c{XpYA#dIfpuf1$4I4DfU3<&xq8a(O*HT!MhK1PF7m07h^LEVNX4zAmmR$hJ4hTYjp_Iv?}G{cro z>DtxDAOAJKzo+s?zU2$wwC3d^Yz`-0=PlYdRZzVoYpR&@nQ%enSw}->B+pZ}3`p+! zsr9I7v)f{4`Ol&*4wudziz%-xg|5Bd#ur=rXW6;s+Hu>iO^(}stvUU` z?&>>1FW0!A*cMW=sU!T~kzJ%Tg>dUx1 c?Vp={$GOsvd)c>}0{z3_>FVdQ&MBb@0EEJ}`2YX_ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..61a16042b4e4ba3e5b8e37dff8bf2398908ee489 GIT binary patch literal 582 zcmZQ%U|{$H#2~<>lv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S>+zlx}BrlnX|7+aW_CmW|2Sy~!cS{kQXq$DSqCZ(k%CYdJc7XkIc zoUWUbQdE+oo10RQsas}fj@u`CmU;zw>2{0|cXkH&x$|;KaRGU}o*phiKw1chB{*1s zWNb|8E)XZLz(0or$N;Hg2V!m@27&)Td@=9Fd>|E&R}hlSz{J9)0OV)@F%SqqCMRIv+ll>Ofvi?f7sn8d^G`1rave(GX?ytRzf$b(il%#k zA55wm=Pf+`Le$E_+flAPZ0$DJU0FEua4F5V20!zp>wm8V3lEpq)dC3IE!$v2Jt i+WYnd#+m-Qzk~Vu*6@XQelCy$InC46&t;ucLK6TS-JH_^ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..e6dcb791c34d456eea30558130fe277308732e5d GIT binary patch literal 452 zcmZQ%U|{$Q#2~<>o>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`9T;I;K_H_6#=$~MO=Z*%Elw>e*3Zh%$Scmz)7MKcN=yOTnVguMky@-@ zQk0lioR(jdTdZrOpO%@E3Z(T6^$pWfEG&#IOw5ywQ;aMv4J<8(>9w1fe>EaktaqI2%jhqJzcw8>(2=Ce3D&BpttUi+|>nXFN&^!GP4nd0_ z|4-b`=zNlK&pyY7)0-M6?lWf8X=rM5y;IBM;F$j2j!oi*4x7)0UWpG!bV3^#7@1f& z1U{%85LS4w`2fr9E=JKDUA8$pHp%6yzk0S{+5Uk4Z`d}zaGANbFEj<{2nJ7AKbLh* G2~7Yll!>PR literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..95496994e4fb6ee72f535570c07ccd75e90b1139 GIT binary patch literal 760 zcmZQ%U|{$P#2~<>oKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|Vn9T;I;K_H_6#=$~MO=Q#$Elw>e*3Zh%$Scmz)7MKcN=yOTmziXZ_Tdyi));tTXLKO)2B_I@ApYcpg!uO;cJdb zzB6VPo^YP_(BX|fuQ*qiirDtong-AJOf9h65%YSU-@LE?yQk=?&-0pp!%*d---jJ; zevKR&H-i5QPgpp0;*DkJ8u!1HF6CX(b>iprZ&Crgh7%4~rugmtGKJl8#X_bKryP}i z>YLXolt~4!7W!Z4o#n@AmFXaQWafgtS=%_PE-^?yWOq^SW4XKPG;5VVvaV#^ARu{tiuCRi4iO*Ov!oJ~SQ3tlKY5Yb-e~YxT*tCV zul9VKHf*5yIb7#{_pJ_J#itGvHKYfswRFu_)}-Ut-(UiX2bGT z;+FHzY&}w*`YlMn`v2npa~G_f)wkB&e&4n&SGFWx5wpI>V8Z%fZC}wXW7D}O1b3c( z|10a~-CwV(=XWclZOK^qYu=;(42h}VmF}xw;oetOJ+U{UaAVcP>$TVJSOTf@443ya ZdcB@LQL(q~9xxsmJYD@<);T3K0RZVJDV+cS literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..b1bcf6b92ffbc622d6330a3b5037b8078aebbb60 GIT binary patch literal 683 zcmZQ%U|{$P#2~<>lv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S>?7-3vNAfo}s!9q(-V$=^UPAw|d&&topE6&f;*Gn%-OaWS#oS2-ETC87El$ckX zmS2=xtZSs7mYI_Zr1cE-4bxIAEQ~Eo%#)2%j4Uk;EG>;wEmD$`Oq0^m5|d05^^1Ud zVNTc0NhvDH(XGfxDah0V>C^V~EG`w^R1=9x@Pc+kd#DtE;K4 zkJX6D*nqkCfSQL6gRub-Woa+*gjt3GGG$!0H{a0ys|Kv2InLf|7*W?O# z-#L?SbjajVXl&%d##0`CUsR?!oU{~D-LNYBc>isN#&DK|%aOi5hc+^6<>?l(Zrjna z?80P;P3)_d=V&FIH+UG;n{|fq1HTl%jD&iY3a7f^(;o{y9hjJDJDbOE(Ss{fY#G$M z%uOe`#3vnN@en?{GDf1G_6M=@;Z$h7+VtZ-YJQckb&|EtYwqUYZE ju;NtE{%JmHlYdITQ;+3q<#F}g2=cq9tDnm{r-UW|;&H%Z literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a3187600ff4ec7a01223d1e6a7b898274abbd875 GIT binary patch literal 536 zcmZQ%U|{$M#2~<>o>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`A27nWf~b@l$ZjvGdVFiBeht+ zq$n}3I4!>@w^-LmKP@vS6-etD>Kmq|SXdZan3yLUrx;mU8dzEyr&^>WCz&Rtr6ner zCh8Xf^}^h*o0C#hlA~Kuk&#l6sas}fPQXKY1$pTV3@lJjbO!jj^KwaX0bS4Q>ERLt zq&+~Gg9S+be^Px0NS*d{aSW-r_4bxEU$cRL>&1{ZQm|a;w!m<5RFLAB%49;fdU6Q$}sq9iogyZs>>(L60EJ7Zr#0$#> zpE*<}I52UlOyJk}d%a2Y%H(Aixw@9D+}Okv|0i1G&3EVg@=HFYZx?6^yo{aq{hWjE eLg_8HoBrkL@?&t;ucLK6U$ldq@% literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..4305af1957511cd43af56c88e7d93d9044d54c88 GIT binary patch literal 973 zcmZQ%U|{$L#2~<>oKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|VnA27nWf~b@l$ZjvFF7$eBeht+q$n}3 zI4!>@w^-LmKP@vS6-etD>Kmq|SXdZan3yLUrx;mU8dzEyr&^>WCz&Rtr6nerCh8Xf z^}^h)o0C#hlA~Kuk&#l6sas}fj>j{41$pTV34bLZuf;sWw`Jw054fV2k) zbFcu(|4*vVFfcH6c)B=-R4~51;hH2|AaFD>%;L@K*vEAOe>isRcH8!Yt$a7*xx|7l zYnOV9;GgQw70u7jF1xpWQrR=!NBpzZI@DHt%xu~fabEOYz>*WP>ozpLyU(8WTqpI{ z@ANL&IbPuRl(B^p2a`{ZA?Hi}O{N!Mz z>3m=0#_^Ii!=B7H4`szHUcYs=(meeAIqO@_2~LwNLZ7K!yY^H|vXYO4MPXm~tun5itYs7F=1nWc|)uE_a~ zPf8}7o9JnD+%t}ea}Lk#>`88$=e)LAB6QEts($MBiRZi*CW}~lxa4$9G&_pX|h~y*+tO)6;YDkuP5^P1o>P-}<%BaGS+-t7AW`vwN=@9-Ch) zJ7sI1;Xf|hm8Cr&-3ztPF9Gu0(#1j-Ci6VGp|eoxzG0Seclt-!#b#^gERg~7E+3TA pE9!QtIWA%E8zB7Uee*qLhO4LI-yi$^0hlxyJYD@<);T3K0RRHYlv)4) literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..1393d57c88b775d92f63d4708430e58ec9a11ef1 GIT binary patch literal 793 zcmZQ%U|{$L#2~<>lv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S>^Fv7TkKt=XdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&BB_^3B>K6g^ z!kn&~lTuWYqgzptky4PUTV`mE+b?>SdIfpu3=F(X5XW`~___0PNpS&ryq+E|K|tCJ zh&?!1fTVcJx#vJiBCo(dM+(T00b)@gRsdoU_z%R=|1HCSR6t%qNHPNx3!4IvqXEP~ zU;v>YBs2g)Vjv4ZfE9?HfY<}XfdY8Ig7~TD=zArUUYW$Gg>^$*|cFYay zDr@6;6L}6BfY4+6$9(nAqBh>y7;JyIW!;_M-(G)kXeoXX=l?5U=>nb5Q2nZ7mY?Fz z3kEDbulZ%AV89Y33mMb414i4^IC)k+)QI`xu;`%lgl9oZ4`}!5Y%&N@Q99;O6C%o- zyh!Jj3Wv%ppT;K(v>2C}_@BvA-YuQhaDVlu13j~iH{H6hb>`#mU-XU|FOO}?TDv>B z@&3fQ$2ULNrZQDU(5uA5b9>3WDJ_0wi%d9FIuJ4}fEaz3ySh4i;5r=Rk z9h)PSVKZFvZP_?4Oy*j*tVuhE;mDB#50+dFSy5c-#?Z53`n|QXyE-_97sZFIE!B+@ q4@lknyDH8}JVr$u;{C%vjBA)49p;{SBcD|b6waQmelF{r5}E)ZnE7S^ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..9bfa8b9a68870ba33d2e4538a05b3481817c0af9 GIT binary patch literal 603 zcmZQ%U|{$U#2~<>o>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`8<=2RK_H_6#=$~MO=r{(Elw>e*3Zh%$Scmz)7MKcN=yOTnVguMky@-@ zQk0lioR(jdTdZrOpO%@E3Z(T6^$pWfEG&#IOw5ywQ;aMv4J<8DD&A%x?3JVUoTsLBP(7rC0!DlTqSM6;EiD>pS zYniWoliQTb#KIvEP|l=hGb2*?-Cu?S6B{QLyk}>$nm3`~eLEvtmboj_IgzaJ7mpdr zjieqkY87p2%MCSH_b-!bu` zGGDZ8Np00i_>zopr03=$w*8l(j literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..6dad7549bab47b28329f158ad172fc2c2e09690c GIT binary patch literal 1175 zcmZQ%U|{$T#2~<>oKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|Vn8<=2RK_H_6#=$~MO=i>&Elw>e*3Zh%$Scmz)7MKcN=yOTmzcor zx=AL{dFGtn2IuTKX2<29%S6|GGKx@;YSnpur#1db6U(9ikKz-tnwJF?1R4)%eNVjW z_CQgjt>9zv87Ac=9)^c(QvaApY!keoE%G5q-T%@JPov|aab03eMXi3TX2cj?Ecrau z|KX%OZpMv=OyWK@?k=vFxm7?wTg1RpQF6!ZB|V-OogCH_G@ML2{kGD_ON=S0l}l~0 z?sj*Bog0A4cFb53owwW|GlHW-blp~_DxhR?)A|V^iSm<|PP@&m_^;EIOM1qfPdWwW zCk@rCzcFdGdhXF-fA{R8QL_Gmpc4Uyk322Ce3tXoj4LlTiC@rs)99ag^Ruhhq~~1v zw^jZyMX~zf@zB(m%mWZ^lNaA3vU_tbOmq z)cWD$@#gbdQmo5+Kk}c<(kt$>v(sC>q;$FKa@~*LS6uATVr{!}Jofp#k7xh#OwQTh z-V^>s-6#dh5i;(LFz`-mZB3`uyuYi+v6U)-UMS7rh|Q{DtY_p3Do!?k}A# zw@>5#SB=Nc_s^=^o(c~=_2WYQ=g9Rz4wCZwF8RyvUJxvBWc!1~ZVvMC3lzHY4|X{? z$i*)Jni4kQ*!Bm(8H_)j53_T(KG*rwEC1(Ve8;{CuVy|EYpwm)_L}>p{LOpGjT`hu zlSj%f}&Bwn*1HQDTeEiF`YTtxk*RMtMh}0^E);K%f77zM=?eDtx zKqcixE8lRx)aT9LQmgoP;gik#^i_J+zvq5=K4kyb+J(#Gw^#mZRgbNyjrWNEb@^NC z7x8Dhx$z$L3iB@kIp6>CgaUd0tCE6mi(lFwE4gIdYwnYeq&F{m#m)Ixdh((rFSt7& zOB)}E-2L0>*Nc1TagVEl}wquYMcI&`8>fng$}IY*TuUMk{Ev; hVcO`RBf$NK-PLw>+dS{*)@+JTP literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..14c6f4b1a25b12cc350547647784fbc065cde63d GIT binary patch literal 707 zcmZQ%U|{$T#2~<>lv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S>=m|$E%Afo}s!9q(-Vbl*TPAw|d&&topE6&f;*Gn%-OaWS#oS2-ETC87El$ckX zmS2=xtZSs7mYI_Zr1cE-4bxIAEQ~Eo%#)2%j4Uk;EG>;wEmD$`Oq0^m5|d05^^1Ud zVNTc0NhvDH(XFVc$Ve&3)GaeK$L$$COTB`;bf8POGD4i&8Q|y6%O%AHf&W0<=i8hOq$2VPLXsJnSU41b91S1_ z0tYY&C7?kF5(8NP0vtdb0mShj4irG01>-_!_8Xm`Aphd&;uw-~@9p)CyiE=gZ4Z?V zMZT0-Fqua0VCc4Jde_L@;T^DA`oc=x)>%IyXGKXM)$mIE&rC%SOyV^VNvS$Csy`sDN zXB7tvzUI=nT7CXy=&?OhuT@o^t;~}By=cuBIh*Hev$}Ry8&_ONi?h7xcYV8}<;IgO z?tZiO7xSgfG&tFrt7cPF^w08n%Dm16bB=(d^5TovT{JS(QZF=qIC1iFm6w9H!f}?I rXO0{y3fOf0)XtRi`k-_L0%xwWe|4FnRrao7KZxt;>gTe~DWM4f5y;Zq literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..25beb6a574d2a88509a8fd12f8d4e0ed911f83de GIT binary patch literal 533 zcmZQ%U|{$R#2~<>no^Wlo|u%As-KvY9G{pJU!0Lxlp0@{YEiL%R(?iaaekh@UV2et3ed*n#N>?BV*Qe$#Ju9P z{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$Uj)<( zbG>eENnF(HB=vnF&_M7m&y6>ERLtqy<2j1LUWzzsz3& zDT%xS{~REV0VIGTleZ>51yUt>1tG}{EKK|gK#lCsf!#PtHr-+?;svu)MUHx3vIVCg!0D}E!ssI20 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..7f8dc3e2a6678f6910c6e717db1ef2ab6d93b935 GIT binary patch literal 476 zcmZQ%U|{$N#2~<>no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YU?610 zWnlr)0VNl}c`R@ic7{|pqkd>{YEiL%R(?iaaekh@UV2et3ed*nM4(;8`Xxn)dBth@ zMY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F2&fn4 zdfnWVf=t~q6TH6AE67V{xCV7)XMmqOFP9V-kjv}o;SvO-6+oB+bP0l+XkK3i+S- literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..28904afb0de0c840afde7ab82becd828e8b88058 GIT binary patch literal 583 zcmZQ%U|{$N#2~<>no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YXewmI zWnlr)0VNl}c`R@ic7{|pqkd>{YEiL%R(?iaaekh@UV2et3ed*nM4(;8`Xxn)dBth@ zMY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F2&fn4 zdfnWVf=t~q6TH6AE67V{aAbryvopZYotI0B3&`X3^l%9R(h4BV0rJny;!X7o42&F} zE{-7;ac`#>_8l@1aE*6jyky21{#b8=?i|*@cZn}DS9;u0N~$)KQk>%Amvd70v$poX z^YhEC=1m;3PR_RcD>4NCoVgi3k88y=p%zB{7VZuH%oca9oSP|H(80{p6nf%D z9FuzN_A47%{MU6!-0purHS%94?;*JzFTVL#Y%S-?ecZsj;Zcvz8@c&qtPfcZ#Ot$_ zc{0xU?%RLBfBnMPAYltDSA%WKnQh_(_wTj)rm666%G@TICLe~-C}T^VvO5u7)jUE^ owio|%I4Pg`)7i9sP5o>6H_xRbJ(=%51_lj-r>mdKI;Vst06bU70{{R3 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..9ed50529f35f082e137bca390897d34d75c4d6d8 GIT binary patch literal 586 zcmZQ%U|{$N#2~<>no^Wlo|u%As-KvY9G_H@7hjZ^l9?Z0k{_R+7oS^FloM}YU?610 zWnlr)0VNl}c`R@ic7{|pqkd>{YEiL%R(?iaaekh@UOLbYppD6i$r-7|`Xxn)dBth@ zMY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F2&fn4 zdfnWVf=t~q6TH6AE67V{aAAZvvopZYotI0B3&`X3^l%9R(h4BV0rJny;!X7o42;~K zE{-7;ad)R0`W z!cQ24%)H<8@6X?R8_SR1sZu#Uf0~$)T*|5UIh#&%uMN0kv{@yl!vDB&INQTjYlI&k z^Pcv;;_#0nKLnQfoXP8SW$K$z@UWAY|B&0w)JJ_EHajxQ7~FfAzBO)5VL_;=(S^hw z8z$Eb4=3ZN9kPa2;bG?cABiqzf9G+3b<%?4OCqjHYySIV+?l3V@a;{t##c5!iQiQ> zZ`!JfK8a$UDc+O&*VJ~>Cr%U|ndDtvsbL!w} skv-=gHVVmPE?g)j^LnEE>D=SuEy0BggZTbr0z-$v)78&qol`;+0Qxh}pa1{> literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a92c10e9b156749951aa6e47d20f151534f90198 GIT binary patch literal 618 zcmZQ%U|{$N#2~<>no^Wlo|u%As-KvY9G_H@7hjZ^l9?Z0k{_R+7oS^FloM}YXewmI zWnlr)0VNl}c`R@ic7{|pqkd>{YEiL%R(?iaaekh@UOLbYppD6i$r-7|`Xxn)dBth@ zMY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F2&fn4 zdfnWVf=t~q6TH6AE67V{NMVFHvopZYotI0B3&`X3^l%9R(h4BV0rJny;!X7o42;^I zE{-7;jCUq(jbtelIg-v>p24)biL1c(LY!W!+y$|Y4_p&^^bc*B$xZ?$TKoW);nCk}+$1Ed2k)2f?YLU(Uoa zZ#H_z@8`INm36~%&C(UTB?rE>xG!4oFR=Nu$a&M>db5x6F3GF4;Iwvp>1Dg2r}qkn zlJ*_#OPuER`+inE4SALjnls<5l*cTw?3qV#l)RnCtJlHi`UmGn{Gaw_(l5D7{qhN& zH~j4xsu|8V)U(R8nOs=(_aJkEoIv^EC8al%vkw$VTyoHEbbarCVL@>0O5STL4#oc$ zO=Df>u|C6ePtPj0fOo8?m?wV9SYo3XIB$yPd7mli>8H3wPIa3cYSp^iReGi?wSt+! YgJZv9f$WlZz|dpxboFyt=akR{0D=(LUjP6A literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a9e01ecd210fc1fee99feb628bfbbcfa81ffa566 GIT binary patch literal 1024 zcmZQ%U|{$O#2~<>ky4aco|u%As-KvY9G_H@7hhbSS(2O)Uy>i6pBJB7Qj`;K00f3Y zR$LYq5KT~W0i4GIXJKbZO<>dyElw>e*3Zh%$Scmz)7MKcN=yM-nw*%Nky@-@Qk0li zoR(jdTdZrOpO%@E3Z(T6^$pWfEG&#IOw5ywQ;aMv4J<8W%}puD)Gae1eNnl2cdnQpRrYqn=U)uamy<@g1!{Y_IrW{)D4PS1xF7?w)-$RMTlecSjVro>hnM zqw@Xo%MYJEyh2~9>i&lZ`-9%{NUeb^lJ z_s_G%Js;Ow@3olHtuueUvQNY5sPx<0rru1xJ@@TtsRJ#O{Ea5uZev^O_Vv}3mBH%+ zS3cavxbURnC5KzmeXp)&)&yK$;kP%rn%U{|8o>jx&MSX)d~yhV8moNttM>jW5dZi+UsVqocS);(4eNdF3nH6LFr+^vJFSpc+^QO+E8Ml+&GDeH(=#S zi$e};L-bEnES>hK`fK-QrafjZA|mP4m-b%2QJ_5MVbzx3zaM5uo?}obsCC;@VZ6ZUcOjmVR1oEyWE9@FIm?w|6)uF&fNR_s-D~Lw`y^y((!L^S*TVyonPh&b#~W=e=88%U(ULyCnSY z)9tl_J~h9;l>YnMesR*J~`{`X*YcF0tyCm)yi(248>kxy^&Z?i0%4~Nh n+fNE(V)*>fTjJF`8NGjuw*~tSrn*cD0i_U6S3j3^P6ky4aco|u%As-KvY9G_H@7hhbSS(2O)Uy>i6pBJB7Qj`;KU|?Wq zBxJ>9VFA$uB^SVXEN~WfhSUT`{m|mnqGJ85{EWQf{5*ZV^rFNRpry%)$r-7|`Xxn) zdBth@MY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F z2&fn40o~k`f=t~q6G9%*v(zidOJ}fThPbsez|WnRONtA~sl=@wp zdq7GeufRVC#7D-CO;L{jfnriWE2DsvKwg1Q60$sqJtuUbIgm=pD+ozuU}51@0CEg~ z7zj|5I)H`11QU>y1Y(dQKmeW32oYug(J%}W0*haJzVRJUOMs_~V~EA+xs%U&O9zS^ zJzqW9bIUR>5l;=VB<&?oNTEB^LU=!JTx?iY5VM_S9CUYi=ZQ$Q=s zWrc{(RTY)W@3nXI)MoJ?m$1q=jyacq?##~ghX1=~3 zvB%_#HQQNde%`Hg#=Y@USK1=JC9RX5UGiFx?agmdyS^hvL!`m);>&giZV!eX6CFOS z{_^n9cMgXGp7uXgFR*R&USM!_hics=?GKNSTki?E%59|z%U3FbBok3>L-sD(O zp*ze;ilwFRCGI)1-P918{(IWg$|}ZF5&Q1AKPrCn@b)ILEt@lQ`R&Cn-J0ur!TqvX zY=?4aO!1nM3iYXFF)_|riuZn+=$rP7AR&6`eXEbiGfOLnsD9f!0MC0hZZ{34C1$G&{JbklKf+Rcs0$EUsCy1DtOs?YLE zCl_Apx>c?k$D6c9BzU8L{-*b8@yFRh|Ni;(`(%H-q3N=KU$ObDYP+f)`19Z2`$w43 z{P$ypNoh+yZRWW<@6+Qnj~|_l7b8@XmOk(KxjIkk!ue}^_P>@l;oqYk!Em1&l+Zj~ L{an^LB{Ts5Rsx9) literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..5d7ea43065aa40e125999ca6e7e0c9d5758d2537 GIT binary patch literal 490 zcmZQ%U|{$Q#2~<>l~R;go|u%As-KvY9G{$+6rYrsoSj~jUz(Q^Uy@%CpIcIt6Q7t< zkdY{4#bsdu(FP?Kzl$%)Assm1yw zMTvREY57ID#kxlNX_+~xKw8gG-!Lu3!ot|X#5~zJ#mLgqz|zt<)gmQ1$uub~EiuV7 zQNIYN7v=@s+?0Y$-7*uxUeUAEE67V{xB+!+XMmqOFP9V-kjv}o;SvO-B|w-1Gq7LRd*g zpePux{=E4hkS*=$;uvCaIypgtb#a174^t3>^5ObRCI%C;m>E+3FfvaR+A9Sz$kWx& JWt~$(69B;5WwZbQ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..5544e13bc2dc492c4a20a0764e550a308967e28c GIT binary patch literal 451 zcmZQ%U|{$U#2~<>lTwseo|u%As-KvY9G{sSpPZkYn^_WHoSImaoDrW`kQtv_Qj`;) zm{X9EC}hQDVFA$yB^SVXEN~WfhSVfR{m|mnqGJ85{EWQf{5*ZV^rFNRpvB3F$r-7| z`Xxn)dBth@MY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA z$uv>F2&fn43EkY3f=t~q6Jk80SCE$ubn05Db2|h4+HayUHx3vIVCg!0ETypkpKVy literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a603b43d0c2397ea204f56ad06724504d1df1808 GIT binary patch literal 399 zcmZQ%U|{$P#2~<>o>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`7r=Qea29rkR4=1`XmM&$v3^#5MqY7#p1xjsQDO?v&g8`8jMQTNlA^@C z;1OaIY5as~+$gA#aF_7}{ zba4!+U`+nuuhbII_&@&NamEc<44Uem%uYoKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|Vn7r=Qea29rkR41c;XmM&$v3^#5MqY7#p1xjsQDO?vzU0K@jMQTNlA^@C;sjaS{*Vjy+M)5S5Q zBJSuVN3X*HB5sM|7u9Yyh=^;teNUcsOtwVH<8GJeB#XZ-4m+C*DkWb^#>zdHzf=By z_x?l82Xl&wZY-;3-my+O%AvYi;=;-+RWiYU+a#|VnMw%T8Z7K{Sj6u4!c;2XLcQw2 z1FZ#Tzjnyw;W#v5GmArdJeim@b#L9hrSk6^mfu)5%EC#bZ}pVJmrBky4aco|u%As-KvY9G{sSpPQOj8efoDT#_1}TT+x0pO_n;m{X9E zC}hQDVFA$uB^SVXEN~WfhEyM;erR!OQL%njenwt#exANwdQoBu(9-0@+$2$0<3jg1L V2zT*-GEtya44$rjF6*2UngD-zfXe^? literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a2cb3b62a473d30ee232405fb5f17923cb55738d GIT binary patch literal 409 zcmZQ%U|{$O#2~<>nNpNko|u%As-KvY9G{sSpPQOj8eg26lbT$Tn3EHqTT+x0pO{mS zktk%vWnlr)1tk~2c`R@ic7{|xqkd>{YEiL%R(?iaaekh@UV2et3eeW%#N>?BV*Qe$ z#Ju9P{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$ zUj)<(^MP(|NnF&Fk=oRFpGju~;+8N;I&dVjm1?2L2dbk7uX$cVK0Qt$Q?rSlS z3i5Pu45?sDme}&3{=xt02~r#zF0KFfdvR6;XK=&hI?s50g*C?*I0`qJCS)8ry4;6( z)76S2oZc6X^MC1PuUft|oMrNN?hxL8EJhc)|L>ru6{1- HoD!M<=LUF( literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..d0cd0ad0408fa51c9d4deeeb150e5d2403d218a1 GIT binary patch literal 532 zcmZQ%U|{$N#2~<>no^Wlo|u%As-KvY9G{sSpPQOj8eg1|Sd{YEiL%R(?iaaekh@UV2et3ed*n#N>?BV*Qe$#Ju9P z{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$Uj)<( zbG>eENnF(HB=oRFpGw?A&oY@)R=g!L|#RcT?dV0770ci;k<^cJ}tL|$tkh<#W z;uuoFc=WVtQz#>Y!^QU9Y9<>Qg*sIy6iS5^l=ttjRxvxkSMa@Xe&U_G=eJDX_xj{_ zwx4O!+^b5e6T*@XD>Hl-mabwbQJti3z_h?P&gLecZ_B%5=dS;1lT(kmyz+9a@#5p! zdk^iHKFzH^t$LOF_ULo34!dVJMcfhlbl+@p(~S@&2_yB6^Y#xD;*<{8DSq9iw&~5+ z;Dz00D-K4lZg!dZw#za3UF4h}TTW$fx%GBR(9ynGBK1+reNHS?uroGc`XQ|1RJiGI mAj5AVX*J6y{q~9Tn1!?488Y8<)!PF-$l&Sf=d#Wzp$Pz$bF+N_ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_16dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..5009d670bc3c8382d9ffe2d21dd1e530be4eb522 GIT binary patch literal 443 zcmZQ%U|@I(#2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNXqHkSWW{A+0Z|Jj z7r=Qea29rkR4b!?XmM&$v3^#5MqY7#p1xjsQDO?vuH?kzjMQTNlA^@C;s$<|-yuYgpCr;B4q1!J;; zs0V{$T)_E&ZvRkUpU-0j5b+Q_ub_-~*{MWWUVHt#uXP6Bt^Rz9#e zY~5DErlxQvrQ&=6hp|kWLC2xWBnLTd=BW$}$zqN+%{q4u0o}yl>FVdQ&MBb@00Xjn A*#H0l literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_36dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..03ac72ae30ea065c698940db9227eadf1fac5c85 GIT binary patch literal 614 zcmZQ%U|@I(#2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNY?e|WWW{A+0Z|Jj z7r=Qea29rkR4b!?XmM&$v3^#5MqY7#p1xjsQDO?vuH?kzjMQTNlA^@C;%`x&RXgOc=NPz3wVwEXpa}-&c&5T+Vd^RyU&r`lOFTq1NX)Pb~IwikYr|nEf zR?3uEonk+-vRvlS@=}Has(pnwmO8&VaJgFS-G?AS z%=+gH7Gy5#zx-oEd)8Issc(+;`--fdrJ11IHA%#+PN3h*vF4lQ=b7Ovw)KV1cka$8 zkoakibk%-zB`~D2H6mJV%2$Rp>OHAP zZUu*&+!D9DhVQ`}h1Nd~0zm;w*%vnNuK3)L*HRX8QCnEcA>ZHXo eE}Q??F=cI5G}l`;V=pii89ZJ6T-G@yGywpICgNiN literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_48dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..cb84acf5cc2e54e99ad4417b54823afc5d7deea6 GIT binary patch literal 717 zcmZQ%U|@I(#2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNVv$lHWW{A+0Z|Jj z7r=Qea29rkR4b!?XmM&$v3^#5MqY7#p1xjsQDO?vuH?kzjMQTNlA^@C;&jv*C{ zZx7mfgfdDnTzLGs{e-Jh;L43lb)*(GO%qzU@aVz~x-n8L3srhFnhJ6_rG71J+tkz} z)AEd`Ni36thqFbf`9PbH@}&vu%{zX4QT=}Joh;M&jW72XuhE6=d3xt=tRXuNzRgAdPaYiIXhMRc2BXtsoZLo z@7nb^YRQ!stsWIu!X&TkQWe^>Qf0BS(!pk<-5Nq~rr%uQ@nL6AR*fiU-NcJ|6F=z9 zoFmHl{lt^Ti0`qLYpVU#f)_oSQ=E1B{A^)S_0$VmT6Wh?Z8GzBIr=upS~bkiB5Q5( zz3!>8LAw>F%r1AFoAru!hWM%2>9=+W%)6DSY;7xiNLthMS8mX9mA>Bz2gO#(lzBEU ik%}pEa5T&P#VowT$9=JM-Bw^^F?hQAxvXl2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbDckwt#8%i~(H0-T zYSGB9$ZFOiGNpNG{ll;gk{Wya9fhZxC?8I3^Y}CI$Y}>T28Je4g#&rpJAo_)22WQ% Jmvv4FO#lo*Z?FIW literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_36dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..0ed310937365bf35b935d99c2d3448a992f03107 GIT binary patch literal 515 zcmZQ%U|@I;#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbD>WHU{ zV@L(#+bgOOYz_=87Z2VwiYx3kk($`#z2wr02&IV|IQ|~?-0`((x7wYr9yit>$Zfv) z@6o62pPfSl7af~8rOh#@ovrJc7xUFbkqP{-rB(_g=am)1i&Z=83_}X*l z6m%Be;P*=7d|YO))#k~|()cAqp}|d*#ndK4LF0iBv!hnJltza&@09+F4qvr0JeYqL zd}_V9eaG+bwwJst_OJOicczMHca@<;pT_Y`x$`oVxlTWtp)BmU@W+Rp|Kk|-H!Q78 TzOozZS3j3^P6l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbD=k>*?VV1f&f>m;>aYzubmAAj;Fl zF{C2y?O8+ZBZV@@KThBMdRp|7Cr<=BHU)~klxuKZBi0%k|D9!`ZHNn=a>?XPROW6OtNFMwZ)6DFy^-Pa#RF+31#;Y9Dmz)-mPRC4N?AbP0l+XkK0WZT0 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..2d06ff519dfebb59c1ba7940cef9f01e6d0c98ab GIT binary patch literal 429 zcmZQ%U|{$N#2~<>l2Vjdo|u%As-KvY9G{a}ToRv>S(cfSS`?pKQj`;)m{X9EC}hQD zVFA$qB^SVXEN~WfhExxuerR!OQL%njenwt#exANwdQoBu(8A=zmdKI;Vst05IZQs{jB1 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_focused_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_focused_holo.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a4fb86b88731cea22766487735e7ed903471e0ee GIT binary patch literal 472 zcmZQ%U|@I(#2~;Wmr|5io|u%As-KvY9G{a}ToRv_pIlm;ni8LppOY_S#bsduQ3@p& zz4<`acWVqepY@)UU7b&zFvA!VhYfz zZkY*o=j&PO738He+=Du>Gr-TCmrIHZ$mR9)a0vp^Y#_`5A|IT2?*XJF@(TQOfHVe} z2^2XNuwgfl3dt)7NoHVT;#2@~G=LZ#7(fJ=fD|Z{!1PSxtxu7$9~vJd_uqcI9Zlv0#fo|u%As-KvY9G{a}ToRv?pO;=xlv-Szni8LppOY_S#bsdu zQ4S>+zr5EOy{X1M>xECI&Z2Cfn{6#c3eJJzf1=);T3K0RXi+a!vpM literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_dark.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..bfe97fdde52f75aca86712905937e98e392b2828 GIT binary patch literal 469 zcmZQ%U|@I;#2~<>oKlono|u%As-KvY9G{a}ToPYUlv-Szni8LppOYV-l30{2WW{A+ z0Z|Vn7r=Qea29rkR5zo3XmM&$v3^#5MqY7#p1xjsQDO?vzU0K@jMQTNlA^@C;JJesaKGf4s_#rs5?6Y{M>oDq_}`wUQZ8~ARx^K!Wl2Vjdo|u%As-KvY9G{a}ToPYUlv-Szni8LppOX(1NzW(|vf{F^ zfM|e{3*bB!I14*Ns)tcOv^ce>SU)R2Bd<6=PhT&+C@}?SVRB+}MryHsNl{{6aaw*+ zZn3VBep+TuDv;JQ)Hh5^v9K__M7m&;A>ERLtq}f221LPsEqw0r<f;E ze-4nw0LDO(CvBd$fK*6cK}a$K6BDNbkfQ;_=)eFXzyzc~MuTbNnKNe+!Y{YYDF&(+ q@^oG(2L8fk*2~ob$v(zidO9#64Ce+290eF0ZGDOAv?#VoeT^ z-(2ozUk6eWc?JGCKpG67p$KL-07+L(OM4&{l2;It%)rFNsQ~0?05Li+fC#VyDGneO z24ay0AOXTaz}NsJKo|&6*rl-|Wi= zViAyj5C#H9T% MboFyt=akR{0J>vpvj6}9 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..59f63d1b9f93d9ba6098792ec94f970f4ff31215 GIT binary patch literal 815 zcmZQ%U|{$S#2~<>nNpNko|u%As-KvY9G{z-R~ny@Sd@~TS{YxEn3tLppIcG{BuaBi zgsiwMEFij|vUX+*uv^6;~IU}`LzoaNJ zuQ)BgD7RSGNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`HN z0rkRspqragkf~c{LeM9AmU;zw=|GptGC`c%8Q|y6%O%AHEamTas2Hx-@L;L z0&eojf2QkP@?Cdv@z(UUMHBN@X>~Q~NgUXCWfiyou9pgoX4CdPZ=A{a?`{9tzmLxD zo3?Lq@z(OyKlg3w+%hXaW%GsyB{~MbJJb~>d8o*i9=(2^rTv29E$iHB29bvjSL_5o zFS@>8MD*J&qZ4%ukrj!F2L(GEj->iqu$(_JQTX}k>_0sxSJdv=Tk!12M8W`+S=2h~!Ff~p%KmE#w z*Afyl&oZXDwMnIWoMn)m*LYGUA?d*7sT|pI0Po zPJS|r{Z!zVZPT7bGMjMx<~}gD>rc$ux9^!ZX-f7pWIU~4y`VL1>(fawf+?XJl^bVU q9`Jq7+@+v>oMl=&Lx${`{`jm#M+#4c-mnCQF@vY8pUXO@geCw{)(P?e literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_popup_background_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_popup_background_mtrl_mult.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..d1c4452bcace556dee7a90cfcc3f022ae81ef049 GIT binary patch literal 1046 zcmZQ%U|{$T#2~<>o>G)po|u%As-KvY9AA)MP+Ab5l$e~IUX)*&mlB^_Qj`;)TbffM zWW{A+0nq~`7r=Qea29rkR6nDBXmM&$v3^#5MqY7#p1xjsQDO?v&g8`8jMQTNlA^@C z;J{Xr1Kr8N3~_8{fS)@rmlPL}$Ls0g5(K0jfLMV8Kq1|}v> z1t3QQh=Bm46r==98-PTBu>r(pP+AN~Ga}>vK!D5#u{9p@eqvx?()V<642d{=bo$vz zR}@5A?Kx)Nn0iT4{4>YCm3BSvzNX%Z%3FKUv%G;pZ--*Z^mQ!Hms!O|&OL1ToxkE? zz{^(77t_NI#GG81_cgO+(!YPPIsyf)LJ3!YtXTOc$k%D9RLtTh7e%L32)I853 zbeV^Iz@mdEj@;S%`OG9<%fplQDHgo)dvN5)i4Dtl=!x+pIlZ5;W3pE8ah($^o7nzx z_V8?HdFAy&Ho5knGh=AT3t8un@o#w}LRJ2;GlnL=S}nO^*7*bWYaB$QHY!Zzyj$<+ zb+v_|#B~1SdvkZWx!p9JyzYmJ(n9OTfNxCebUi9#tgZ{+wUj*Zazny&dw~x(&d;Co zp7s6T>HQHljwL6wXP)x?A!@vS=X2ffdlIM3TRVHlyNxjsKTZnUS3DBu*6!;~I90$? zp`*<`t0g%#$Kycp!$Zd0t1~7TJC+@)P24o+qKb{S_sq!uQDr|1`nbi#&P7DJowA!C zdZXZyj9J*Z9*GiVRwZeoc5PjG3B-4N>5mgS-lKI3?Dp=)Ewot`4WcmLzq zmSrUzsN16wy6xd=r#0)+1a(E2nAhn%U3=|Qts(y>z3)wr(@O5N8||=Tb7N+@*`aZ+ d`@hN$-h>Mkk2yAEZUH7C22WQ%mvv4FO#m`hY?uH5 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..c2744c18fb62f6b4c3765f2c91dc737d79710953 GIT binary patch literal 437 zcmZQ%U|{$U#2~<>lTwseo|u%As-KvY9ABJVRGO5OS`?q0pI1_ppA(;-mKL8|Qj`;) zm{X9EC}hQDVFA$yB^SVXEN~WfhSVfR{m|mnqGJ85{EWQf{5*ZV^rFNRpvB3F$r-7| z`Xxn)dBth@MY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA z$uv>F2&fn43EkY3f=t~q6Jk80SCE$ubn1Mlb2|h4+0YZE_9aDee@l-j_r_2O hxw+DI65*dh>%u)3@t$j7m<6k literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..ac4aa7ff12e96f40a0dbd30a88d6262fdc88c574 GIT binary patch literal 431 zcmZQ%U|`^61QI~NWtdWwSe}@ald7MXlpJ52TvVErlv)&@oS#=xl%Eq{k{@4Clv-Sz zni8K|Qj`;KU|=9*#bsdu(G4XRzsEa!T{M>oDq_}`wUQZ8~ARx^H z!W<@Yl0EmT=g!@CfZxGm@}?~z zYMKfrhi^SRc54mir48j3iTNJCHvd|>I+)L1W19WZPwRhJzpDT7ztq|Izr}~wsFVdQ&MBb@01}{sApigX literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..dcd3ab721a27619ea39056dde373ccf83bf17e89 GIT binary patch literal 483 zcmZQ%U|`^61QI~NWtdWwSe}@ald7MXlpJ52TvVErlv)&@oS#=xl%Eq{k{@4Clv-Sz zni8K|Qj`;KU|=d_#bsdu(G4XRzoDq_}`wUQZ8~ARsLS z!Wky4aco|u%As-KvY9ABJVRGO5OS`=SUl$o1YR2iRJQj`;)m{X9E zC}hQDVFA$uB^SVXEN~WfhSUT`{m|mnqGJ85{EWQf{5*ZV^rFNRpry%)$r-7|`Xxn) zdBth@MY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77DJ?BA$uv>F z2&fn40o~k`f=t~q6G9%*v(zidOJ_I@b!umTpF1y?6c>=o>*?VV1f)T19uAPFJ|;cU z22v7v1^zient>HW00E5t4`gSX?9T>LE_nqZ$qY;^%nCq`1`wkIq`(7N00PWF%n8Ii zAPx{Pf(YKDS4Dx8oTrOp2*>s0gavj9fA%xXeo*h@sFrgpQbNq=0?_)>O)TyU9)$RT Oba=Y@xvXmQs{ho|u%As-KvY9ABJVRGO5OS`=SWl$e|ypIcIt6Q7tkGnK`LITF+45FfGNx!q~#ZJlQzK$kNil($YB9A|*M=G$}1DG08MhzX+%o z=6v1Ul!8p%G86pX(6iJl$V+E91a)X4@Pgg^5eG*28cn83hrDv~kzxY+D&kU~#aKbLh*2~7Z^ CoM8$8 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..00fb7488e8e809a9321d270841ce7474fa021e03 GIT binary patch literal 585 zcmZQ%U|@I)#2~<>lv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S>+zZkY*gFX&n7738HexHCdr*%{#H&dVjm1?2I1dbk7uX(1q%-~f3iHYRl!h?7^~ zpTiDha04+1lm=1^|AF}Cw|*@k6_8gDlFY!w!lnS^XaF%32*4Of!Nvp?1JPnYECEvk zrJ+t^U^qKLVGmHO&(p;*MC1J12^)D283?%E->H<#WtQNsvaFHS$oW{uj0TY}E=v7M zjyEPsM;(d$oRYH@0lu12ut$kHB zUwo%YYvOW0zpU;1o~VfxB(KlP|16ohZ-!@%tW1t~_s@QxGcpa@ojZk|sRga>OgHg5 cwV$Dav2t6fi6P66<{9 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..cd512ad266de67b947a23add2ebc01902d95e7a7 GIT binary patch literal 657 zcmZQ%U|{$N#2~<>l2Vjdo|u%As-KvY9A8|XS(2O)Us9BqoE@KAQj`;)m{X9EC}hQD zVFA$qB^SVXEN~WfhExxuerR!OQL%njenwt#exANwdQoBu(8A=z35>${a=WhSe^o5-k{Wt+=?( zP1Ms|)S)DPW9wgy3u*_d6i>d+IWPaRn(be|a>2V>{+nmr-CdYzB9Z-x!|vvaqkW6= z=E}tXes@00sFq)3vS)2^m0=Rgb2G8c(@kFS9VmFWKPWnT%d1Z-nm7bDCClv&p2{j< zG4W2}{n)P@2Y61ze3e-s{o@hy204KbTz}p?(Ae^(!6@TTQQG(C`FjQLRO|1MzFM*3 kg!WVKcXxM4=-kh@WRSJ|vs~nEKtITPp00i_>zopr07)CUv;Y7A literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a9d22e998532c3948091d1453453bdbb337f1c8d GIT binary patch literal 452 zcmZQ%U|{$R#2~<>no^Wlo|u%As-KvY9AA={6rY)wl9`-Xl3x^`TT+x0pO{mSktk%v zWnlr)0VNl}c`R@ic7{|hqkd>{YEiL%R(?iaaekh@UV2et3ed*n#N>?BV*Qe$#Ju9P z{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$Uj)<( zbG>eENnF(HB=vnF&S1lB^6htxW8;f=%@xU7oIfF6*2UngGFKVGaNQ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..b64bed758da361ae0924ba59688a476d5e6e48ca GIT binary patch literal 485 zcmZQ%U|?Wo1QI~NrI%8aSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18lRJzRuZ3E zQj`;)l30{2WW{A+0nrL27r=Qea29rk)D%Yj(BjmhV*RZAjJ)FfJbk_NqC}t_`pJpO z8L7qkB}IvO#cBCPxy8Ch`e~UtsX$uKP~R{u#lpha!o)n;IK{})(!kQvIMpI0Imt9B zEiEz0G*Q0@s2Ao9-Q1LdOx-dQ;=H3*ke3d0>}jZjI|KaOdAX#xfLvZr50@Yytpmhj z9Be>xcWT`!AT`O;#WAFUF=>J6jScTtFe~<~YnSU2Vn}k>T^hn_z|s)7^r1+(=3u7jhIrmTFAvJdsyA(B`s2r9?J#k_rj5dhi!$8P++`Y; e&HMR#FI)9zl`_+~hebfwF?hQAxvX{m|mnqGJ85{EWQf{5*ZV^rA$dCHl#U z$r-7|`Xxn)dBth@MY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77 zDJ?BA$uv>F2&fn458d39f=t~q6C(YiSCE&^a2o2~&Hz7mUM?vvAeYzE!zBnv>j1GB z2OE&womzJaNKNu|aSW+oOj=;-vEpr+Ld(Uk7Y+w9Iq+m`?_0&t#$dn|9@*j=!6N8# z!2?JLIx??Fxc>8eWBczt`3$$Y_ug5pymDin4Cg_H*VR+ij(rk|IJ_{b;8LUIwW1|r zGGWZmuO0|xe|E#2Aug{)-(oG>x7CgIwlfw#b}0yJxZjz;uJOsdm7T?MR`S759n2T5 e7}xK=&M-Ur#-l|%XVZYLWAJqKb6Mw<&;$TG)|p=b literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..27cecb9b454de6a96ba8a6b3cc6f663771074046 GIT binary patch literal 597 zcmZQ%U|?Wp1QI~NWsp*oSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18lRh)0;Woe za^h1Gi?W5RxGXFnnxW(ZIFAL+!p@MI#;6}!oLW?@pOv4HSDc@xua{nw2sBXdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&B zB_^3B>K6g^!aSmzn^KUeTV_J6hx7{a(t*x3hlWUJfS)@rmlPLJh}YA@B?w510I>uI z8<70veYXrq{quBj45?sDQeZKAV||M8$kv8yuMVj-8E`Bxm^j(uHqW~YM_micb(!0% zHZT>uc$A{LsW|^!Z2DyVefdwfH~nzfFFujGf>r!)OOi$76${rj(;q0_VRIC3zuU6t zhBHT|(h<8wb6K`eXxuXKVA*c-+YTHr13G+Nq*;YM9CuA|T4ZL%BYtUdk6D)?yZ!__ z+rt+hFxfOOSgy-!=hS19@!`I~kL3ps7)WGXFy`4M^~ZpxF6+Z7gNn5WBX_VFhDS@u z9NFyn!8Q8mRU@wb{SgfxZ++d<;?w`SV(ZOsTYDCqHjj4Qa&@0Yqj*K`wYSpCtZdn2 m&OBtZ|G-^W*j{PT`|d20{kl^5pE~N`*!Fbwb6Mw<&;$U_vdw@1 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..f099210673c125f5c501c401a70919c3122620f3 GIT binary patch literal 596 zcmZQ%U|`^61QI~NWtdWwSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18lRh)0;Woe za^iC`(=$qhthg*JAiAOC0yvKa&ce=+n$D;nTAW%`te=&ikyo6br>~b@ln69mKRGcu zBeht+q$n}3I4!>@w^-LmKP@vS6-etD>Kmq|SXdZan3yLUrx;mU8dzEyr&^>WCz&Rt zr6nerCh8Xf^}>9jo10RQsas}3w2$-(^3oa1pdr#3;OEZECB+5w0I#QqOAwG20b&Ub zHX!-S`)(PK`s?Z97*fHQq`)GSwcD~`huDRv*c&baY>XmmMMCMb56bS^q492A>Vp9O zFb2NZIcr?X-ksg~I_J~T?`!{r3CO?ru2jUh{=uU80X*sxq?UJl6|!l$t?=T}hS>ok z)f|exEjQe^Onx9{G{Ma1M&9={X%0nMu8o};ixZeMJ*EeFTshYE(5Y(5MK{A|4_GfP zPq&bYX-F6NvSsN(_l}9|y#J)x{+mchurc#iwK;}2%eNi$=Z%wOTW@N?eO=*MmUnY= zg&D`bjMY1$+#Y@xkjI_GvHr-ac|_0<^HR#xjdc?33B? zTT+x0pORRVEo8-IVFA$#B^SVXEN~WfhSXF>{m|mnqGJ85{EWQf{5*ZV^rA$dCHl#U z$r-7|`Xxn)dBth@MY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77 zDJ?BA$uv>F2&fn458d39f=t~q6C(YiSCE&^up8>$&Hz7mUM?vvAeYzE!zBnv>j1GB z2OE&womzJaNHux7IEGX(CM$^M+$g`&C~?N%0mH)w|5F}(ci1D>A>0s=@WEQ*@<&$Z z;|Dox>NzYW9==%kIDv&vB8zXI{S}!%^$D^zuO0-l_ght5IrzSPR`Yd!Q+9P8Q+DnE z%g8s&-I-T3bn%%j2sbXa6P20GV4SaEVU@VxR|TU(&HO1Q-kwGb3^pp(F5TO|!~^_8j1K?+ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..39b662e46bccdd98780a2659e96a9c4b3b86f21f GIT binary patch literal 472 zcmZQ%U|?Wp1QI~NWsp*oSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18ef!|o>3B? zTT+x0p95kFS#eodKr}SU)R2Bd<6=PhT&+C=qCjesW@R zMryHsNl{{6aaw*+Zn3VBep+TuDv;JQ)Hh5^v9K_Vj1GB z2OE&womzJaNHu!8IEGX(CM$@lTq&~_XqIG?QIPpFpXZNU$93jHCIN1qI`(9%eF-lt zBpRRdE3zxg*p|rj9AI=ld+>YvtmgmxYnt6@(U9<(fcmcXc` z-u?GW27_q8#e-~LveM2iZ%P(Uc*e`>uFex8ug}o&e)6O=O;0w4O8!^MJIwx`20Dhp M)78&qol`;+0BQD(LjV8( literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..da1d133d6c23949313c21c02bbd78f2b60d4c213 GIT binary patch literal 459 zcmZQ%U|{$U#2~<>ol=xoo|u%As-KvY9AA=JQIeLKnv)Wrm|T)smRORS5}#XAloOwr zQ;?A;WW{A+0nrB~7r=Qea29rk)MQ5e(BjmhV*RZAjJ)FfJbk_NqQn%Sy~&Bm8L7qk zB}IvO#cBCPxy8Ch`e~UtsX$uKP~R{u#lpha!o)n;IK{})(!kQvIMpI0Imt9BEiEz0 zG*Q0@s2Ao3-Q1LdOx-dQBK)FfsaKGf4s`2QsCzpD{M>oDq_}`wUQZ8~ARx^H#M~Sp zpFONxas^095E yRkpAbkS*fr;us=vIXOY%S;NGK_GO%EF;)zQ?u^W*zKUK2sr7XAb6Mw<&;$VRjAT~; literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..c3e85546cef7c9246813466636dcfd0911e845ed GIT binary patch literal 452 zcmZQ%U|{$S#2~<>nNpNko|u%As-KvY9AA=JQIeLKnv)WrlA4xSno|;=TT+x0pO{mS zktk%vWnlr)1tk~2c`R@ic81hMM*Yy@)S_bjto)3;;`}^)z4W5Q6rioiiOCtM#rh>h ziFw6o`9-kGnK`LITF+45FfGNx!q~#ZJlQzK$kNil($YB9A|*M=G$}1DG08Mh zzX+%o<^$c_l!8p%G82M6(X-Sm$V&&hbQ9FIodJICyj)UTKrXMRhf5HU<^f`E4v@bd zRxY^$q$KhR{BwXb956yz_keV?*_;3%Wsz49lFY!w#H0Y^XaF%9U@<@lfGhw3b_m75 w_$pi23CI@oba4!kxSX6I@vLFuL%B{X2Cb(I56;cmrvg&w>FVdQ&MBb@05ZH|5&!@I literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..4a30b56a201e955911926562163a800ee2ddf48b GIT binary patch literal 468 zcmZQ%U|`^71QI~NWt38sSe}@ald7MXlpJ4@T2YdgnVORlU!0m)l$;Ttm|T)smRORS z5}#XAloOwrQ;?A;WW{A+0nrX67r=Qea29rk)GS8*(BjmhV*RZAjJ)FfJbk_NqQn%S z^~s6J8L7qkB}IvO#cBCPxy8Ch`e~UtsX$uKP~R{u#lpha!o)n;IK{})(!kQvIMpI0 zImt9BEiEz0G*Q0@s2AoH-Q1LdOx-dQ;=QD2saKGf&aesU=*|E?cU~?jE+CiJ)59eQ zNb>+OGY80fyjp5Ifs{mEfqxE=#sL3;A~$3uQh=02UO`AQ0}~UI0+6Et#Atxg03iUf z00fvo#D5^L)%@EFWD0t^IEHXsPfkz}HTd_xKbDC>-;{}gMWpEoNTH{zpUXO@geCw{ ClxZda literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..eab639304e5da7cf654cc56d26ccb73c2f7687b1 GIT binary patch literal 464 zcmZQ%U|`^61QI~NWsp*oSe}@ald7MXlpJ4@T2YdgnVORlU!0m)l$;TtlA4xSno|;= zTT+x0pO{mSktk%vWnlr)3?&!9c`R@ic81gpM*Yy@)S_bjto)3;;`}^)z4W5Q6rknF ziOCtM#rh>hiFw6o`9-kGnK`LITF+45FfGNx!q~#ZJlQzK$kNil($YB9A|*M= zG$}1DG08MhzX+%o<`Lc8l!8p%G81Awq-UvDkeAM|3F_p|06%wLE-5Y`m)Fz7B?w6K z05LNM$aB0}YCD0HL|%b^4v@wG^*|9*mv!+#$|A2IB$oKlono|u%As-Kr%l9`s7oLG{XpBJB$9-ot69-o(Al$)3%WW{A+ z0Z|Vn7r=Qea29rkR5zo3XmM&$v3^#5MqY7#p1xjsQDO?vzU0K@jMQTNlA^@C;xwQ= z#kxlNX_+~xKw8gGKQ%Qq(IUmvEX~5qB-Jp*$jmI&BE`VW$T%g{A}!U(P`?PM7v^@| z+?0Y$-7*tAe$cbjE67U+y74;Hot*)G?z~)5TtF_br-w@rkmdkk5W(;;l2Vjdo|u%As-Kr%l9`s7oLG{XpBJB$9-ot69$!$DT3no(B4ov7 zVFA$qB^SVXEN~WfhExxuerR!OQL%njenwt#exANwdQoBu(8A=z>dejnKX+a(DJ~$F*VDr#2uO2)Fb5Nm^v>111EeJK z3jA|`GzRz&6uBWQkpiSb@(Mzd8JL(j6@VNKAVvoU5CKp)u>moRW(2aq_`hsmDmHxL z$^uEC8YNE`#}JO|$sygRQj?OB99aMV`o>G)po|u%As-Kr%l9`s7oLG{XpBJB$9-o(Al$)3nUr>}B3V^@G`lssJ=LpZJ{Upbwho|Km6!218+zto=}AG0%?9XQg!%(H@p;Y%gEoYHAc Q2cT*OPgg&ebxsLQ06>~`b^rhX literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..6bd8eca80ac9b82b1db002e80c539fbeee5218f4 GIT binary patch literal 372 zcmZQ%U|{$S#2~<>l~R;go|u%As-Kr%l9^T+UyzuWniCJ^WF{w;Waj6^XC?!Qq;w%G zE(;5YHYm9O&SQbIurs74FzSaErxq3KXXR()73b&a>!lYZrU0!?PE5{7E!Hn7O3W)x z%P-0;)-}>k%gjjy(t3vasi~=n7AdA?X%=QCsfH;=W@f1tDF$Xn#wn>5X{knr`b9v! zFfZulrW9oAmYERtie5opI?$m>P{(!#___0PNpS(Wyq+E|K|q=xggKaiPdcmYVbjo;aZ}#-G5=xn?Owr Mp00i_>zopr0J(BvG5`Po literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_action_bar_item_background_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_action_bar_item_background_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..e88a92ecddd0cc85ea88b0ee96da8e8082647c65 GIT binary patch literal 586 zcma)4y-ve05Vk4(Q71qkA;eaRp;F_tr6TFVz`_eKM;F^^Or1Eg&Ckd)@C3XmoJ%s4 zE?jiJ^XL0~_gSHYkRHVaZ5#^=Z;)%rAm`@q#FWlv68$DU1DJ5#f0V?khZ4!o3(c?-2GjIG>k!3w1%#%Rvwg-DWR za(l;@Vv(kCnl5D`c)rSu0`e6wi`-7g>~%5!ubAk)(l}z=zDAFXb~z>2?^j$bSF Ww+^vjcvqm|U$K8*$D@DnuFnrVxr&1T literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_btn_colored_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_btn_colored_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..329899f0b2eefdcbecde87b19bb2b35123e3ab3e GIT binary patch literal 2286 zcmcgsyKWmt6dj79_)rwT5+{-s3Gp+sA+9CG2&F=fdQk};=Emm1<7}AbSsJtl zR!4{y>TqcCz*(K<{mhQ?_06CkCkC>;5p49MPG_t0Pd7JC%)b5OC{cgaCuvnxqnKCJvU)e8)T(4#QR*j|LoNfmKm@!5eg^&o zmZ7%?d&}TtnEK>E=wPvemYTCt{kIrFH4=xl5gU{Faeypb?fUW9+`Af zvBJI^r@3+6VP@lJP}j-7y;o~%Cuu)5*2Q62cYXb+?pQ}roDPoleOxA@f7JWs%O&sO zWLG$=HZ}IYbnEqL{nXrCFGFocs#YtisOt5Jat@}iliaAAH;2xRcY+|tQ5@;KJ+*Cz z*(lKC?~6kw{%Wf~7xM`~dqcetZnlk)yX zs#YV}j4ZA8OxwAlZ%2AS| zf1f)Ku58Pgd_pb)jK{HvIb-5V6obB60Ioq1lah8cdFsGdi(OD|#aPI3c z{-u(R_$kN#4C@~N+%u)*&G$g!(}$loIp#<^O0lCqv75)-w_`o{G|`T-I_;TnC;nET zBmS6^?~nE4e&~-<{P}kD$1}k9PyF#Ir$6?MgZ*d%a{&EOl4Ip-Q;w1x&za9LX4zJ9 z@nZ__*I0PJXUv^v;u;{iOD{ncL+W)MU!rrGzTGI3-{ya#6VZ-s49m(uNOU0!o*7F zW_QZtG>gFF37^E$_h#%z*>oIdBBL13myBflt6^;0y2-_y&9jn$5{$ zxn`r$Q(>*<<#Z2}E+Ty>WO{1YaJVlDsZ}Z$p~{rzXGv-!*6Ez9tkrTll+gJM+u2F1 zT`xE{m|ZT+`25pxsB$jWCvGZ#>}g>l%LW6-&y=+)XT6?#dJ)Bz_4_VAOjn6z-L89h zsn)FB#u3pHdp#Y6Ruro&!fH$+){a${N^Ft6^}3iO!rNve&<$XNXn@&WZ%Xb$vSQa$3TUfoye^?g-(HGAqsGxq** GCcgmLR^e^{ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_edit_text_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_edit_text_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..0ad200e6880a525a5bf9da5d2c3552e7f17fbc61 GIT binary patch literal 1734 zcmb7E%T5$Q6s>V)WEcbiUnr=Un2->d7LYig2_Rc^VI(fwn(k_*wI7r20*Na$uKWT% zz#nko&YeHN-i6^4`~p0uhGND+Fh=_b5QhMzdfU(B8`+4IBO9Kp{7}1E z?P@ocT4kY(MwhGgdfWEY|0}1M--#RV3eIM(vfO!F}J@66O z2R;Fxfv>uI91 zG+Og?xP#~L#n{-2@##K&itCe+n4Vts!&oIfR}m(;(rzQwI*m`>RMcu`7&p@_e2dI7 z>NreIo#CLyK?X4SroDTTungevk~Y1?pPokgxR{j%)t0qmIjDv;X|2C-vYF1MZf z`i^f#*ZAtAlah$72c{fjN5OtdU=q?;kRV0My1#XoZZ+5B3t}69{IKh$g%88wgA&FPE+oGNj;=+*| z|By@n!}d)!5h7J5dYSRFXYyv8fHC$LAe+9HR@{iRR9vLly423ErM}iu*>xqnvRaf! zt7($#k3V=nf57}ty!;vP&rVs#znG$SrsmPc3W?8UA}f^R-iq4g##ZiZ&U0NV_$cOa zE|X-DynUA~@0zZIXz;ECWFqyoG^I2mo3}d-vCnuMpmey#w65d;$ znbOz~#;T1qSG8p0al6fi!)A|-MupOw!n4!U!u#!tbB6&{!bR=LC^Hoo+pkUQ|FT^n zwu%h~PTwjNbEec1ORsB><&BoUVBdp7bPWrhu@`XE*A5oKkAMU4bi*A_dti-HF#t;_sepx-T(jq literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_notification_action_background.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_notification_action_background.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..25350498c3413e7df46e79d0155505290246f5f4 GIT binary patch literal 1738 zcmaJ>J8u&~5MDnLKazk6<`qmCAw`KVF~qXc5K)0dfe36&*sN zpx_tKAtC+%Euy2NM6}e1k|KPw_JVVHZ1iRJzMF4mc6NLP#@H`_R{dt6`92>+!b_Bq zL+NuPRnq6aH3RPNjI`QKg2k<)X~+hQZ=bi1M#tam%N0?`|a&W5L}G-5=0jAlwM>iLLH@&K}^P86snk7tU`lbg;@j+v51=ois0!->Ues04bM&dVa)6z zzdC?XqgW-fPS?bqG_)>apVuvbqd26q@g{Z92Y@uwbr^7tr+4S@O!3OFw5X2r06kMY zvcxrj(u5;R+=UZ3I^(p~onZ+)<)cOW{27R&-!$bU>vY$#AFB=z=djP~E`zH8q$69J zoIS5|@mlb4@yI71kM4jL#UtzD<#iN~dP(0W7mxay?_~|#EI{$dQs3x4>2pUMS>kAJ n@*L%y*1B5qIUS$xvE%diT{vYvoPU1a9G{R4qgKU)lZe;agk zUmP)iiK`EbKI&L$`Yh8@%aS@v#RQ6S#?x5STCq|mQWbja(j?1cXlF{NiST{TznybW zxIr)p0x$Ljk7iMluxQ4pLTod@_{H`98^U=jag@M-F7FUBE#W5m$_8C>afBzTc$Zs|L%|UdaM*mW`cA&8+S4qrFC5`DAia( z!L+k;aJVcet5%!wnxJkM8_U+3z{sj9k5T{K>SF?kbwVzoPJwSo3%U)oz(4Hq=C6zQ hIgar$V*G5ttOU7iqYc*qj2O;n`=CaX%R1nj+CLAxid+By literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v24_ic_launcher_foreground.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v24_ic_launcher_foreground.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..1a4a32a6658ee9d25d790747573e8de3b577fe10 GIT binary patch literal 3076 zcmdT_O>Y}j6n&2Ee3G`50;Q^mrDOq>`)0=T-4((Jv2fG{MQtNNG_fbKi9KV@OcK~Y z#VS98HNOL~Kw^i)iUk|Qjs+Wb;hgtoi0gzF1RI`pe9zpu@7_D_&78L&g!l&FSlt+8 z(Mhy7j*U@&cN`rh{b8K#?x$INkfle-;QGDQAkeWF{%>CJJngu3V0@6rS#Ers4wF1h zjE8AT-dKDS4t(i_yl7iyC{3&9yE61~;luP)nH}*3#vyE%u&{{&UfcDg zXOVc0p3Yvi({`nc05oK^95foJY+ldyqy=tCE9@f1aof1-xGl}?P}(gWg6DO;E_i6Q zZC?f!SHN`7xgWGuOb@HkK^g~lyN<8Yceny5?x<3})pGGPmh`Qz>z_M4QzD6@f<0S$ z;7ro(X<|n-8c{SY z@Et|TAWKIBu=qGm?hgj|&h|&+aW@^OnOI&XfAHxv7K@9+cyur<#Ky+3D5m!eBZsa{ zqFk0KWIvr4D(js)&x)8HDjhm6oTSN4oTcb#8Wls-q53>t?E}hob?) z78j4>et{mZTsa=aC(|@5-qQ`PuU8Ho*=(Mu8PK68wPmUq1m>Ec)I!3<8O93iRbbxF z*ek#S;tSpe7|-!C_znCZO=@udI>2kptJBg)O@yQ=A1!^aUgBdvvvXPV6h6wZu6TC# zA~>VRw-NKa z{dx3@GyQ&5_-}h?ped7E1IOBfgJb@_!9UI_#XHX z_!;;W_#K!%&%qr>AMQBKasKg4$N$n2PF~-0Z7^uD8FqXyA7@t(xL_fU49g8K%2~77 zR|3{(#L3_h?!!EWv>as7U=%0+xr#L!qavO_l*XeZjxvyRe?N~4ki3Yp;!#B&qnCnu z`meO;6zfN=slGe%%XDG>d*?o0_KnTz4!=8U0JVhQA}xK?JL(U8wEX_L_tcQ84}Qz+ zgSx@NdDI_%gPcc8AGPQ*jhW9?)!=*iyc!5mHE63Ee9c*xw$g+7T$O)*J?HfRd7h~g Fe*kJ=PfGv* literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-watch-v20_abc_dialog_material_background.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-watch-v20_abc_dialog_material_background.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..f75e204bcbbd32002868a239ad4473f7254f8515 GIT binary patch literal 666 zcmah`%TB{E5Of+!AE&B{1VUUmAu2WQgNmdlegdx5#&#ZU5?8jN9QgnweuV$y2!*ELEY$Ga6^P!0u1!H0D7t4{q<+ zoX^5=5{7dTa2741IEH8eRH3%G*jz`6r40Qsiju&Dr~NNw=CEa!Edr>NK`- z{deFqv|n%V znJg%5H&vQO)axn143tSO@Bp2{w(2s^INtf{bkQ}IGa%>K28b^#8_7kqkhk6&-mbOr u+ry`hUG1~n2?Eb@ZEti#oUO)|{jZ0*7IL<%&UUxno^Wlo|u%As-KvY9G{pJU!0Lxlp0@XdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&BB_^3B>K6g^ z!d$Ogk&#l6sas}(*Bg44dIfpu5>Tgi2Kc%2a!GLk-OcOi;SvO-6+oB+no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YU?610 zWnlr)0VN$6VO$m%0|zbD!>AuxoLW?@pOv4HSDc@xua{nwm;$shIT2`Av3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zxn8#-Bc&iyx6A~uH}nef(is>ep-%4%@N?(olHvloo7dCBB?w46fG`KxM+rMaft&}P zE{-7;jBjrk_B9&_v_3pPMUjbbLX6_6qsmWXG<+9$HE;JhyJ6DS)j#8N|72&__ zg`CF3*XPr&rg8soI=gJv-0#{VJoi>*6&4yvm8FyvZCtTx`@97uA3yC{qYn%g1_n=8KbLh*2~7Y<&$>SV literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..57866356b028678e1c82bb26cf93cb7009863d71 GIT binary patch literal 696 zcmZQ%U|{$J#2~<>no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YXewmI zWnlr)0VN$6VO$m%0|zbD!>AuxoLW?@pOv4HSDc@xua{nwm;$shIT2`Av3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zxn8#-Bc&iyx6A~uH}nef(is>wK%L$h;OEZECB+4FH?OCMOAwHD0AUWWj}mru#W=5DdfI=Oxg zUth*F$hRn4^S_jO@L4_WfY`xO-VZ-HFR)+Z*v9QJWBtnA%q>6VN}sP+IPu>(L(tcu zyVi2QV@BaDhW}ggpG{>rFIpy3`{wH&Ifole#(w7$CfFPEey(EZ-oW(hz!Bj`mAMC` zR;>Kb@&D;-gY|#8%p83AXB5>PdtB+;z{~j&sH9;}XgaL4CPFbHX5Rj%=j@B;am(oaKltP~<4^wO zKl`8m)YteFfAPuwC8z3rr~hBH$!8`o(4NeVe{?86XT{o|*}(W<@O1TaS?83{1ORW_ B{(%4h literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..e7630c00777c5119f396d5fb7e629ab6ece115ff GIT binary patch literal 915 zcmZQ%U|{$J#2~<>no^Wlo|u%As-KvY9G_H@7hjZ^l9?Z0k{_R+7oS^FloM}YU?610 zWnlr)0VN$6VO$m%0|zbD!>AuxoLW?@pOv4HSDc@xua^$A188G%Vsb`mv3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zxn8#-Bc&iyx6A~uH}nef(is@KnIJCh4DfU3<&xq8@_0QxT!MhK0|;|~eUz{>l!1XM z$kW9!q=NCym5p7&(Gsi=^54s{@n#tZpAu4qVpWV_X*wtAH|f8bwBGdYnDd_N9A}iS+WhnS{%iZM-@9%4FD2%&)OC;g`u)*6 zBu+TEng!IgPh1la$aA;w_y_sypZ`V9KUik0oWI9-^9F;@=cJX>^MYQN^{II8$bZxQ zZ|Tkc{VTd7AEM#aK7iA zXvJ>vWnY=Z;*#a{>!K^}Rn|={jI*wJXXSKo<_5uMeG^Jt4^6CmThw;x>|c)^B5~jL zos`tio-W9C_s)JXsfUs48A7gYzV*~JNc?A#)|%E}k=lTQsNFuIOZ40e)LM?63=^D_ z(PCiyChfttR)J}J6TdhfTDVj|Ebsl@1M`Is{^NhBxBlU0yXyu2`7i#P|7icMjm@BR z)YkAfy1P)`E9ZmZqvALGo%>V%P5Bl5?&y)#Gp7fye{L7B!-ZK%^hAkW$ghys$y?LY Z)D*RkMy@Jav;e4?!PC{xWt~$(696d$d3OK+ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..003f7bf9204438db3636b91ee3e83fa1d95d5925 GIT binary patch literal 1049 zcmZQ%U|{$J#2~<>no^Wlo|u%As-KvY9G_H@7hjZ^l9?Z0k{_R+7oS^FloM}YXewmI zWnlr)0VN$6VO$m%0|zbD!>AuxoLW?@pOv4HSDc@xua^$A188G%Vsb`mv3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zxn8#-Bc&iyx6A~uH}nef(is>8nISIi4DfU3<&xq8@_0QxT!MhK0|;|~eUz{>l!1Zi zhNp{TNCo4YDF?lx;{}e@-^*}n7K@$gq^QRo%lYokQ^Q-XSDSt?l)hz7S;_tW+`5<- zoBSUxx~btJ{;yE*kyAiOkD|GyY+Ju{-o;C|UH*#{wK@Bx?fd!c%pB{(6}{JiX#XBH zwojKDxqXCEOD1M==@(AyV2Uc!`h082oQtmKC1ReeU$N;VqkTqE?xii48#7m>3BI#D zC3my!`;{O4A9l=Gn#Qrv{qL&}eKXkkuPpX$mvg+d*g5*Yd#Bdg;@tO_(&DxXO z=7#w!z9(KZ(Yo?@(rMX$&HZzad}|Z0HxRZf@^iSm{_@VutG}J{Py9YOL*dl_f2K^b zw@ba`Zf!fgt=(sj?r$|)Yt_2WT*VKui}c!NNfhs`pJ_a`!1Sy=(>9J-9FZ?A%edW7 zCWrE*PdPeE`TwfPY*A-U-rQ27q;WgmC6u$xV2RDMjLxOA7PIa8tJb*fZLES<`lFQ` z@`90mAAhQ^kKLHlWqMrr&FjC{o@PY{EBe&nubll1kd2< L>gTe~DWM4f96h(u literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..7b6f4069b02d018bb834a6a4cfc227ee7d1863f4 GIT binary patch literal 1798 zcmZQ%U|{$K#2~<>ky4aco|u%As-KvY9G_H@7hhbSS(2O)Uy>i6pBJB7Qj`;K00f3Y zR$LYq5KU0hff2@KfiZB8EApqylL@Lw&=v6blPu3lsBX;}j!HO9M+w<5Y{3gRKn!vO2%z&Jq7V`u1u((llUH0B7+85dT^vIq4!@mYpCjTf za%{i(=I!5pzG3-)R9uH+<3vRlrj&q|*dr4=T)K8FcJxr-;<~)V!}V~Ph>BOs0oM$r z>B|_ImK^ZZS*Wr}$3;LN;H|RiMn5_i*M5(Z7#0{ckmNI|l_Sa0*Ho zF#J;aRd`j4)93d4E8Azj*{r}Meq(Cm7Nd-&eP#z7YU964+kT4uX|~o)#G&o~rurNA z)9bAM7yl1_5b#7-k8Q?(XO{=;Ognbwerxf{Fw2S1-}Gj$*O_@ccJgw#JaC>O!FoP$ zZ`=ds>t<(owNfKCm)&|15dBu{%&P$DwA2Y-B<@0SvDKApAI>}o$lX@XxvD|?>&wKm zw?qQA#4NlxM{ZvbzsTyoZyp`NTUVZ*wb?kR$uieux!(L$tv8gXKR!|vvA5xNz0oFa z#XXaZd)f^)W&iiw@k{B^Bqn(exoc|Uor9U_1~7_b0mY3KMOucQw*2uV%T1$vH0}GuQ9WCZdJBU%1gb% zn(&qJ;X;{M?prO}e=%H`s{fmfsbq`lWP_)#lFr_eJg3sPt$}G`aAZu=_p;Mw&x}eL z84OQv+k5xHjx(%_tC*y!I5vo`WYk%>kbTAS>GSt_+-zumpR2VqL}Nox)$9lSJLcrc zJUqMg-mb1g*K*g%K9t$ea3D7DW{~HMoR?iq%%^?^U$0b(I(f<0<@KID|7QwKT_>w7s@+Aj zKt*_E`|)*3MTeiAQ&`vTCTAlhmJn`sn$t!~uJVGj^3KbmH(DQfr}v1aS_gR~>(4#e zH{-qR`n8N7f2TW#C0eeY$>qGSUhLyGwu+zG0@)&mE;Cm}oicjXyY$NCH290*4OQA-ljR@?!hM+M;=eQp0iCbzo?{~AvyR$gyAaA(6whH?(Z#5y0VeWTcd6c zm#lwJ+502EuBC;DZr9^-nf)l^{T;iygPRIn8Rv5KZnmjgSZsZ3_M?txH(VW_ow+_| zo2k*;zW*DF%if0Vztt%FH2$Eh^`Z`g;`{YK|B0*VUOu0;AiybULdVgl*;W?|H@yGm znyLd#=&f2c8&8&=f6p5o_Uzly=Gqq-uX?sBu|>YhY;+M#I-7saL)HFv)q?!H?H9!u zkDXTLXKH*fp|a%v@%(f3|FWmn9=5A%6A9VZu)L}Gx$>=m?4-?nkM>^k-=1^((htAb zJNaK$H3Ym|dGqAT-PhOEm;T+}UQntusmiF`XQ9LrQS)-UMXQsHtXwxFT)A>}&Btt& z3ES#l-88wRaKdfd%$FiY7dW_6<+PN{Y=3;nUiEs_()lWXH}U_@NLro#{PO1u7dXPX zx)$|Kc9`&Clh|aP84O89n%xBlb$0xDyhQc6?E>-ehJywA>;4}Qd~nHbs%FnW;kWtQ XXB?NZJf?LJR7iTd`njxgN@xNAl)K_e literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..16a14792bbbe2d5dceb07d3fd8d13a4270872a47 GIT binary patch literal 2003 zcmah~XHXN^77j5$1R{v22#=+>fS@Kp%2K4oP=W{vMT4vfDa3@3BB2N<2q6JiDas-s zf{HvTQVh=^DnW{%Am~#AE}{3bh!h0`!43L+3M+)c*?#~=p#=v@ z8EOJEp^z;tO)brSA(@g7SXsfXtV{zf$t0pVkwPI5%?Yp&Y47&|_MfJb*|h!PW`8#c z)C$UGo&*3I<-Q&FJlewrqM)H5br6&*(o4z~8vt*NW#FEFR7&bhwr4O{Dt-j*Qj+5r zX>H-Lb+VLHm~3~Vyj1)MoE2;1*2qk@4+#JQZPt+*xD?X(ahbfs*V5Mnlx8z2HV&~7 z|Leb1zvcfvfz*E09>r@P0RUME3hC&BZG4w?g!-$m+S4!NeXF>>GwSCVr6vrNn^4ke zd@+AJ=meH}xaU0h;cIB9VfCb&tW!b0CPs2OcTc=5?XaS+IKGLOK)iqnE-@EmSR}uC z68XM;%^Espo=xd1$R@K#ZQ!$65${vKSdI5Z&&aIDYG?!Zv#^i)Em8*f{VDZRZeWnl zp7v(s!3Kc(!sESsj8>%+^U5Xl(XE*@-5Ywpcu%?XDnlFR+ye5qbQ|Sb6K>Y0X|`st z9e_J~lGaDHEmaz{+$6(L?x)eZsg!N0CFnfY!91L3DbBoGF{0RU>YsXbCY};}`gLgR z>R5y}p4YRLwj|`eye6Rxfn7m|n%n@^r~1V`wm8uF6LCaJ7^M@?~E;OC^AbA%RG+ohi zhfZvFx`#$5&i|d+eRyHnBL7W`;>$yJepr7hZ`*?|Lu0~7^r(2fTltyqG~n4a*!XxF zz~({8mjUrQZr3L_u;6!|r%D=KaU$yR$+4_J#tw|Q^xxP#tHl`Qhn+j-i7xH*pj&QD z&XLRM4bZAIhHTEDtNzox(?M-cF>TPQMKCCi?Z0`bViRBJS9#mnl>fyVASg?4%0;Q5 z4><)8Qz?v0-q6ak^R{(pK^RUI9HJ9%U27yFS0`i5n_jS^CYKG0;=q-doN8QGu4?$| z^UBm-y{?E`E_c(g_Mt|sKMq)sc& zM9e=nlQ_9OvO5E7IJo+gL0x!(hajOgaqz8qa44h)ty*!17OyO3Ps6Wqp^z)0E1QhN@73(P!fl4cdiW*l+?x(H zzoU<2#8pPAG~HW58Di|R7n2kIJSwJ5*tG>N1=?FB%m17ncmyeG=9ta%)vH8+#L9XnDnFh9y<{ z4)xsZO>7;^P}hLkQ^Kw}wKwb9R>}JhR#&*BMtiw@*Vtnir;8vV4;tKiRc8+<361bE zZlyLiELOzO78V(FIo8yLC^D$pEH`g$c)p@PFEZl8kZ%!l^mWihGw;BKP9tGy^3OnI z*xs-fwjBI!QhvjJ!hH~>=eqTgG=%O1|4oO+>o)hi5>4|HAT-5Vcs(~xO1n^b|M@K&J2}p%2Oyu%-aeRJ@*<6Tb;75l~R;go|u%As-KvY9G{$+6rYrsoSj~jUz(Q^Uy@%CpIcIt6Q7t< zkdY{4#bsdu(FP?Q7-3u%7y}0_HJMRAv^ce>SU)R2Bd<6=PhT&+C@}?SZE|9AMryHs zNl{{6aaw*+Zn3VBep+TuDv;JQ)Hh5^v9K_V1OaIS5as}R z>@T+=50H|`EAY<&(iq@BP~?WJL<*1!$tws+W?*9CQ~+``fEXQsOa%f7AeI4QkP>Ym z#sxqD491!|mC-=9hNp{TNW|f{=Nmaej@x+sZ+YHw0g*|pecm7=zOC4E)4^Z<4u8#z WvyALcDLbZsL_J;oT-G@yGywn&3Tqtz literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..9a58acbd6a3070f992d27eebd3e9ac8ee1733e62 GIT binary patch literal 504 zcmZQ%00Kr3!N9u2R>FcEzC8hu^PEJhD zNG;YcDN4*MPRlRKE!H*CPs_|n1=4zk`i5yK78b@9Cg#b;DMpr-29}n_sTL{8Nv26@ zX^BauiTXuAy)aMcR%E0UWa^fg5aS!Yg1q!6P=|H~___0PNpS(Wyq+E|K|tC8ggL<8 zO4u0+S}SiG4+< n#ILgTe~DWM4fc!`%U literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..2c7ae19441397bb2802b617fc5cf2ac98bd0ce0d GIT binary patch literal 446 zcmZQ%U|{$L#2~<>o>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`9T;I;78nBuE!D@UA6lGRRIHzspOIIbpQo>vUX+*uv@bjqS{hhd8mC&MBqy0BrKKe%nI`HN z0rkS%uUnCkQjn=zWHE>qsMO(36Ss}Ig-s>1{TTQw;|IQv3_6zq!WRoZB6#rq` z!7g!!^;@cf!GyJZ94p=*O}ymnP^%yDMIs?&v&4p#&kP@2zpvNDz{teHA)v6pgc(Rb w2soR3V9Bi=zYLxqp8PYaz{s+B`QA19y=g8pYh?YLfR14BboFyt=akR{0IBnXxc~qF literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..bd444e0f78da692f68d46caeabbff2175351d32d GIT binary patch literal 752 zcmZQ%U|@I$#2~<>oKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|Vn9T;I;78nBuE!D-SA6lGRRIHzspOIIbpQo>vUX+*uv@ba^IU}`LzoaNJuQ)Bg zD7RSGNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`HN0rkS% zu3M3jQjn=zW`f5PdIfpu3=D6e4(|-`bLZuf;sUyw*VDr#2uK@%FbBv#f4L2L7#J8g zd%8G=R4~4s&gz$w$kW={^E-!mdTP)4H*C_KkB!9ArC%sL*!k|!L-ya71D4#`V)5SO z*Xf_@zTc6vDg4W>!O)!XSeozLYw0M7iWmoh*g21O`CW85z@zY6_RdmW7TcMj2SfLA zzIbG3I`tcmfrt2WZLW^F;hgthI(=RJMsk7gH%}>V!KBdS^NjcJq%`L0?!KrmRn2En zaM^I1WS?7z3xieR{ssKI|jw@8?_FRdsASRzykrg}Q{i zmGyNB*{U1-(c=}PjA26}XCgaKGLL|OmxFIr#@mKnU*c{s@_MX#ReaI#UlQ-?2eZWH zYq;t?nl(v2DpgO(H_E;&)?=1I?Yc<4Up+d9IuzR1rx;}CTjXx?zYsA=K>OJ=Phb1f zVj_25s25*eenTjYd(o*IN(@T(7@3@QxL9sm;8A`|Mm9R>N9@M-`;21u7e5bG`7Qh< z^6~CD-P69tp7++f)ewI(!uH7`VV&wN;ZGKwk8r&I-~R7*ehcQ~8_EtuDtXNV#v+5K LtDnm{r-UW|$>A7M literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..dea2364d51a8ac44639a0001f3e3927c61c02fb4 GIT binary patch literal 511 zcmZQ%U|{$G#2~<>ky4aco|u%As-KvY9G{sSpPQOj8efoDT#_1}TT+x0pO_n;m{X9E zC}hQDVFA$uB^?-HToxDu2QAgls2^IKT2!o`m7kGUoS&z!mtK^Z0<<(aF*zf(Sihtw zF|Rl+zbLm@*GNAtGba^D>lx}BrlnX|7+aW_CmW|2Sy~!cS{kQXq$DSqCZ(k%CYdJc z7XkIcJfK^Vky4PUTV_JYCwc{W>7Su4?F{g9=jD>(0&;mhJzRo-v;hcnfV}jV+mHuH z?ecVS45?szd)=Drkb{WZ!-f^oCz#))UQ10?-(m2%K)i`DJV{~lp?4aLj!orh9l;TI zK8H81j<@y9SYvtVQ^ng;jiR16n9koQc)WRRB<{S(K?dgyz30~43V z0w}?3xXI{(z~W2)IsPoQj=pbv&B)x_^50$_m-$TpY#Gm|)%$zD@Ldn|1%s!npUXO@ GgeCyCqo!m4 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..7a696537563d34ec7ce1125ee4385101719db71f GIT binary patch literal 455 zcmZQ%U|{$K#2~<>nNpNko|u%As-KvY9G{sSpPQOj8eg26lbT$Tn3EHqTT+x0pO{mS zktk%vWnlr)1tlFAVO$m%0|zZNfl)uSIJKx)KPx{YuQ)$XUoX8VF$HLAa$<5uYO#Jv zQDRhurRhTF;6y5F|xEYu(UKzwMa=$GEGWLOH49N z)Gq?+h510YA|s_BQ@6~7pjY$?^3oX?wnH7;8Q|y6%O%AH(?~xil2VTcl{E<=pEZ-v+gMf3b&XuakBoM z8&@+&UF*`mn#Zi3dD5(0AGR`RWIL7%_9)cx7iCU4TFJ@7r1s>s3};Sl!hQY5Ul0DX zRIPi@eWccazrHRomgVOghEEPD%2y1y*^H6|4$V}bSn?`Zx5-Q!=n@7`S3j3^P6no^Wlo|u%As-KvY9G{sSpPQOj8eg1|SdAuxoLW?@pOv4HSDc@xua{nwm;$shIWajSwOGHTC^4@% zEx#zYSl38DEi)$-Nb4Eu8>XdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&BB_^3B>K6g^ z!d$Ogk&#l6sas}(*Bg2TdFc!c51>x(4DfU3<&xq8x|`S2!zBnv8-Oqe$VY#<4S5(C z7?*pxIEGX(zP-x4CLmGdz{knCx3|SQ&$u@s_x8G-hPR&q>20}ts{S4SU6Hp-{rhY? z=}*sp_wV@f#Gvj+VaK~8g3&3DL>|snXny;`U+`vOQnzT;qL*r67Cp}vL>%Nlo4xVS zYx!G@sTEDn8Y?!!@ z!er+kA7?R_d^D(k+HrjsDroOO%&YI0u&;^if+{aXiX|UsKI&N87Wh8amb$nqd*G z&jgnqVf%Wa)nM`#FxemW0%C1B=Pkho?A3~XgE2V z38%?c9+lg=qfL3jL>0m8Bgq=;3vCwYUOXx_Gty^%6e6$f*^ZJxd|WW$RkT*o;# zcc`|QPmK^ezCgLZ&^S_O!kmvR3$>NaG|pI>JU+^``{Ek`?Kgif%KEq(`>hFJ^!40$ zIOMc$m_YYQ!P)A|A{O&JzIl-ESYS|{^Z&i9qA!m2HSN;~1I8SKr>mdKI;Vst0HwYe An*aa+ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_16dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..3b2c0f7d86286e1c9696a5c45e3b289389690a21 GIT binary patch literal 585 zcmZQ%U|@I##2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNXqHkSWW{A+0Z|Jj z9T;I;78nBuE!D=TA6lGRRIHzspOIIbpQo>vUX+*uv@1C=IU}`LzoaNJuQ)BgD7RSG zNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`HN0rkS%ty__i zQjn=zW`e^5dIfpu3=F*?VV1f&%}m;>aOo5h>z85kHvJY5_^ zDj45hG_JYlDAVw9`L?%ZS<817=iZij?YA}gZSz&PlY3i1M`f8FHyJ;H`! yCA5}LslHJ(->A!Q1GD+G#haM;wug7|WHD$5Ns=L5oV(@hJb6Mw<&;$UP9La?M literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_36dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..60047e1f0e8482fb9a079368c94bcc4c6c9b24c5 GIT binary patch literal 904 zcmZQ%U|@I##2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNY?e|WWW{A+0Z|Jj z9T;I;78nBuE!D=TA6lGRRIHzspOIIbpQo>vUX+*uv@1C=IU}`LzoaNJuQ)BgD7RSG zNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`HN0rkS%ty__i zQjn=zW`e^5dIfpu3=BO?5I1%P___0PNpS&ryq+E|K|tCAggHQd`TwN)30vdJ*Lx_?Ob2mt@_ut zd~f&Z@44OQpa1p``7>|%ngmO^NuB(A)S0y ze^0#s_JDDzfUj!7T_=~zHZjwtZSPoSzNGB?ruVKkQJi0nxC+KNJMHpeS(n-N;tI$0 z9QTr2P2OD!yK0v%uvY(?@P$>Pg}Z5w)0fArp6A{#e5WG0CMR4*>;Y5K1xXoEe`%J- zQ3CCpj6E(B=k+M2DkyulJU8X9|K8C)>wo;A*o9S3R2MHZVF~cB=qh7fze)7V)Tern z3d%LR8|Tb%l6fOyc_3oK+YaYkWe+pV1VNS4Y^7EW3AEPI%QP z7RTEDl|7!VJDN1!39)WaU~U&|l~u77JGxmc@QT)>0EMQP9Zkyw9A-AwxaoZ9+^2D^ z<9f%*xFGo}+J|kAxRh(O`tm8L-RkvCs_dWfg7@OLJ5Q#oix~@PB%kLBJ+|i5y?8}d zCb4C=*cZeF9&uv5BERWWMBvTW+DjTf&b_$%eW&B|KppO+3ss+L@@szQt^rtNnN z{;^i`y1z)A!gU#xEiX+D;kmff}6`Zf~Bw<&Z~q zo?^yt2b)t@+)Qdyj5-@Osx12?crk=G)lIqnwrAp@&?$FM+;3Z1FJF87h;aJx{oiNK z4p5mC&M|+6qfr{m%(Lk&=`IUgEL--99PgSW literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_48dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..9ab8758dc6eb3a7779b1c020fb7c0363c6c5bc2c GIT binary patch literal 1139 zcmZQ%U|@I##2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNVv$lHWW{A+0Z|Jj z9T;I;78nBuE!D=TA6lGRRIHzspOIIbpQo>vUX+*uv@1C=IU}`LzoaNJuQ)BgD7RSG zNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`HN0rkS%ty__i zQjn=zW`e^5dIfpu3=HMW5I1%P___0PNpS&ryq+E|K|neIggHQd@tC-OGXn#&ou`Xq zNCo5DTerK#N@b3Jye@a?Qty>ZHZ2)~tlOq~X1gD<5eySgQfxe!#wMnfD;@j9wdG`- zh{%mYVv;i?F1B8j@+e81bit{tuTLYDrSs;h%w=!ub_+&MYpj zAJ2-&hkLZxt}IPZvruF!xnt4#X^BM0Y^Igl{dr!gf8}}{7r0QB>v3)1!ns_Jvi>e| z`nxWKW46oFJu4XWNX)~oH@?#6R5%QF1AwV})X6FXfOd6l2qnishAZBfoLyTGOO zzSE=6cT2sR5S%O{W?FLMXHn+V6&u5Lera8?ac@y_k7U%HwV~}RY^AqGJ#sUSQ4n4n zleX<>ScOyj*|HZK?-x#VsK2@1efwFfEs=>EZ!VKeouQU#cE2b)_d@D!+qx^-oBY?y zzu6c&o%dQ)-oCWSAzLqHPQ2__?ZGQ%rBrl7ko)S2oBB%Wf8R)LHNLuB$^EVA(f?Oc z+D~}iJto!0Hdl!~_fo=*TVJ~c*Z9va-g4%CQj1mMN|rls7M!r#KU-Td{6}2Mo$YB} z7g%o1D7Fak|F}zptCpS9+|d?&%PBaVnJ%v{hPYH_0}6ju2<*rHq-g zfhx^rM(Yc`(VTf(Q)o@}u~))zF7+!WuYB!#=~IIfM76)`QHf2O2s)z`|K76x(4?E<$>PkH7YxU~On!UD^xPoLj@TBLRU z^Mue>JYnfmokQ!KGA4EIZnLq7Ra>yBd#}-x+wWM7KHd=!|15U(%+~M~cZ`ibE?jXT zarM>Ju6y18YHEFHH?rKW((VO?CZQFeKf%bOqQ?mQSoPPM8S|@ZUus?gs z61TT~oDYjuMrr04yGkvq^sWe4b?fZpWvsWRcr6VArRA(I^1ogf#P@ej*#^u|44$rj JF6*2UngG+P;;R4v literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_16dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..8e967fc5067da5a236b2f30f17c349b2fde82d45 GIT binary patch literal 495 zcmZQ%U|{$F#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbDlx}BrlnX|7+aW_CmW|2Sy~!cS{kQXq$DSqCZ(k%CYdJc7XkIc z9IsoEky4PUTV{gK7kUMG>93)#>(0&;mhJzRo-v;qiofV^|FcvC%)+T`it z7*fIb^pa{o3!{kZ!)DPt3nwjHQ0oyQRWC0!E2Bbx$G4{M2iHE_`yl$->0P@I@s$jG>(OKb-A<-Q9P0O~B#) z+5G48Up@(+`{3vi1=c^SgmTsd9$%lmZ1(?Y{4=IDolyRHXD`t844$rjF6*2UngAC4 Br9J=v literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_36dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..6e6b4bdd0f83eb87bb94127a133b866d3cdfb799 GIT binary patch literal 681 zcmZQ%U|{$F#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbDlx}BrlnX|7+aW_CmW|2Sy~!cS{kQXq$DSqCZ(k%CYdJc7XkIc z9IsoEky4PUTV{gK7kUMG=}V#R?hNpA=jD>(0y>)4)59eQNPB=V2gp1BpH!b=U|`Jg zba4!+V0?RRb8*=sj$dt0_{xkaYUzhyVBnFp`=b@$=i z-~2Vly6a|DR#t9xUUS&vYDdPBs2;_u)w&lFy0$tzH&hMC4%*^SZJ--4Lo9=D8Ee%- z)>qyO#a^&1W65%C63gIT#`@_xlkd?j4*XjjY)_O+UzxM7CtY)Pp~YeKH}#EDmwOG* zB2m5jy&gNsoLFOG=o3Ya`!D8?c6F_fFdPB*~bhkHvL zZ%H7p$ST%X4jaWXG?%ejtz-MOhBYhfJ*Va~t^YeUzZU$Nd8GdQO6JLj?4%w$t99U(SXEf4w}-`W;_cuC<5wH-J5wB}TQIq)=ZT5_F%bYqf150A_&r2uoD$DDfw pGc5yk999UL96o*e^y~OgF1?piZ(Q(pH30@cgQu&X%Q~loCIAu`^cesE literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_48dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..152adc366148e4a91c652cce5efef1a37c3b4a17 GIT binary patch literal 808 zcmZQ%U|{$F#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbDlx}BrlnX|7+aW_CmW|2Sy~!cS{kQXq$DSqCZ(k%CYdJc7XkIc z9IsoEky4PUTV{gK7kUMG=_*VRXLbhox$|;KaRGU}o*phiKso`0IY8d=n7Ds40|Vo0 zPZ!6K3dXmW&Uc?FlsW$K`5B$8sEbRc`YN&Oy>36;QgkC_=@SLdQ;E^l6T(jJcq{m} zQ963EMZjy1NLBObQ`5qBOjxw$@{-*2(_OjG-fm)-IwrT@zjj{z!PkNMK`TSFrh5H7 zK6PTbcxh~n`(1;^9ej4X8INnWKFDj~w1d(APQzN0 zyA7{fBsWa5G*9R-U@qEI%KVGN{J}!$4V`V$1yc=}yUy%jY;KYMaEe1?(?p~8m+37h zj1nwg-#qE)SJ)_+XM9dY{^uorL=2AKu# z*c|xh-(h%>c8a&b@7P@i4TD!~3?Ui27z=vx^BCSNe8zSl?cPqtfTTmb4Wd0e87DmM zl4dBF#cIy*YsGHH4ZWG>47+9)F)x_xp2r}v0;uf@-;OkPpIwZubvqdMwn!V~u-lX| zf4XwFLAFJ@;2PhKbatQJjM6}VJP|s6{e}AEUcJPcX6ZF*i}(I}{^$7{rOj&>T`c<} z&USL*L%yxHep7`c-+zjKzJEc_g5~ux_J<`uaYP-fIsHRzdqne+ySks_H;D&My?^Yy zkqcuef8EUb_N^~g>Gsthwrj~%l2Vjdo|u%As-KvY9G{a}ToRv>S(cfSS`?pKQj`;)m{X9EC}hQD zVFA$qB^?-HToxDu2QAghs2^IKT2!o`m7kGUoS&z!mtK^Z0<lx}BrlnX|7+aW_CmW|2Sy~!cS{kQXq$DSqCZ(k%CYdJc7XkIc z9IsoEky4PUTV{gK7kZX@1$pTV49lS|?F{g9=jD>(0&;mhJzRo-G{{$s93XkCy4j&X zN+PeoKL^A|2mgTrH)JJJfRssIK}a$K6BDBXkfQ;_=)eFW01Gz8|3I)OEM^B#ip$f* fF@)oK@(+FnMn*;k>22@AKpH$<{an^LB{Ts5guh(D literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_focused_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_focused_holo.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..4f98601d3862fd4949eae93838f2da79c23d5ac5 GIT binary patch literal 496 zcmZQ%U|@I##2~;Wmr|5io|u%As-KvY9G{a}ToRv_pIlm;ni8LppOY_S#bsduQ3@p; z7-3u%7y}0_)y}9NTAW%`te=&ikyo6br>~b@l$ZjvDmgJZBeht+q$n}3I4!>@w^-Lm zKP@vS6-etD>Kmq|SXdZan3yLUrx;mU8dzEyr&^>WCz&Rtr6nerCh8Xf^}?L3Tal4c zkf~c{g5CXkmU;zw=?n~Cpl<98@N?(olHvk#c|AQ`f`Bv+2y?Ij$*|Ix=Ris#ufRVC zNMnGRK#^ks8+HS!ki3GBWCkWCP6Z%G1BlUq0Ym^4MjSv4re_*&eTs~M;*7|A5Sw|^ zNst@NJzX3_G|nfR-1}9c#?0B!+34a>&8rh}WSfzJ!Jqa`l9Cblv0#fo|u%As-KvY9G{a}ToRv?pO;=xlv-Szni8LppOY_S#bsdu zQ4S>?7-3u%7y}0_)y=3MTAW%`te=&ikyo6br>~b@l$ZjvE;%tdBeht+q$n}3I4!>@ zw^-LmKP@vS6-etD>Kmq|SXdZan3yLUrx;mU8dzEyr&^>WCz&Rtr6nerCh7y-rw?oKlono|u%As-KvY9G{a}ToPYUlv-Szni8LppOYV-l30{2WW{A+ z0Z|Vn9T;I;78nBuE!D%QA6lGRRIHzspOIIbpQo>vUX+*uv@ba^IU}`LzoaNJuQ)Bg zD7RSGNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`H39jOm< zyKY5BNnF$_G=vnF&j@mj#d;K9$Rq8oAD4`j5btDnm{r-UW|Dywt& literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_light.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..33b5e61434797d97b9337b2216fbd24fdc881d85 GIT binary patch literal 473 zcmZQ%U|{$J#2~<>l2Vjdo|u%As-KvY9G{a}ToPYUlv-Szni8LppOX(1NzW(|vf{F^ zfM|e{4va7^3ygt-mg;5H4=qkDD%Q`+&&Vsz&(qgSFG@@ST9}-eoRM0rUs9BqSDcn# zlv}K8q@R|VlM1Bu4D}7uQYOcV8iuGEJ) zUbiA6r65zc%mkk=^epuX^3oX?E<#<}8Q|y6%O%AH zkyqdkqA`FmP~=IQ=Pe)=l2;It%)rFNsQ~0?05Li+fCzw$!lYZrT}eDPE5{7 zE!Hn7O3W)x%P-0;)-}>k%gjjy(t3vahG{7l7RDAP=E=q>MwXTamX^k;7AeU|rb%gO ziAko3`b9v!Fkk3aWTX^i>Xw-hFEQXzQ-A;}C(Oq>cpjs_5;0|STvKadgt zVvrKe1|R{#K)~1lBtRGlP}nY?AI1U2^gUf1Ln02pJ-v~aL4k*P!<5sNG6&hGp2~T@ l?#-FIbEf()(&$2<8`X~Ym{m;K?%V{K=jrO_vd$@?2>`m;c*+0( literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..0a89ea6e473075299e5eaf94f5e206879635b45e GIT binary patch literal 519 zcmZQ%U|?Wl1QI~NrI%8aSe}@ald7MXlpLRvSzHodoSKuGT#{cDpORS&l1Yir$j`|K z%B5$N2w8DiSU|KwNe8G&3=AwN;+Pz%>5TfJ#i>Qb`dRrIdByp8`g-X_i77yKg1|#Jk;hcPB1?u%$bGs`o fggTe~DWM4f@sV!! literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..3a5ad01c9ab74a243c7dc432962cffd146de84bb GIT binary patch literal 1238 zcmZQ%U|{$I#2~<>nNpNko|u%As-KvY9G{z-R~ny@Sd@~TS{YxEn3tLppIcG{BuaBi zgsiwMEFij|qyr<2%K~HIprs};>W3Dm78UDf}HPTPZ%t-~(dWQOjX(<*K#ug^#$;K&0mX-#Vmd2?TDalEuNoi?`Nv4VV zML@kUALv$Oq!eW8mYERrik_ujL0# z-DL`-B=QRUa|D147zQ#K9Gh-A{0Gt->eqOIr1A=Ul3?;68U(JLTdNJELh=eik{Oto zI2C{#4Il;r6r~0bF%ck@1H>R&2Z%u-49EY00LF*0=dXHxgMoqRt*47)NXEUlk=A`8 zh61&r-}nv+DJX7Xbg5=h3F_Fv@iMM)j<7@55#JjVj1`I|?LAPko8wK{@8EZi9G%-< zZmOy}HtUJ){_xOkjmmu%k2;k5e&jd*J7oV&_LKStkH5aVRo$hGi)QwCFVL8|GV_Kq zqh-m;gwv`!UYB>V1URw2y(Tfq@tglYU&Vu~J_O%jY1q6oNceZ)0jGmZw;MwqoYV>Z zAim(~1B>`oiSjHzxE46TJ{Pma58F!uy>wN`DMQ+SGBJ1 zfTY-$cQ5b0o-Y4^W!Yx77d`Fy@9po^S2i>VIdQShSaYcOM~VTD1lzOAx5LYKu$EtE zl(MP&_vq&N^Y=IBIXLNctXL`VkLzAjA?vjDJKpXP{O6eeprGwAOS>eW-ZgfIEh-+Z zYjK&s#1=$Gv&j9Fh9Q~zzxntvfYfz zEvp$t9A-3p@MsDVC`$Hb-pBPtPEEn{x_p%O9)rW4Ofrs);SA>vGRDFd02;}&^y`fWN zjb%d-Yeu@$YsZN9TncNMuW&AK`nOo+;2pLl!VX7e53ps&x^|{qW|~sUA|i9ynsJV3 z#TJnXK@)-vo0w*~|C}T05Mm_R$RNv|8`@a-KzrT&RZQ6(MQd+lUny_i@5s>BSkK5Q zUazS?Bj)>qyWj3AtoHFtYq=L5FZCjXdr9_t_y1fT@0nJqK4q%%J;K3tVMDIgfun{% zXUmdKI;Vst0Mc~4IsgCw literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..833e969ee7a91fbf5fdd4a4f9e488f3c64cd60bc GIT binary patch literal 1812 zcmZQ%U|{$G#2~<>o>G)po|u%As-KvY9AA)MP+Ab5l$e~IUX)*&mlB^_Qj`;)TbffM zWW{A+0nq~`9T;I;78nBuEj58rKeRZts8~NMKO?U=KTlsTy(lpSXlHU_az<*geo0Yc zUU6D}QEsuWk$zfcPAZVrGt@UsOR=ypwlFbIHcm0Jv^21^G)}chNlr3NN=r*jGELMk z0_ugiU$-J7r65zc%!GhP^epuX^3pljAa3mp@N?(olHvmLcs)H_f`D`b5Ib;y{8Vv& z`xhW3kyqfKBLHL|W5=dj4*!8-d(s`Zfu!;Ze3FpmLF~5czqSCWki3GBWCkWCP6Z%G z1BihDMX3QqOaw^f05OQx0b)@2!ts9~K<0zknWxVI#aQ({T^vIyZoQ4REmAcV_!o6) z^Ip~*K_Lc7!SshhOI*AUNp^H-EV5u0eM`rvUunUTMuSo&b&yMFn}ik<)8_c=<) zG%V*mVWRt^;`vuyCaD)HeTKZoLJJnU7xKI>m;T@>d*z~|@T}rD3i$_@RmGV&98hnY zbAH9bBsZZ&Rcl$E$Ua@(#%I1EoA=&_otZ0U_A~GrulQc#w^zKN_m8p5;RP%ANbl3i ztoT3AA-aBAZNdXa!6WZqX8n~mW4`Wbe|Ww7Ep6E)XA;GDFKEqwu-tZXlE4q^{<#kr z_N9IhV`I_&lAy<>^+%_=zk}htNW(*Zje_Po8@%ows`+}+KfeCcnYs=8W%OhI|2(|; zx&8js#84@-;5j+pJ#UGz@jd&VZ}+#)&-!ffbo2Z5|CE`+SSqe@z2sM#;&0Bdy0R@l zar*r`m;a{y`X~Qg)uv{l!c6wAbP0=tYyREF`6KY#F`VB_zv?_4{D993Kl<=1gGh14`OALd+sSGXXn zsJX`|?^P5HvkDCqc4}BVbbqRE;m{&4zb60aP>A0Il7e!7yGP74>g6RR-1@OBMb#r{Lp_s8&5PDOk|Ia4bWg}EC`_95N^I+XIo&?bDb7ICLQnZ8GnF)~ z*t&3U{?<9&ftKfUbQc}t+U(7gl32e$;qBQd>AnP}D_=~^j1I;Xe$)TE`@)4-wGR#3 zbeWX;Ol`Mz9-kupYW1JV6$~$QYg(`J;JY|H^upMonX|8SRmcGVUb2w{QjS3>i-;V zx6YaPxA60;qucfG$2}I~7F!ds(^IQG?Ua`1^h5dujovYjxWX%%)OQ?G)hp~2_FH-) z=d{!3zv@;ipU>WPfLlz*;&G30-Uq(-1WPa2Fd>I%|AU)Rp0jDu@0YH+2?MTxVl?Y=l(y-wVY#y`puOrDO~5)@OCyy z@iDV08-)sfa+j=F6XVxav-i;UMQ3ad8>!d7_Bp64=GgE&_L*t(vy4ggX`98|F57?n zaL348xU%6IcgrGX?$?di8gD$?&et)qqf}v9p%MR~AgPm$Gq=XhPhD2Ce^%r1APE!F)u))RQ-R4UwYzn;!&+aT$J}7RS(Uf4Vta4d_X_2YU0f3) z9jD|#kBEnX})|3J#8{OtXX69uL|%6Db_#uU&$CB(A*5-@e_TzJEUC6<@(ROqUZ s2piLDHl|m$d3^tKCg8rTM*4ro>rr9Ljr6K&fkh~Tr>mdKI;Vst0Bg(8LjV8( literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..16abc24394a09a07acbb418cea6dc381c99567fd GIT binary patch literal 543 zcmZQ%00Kr3!N9u2R>FcEzC8hu^PEJhD zNG;YcDN4*MPRlRKE!H*CPs_|n1=4zk`i5yK78b@9Cg#b;DMpr-29}n_sTL{8Nv26@ zX^BauiTXuAy)aMcR%E0UWa^fg5aS!Yg1mHYsQWtu{M>oDq_}|Y=JoV&2?Ej*KxE1$dL@grq!uU3C&-Fjid-Ket}JHoteXFmKBa8f=bJw-vZ=+8wT zW&Mo4V>UZ4EK=Ka-QieER;%DuPX^g6k+cv&9+4H1Hv;t}3Rc{eG1#7RZ_Ce!v-am~ uq>eo_?%V#8Npk&)mx3GYi~~h#ukpKcdjub==P3jFj=|H_&t;ucLK6U7#JNoX literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..f24fa33028cee69a3d6a6e44e13e6eda93e6898b GIT binary patch literal 555 zcmZQ%U|`^41QH)z(B}~%fbSp8%jDr4P#(nK@rE~NX=l>4=qkDD%Q`+&&Vsz&(qgSFG@@S z+Mb-4oRM0rUs9BqSDcn#lv}K8q@R|VlM1Bu4D}7uQYOcV8iZq$eQM7JU%r65zc%!Ft!=@sOqGca&Nz0n!q=g!L|#RYUeucwDg z5RjGtVGfY*yz0Id1F1`%E{-7;jB~GSO+4%%((q7UA-t{hNm$fTgQoHTH4fdyJc`p3 zWe&XY7H_lOzrWUpVZ-v(0W0s$p1nJKwMf;sKMFJNbZUDawD!J!?uk+SlH?T|#p)8) z8eaRk#_prepM#rE?)E%=qWeL9T+h~q7-biOsm|wTmQFc%Yo=Ulw&J90)~Tsm4hFgE zsuUb_o^+6TwMuj7s)I_FOP?$XzFp-q(_}|c`_+#4eQtayZS$0`Rjb_o*svh^%kfUX z{qr)z*NYJ%fbSp8%jDr4P#(nK@rE~NX=l>4=qkDD%Q`+&&Vsz&(qgSFG@@S z+Mb-4oRM0rUs9BqSDcn#lv}K8q@R|VlM1Bu4D}7uQYOcV8iZq$eQM7JU%r65zc%!Ft!=@sOqGcdG6z0n!q=g!L|#RYUeucwDg z5Rg^@VGfY*yg37e85kJ-JY5_^D&p2&+ncKtDB}L{{vIYDGr^n&?ua*HKD-|17V>&; zVd%Y)Cet+Ap@>z@AnL4F&I7^4m9v#6G*t}Mf~$@qP5??oqBDaZRG^+ zb6yur!+w0xmHY5EIC0JI&1)WC+&#BK%KE)r=^USB`Dv>K>lbV^E!QqqIXKrzb)M(a z0(A?Iw1kyn`U|#w`CSlN%e}Qiacip`!<`u`k7%zrbBBRNIsVbq8c9xv>p{g^S8Tk} zoRFiw?ZNy`hjjwcK_?_{Z4t}mnYk*eTPry3D9fHt6J5R>ysxrol2zx5WnQYkCZ}be zo|RezH0iIjMihs$}@GEZ^Xt`2L>UCPd)e0#NPw6db>$N8_9hC}1i(20u>*n~%0Rx!9)78&qol`;+0ES)jt^fc4 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a556f021c8c87f1fcf1600531ae0c2d01cef27bf GIT binary patch literal 480 zcmZQ%U|{$K#2~<>ky4aco|u%As-KvY9ABJVRGO5OS`=SUl$o1YR2iRJQj`;)m{X9E zC}hQDVFA$uB^?-HToxDu2Q4*`Q9raewWwG>D?cNzI6qHcFTE%+1!!q zF9Pa?c|f-!Bc&iyx6Fi)PxLJH3i8q!7%o6v+Zo{J&dVjm1?2L2dbk7uX%Qfn-~f3m zz)AEkh?7^~p97>BI6(vu!07)#_Fj(jprCNcD+ozuU}9lb0CF^d7#$!5AIJg_09gUH z49sI-00-$BHroIoU)j^eF+}5ha)Jcw6^5SwvK^s6=3BJ-9Eq|O5fPHLS=?a7z;LgW UrOVRFY#KmdKI;Vst09XfRI{*Lx literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..1c498225c245835b962d70d5c7ff8e20f175d147 GIT binary patch literal 466 zcmZQ%U|{$L#2~<>mQs{ho|u%As-KvY9ABJVRGO5OS`=SWl$e|ypIcIt6Q7t~b@l$ZjvGC46hBehr`Xjxuy zT7FS(v96JRT4qivkk&KQH%v>hurRhTF;6y5F|xEYu(UKzwMa=$GEGWLOH49N)Gq?+ zg*jihA|s_BQ@6|nzd!UW^$POR85oX1-P#%8=g!L|#RcT@dV0770cjB+mf!$+D!@tf zFNl*@;GYAe8Mr|N5WwjDAkNEreIV(QR}hlSz{J9=0OV)@F*-mBJdgz-0I~vX8JNew z01nVKY_lv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S>?7-3u%7y}0_)y=3MTAW%`te=&ikyo6br>~b@l$ZjvE;%tdBeht+q$n}3I4!>@ zw^-LmKP@vS6-etD>Kmq|SXdZan3yLUrx;mU8dzEyr&^>WCz&Rtr6nerCh8Xf^}?L4 zTal4ckf~c{g4+*zmU;zw=?n}9pf2wW@N?(olHvk7o7dCBB?w5X0I>lF$U~R?1m*!L ziM#^;99|$p7>EUdSR9B!;6D)0ojl19NCo5-gd{UCv9KusIT}C=1qv_*QozB&3PkGw zu>njCl!gcDsl%Q?HY2;Ii(`n#@wZd<=Q0_JwAb6s54xzr%Bsq3z+`N|oLbf)V#qGU zeSoLu027bHWRa3Nweeln|L)x^*9e;Rqxfn4{pwBkHc#T{zr4k#4pPx z`=p!c|H^tcCH|Z7)T-;t_oXUJtq-rwSm=|gF~PAz^a1C?M$s(key!6|7J=J(m~JFk zvh#MT7#(TQ4KUfH*`Uk3D!4Fkt<)ywJ9CdQTDK|sdfO%lCVwl}Vt*qU{Pvsh)m5DB zr#DwWIH0nOGepBO>6GAyiU%jAWPP;^Tstf9!AFa<*jXOuCn!H-IJ4U{Mtk=~YrfS> z-Hf76owB|9_iR#trt7VR>sS1X@YtWLH1WsuKMX&gWdBcStpX=mPgg&ebxsLQ097Q; APXGV_ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..468d4a75f48ee27bfb409d8d209b07c41eb7d7d3 GIT binary patch literal 882 zcmZQ%U|{$J#2~<>l2Vjdo|u%As-KvY9A8|XS(2O)Us9BqoE@KAQj`;)m{X9EC}hQD zVFA$qB^?-HToxDu2QAghs2^IKT2!o`m7kGUoS&z!mtK^Z0<(0`ho0JzRo-v_23kaDcp|QSlNK zMiO}i{yCgL21pN#c5I4r{14lFz@i=~Untis2qeT1so0|?PMsc7sm!oadcI$puvlI88eoHIgskA@q=FG}x zbEnU||NBsB*bJK#g%*x=o6m~P)-ej_3jEtG(cRW6@TI8y6{BE9a zQil&#-j@i~J#%{f{||Q#t(f;~%|o_t2Sn{x{*>6U>*R$M`}S~X*nSG#zruO>YJ>22 zm3apk^nMr$*3Hxq4o+d)7y5tJI;Xe0Elgd%9cXt;_C2=#Qb4V#X`OL_|JmGSEB;CJ z+pj+4T+)1e@&C#5(x2$vUd+F>>tuub9i{cvXD9RV*+~A4JnH_SZg1$7Tc=kQFEsEu z#J#5E!2RTfyLL74GnHG-cx+?-deY_4B;I=rbGEu2)<5@p5&wbbMOo4{^XFf^`dIw4 zGy9)Hi5uM4V$U$w6)!%@##k{wDI?eS;gzMD%gmC!UniVU=WL6aHu<)knV$Oj;MZ4O z4gXk8PO|tMWcS%^$tAb9ei@5>G8YHUI$%0)(@{0=rShlb_Z1(p+x;;5wAzQL7xK|d VQ~6!Q*6aYqo~Nsy%Q~loCICyuEmZ&j literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..429ba19a726d8a91c749bd846e850f29cfb07b4e GIT binary patch literal 458 zcmZQ%U|{$H#2~<>no^Wlo|u%As-KvY9AA={6rY)wl9`-Xl3x^`TT+x0pO{mSktk%v zWnlr)0VN$6VO$m%0|zbD$EY7#oLW?@pOv4HSDc@xua{nwm;$shIWajSwOGHTC^4@% zEx#zYSl38DEi)$-Nb4Eu8>XdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&BB_^3B>K6g^ z!d$Ogk&#l6sas}(*Bg44dIfpuhoBDa4DfU3<&xq8a(O*HT!MhK1PF70eB@R4wHU<7 zEAY<&(iq@BP~?WJL<*3y$SVj*W?*7sQUG!^fEXPZAOt`bfPe@PGlI=1Ugrd4D|)&( zhFF|VPLN<-oFKxJbl}JQxh}js|2;1sa9K4uV?86o;n_@lUrk>302MQMy85}Sb4q9e E0C^&3bpQYW literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..7273110b1eaff78cb43073dce50173f0886bd91f GIT binary patch literal 616 zcmZQ%U|?Wj1QI~NrI%8aSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18lRJzRuZ3E zQj`;)l30{2WW{A+0nrL29iS!w%|sE$lS~u!i-3Az-q5YcNGZtFEi)m`KY9gu=>bq5bO!jj^KwaX0bS1P>ERLtq$7Y> zhl34BK2)oJ%)r1X?&;zfQo)!ck&|$E-(s$YZ*QC393*-cTL?{PU{O(E<@8v=tfIik zIW+);_P+lXd+ls}c--Xl2jWa6k?p0C_fDy1aXB_v?O(vAeLW*3B3)JcdXCGTvt3L& z4e@d8kpc(w<=5Ydde9}!SiarpfYhB(ZkB=-4+uWUn;+MZ->~&H&(7$CIDUrt z4B3sg2M%4-QaQlD%wqr{7!$;*;<$6pX79eyez|PJ?1i~6MQ@ZgNLSzMkFK!YQa{T* za?`VWjpEv-TyNBFK8Tgs>aTAtbGu{tP384$f1fBDW?xozFZjBi`~3fP6(YM5Mb>Q1 z<@{U!N%a@+ZS`a78Q=Ner}Mx0Zr9RY8vRgu!Sb!!Eeb0bCUuLKgi4)U3=Am-Pgg&e IbxsLQ084$(asU7T literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..eef4b51d8cbf60ceb23ded7464dda49c9ce9a851 GIT binary patch literal 619 zcmZQ%U|?Wl1QI~NrJquiSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18lRJzRuZ3E zQj`;)lbN1TB4ov7VFA$#B^{tfF)*;8h+}f3rZMV=7N-^!>u2R>FcEzB?2wc zPfkqENG;YcDN4*MPRlRKE!H*CPs_|n1=4zk`i5yK78b@9Cg#b;DMpr-29}n_sTL{8 zNv26@X^BauiTXuAy)b|1R%E0UWa^fg5a}Vkg1mGF27jn0Is^RNdAX#xfR5+&^l%9R z(h)$c!@&k5AF9JdzS;{M9Lg1 zJ2J3=^~34c3fxRTo<5!$%^g#y{NP;}TSW8jtVRaDyG)<67%Z6XyuHl*fp0x$ez3g#_wetV#=rO4KWxa;u3`SN<(rr~AAft@#fmitYwLjl O#o+1c=d#Wzp$Pz_uiL2r literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..302fcb3e2b16bf7093309ebe20664b35b7911e96 GIT binary patch literal 867 zcmZQ%U|`^21QI~NWsp*oSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18lRh)0;Woe za^h1Gi?W5RxGXFnnxUiv)GP)D78G$zj?{EU{m|mnqGJ85{EWQf{5*ZV^rA$d@%qV$ z$r-7|`Xxn)dBth@MY+YgM*3-)IjKNe&rshmEycpZ*uum-**L|>($c`v(m2&3B{|77 zDJ?BA$uv>F2&fn45#5T6l!8p%G81Bbq*sua?#={pZD)X=J1>_M7m&y6>ERLtq&0xp zfP)Q4CRba`W?*3A^K@|xsbD;F)3{=8p-98W`Zp=-Os^(it6G_RyX^bk8L!?s=iZ+C z%5dA{*VUi&HtN~Ud0$zVUibL(T#425qV?}Be`s<};cP~AhgF|gMS)XrgjAmrkK^oQ zkIMoT3}+|gMHQSlyCLMw+ix>p>-GHgC{->HpQXT@aZFDAaL@)>MUNJz8=WEQOxqU- z3N3ZZ+4|dfyP%^-kJF775o@OFix`ELv#r@~q$9anupvUFW2?tDr2@-W3Sz5|pQ^Ag z_I}uW<4F5ck3Q7`!7K%{)kh~~91=1Vm+NreGo$;62h-<3uEGe-PwZXNJ^ux!|2h0% z-=j?h(vLPppLnHPU}wX{6m775`_j+$E}ixsZ)J9fFFLbs+m4u;Fo_?Mm2HNSrd-Uc z4R0D;Q(j|W&|}(G$h_!E=;0p=Ek4XnyrRLk#wb^NPmtr`4_bU*B-~~`IuLZYVztGG zxruXvWhxftZsphP;ZE#K>~Y?C=m1xbd5_N0`|bG?u5P=S6DF}^>F>Kwr_Zy9%6PRe z^t@wtlLf!nmv4TPI(Kt1$t$g1Z@yblqvW$byBq(PJR8xgdPlA%gsDt#RasM5ahfwx zcG6<22&)R4DDl@nbJ@IddbE$}s2nd=muYnud*5qkb5vsWxdWCF9rwj#JEkdJU+4Xw zZ;x|oOLTz5)E^DD9>tI9Rd3E{c)Ft{U!$GBZpve6y~U-00bBPxxxva1{>S=mc!V}M OPk6fexvXBt9cCFC`~6J~uN3OqCSn z#OGwDXOsw8aamYEbVEr8s9_8YEGXib9H|+M`k}?CMaBAA`5Ae|`FZ+!=|zb^^YxPx zlQU9_^-GEp^NQ2*i*k!~jr7wpb5en{o}s>BT8f2*v4x3wvT=%$rKN$TrE#i7N^+8E zQd(MKl4+uT5l}D8C%P3GDFvCjWhO*>Nv|L;oq@rV3F6?+06%wLE-5Y`kJr<~B?w4s z0I>lF8<0${wwTSpz$D=5;uuoFn6yC5W5wGvc9Zn;2}P}e3~kK^t6oQh#^gzxZ_K^z zcb`3U&c2S=qkf{(v#ZN()bH=#_UzG_&wIYs9IpOXTqr00Kz_+v$19mvlpBm^9r|O@ zX~A;V@8EjH4;-%)WUoA)F+0&t#zp2*uLa-X=WY+|t~gZ%wln*+Rc@3v^pHQgLEKKA zseA$3C4bW!ncuCqiw2%xIJ$v1&YH=5k<_FGSvlK`&NP4RaL^Gt>Q=FaBc|7@?;n4=Bl&@muGXE9y zer8MU>h?Zb+j07x;?~s%j&f*ltT}#YUE8^O0oA(0*UdgCxXi3QTPXQsiNOVv)L92! zYJ^Kfw7pa-Fn+|v{P;!!(|d<0yE2*fYxDidVmd9#K5f>46^{1ZRX z+K1jp2ezwynDpp?_Swa?K8Z0r+CC3dL^OGHj-?3CSoNj)ht$fm!e`4`8?CM0#nx$c z{pQR+zOst(mFN-H4NF!VdveKXany8OdFNM_JmGOt4CAryWoGj_jXDmWGF-1eyLI7> z2Op*gA6BdQwR=NJR^^t=1+TYTp4e`v$N%|(XNtcC-+7&R(#{o~oMCGlFK-mtuM;J( z)}<|W_CMQ-?n!ojj)hYm*zz5Ce`N0@6Q6@wF^9uN6k80sK8Rl5$QL}pZo>0l{2w{) V))-IQVFyei44$rjF6*2UngF+RPKN*h literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..cd87923fb4c9939bf6505b73d86d7c4c47a89053 GIT binary patch literal 603 zcmZQ%U|?Wl1QI~NrJquiSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18ef!|o>3B? zTT+x0pORRVEo8-IVFA$#B^{tfF)*;8h+}f3rZMV=7N-^!>u2R>FcEzB?2wc zPfkqENG;YcDN4*MPRlRKE!H*CPs_|n1=4zk`i5yK78b@9Cg#b;DMpr-29}n_sTL{8 zNv26@X^BauiTXuAy)b|1R%E0UWa^fg5a}Vkg1mGF279O{Is^RNdAX#xfR5+&^l%9R z(h)$c!@&k5AF9Z!1rVq2C2O}nP9W!SJSQ&gK_O>Tts zfnP=kerbV`(1BlO4O>eaW@_DG=5P3_+OTyl!)tB^W8WQYb`009F^I7n9AIGP0TUm( zO8XDY<(AhiC}o*r%arbZV7B{%6RX?gDlHiFqF9%8zL2ztm>h2x^<;n0)EfL2<;MKob)I$C u-Nbpi2maL>cwYO+{~>Q~SX?RNZ-xu2#ZyGjF3SZ541=eupUXO@geCy-!OPtM literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..956d4d38a6394e7b0cedaa16af2474b88c45161f GIT binary patch literal 602 zcmZQ%U|`^21QI~NWsp*oSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18ef!|o>3B? zTT+x0p95kFS#eodKr};12dG&L3@j+(m>j9;jQXL)sYS*5S@{`x#rb*qdg(=pKwI>a z6O%Jii}g#267!1F@{4kdb&d4XGILUaw4R~9VOolXg|UT+d9rbek)@@9rKNGIMM`p# zX;NBRVv=d1ei2YF%p$cU~?jE}+|aJw054fOG^9 z>u|6E$%kt7j~N&kSv_4GLn;`P7KnPRc+0jWJN>9&OMpbHG9#x)2B$77r^f+DZwDuD z2PUBj4J}XX(&s;&|LB~|s=mhejeq|-ny!wz*_FSpogpG%`zBF_Yi4VcSR1zTX0u1c zvqi+Sf)P{1eYOqT_zZ$us~<3K*vGPAn{YxcW5P1d>j&5m+>$!*h=ENap@9)h#BF>h zxTE;tV%Bwi4V&E`yy2+$%pp^G^@1`#`vKS02TTNQnc1^Hop$ez5j#3JtcLAD0`Io8 zs3(6*;|ykKwY?LadHL=YSuF=StC(-cbAM(!HtdOv<*~jy_X^7e&n>;HFAy#)EvR~It`(smpKh6{tItDnm{r-UW|)*H$b literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..333313b79be6cd0ac49f825bd7f8489573f10914 GIT binary patch literal 465 zcmZQ%00Kr3!N9!lYZrU30tPE5{7 zE!Hn7O3W)x%P-0;)-}>k%gjjy(t3vahG{7l7RDAP=E=q>MwXTamX^k;7AeU|rb%gO ziAko3`b9v!FhA&4WTX^i>Xw-h;Tb(ky@I^-y-=5S2Kc%2a!GLkxxAhpEnJ)?Y}LMlE^FY&jHdH;6G60hO9&ikg~`t2uWsOVq#JNax{P#4R9DB1V9#m03U>6 zV2o)kpABToc)B=-Se#BykYHV$Ai|?};KYadA-XAY)e4XvPgg&e IbxsLQ0JPI*nNpNko|u%As-KvY9AA=JQIeLKnv)WrlA4xSno|;=TT+x0pO{mS zktk%vWnlr)1tlFAVO$m%0|zZNiBUhaIJKx)KPx{YuQ)$XUoX8VF$HLAa$<5uYO#Jv zQDRhurRhTF;6y5F|xEYu(UKzwMa=$GEGWLOH49N z)Gq?+h510YA|s_BQ@6~7pjY%P^$PORcS9Z98Q|y6%O%AH!lYZ zrU0!^PE5{7E!Hn7O3W)x%P-0;)-}>k%gjjy(t3vahG{7l7RDAP=E=q>MwXTamX^k; z7AeU|rb%gOiAko3`b9v!Ft6xVWTX^i>Xw-h?Uz&{5_V}SoaksGoSDL~31uOK9ufr*Jp0m#t+Vl=>H zfDiy#00OWuWK_H7xCY1<_jGX#k+__kAn~i=e*3Zh%$Scmz)7MKcN=yM- zo}8GRky@-@Qk0lioR(jdTdZrOpO%@E3Z(T6^$pWfEG&#IOw5ywQ;aMv4J<8Xt;k3z$kZ(}A=XEFmU;zw=?o0ppbqW~@N?(olHvk#c|AQ` zf`GIH5VLWByjQ$v+6<6DUV(oOkcIkH9)?or;B5V#O34!iC+yL|Jw(dW=vkj$nevbS*z^3tu;u8r>mdK II;Vst008c3HUIzs literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..6a79701d8dc24b4fafb6bf01039c02023a27ca0a GIT binary patch literal 481 zcmZQ%U|{$F#2~<>oKlono|u%As-Kr%l9`s7oLG{XpBJB$9-ot69-o(Al$)3%WW{A+ z0Z|Vn9T;I;78nBuE!D%QA6lGRRIHzspOIIbpQo>vUX+*uv@ba^IU}`LzoaNJuQ&~8 zPqD6%ep+TuDv;JQ)K5)KO|(ccHA}NFGf6c}F)}ktwMa2AGcry|wMa`fGSn{u>V>&o zw<05@AXB%@1dk{5EcFWV((gi@*%{#H&dVjm1?2L2dbk7uX#o)C0Lfd;Sg;pJN#qsy z=YaU=;6G5{hO9&ikP68w2uWsOV&YT)ax{P#9T-3aK<4rQF^mR<9~l4V=jX?UpXqqS z1Jx*ax;TbNTuz>nmgvA%AFl2Vjdo|u%As-Kr%l9`s7oLG{XpBJB$9-ot69$!$DT3no(B4ov7 zVFA$qB^?-HToxDu2QAghs2^IKT2!o`m7kGUoS&z!mtK^Z0<lx~&rluxZq?nqeS(urm8m1VTnWb8!7?>Fur=(h>r5YLP1D&Q1 zbG&XvMoK}ZZkY)_U+7ut738HeF#LhKv@^iZotI0B3&`d5^l%9R(gGmN!2~2HOw2F? zQWALu{y9Jz1N;Yy+>n(>0a77(1tG}{OiY{#K#m3wqXPqo00)rb0b&>p3PLdcFB_PO z4Yzb?{{^bC_jGX#(K!G1^hVwT20YA;UJs1qw5(IAcMBZt5n%Utx%z){jQPoq1Jbuc sk6MPO<$c+3@$M8A&f7xrb06~5^YV**6?yl=ED-E6Pgg&ebxsLQ09bl{t^fc4 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..1c15fdd61205c43d875847aadd7b6e9a5f6704ee GIT binary patch literal 473 zcmZQ%U|@Iw#2~;WpHh@qo|u%As-Kr%l9`s7oLG{XpBJB$9-o(Al$)3%WW{A+0Z|Jj z9T;I;78nBuE!DxOA6lGRRIHzspOIIbpQo>vUX+*uv@1C=IU}`LzoaNJuQ&~8PqD6% zep+TuDv;JQ)K5)KO|(ccHA}NFGf6c}F)}ktwMa2AGcry|wMa`fGSn{u>V>&mw<05@ zAXB%@1cwLoEcFWV((gi@*cssG&dVjm1?2L2dbk7uX#o)C0Lfd;Sg;pJN#qsy=YaU= z;6G5{hO9&ikP68w2uWsOV&YT)ax{P#9T-3aK<4rQF^mR<9T@+YkdVNJH{6x*0jg2( zba4!kxSSl4nCQS(AFo>G)po|u%As-Kr%l9`s7oLG{XpBJB$9-o(Al$)3nUr>}ch(#fyOll2%@X{m>b3KoboFyt=akR{0HSAmp#T5? literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..8d3ed94895c3eb4cbb5709003e0b09864b7ba3d7 GIT binary patch literal 410 zcmZQ%U|{$I#2~<>l~R;go|u%As-Kr%l9^T+UyzuWniCJ^WF{w;Waj6^XC?!Qq;w%G zE(;5YHYn-92;;KA7&vIDiH!Q8#i>Qb`dRrIdByp8`g-X_i77y9lM|COQj7IViW2jR z)AEaQi*=3k(=u~XfwZ2XerjrJqD6|SS(=5JNvdIrk(pVlMT&u$k#S0@MOvznp?(oi zFU$+N6&Wc7nYv{rg#DsdkeA*Cb!%sUpF1y?6c>=o>*?VV1f=Can1cyOZV9sd3Zw!( zT^vI^jwcHo;Z^Bbqd75k!Ni>olN#NgC7I9CdX{83E9%)IX(JZ%Tk9@8#-dSj3-uLX-#XAzopr E0MvSV;s5{u literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..ebe04ac7be6a0501c7be4d48083c4ef386c237b2 GIT binary patch literal 552 zcmZQ%U|{$P#2~<>no^Wlo|u%As-KvY9G{pJU!0Lxlp0@hurRhTF;6y5F|xEYu(UKzwMa=$GEGWLOH49N)Gq?+ zg}Gk0q9P-uAXB%@1g}5zEcFWV(i!BSj_(ZcbLZuf;sUyy*VDr#2uK@%FbBv_f4L2L zfRsdDfqxE=#sCgLk-0o>D}Yo=r< zoP!Mmg~8%58bgg;x)Mmgqo<2wNW|f{Hv%~s6a<(9&Ko@2@lVhvnLSbAQ`m#v+I4RI y1)Chsm(+s{s^QcTW@Kn!Z^%^waqld-RDO<8av@V}rq4D@kcg+NpUXO@geCw?$ZgdC literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..5af3dccf47758329f8ca146a892ab59e5f1d97f2 GIT binary patch literal 573 zcmZQ%U|{$R#2~<>no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YU?610 zWnlr)0VN+W!niCj1`b-Pmr*~oIJKx)KPx{YuQ)$XUoX8VF$HL2aw5>KV*Qe$#Ju9P z{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$Uj)<( zbG>dwMMg?Nrf!)DUVrEn9#l!zBnvCx9>q$WI;<_iqML zzdT(WLn>~)y=BPP7C2jfdGqguDHBvY zC#hu0c78d1KA+*nL`}xYH~0E;PHM1~wPj8|!1JZ#O{2)yZ|7qwSkAW=9|_O!kcq#( z->^Nl?%6jli%A(-><-79v)}x#pMT+KP4hhK;)(-j=FV$-Wpwz_jLwape7cwOr>xTM z>3%J*G4=Td4++hSj5BY2+Qq25bt{`hLIWdy;{Tu7UtJciwP?NE-tZu_dF8#DDAR(Q y$*)VL#pi8{wJd&_e|oF8c)Tjm3!cB;aZVGCi~J~icQ-H;7(8A5T-G@yGywq7UBWB? literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..665021bbc2fd10bc3f5b1722ae863bf26a8d4ebe GIT binary patch literal 859 zcmZQ%U|{$R#2~<>no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YXewmI zWnlr)0VN+W!niCj1`b-Pmr*~oIJKx)KPx{YuQ)$XUoX8VF$HL2aw5>KV*Qe$#Ju9P z{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$Uj)<( zbG>dwMMg?Nrf!)DUVrEn_M7m&y6>ERLtq!U1x1LP-r@wtF-cR_>Da# ze}Da7f5=_syWq7syvybXtCatmx$89V?j0-d7VKb^Jeh`|AF;6WhR+QuL%jrkXXb$EHF{ zCE~#3iQKZ*j$J|vZtma2`oN&}{6wZYNy&@`UegbYTk`n@=56N7747VDmT@}d+*HAM zXz}go8ZBNnyIO77ZXQvUJ6qRq`h|?#*?sN~YWhbmFMe3P)*-Ip`IE{Sr!TLulc>}^ z`uQcp!$kMvsazXB@O-YYVftk9+Lj@DT~w>3jky)``R7a~f0P3@GfK5}o|Ku#y|(dq z|y5dm>QRB^N&$gW$*0@8z9$A z?mq+bq~7D^2O3fyf8;e#Pz7=<4>W{4>J(VeVq48?@7Ex7%3qMFt7VVflW68^4f)(Z zvaj=T0uz7)+t>Ws-)zPcnzu=vkSpCTIPX`H+TX8lgKAhA7#fT>9Q>WX>%=n^ph^Z$ LS3j3^P6no^Wlo|u%As-KvY9G_H@7hjZ^l9?Z0k{_R+7oS^FloM}YU?610 zWnlr)0VN+W!niCj1`b-Pmr*~oIJKx)KPx{YuQ)$XUoRbK2hhgk#N>?BV*Qe$#Ju9P z{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$Uj)<( zbG>dwMMg?Nrf!)DUVrEnEakt!T9E?VYZmJ$gz+2&%IggnaI?oq;$|tFsCUZ`bLMK^Sg9`+h0zm3v3ls zDV1W~dZ{GpsM7`km(>bR2h>!2Jv#Eso*zn$5Odx6eOJEE#{a4+Ic4W8&(BOh_u?fI z=x`Dc+5hMMLRF~?0OlZZ=7Z%d!Sq z_$*^w7xCrLvM=4~m$|#wF|;2H5Omobmh(iZ{afg(`gtl(_iO!b``OK_o%VEV{jNWU zcvt(rbl&=pZe-sOGvFcUMIlVGu=Mk^3i+i5c{=WTWqqpTXM&Sdp@wcC@ zsL7scvnBodI@`n7Zs)JsmJ)xL@!^8g_Gy~aZ_ZE_|8cRn`08uoh&*&`B!QGyymsZt> z*B9laIO9Xq?Vl&BuRHvhe)4nqx=Q`b`EA$L+^ToF>eO!k>OaTnPk$!2;BuRvdbflg zX}m3t_M5T%oU^Le|K>fP7TQcLdUBg%@vDEV(r2HnROx3qa=%N`X40$~TY1F=+#mka z$glAGafRV%{;|{tnSC>SHOuOSnAUlJyJ~rpeYv1jXU(m4nXTLOclIqvZZh|sbZXmb zjZ(+X)!RaSi|=vV{azoI)qAdb?k|%^aoJ1MHgm*safDsj`G0HaaZ#?=Kn&{gN zL<_d){Vu*aZON(QIdZLfng;V1hfmU-zWerLMlsdHcjlfyr&N-6X|vtxP|M3oY_VU{ z&Ul|R_;2IzriNWfZp)@UCT`-9O6P8$y1abbYc;Rf;77~u&QZNtv`<=?^~{z#KToo7 z#RexFT7J!Qw&M%64^6k~_Hc{$aQ5?(-YPT8kqDR($Fx-y}=P-e1S9BOq#KJ8BoEgIOT-PGyEjBD?d%Y zz9i5nbNk7y$$P{do&XY7@xP4io9K}@|f4mV$AYLkx|HOd6m6vvt=8b3K!F^5=BZn9(f#^S03eY zwh*Z(MAs`zVw6`mbg+t;yUwjY@BPmCzTfve-|ze9lL7z$s}lVoO2%PK+yxvyf(XXp z2^f4d9mB+hQ5cwL28Kb$(4v_U7;6Yr6|Mw>{X6l~3Z;I9vcH`FK%I0cFq%bVvcObE zIGx3ygRRJt9g>X%93h;@0!K4(bQX!hq_IE;!6ZrqQG!+wFoYBagW14r?Flwv2OS)& z9UN?kurLB1iYJk9cqk6cl+6BO4~mHi4~wLL&fEU)9afQavVpYRZ$_bz=C5n-gM)O~lh~yZbt%F7L=3@)Jvp=w!fXbmeKT zSGP|;c)^PbpIaU(R^2ddQTEd{PgK?&cx{Id1U=0hqosH$lVaOJ`VGCj0%n(bz@4Zb z-r`CQXo8_pf#zjVlCH;%6-7jER?P(nJ} zYTlNv_ONZX>Rzq-D)Xp6Lfp{e3LRRTi?e@YqT(}IyTRSkzu(Cx&gKwuqe2|9?U?4g zF(cQ?zLwekyU9BD;*H-Jr^P-jT&qqWD?9S`*em$@Htl9j8(#fmZjU(FMZ-G{pC}$n z=mLP6%nuz>G;h+tzD!62-FEu+ps9ky5hGppzROg&FtKkI_z~2BQVjO&iuZ+qJrR$# z9uF?u-iw-Dr%r9odpIjpiRE93oaa374|Lk76Knc(=tTBvnaW~)&aJOvmB#ym+Tr7Q z$CpbAeZG&I4fwY7UzHA~%Y$UWWoOJhBY{;5J>oyMjs|2kY#-$0g=VdZFd!ij^7V~q z&$7Fd-cp_3i}fP4MZcXK)$CJZyXqPm%%35;qR1I5ESZ$~*io0Pr0bs5Y=&`ZLY*}8 z`x9!?I-M^T*7u5q`JoV;ca>j>s- zlfc@5+DpF8#ogWO8Pw0~MSEvzhWwo#?h+nPEU@b=;)yhgSAEoWAFf1$FRyo4$0mpF%@Q z`L)K&yLHeaBcXGwEIC1|=^|F~`c-)9<0y;XnR`$2V_k~iE9+CJ(^piIJGAC^lUHZf(?sFwDFZo^<(12Z z$i7Kki`^X>uUl?{1>|=St$k?0fxHvT7>c2qbP*!xZyV$yP>CZ&YrpAHFE@gB{dHv*5bGp^KG01cLftXw#DGli+UAT!yE(0SqjNL zyv}%2+ET6{U`4KO8R5g`KCjMSg$?k~@|^wU^+_2~$#?-H&ED8xgX9Xqo(ArO5nmj( zo<5-w*;kKD!m$zD1dpJnV9$?b#-I_;>AhUV@iXi;XhMa3p+~a5mc< zX`~slNgbH6Y7ey+3Jpz;Iy;k~^Rs9f;+{~RU(9s24c8^K1r_g9sXyl}g0ai=E!e(u jm+_@v@I~MQKV(qa8Om3JqGf6%9|_>;?&DT_1k3pcgUyOq literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..e855fe70bc6e4edbadd0937ff1c67e1ea0ae6ec0 GIT binary patch literal 2737 zcmai0c{CL48lPd(7?P35UL$M9Sc`09NyZi;*$rk4F*9b!l4b1sn$KF+sE};gg(xbL z!dO0AGF?g&vWq)?-R}ABJ?EbLob!8r&+mDk=e*Bz-hW;o007uy;HN<(-AHJEw2K!8 zfp&3qa`DAGk^Mb2d9I5P6_sC2|MGLd-xBmY_#e!l0Yq4l zF(fj=lYqmM33!C8I|=Q^xYQNxio=i*z9clBj3tn~$#4Y(*24?KU|D&DJl0J`MNviR zf~%sNf~u;Vs;VMJ#m&`4*#(P5yC|a(Bu4M=1>gYzI5(mP{HD_XTSZn?mWX#}%v#9$ zYv6b@)62&o{1ApZhBDBzV6gd5fd5)7CZdBOPT`4Hyx17Q-{FxC);VP4m`%qp4C2HS zja~kJ{xhD(*~Ku(4NtUm1%N=Trx`+y0fzlYDe|w>Uyh04uQ2d)h@bY~`d9Xs|Mw&O zPL^`3;Q;_}BT7%(5;wDw=ip`8ce3x$9lQB8h&o=LQrsQK4}A~t!PSni@ISd`CHD4o zG-RhZfy*X6!%)ineYxT82yEm6?1@-Krjm$GgIGn9WRV4T88Fep;A#~J`bC<9NidAU zynVwzg#M=*dAEl8V$OliPnWfLZoe`)*-@~w6ZR&TjQtAmpPIhe^y5%T+CwY&K9rT6 zf&{4Ss|uy|5CWEG>R|7_Z}E6SIgz851XuR1o8ufD!`quyWr6eN_2Z{KJ=%`n-Y{*^ zASGX!G-Z1lVw_j+A?5n#wTWml4-n8EI<%E#J<^vIC!L^u#+jPZ!hGV#Ve_}rN&w)A zewBV3Yw{biqT1l<>>0p_^a+*KF656V1A;%%;gsz7e4F@fkZNAFxZ z(B;P^mU*@1zPoJ%-2+8Lc_sq8o?G=Gn(t0h)&2NZZamU>^yKki!%#>Qc{@6>5>NzZ zIl{MT#e@V-EF+nCsmXLwtPY?u`TQiVaz#l-ZG}8mH6g@5>*piHxp^jmjc=JMIKh2n zQ^t@!VjVnI6`5azZL8u?+N*ke&;P3p$SdLe<%CKxZDf_t>F{tkz6m>MJL~pJN4E3{ zb`ZbS#RDKEGXu>9^?<KOId*8hM4%#5sG*C5cac zKAaf5D9JSQ@g%Nb`(v0dS(OJgt zWUeh3?-w_X+Je^oKFf$6^<2><6vjW+ug`g9e?*iE(D06B7@xgD6b=uU)_zpseCKl3 z3a&{&@7$tkAMCP}A!pj-Al~y5jkQv(5m!s=QC@pq>y?hDCT!Ll2Nq-Du)$8-hEN1t z`jX~d8r@TSJz?|qLzdS5Xn{O{S>!UfvHh$7+K45G@Aaz}aD*S|m~^%l?c4JeQWJGr zFf5_v9tD6LSiRqx?|*9wQ~cB*_Z}6-s|EK&8>WIqJ$bdJVLfgJM@*=XIEc+Jg`{;_ z&&i3k>c-|%u1QQO6^y=hpx8H=k9B9sWD&46b@*xh{_2Ql(b`4iV5gF0R-z3+k=uTw zHzb~%TPFL-s@A6K=?3znc6r9$d~#ZGe0&3eXJ24N2N1bfe z=T)}L?jd9}i#ZI)`NG3_#}Ykd>too>J8FdO?Yi0}DHUQcCOfSDIhd7E9dyu49!05Q zGPKuplaf$a5MQsnj-n)FsTTC)TpJ$P4&;mlq>+z;dwgQotS`y}#hVq|CdK=c3Xcwp zc5MMl);^f4RA-CGze>Yr0L^J2$y0bPg;#;lKECDUv{h85%_a1HrLNgRAT%)Z48oyt zVR1`OEp$oYqvVidlKflD{Fjwu`erl*Cb0hI=Ch@`rWEy_J0Y8)JNQnjH4O*sUb)qD z7&_s;Zapp2l2?6)rjQLyDtEJM!+oVZkFVS z;poUPhnfm6Lj`pE-i$~=x#%;tAbAto zoF+l9KVv9G=H3MoQ6x7<-z=vX$VQ&2G)MS5svygpDinsJnGybD57vc^8*R02i8q2@ z{FyVkiLJ;sv@?~9x1={-aP=Ixlolcns}mPxyZ!y#K<$C9+JuCif`Rz!gW|h=yXTDG z#cGeGlPbU~ZGOuyw_0bR8Ai-6y`sN_etNmJoJrUDWMNJ#pexrVB$m1h6Dl0B-m8g< zjfNZrldaQti5u-z~`KO)wl2{8 z5_Jvd>teBOPWw9oh48KbE?IR@ONRq(g@gZ(;p4G~dynZ=4|XB0Gq*I@4desXCY<&c zEyOZj)(~?rbY0p~3J^&yBcE?M9QQBvyK$tp!`qmJt=so&YU=*(ELB=Hw-;o;-I8oy zl;Di4FRjj{nksK91uHkE^|L5h-&PcmihqIlI=lLh!pjY=;ug^Wo{|`f9=CaKsgG6q zT4(Kca^uO==bdiO$4>5^&7FWqr9TZl_@>yV)t(UtI^oFg5zwFhomTR}t+Cd*M^k$A z$kvmEwbJL^5xdv#NGXP#UVr__{Y4kMI8$6EG4>Wm$HA1y*Uwwhs>)~!gPyzalusot zG~sBlV6R#DbrY}Nqd(jhvo=gpt&}sk!MuW55|tXTi2g6Eb~SvTRc~!~J)8}JRL3VZ z6Xk)t{F)IuW4Y10C$wP^U>721WfIEWQdibsKVWC!IKob#lln0059y4+?cQAW<@|fX zCdW4mR0BS2@xHh!H<~hx;+0jh-`)u!R>$R%xwxPzaWKezg=JJB05tbFERY=HI-Sva z{h7}_h43-F=Uid|;$ZA>7{kfUIsX6^^!D4Fwy66{Ij!D-4lW2(Z>}qxdGSGjUVJ4F z(D)zQf|{2y)6BNwy2?X@PE%rHVvdUd2kg&t(Jpqfa)K4;P&+fc_o| z_W~=&V_*A2e0QA^z7Z!s@mR20qBG1m)*kn7X(&rB%q&%EyR2yL477Q1oC{0gG- UJ~!GQ_wzS{x@4+Xt>YZ=PX|S$#sB~S literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..3e1b17701bc3f9eb6f5a11b3dd4caafda158fa85 GIT binary patch literal 3108 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 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..b5f686e418dacf76389c98825935ab8905e101d5 GIT binary patch literal 502 zcmZQ%U|?Wm1QI~NrIS*WSe}@ald7MXlpLR#9G{$@o10k@U!0m)l$;TtSdbZ?TT+x0 zpO{mSktk%vWnlr)2qhmt&0%0*K@rE~NKIkX4=qkDD%Q`+&&Vsz&(qgSFG@@STAZAi zoRM0rUs9BqSDcn#lv}K8q@R|VlM1Bu4D}7uQYOcV8sfO=t`(5(K9Ahq1n#WAFU@$LDAyi5)fM<3L)u`oY0+!3tu##e%|y_V<0m7Up_@|((z zsCZ5Sqf@%~bF8u-Oy9s>bftkgJ45J))2$>vo9sqYgJAA0jZq7DzcA%35HDcf+aUdd z^^Sx71GXwgiwoR48siSYq_#3hXjFb>%0g16E3or{Q?X+Cw?o#`CEp!Vzy9!4vVJ_o d%1J6O`FZ*8yk0SJi!ad044$rjF6*2UngC1PoTdN( literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..de7027708d6aca824dc07ecafffcd790c291c877 GIT binary patch literal 533 zcmZQ%U|{$T#2~<>o>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`A27nWEHDNRTB@H>KeRZts8~NMKO?U=KTlsTy(lpSXlHU_az<*geo0Yc zUU6D}QEsuWk$zfcPAZVrGt@UsOR=ypwlFbIHcm0Jv^21^G)}chNlr3NN=r*jGELMk z0_ugiU$>$nBc&iyx6FiqPxK1%(t!?ThdRGAz|WnRONt99#Ovwd5(K0@K$rvMtN%}` z&j6`&o-U3d6^w6hZLMSu6k&bnD;6bCsyL?82-$)50!Hp7V|^;86L8T{RONm^f9?hzr&rb6A8t7T7aX zO}c!SD{A89LtIjmFCXAqWhrof+9@ur7aRDWZ>bdzGgY2;=VN*L!3Hn$jCz(YO!gT( VQH=YSngD&q;OXk;vd$@?2>{t*uX6wZ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..ec77365951ed36a86063faa57d8236f39b1151e7 GIT binary patch literal 972 zcmZQ%U|@I;#2~<>oKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|VnA27nWEHDNRTB@5-KeRZts8~NMKO?U=KTlsTy(lpSXkT(-az<*geo0YcUU6D} zQEsuWk$zfcPAZVrGt@UsOR=ypwlFbIHcm0Jv^21^G)}chNlr3NN=r*jGELMk0_ugi zUALklBc&iyx6A~OFZ2rX(t(aV#sqO`XMmqOFP9V-kjLxk;SvO-JwTWP;`v^*>S*ZkepX8r3*o$@}XZgBAVXe>9eVd10w|fmdh3LksSiM5mT%xo^C4 zsd&+X_6RYy>GS%Z?rV75uqi@~Rb0MbRr#64f{l6_>d!3vZ|->@Dwa^W=E)EJSIP&q zWsVoQA1HLN-cXb1_T|tSwdT~RKz+YXCRZLf!|_~k+IF8Q1#|L$XGc8XcAt5^;@IYf z$0>`ty)F1ww3q*>7h>w$Eg$7($me;W&^$x>(L@!Qbne|I_k^D}2`#?=xc{9T5goCmKcs;IIgPna;}0&mx)+*Y|KlZ)m& zF{xx-$;|rlN&n;Jto@TXN`4*xxLKfCg}E3Mqre{1b+jTM}~SjAFy z@#MXq<~Ce5ta~ObP0l+XkK{^gQ$ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..c969f4628809a5aa9838e0fe0d0568d8829be4d7 GIT binary patch literal 618 zcmZQ%U|{$O#2~<>ky4aco|u%As-KvY9G{sSpPQOj8efoDT#_1}TT+x0pO_n;m{X9E zC}hQDVFA$uB_A-txGXRR4q9pgqkd>{YEiL%R(?iaaekh@UV2et3eeKz#N>?BV*Qe$ z#Ju9P{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$ zUj)<(^MGzeMMg?Nrf!)DA+P8aHPQ!HbScHOI{hbawG7SFf) zt@O0X=-nUXYmzbH|Eo^j6&(!HF$piHM4s9^^SOxk_8j45H&~w}%U5sCKd+ncUSPgx z$det+|sIrFQc zJLiLtook{*gp<0nA6+z^&2sNwpWu`qf*uQeSobot>Ts(vwl7}=3^fK%S3j3^P6|nC literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..e533ed05dfc49e0d19dd7dd75b9cd73360c12b98 GIT binary patch literal 536 zcmZQ%U|{$S#2~<>nNpNko|u%As-KvY9G{sSpPQOj8eg26lbT$Tn3EHqTT+x0pO{mS zktk%vWnlr)1tlLa!niCj1`b+kBBOq2acWVqepY@)UU7b&zFvA!VhYgKT;738G@oyrFFKxcrTJ1>_M7f^`T)59eQNPB=V2gqOl zpH!a#QfEC~978G?-`=$EYBdmXD_p&!y|CAD`_GUM=fhYwT3=qa;YWqD9`nz0Z<}7M z_Y}C~Y59DP^2DD77e#}=EdSa*wR7IP+&FQ`8~guk*jHz?V!;uffn3;O>Re%!rwBQq7~F$PapKbLh*2~7YE{jx&< literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..43b520ce38c7739de560816fd548a1a49e786cfa GIT binary patch literal 966 zcmZQ%U|{$R#2~<>no^Wlo|u%As-KvY9G{sSpPQOj8eg1|SdhurRhTF;6y5F|xEYu(UKzwMa=$GEGWLOH49N)Gq?+ zg}Gk0q9P-uAXB%@1g}5z3i8r{&fLQUacgIQpF1y?6c>=k>*?VV1f)Gcm;>ae|4*vV zFfcGRd%8G=R4~51&b%Szx){TSzZ2%&*p@rne%o57oZH)S)$O;v6-i3Zk@nYiyFasX zJNNf53&Ll*N2_OLWvSIky?OM1SH`6!n~%R)qqypL)V`@-w_aUr^=8${9X%V1OY@eW z{L!<~?bnT;Vb%M>lFuUSAuWw?PrcC|} z8-7=*ZQq)`-UuAsykvUFGw-i~I>x))HlOO*mL=lZ?EGc&*U5IrQn$!1_AvX>x<=72 zWYdE3)Y`}wZzC=UZ;HB`*!QFRtnGruYRM&ECdgiK5A=ELv^ZsN`cn`8xqrV*xO((m zAn&yg8`lV)GYb`QJ$Y~5CEv+ub8Sw8=;-D(UNvv)C$>#~BKf9(cVbud z)0Z-um2UHK`A~vJ1)E z!tEn_b@91>Rod6D<^}pLE1#P7^xhVqkjYE;u8Y~6eMaDFig@gl*PriiyjJq9uz9)7 zL#f>}w7Sx>o=dO2b3Cm3!V4bfzv1@otNR~C-q?I<>(0Zok3D4#cIVpmW$~#!3-p2l zin<AO8nmVSz{TUaY5*E_|=aAEEXsY<=>DQ}d{n@yaw z^2_CUab6RrE#CTkf`{*3@t*USUn$uJS0CJAle=mKUuoY3bz$rF72R2v4wmVCU*R5` jCcSjUqFJ+M#WTKAFuClyT)GRGDj7Uo{an^LB{Ts5qeG!! literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_16dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..8f131aff2c4cd68c0316393a58c546d0fa861f55 GIT binary patch literal 713 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 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_16dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..458f1283c0f6d2f73d36350b0627c0e63fe95070 GIT binary patch literal 571 zcmZQ%U|{$N#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbD*Q9raewWwG>D?cNzI6qHcFTE%+1!!S%Vsb`mv3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zIbOG-A|s_BQ@6|npEvXh^3oYhp)T(X@N?(olHvk7o7dCBB?w3xfG`KhLw~sqd4SX( zPZ!6K3dXl*Hz!3f%D8yV*UZInnwPG`GDy^HA(|@AMnnwz_=ZfA{m- z`~0R`du<(d2)OJ%BC+VEadX1&%&DyV43)W4PBVR z{>!PX56pZwF~lgwi!~%KImNVrzdVv*o(HqoC5K5m8`}9IAFvs3I$)ovFhSC6odoOZ z+XeU96@Le;IW7Ipd1ud}+Q{O#W8Na?OJCM71bKMz^J+5ooBMK+1 bU9!xKyDeNTF6>GIIHh>H`njxgN@xNAb@st~ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_36dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..f984b1d238e913c7df53167ef383f55ce35c48ef GIT binary patch literal 839 zcmZQ%U|{$N#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbD*Q9raewWwG>D?cNzI6qHcFTE%+1!!S%Vsb`mv3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zIbOG-A|s_BQ@6|npEvXh^3oX`nII1B4DfU3<&xq8@_0QxT!Mgf4hVCAJfxaG-;IHR ziNn*yF{Fa=?Rn-N2?qw&iz{<)mq}mQc6PzG+}myew}Irg(tWuh@`rEFpL^r;2F>ZG zpBC+m(F@OVk?u|jtn5xXYv559CmbfRm@|4Ir+3?SwHysML9tHpSsRW?_}(b=jbQ9i z%V|{8QIwmtp-#dzf<-R#P*$=@BD+bVrQxg%J7;a!QFFDW^svUELxthOVUmkEZ!hFL z-LhXTM+<1q%-6cs=N|Uo^`761Qj?6vl-r8$Jxwr=3)!u zmqYQwY+pZIXmM1$mvKmedAmuXz(7pmAQ^7ovYsaU4kh zGLZgjQ2nJJLHgse4<*dedefn%!!>W#1|M2@t`P8jMbFl?JQA(!&K+GxZFwhb?d6Gxy~Pl~zq0eI=}-2j zM>Q5HUzoE$V)w}&kMO#M^8&X!?rSdEEEjAtRWZ|pM(5W$ Z1{H@3M|_W@X9AN3gQu&X%Q~loCIGm2HNF4< literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_48dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..4e732e87007fbb8585863160ecf4d19800dae4a2 GIT binary patch literal 1051 zcmZQ%U|{$N#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbD*Q9raewWwG>D?cNzI6qHcFTE%+1!!S%Vsb`mv3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zIbOG-A|s_BQ@6|npEvXh^3oYZnIR7C4DfU3<&xq8@_0QxT!Mh~1Q6x`dC1pa%b05iw1V@L(#+uPpRb5dp6K4w4ih~6sbYunM@DzSn?R)Et>Jkl*@g@T#hk;6(}A2$ee zJz{K83R%^TN{>A!iuR6Pu(fhBz z+0JkMefaN&sVbh6fXJj}5r05|>S>LNiA_PPE}H~w>ObUga;As}Z%X_X;w}Cf|M4ZR&h43yp*dB zCtr)OX_X5Wvw6uaHV7!X=Wx=XwQ!?tU}eBLQN(^?G!=4NLY7mP=>2Ya&~jO1&-pbD3)FwkDXdFT zv|q8Sv8>3*_J~8k^BIl1D*LuIZVH^nGv#gSHHVuD_7WPmk47@5-u`*TA+k4|_sZGF zYa}#wPp)K6<(0HJne8Yz%OAzI?t5av;}X>nN^!D8ye+I1HSb&ZaV4v zbmpStZ*RHGQRUmzELZ-%?emb9nUk0dl-Q{i{k=XH;d0~oNsrf@chMR zw(A^JtNS>=U7G0kS>3;wQR}Z#o$3F2P%=~T{3ZS+HJp9+xsRYk&*16m=d#Wzp$P!0 Cznl*M literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..b2a06be3488758f8b0168b8ee8cfadb51897f86a GIT binary patch literal 437 zcmZQ%U|{$R#2~<>l2Vjdo|u%As-KvY9G{a}ToRv>S(cfSS`?pKQj`;)m{X9EC}hQD zVFA$qB_A-txGXRR4qB>@Q9raewWwG>D?cNzI6qHcFTE%+1!!S%Vsb`mv3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zIbOG-A|s_BQ@6|npEvX@^$PORf$m%lb!%sUpF1y?6c>=o>*?VV1f-cjm;)pqemCd` zkdnwN@XrD9(ZPS9zztc66d+}iR}hlSz{JF;0OV)@F*-0n2!JdA0jB>z;AZ2s49Mp5 lba4#fxSssy{DC6}7#LW28JRf}4=RC_dAjSU)R2Bd<6=PhT&+C@}?SRdQl-MryHsNl{{6aaw*+Zn3VB zep+TuDv;JQ)Hh5^v9K_V-L5x1u5= zr65zc%mlj!^epuX^3s7W{0entXMmqOFP9V-kjv}o;SvO-g+Q2t4M>Ka>k9``5_tvw zIY1f%%mj)Y3)rw5NQLATgd{UCF>xvYIT}EW4h$dyAY*xe7);MJ-ue_71H~DU`5?B# zR`2sbaSKlu#}JFt$tL%Hm8da`G6*wIJ+Q*Dg^^os=UR&+dp%7%8XFrQ+DpwZG}&Ot kplr(XNzV6X^A!b#);BEo9-Oi`3N(Yk)78&qol`;+07zDT(EtDd literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_longpressed_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_longpressed_holo.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..20ff529602560e7b03a1d9781c416f45b4353e05 GIT binary patch literal 483 zcmZQ%U|@I;#2~<>lv0#fo|u%As-KvY9G{a}ToRv?pO;=xlv-Szni8LppOY_S#bsdu zQ4S>^Fv7SjFa{1SU)R2Bd<6=PhT&+C@}?SU2xt}h%& zN#qsy=KyI8a0V!1)$Fegq(brvLXsJnm^c-H91S2w2L=!Ukg+^K45rU8%sfK~mp5(b z1gcl?ba4!^IGvm_qw*OKvnYcw^V9oKlono|u%As-KvY9G{a}ToPYUlv-Szni8LppOYV-l30{2WW{A+ z0Z|VnA27nWEHDNRTB?^(KeRZts8~NMKO?U=KTlsTy(lpSXkT(-az<*geo0YcUU6D} zQEsuWk$zfcPAZVrGt@UsOR=ypwlFbIHcm0Jv^21^G)}chNlr3NN=r*jGELM6I#M6z zcHN4KjFf^*-7*tAzR ziM#^;93YJW9DpKodE8b2sgS&akYolXCQbz)M+1n_fdNE-4M_0-F_?BZbLI>o%;9eI x9H?I0)5S4F<9xEs;{y%?28ISbT2i4d@vaOnD;N#pmY9G|_jL7hS?83{1OUAob}0Y= literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_light.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..496cd2c4683314d8067fd3d47368b1a8690e4bcc GIT binary patch literal 478 zcmZQ%U|{$R#2~<>l2Vjdo|u%As-KvY9G{a}ToPYUlv-Szni8LppOX(1NzW(|vf{F^ zfM|e{4;W!w78nBuE!D@UA6lGRRIHzspOIIbpQo>vUX+*uv@kg_IU}`LzoaNJuQ)Bg zD7RSGNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`H3U8xUq zylzEBMoK}ZZkY)_Z|GU-738G@-FXG-*3JMwcU~?jE+CiJ)59eQNDF~52gp-@j=S9f zQWALu{y9Jz0~iBEp0s)10#YG)1tG}{OiY{#K#m3wqXPqo02`3v0b($1JagtuLO6ft z3}v8taZeY=5RLQ6b28632pAX|^k_+iy2QIOIJ+`@i12%q1v1^!)z4*}Q$iB})zNbc literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..21442f406b375515a7e841a3cf285f0e958c5464 GIT binary patch literal 542 zcmZQ%U|?Wn1QI~NrJGWeSe}@ald7MXlpLRvSzHodoSKuGT#{cDpORS&l1Yir$j`}- zPf0Aw7P8{9uz=`u2R>FcEzC8hvvPEJhD zNG;YcDN4*MPRlRKE!H*CPs_|n1=4zk`i5yK78b@9Cg#b;DMpr-29}n_sTL{8Nv26@ zX^BauiTXuAy)a+sR#ar96lCg_nGoe4JxjfUymST@s3$rD{M>oDq_}{N=k@e(2?Eku zKwQTG^4pKA-iAO*BCo(d2S|efGmHVG8-Vywr%Vix3dt)7NoHVT;#2@~G=LZ#7(fKX zfs_Og+W@g`1CRh=AYg0&5+Do&C~U?2+BTq=yQhm|NXEUlXAA`y6nI!Rus;p;Gi3DE w7o0Hll=s}p_kKEPP4!wDv@!$_RZ>*NIO`}&#W~sOvq1KEy85}Sb4q9e0Ea_=zyJUM literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..299c42505e9da9494efc6dd6a79da1eb6abbf2b0 GIT binary patch literal 544 zcmZQ%U|?Wp1QI~NrI%8aSe}@ald7MXlpLRvSzHodoSKuGT#{cDpORS&l1Yir$j`|K z%B5$N2w8DiSU|Kw$p=uA7#LVk#4$NiGZ^(li&Kk=^|SIb@{05G^!3t<5>tRyCnqLn zq!#O!6eZ>rr{x#r7V8@6r)B1(0%<)%eZ#aA3kzcl6Z2%_6eCMZ14~QeREw14B-5m{ zw8SLSMExS5UYIv@D=IQl3Nm%eOo;Q4o~2$vUOLdROi+Jx2Kc%2a!GLkg?K$ZT!MhK z77*8QfV}tPs<$DKlE^FY&jHe4zyxCeX?Y;-JXB*3q(brvLXsJnm^c-H91S2w2L=!U zaUdlD#5O=|3(^n5K){HL{W48rK2YA()5S3)OtDnm{r-UW|AeVkm literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..8cc243ee58e67aab0f3d433e6f08b913e7f4ca6b GIT binary patch literal 2053 zcmai#dsNcd7RP^}B{5MDnW5#2e49w(vxlfeT4t7*nhyj4@c}AOzOD*B5|t^`X;RZf zMlCBdA9u=ORaoX|C6T66_RvgiYUQI+%f`q3xf<_U^T%Cxul3!Zz0W>-opbg-2Lb@V z0;pw!TQGREL>fJoiKEdYs2nEuIF(J~F=Cj>)OZ?~8B65|c%VBTE7;%ycXImP^|v2_ ztfZPN!T+FcF$Cw&XY%;C=r}f)AIHVnMDl11@YD!e1e?jn33xOvpB2aB@VD>4v7%y` zAZ_qCJd5GvWamV1jId+uaCWwJcD7?WF(T;pbQX(7x2NHFVDHKcwkIXA8SzouPZ0j^ zTWp+d;<=H)=hffuo9FAZ4*}POgBilhlXL{65|k%wxh`}4)&ycRH~vuU=H=jTfdCp` zW8IcOcJRI(1A*kmd(&6y%Urg20u={>!i}dy08r=}LohK11=>Hh+J0Zt2O$TwOm|Sr zGyboZ78Vy*@|BqKx-Ap{R_l6^+$c!{;}ti#+xBkEIplxc?N~O^uti~E99VEBP-J5L ztZf&xbky-_qVWlpo|AED(wai46sgJBRH(>jkb|G}*Z(%td-rMTp1RTVl`}1gs=8F} zi~$j5l#O)%hieJ{N+q5;Yrk4rs5DdySoP?Ppvfel6DyYu=BZ zDLFHr@nalU@FfT3D)F$%@2|T-k+|&MEhNvA1L;-4Irz1Rsf!3?!-e!*Kf(iX`yeB; z^~lr_K^G?c{;mf6YOMN=n7Ak3rBQu$=%xd0U1bo`UosJ7$XPtQ$?8h(>H6@sy_nq2 z1dO5n$9lu*1=z%f;n}vBnnyodx_z2!Jv?7FW^ckchd&Sq@vglfgXsHg`;@6P+Vv`9 zY2CXz!M3K1_xwK761&#@_veoy1vmDL4<;rj&pn=*nd$9j@#lu8r|pF}bYrgcuZpRR zh0*SF261t58Mj(n=lF`3i|BTfVp~c`R7kBE`x4NK($8US4hRT%q*AGTsO9I=wTArQ zm9P(5>PNTI=RQ4GC=|EPGCw{apS_+vMi=Rge(-ICvfFX@w&;zf{-6vA2`SI`{Jsw( zLYsGc1FFttk9{pIc3iII^JG;sTeW>1@*qDSr99&6UBN95{}ldc!S(_SsP74Tgl zNvnsFZ9jW>o?4|e02a%xEEpl@(~t>2hre8d5F|tfJ*Yw!p^CHtWdLyAcfLAvjnWS= znCws6SX}O_?Y-AyzOw0;(qoomX|&q68XfvQ#ETVABvsX}ur#-#)@zVj>6g1qc)F_X zjoG}7mxh^Q^zKXX?GG(FOM=5xO3PT>^OT&aH zvE&k9qwY^99bzuLz~psn6H{fuv6*?R4YSr>)0rtkrd@H%O~n1`%K^GYaTbla3G7-( zrwrC|+MxLIf7@y2{}Ql}U`1m$>X8#?a%sr@JgV7QDw(GS=E=tY+5 zGHNR5y5pOyh$`nEA6qo3YE4`sT@5funoW5yfdM7U7TW4PeYj%1VfXBa>goONb*P?T zND85J9I{Q6VzhLC+*L8_*(ruG>=w-6#STj01Gy(=5Z>&LPSP~T^lC=vaPFi*op? zNqyF#+De#dCngIe-r@p{IzF&b)MBi{h@@c}?Cim6>ho4qj~34Wz;K|K)uA&(F;8qsV%)T6ZBhY=qE$_}~77+t~8`odbQc6Ef9Np!ZMJi-X%??@*j~V+DP~ zR4ZssQhG);deGUk;gv@9MBhjdq;sgPPlu2guTdhwz=AI8el6@H^2veY9k$Ry50Y%a zEg&r+WN^x@EI4pOk6xqwfaOgGYv@cY%;;ugq$e)i%0WJxtSgjU1+Xp8LLj^^Vep2o zCMp})(F0g;<}w`=2;biDYg&fCt2HR^0#f~9gT8V$&~$XY3@_S$n|}d)SCOb_zq6HA ztz%{#CMJ1crTsxKgCx?EubNHk1OY&ubt zG2Xh(xLflK>ty?T87EWpX`^|hsI$sgN-j{7ekr@`K0RjVehi_09+`h^QD8g8p=6?WgnMsrY literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..3a0cc2eb4d4cff2cae00186af73a9c764bc838ea GIT binary patch literal 2575 zcmai0c{H0@AAVm65=#?NMQjm@R*5YtDiZrrEv>Dc>R1w`N@&PXl%Pn}-l25HQnZ{F zt*w^UOvq4GwSA>UwNXRWzSJ_Pd~xQR@67!1o$op4xzF?5dw=Kt?)~e6008{K=RQQ# zsdVpfZ=XP4oVO3fGbA{K5#s6NO}XMn4`$G)oM3+#K`E+n*WSk@UIB{ z%lr>TXMs4^P+xi|E+E*S78*>$Y5UQ=sr)l3-V}e|P+S<@n-+R0m>v|WrH8w8InbA{ z+PXO1OH?BxeItY86n&~5fuKVm==&N`DL#0gOP9QT@ZLB&zxJ>GwIU+?sUerOelYky zH_;|&htT{05dLSkH=Rz~h>M^__(|N(*77W0*?fAz_HQ-uvcZQhGPDrKK$(5>H=4zd zl6m}`RBbNG7bGpj!RPPm`+h1P~JXtsBx@ zd<1|M5WNW`_p+{XGkfABP;iMPXz5tKcKnyZ>W9^ZUx)=@pKBE@d}FD1@0aSw4|xy4 z_x}Lx_QbEtX=A=&YazyVZ=sE!&pAK_Fh3G*z#K4YX03MiZ!UEuN&vV z?(5UrdetD-t0`DIA*oR<(leZKs(mGzom(hIx6QT?Tg{Atg-9t?S_NqeQ5*V#OjX}; z*7}yN6MjiF)$R_AT$yv<{1v_F(4_J_E*hILfR)im%ZDphXP z**rKYmI)?s-W!VPv{!zg%0!+Ot`gx)cFy>{jM3pB5)z(MASW+c%z~dcG8ozhZbV?@ zv+oE(Ovhl*?Rc91%Sb(V^O@W8;;GaA;u+&{4SNId8MR`ucUl^~Ie>CzF6N+$SNsEgs8M#`qwr#R^gb;Yp;_iiDYpzF3y4y9(I@O&{Z zin%7dZ3gT*|0Fv}=uWXVLdJ5n*YCjkb&5twZvryutLQjngNRYBH;Q?OPKQl%q3D8| z%qGUzQ+70_0)C9bGL-?(2~D!8U56{&V)o?4`ejzG59euxC~k zLLN9AI+um{03kQ@`yCg0lf~Q=dA|WChfcXnPL6e!PjiNGbP7vQ&9do*w1E{YC#hNZ zYZTyOaW_q>?w%|-Po7r<#_z@rwOmbro`AhVywc!4EfTz!#WUDA1>KpNJ?XzW`TlOx zgd49Bqlo^sU9IiNOb$jg+5`tnXqN1Ozf&)6sG}W+T{xOJWG>Zc3f3a^kq7(;Ih>D6 zkb?My^RHtI4Vu3#!HdU_!e}U5+L(9*K-lujCV!4%UW_(hN~h1oeX#B!8yUz~xUR9` zGZL8i#ZL;}&K+fYx1-4A!kMzd{wL%8)wf!J0-X6+TV5cd-*a%Mt#tAk<;=p5Z%@GcCPk>j(Z9MC&3+Zt;zf;gAt;4oz zx!5k~(e4{5KY?u}RTn*eYo+KLmTc2b7+1@ifJ*-C6|ZU3CgpMeg>#G6Qr}$KohM+c zW5hN1`2#KiB&$4crmXok2RyC${Fn{u(PV~xqMcKB_LRMb=x%dI(cl`^+;uDwQQv8>i)ynS*lKraHPK`KYZrq=IwgD0HT#DDlSq1%wW$ zw)F?82UW~gU0hH0j3iS_^va(^eMiJrw>2(Gk$(cddvu|Df;H7Qv3-u~X{yi8g9acM zln`$988;9;4oTBc-pwh~td~ex{Lt(6Dl49DP_3uoD9*i3!!!Q{u~U_FlA9}9mrr=TsBU#ZwR9Xau|EVr&Z ziK?3C`sw_gd3|{1;lvaKrUw(=lnusK7(P(Y6c^03v`&bh7p_|c?HQkXE{~sKA=I%C z%q0iTIW;mJAFYlpE8&FdHCUBXj#!1XKelAzBN=ailh`EM`k30)=@;hkQORjezAiB))9X_myXZY5>l!NH-? z;c!)fKpaaTa6}YCf!6DbcDvvIs?o=i9=VBK_K}LoI0T_;wG3T*#Uoo5~(TAuw0tk_6qGEoA zB{m?{J#TWXLZ`L+T1Jt->k+*{{R30 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..93a9911ba543dce0f82086fefdb6ca88696b686a GIT binary patch literal 600 zcmZQ%U|?Wm1QI~NrIS*WSe}@ald7MXlpJ52TvVErlv)&@oS#=xl%ErypOzM%TT+x0 zpO{mSktk%vWnlr)2qhmt&0%0*K@rE~NKIkX4=qkDD%Q`+&&Vsz&(qgSFG@@STAZAi zoRM0rUs9BqSDcn#lv}K8q@R|VlM1Bu4D}7uQYOcV8sfO=t`(5*?VV1f*4f zIDrG?vHJ%kGJ%1{>FMGaQgQ3;wT-+j20X2a<_3p7zw|iy`yOQJImoAe(bz+cBeyJp zdCC7%1u`0)PabjAGe?~APKxd^JSLI+Pgqx2TiTkP-C9~(c zedfDvyUoMa#VwCZO ziOR2*Fvwn1d*jk8vOw`xYx9apOd&4qQHom^uWVgg_BV?^=xw(~ZPZq?MOSWIiCP=< xIb6y;i#aGWWwpNGuk7A`i>Ai?g?Qu=`_1~@jwvV7w18p5;OXk;vd$@?2>@Bw%fSEu literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..4d3cc64743f04f5e303a61b0cd6f61ebda1e4bc5 GIT binary patch literal 693 zcmZQ%U|`^81QI~NWtdWwSe}@ald7MXlpJ52TvVErlv)&@oS#=xl%Eq{k{@4Clv-Sz zni8K|Qj`;KU|=9*#bsdu(G4XZKn-JHU_lYblS~u!fo{}?`9!y(A|s_BQ@6~7Xg}!{eP`f>h8k@X8IysW&xIc#sZ#kytb z;{|#uzG8w_4o#kHOJkjHvHT@VOOnLrp0J*OHkIqCCfCfJ>)95mdEURFzgx;v^>(zR_qo$mZSPWwQki$2*{f~4 z_4%zsj+Kh;-q%Yn->KN;5nTA;$+MDGCoXJ?3|<_yODJ^Fk-dvIvAXk5%9^*)=jNo| zjT{mYC!@QIw3$16-%ORgF}uU_tms^q)}2!(`rMp&hJ9JrxkZP{(@rs*iC`C8dy`f0 z?TO}&zJ)IO3+3MCADAxt?DKz~AI@yMl@99Vc9?$hl}X#U^y;d+EfHJ4+_l_tN#@T5 z``*Q_t1Y4=x|-NiL~ovcH!*f<$5~g^q{j!V_kP~0_VMETV^N=vt9ur^Oa1tic5#-+ tY?b9#^Rv=&Uq79?cI(WSKVN;9k7oL&y86MkEMQlS~u!fo{}?`9!y(A|s_BQ@6~7Xg}!{_M7m&y6 z>ERLtq|HE>1LQw7pG9E|3`|my;cRa`fZ-<(>zZr{d@`_@H=_r1M2N&M#qC05bt?`*x7ESp^QM%Ro})E$Ntig zwVh`|F0Neuv-^A6d=hlO}6w{2a@cxT&L@xKZi_8FCCDqP>m z$F}>Kp2VBJJcEeobp{dh3k`0x*efRPcb@h!eFq!o&0pUY^}lXEa6Z)Xjw! z&O)y~_k?_5>S6u8sDSyrmB3G_q$%9yOY;6%*YO+MTyK=&*dHO#9y7D!s!=3c_GOKT z(_o&Eqdu)Xg~_0m+BdJTzti_{!_wyU}9nLboFyt=akR{0POZ->Hq)$ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..bd4408e53af108f67975f90158cfb04e032da696 GIT binary patch literal 484 zcmZQ%U|{$S#2~<>ky4aco|u%As-KvY9ABJVRGO5OS`=SUl$o1YR2iRJQj`;)m{X9E zC}hQDVFA$uB_A-txGXRR4q9pwqkd>{YEiL%R(?iaaekh@UV2et3eeKz#N>?BV*Qe$ z#Ju9P{G!}qT_gRp%$!spt!Jojn3iH;VQgVyo@|_AWNB$&X=$8lk&>Kbnv|B7m}Hu$ zUj)<(^MGzeMMg?Nrf!)DA+P9J>J{Xr1KoNF>fX)(KX+a(DJ~$F*VDr#2uRBTu?h#s zVmQs{ho|u%As-KvY9ABJVRGO5OS`=SWl$e|ypIcIt6Q7tF0ZGDOAwHj17Z~pkhe^3 zI6VSV5_tvwIY6305JUh0jQ$T~pJLRU0;F8>3PO?@m{^zZ!c_QWKiH~F!=I+{%!dZ-!d_-1y;uIKYr!^u}wmo UiD|)+Yk?r$p00i_>zopr00rA>{{R30 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a7906d556b1923140f9f3cd3cb81c580f3b04441 GIT binary patch literal 786 zcmZQ%U|@I;#2~<>lv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S>^Fv7SjFa{1SU)R2Bd<6=PhT&+C@}?SU2V-L7 zx1u5=r65zc%mlY5^epuX^3s8>o(om6XL0A| z=&aen#B0lH+8Wom@DW=`$vFd|Pj=iAB0Mw1CpdlA4pPZ~UcGyE>`4Qj!yxp}_}y>q zbyH8I)>?8og}-}yW8$Z{mf{zF{Z-+b0n=73O1FI|Q@Q?m$BIkKIcl|BT0&Ub7oQS{ zcy>*vQ885J;L(1SS9=&T^+LJ!1jW0vIeRLl@u=9Z5=!vd)2GEU(WO~)gVm}i#$YMd z&9_djJIeEcJydSSMJvVCvaz!*|2e!5vMIim9*|pVuJb|iW~B{x-uWeyR89%WhApYK z^7ryeuYHsw;CUy%>su%*zxqG1na*+3UND_>d+yn=&c(8#4^)I^Ck5c=b3 Z$BI?t? literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..de861fa8ba973277cb7d3a7cb4cd300eb5690784 GIT binary patch literal 1117 zcmZQ%U|{$R#2~<>l2Vjdo|u%As-KvY9A8|XS(2O)Us9BqoE@KAQj`;)m{X9EC}hQD zVFA$qB_A-txGXRR4qB>@Q9raewWwG>D?cNzI6qHcFTE%+1!!S%Vsb`mu|CkUyyCR{ zqTFI#BmK0@oKzsKXQ*$OmSSOHY++)aY@A|bX=z|-X`E`2lAL6kl$Ms5WSXd71k?+2 zylzEBMoK}ZZkY)_Z|GU-738G@-5JabacpORpF1y?6c>=k>*?VV1f<=8*nk7%sh9KC zzXehfc?JGCyg&v>4~*XUaIxcmAiwNh_9Gw_lUERu%)rFLsQ~0?05Lj%2A(`n93~Ai zP8Wy`(A0tg7KY(cgzuQ4?5|q zR@?c_wVEDZwc-D<9B@st0-3{kgr`^q_-)#ZQk9Z(Hq zd+!p%RB%e&N|s5`OGHC8E_1@&y7hX28Sfsmr8O}tWK~+0NBXeH7(8U?a7gOW3Q*sF zwNdMFZk(iITjHq+no;kVw2XUBzE$K=jGZELV8WZgMcoF^Hy`&nv%S){zB*&y&is8V zB%d>FFDtBOVckBh-}S3T*^C28Uo$RlGx1#H{7BUFw9RBy{;L%?@7zCTy>ZF+SK&I- zU)lz&sjKz)cD}3G(6DxvuwUY==L;==`P{Ku(0pZwX4Wa;b5pu9KVJT2p>nqB&8D=; z#+x2WsQ6YLndx(GL&b~5mU1cA{uN)bd(Tt#<=g_>bIJV{dw*`)q`&(1<2ltwekS&R zKC66gqOG5*uKAYR32N21ML0cw%kAAf|Jv6j;+?wv7SZ2a9|cq!`R$&Ywmf0Wa_7@Z zjtS?sJmXA1J4f(_Xs5%aU49}K@7S2?o;h4v z`Y~EI-(B-|DIS}9kJ<3utdO5Qp;=-gTe~DWM4f DAaI!q literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..7b7d73f032b98a37186a277cd4c989ce9e3a4bbf GIT binary patch literal 470 zcmZQ%U|{$P#2~<>no^Wlo|u%As-KvY9AA={6rY)wl9`-Xl3x^`TT+x0pO{mSktk%v zWnlr)0VN+W!niCj1`b-PpHV-wIJKx)KPx{YuQ)$XUoX8VF$HL2a$<5uYO#JvQDRhurRhTF;6y5F|xEYu(UKzwMa=$GEGWLOH49N)Gq?+ zg}Gk0q9P-uAXB%@1g}5zEcFWV(izS`o!S}T=g!L|#RcT@dV0770cjNw<^cK0n=?Qd zNJ-=s_~!s=4DcT)azj=k1xQ)s6@(-+FflPH067{!j1CMC0w4=OKn{o*L1sMM{v6~0 zZBG}+5Rc=@2@NJ$K*&&W7H2VPAw|d&&topE6&f;*Gn%-1lpmW zoS2-ETC87El$ckXmS2=xtZSs7mYI_Zr1cE-4bxIAEQ~Eo%#)2%j4Uk;EG>;wEmD$` zOq0^m5|d05^^1UdVcyWKsK`hu$kZ(}AKZ6LR^9LhJ8m#Lc;ErXMx%TOM?7@859B<_Ww8NKQB;l|9!%G zhxyZE%p({W82LS2978G?-`+ghc+^0|IZ#r>=E1! z2Ngz_g$zoZ3S6uLfea5d8g_^X1Ts1@x&%A0u)2ggxUjO+-|XEXX#U9UPW_ov=lEI! zO|;IaGySr@IWv4lvQ^{FvZe#Ol8;Z|`}TxY>?tSHZQ+A;-zWSOxnXwOaLuJ!Wu5v6 zakgihZZh2Z?Xce*3Zh%$Scmz)7MKcN(5S> zpPZPSky@-@Qk0lioR(jdTdZrOpO%@E3Z(T6^$pWfEG&#IOw5ywQ;aMv4J<8*?VV z1f*Ml*olJ~NG{awvjI}Z0X`wFKsuqen*y5hE#eI$^Lttiq zhKPd-qsu}DB~Aq{R)IiK!)J|o$x@n%`mfnCYRC-8lH!YcNZlj*kb!Mg7geu~^MyKT7UQmwL1 zeS|pMvrRV{ZvA%HbofTuzr9TtZLR7A%evST)>S00hsHCa+On7A91$ zRe9ze&wb;dgOg4jT;Iidx+wgQPl4r{w>b;BT8f2*v4x3wvT=%$rKN$TrE#i7N^+8E zQd(MKl4+uT5l}D8Bf1q887T#sx@9KBdP%P!FP-576U4op0e9s= zh1qXJDimvGtcrfa62Fm4U+uM!wUx&jDcf^zH!3^zgf4d9X<8=XrFiJc(Sq$q`I^|3 zoR&(wns%ekE62n};>njA_p)+&7X7v|-KOrPkaVUw&aeAzn-WL&lm+dE!%r4^u1S9Vn7hTf)_HNn(Q60QIof|WSzSCf?Wi=z^or(96OTQ6q}Ou#j%(hI zjVCQw9|oyUkn#Ia#4$ZuC@aUg!i3}7g1ikkL}D5*9C1})=bFd2aOTN>NyQ)h4nMel zf@|B!rL$M=v)iq2!dIszef7aNfmyHDu*n-K{8;d->|c_@2X~dz4|WN(tx#-Emlm;! zWqWU`Q8AszEOFjpqAOB7fZ2?wf1;n8#z6 z74V@@a?hy+4@`|JS{x59PAQ0NZqoj<&$TAO;Z1TWW5Qm>gR`$bU}Iys9^Ncm82k8! z^uB4C$1`PY4u%&jTjss>{6tM@-^!`#thdGYEeL#5x`g$%wy9?&D6qnYU}g+^4UpuDl|9D8fbD!eX1l zu_(isU-uTyzo{1Hdu3YTjVb3-r);iDvtpKhxYe?Zebb{#o&~J$ZV3Ehc>C7s#l*Ig z6_U$6Z$_RdIdpTWkI!LUZL#x)(w2TUebYOR-Dq4M=(6vK-xiliv-_@w9a4F7MDot@ s>L~}B`FHehzR|gIMVrfNxy$9YzaK3;H!*x3FeNj1y85}Sb4q9e0GkG@%m4rY literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..ac4073212a27ab7d1d4c65149c8e87560dbf6766 GIT binary patch literal 1043 zcmZQ%U|`^81QI~NWtdWwSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18lRh)0;Woe za^iC`(=$qhthg*JAiAOC1E^sP3@j+(m>j8@jQXL)sYS*5S@{`x#rb*qdg(=pK=bvJ z6O%Jii}g#267!1F@{4kdb&d4XGILUaw4R~9VOolXg|UT+d9rbek)@@9rKNGIMM`p# zX;NBRVv=d1ei2YF%qO}P6&Wc7nYv{rMEgmvATJ&0+K)^SCwB(;x$|;KaRGU}o*phi zK-va~Jvi8a$x zeJ>o{mK*c_?nBCqdmem-aBXPfE9%K{XnI6dZJ$wr})BPMTN5$Y|DgL zLV`(SAQ*rfK=8yy$9@3bxR*bpIq@$elfYmTJ?iJy`-+)ny^ zkXdkH5KoDBj=rjyl-!r%s+@9DGq;PjbER&JstOoBb2MLmw9HAc#ntP=QO%8Sr$lIr zE}VRKEfAJH`u(^2tQf4 zF?8eC53Gk0KV49`wsGr6&O;0LEr?r_l>LCY<#4T2Z$|R}quLzPD_ZN7d(R%t<(R&+ z_fA3beLSc%}wnmAJp@5>3#kz_HiELM*gd;4W(=>`9aOEB?MxkdHs%r z_9n0Y8MRDyY2gQn_=7WN>0PyRU6y0=G*nJJC;rDAw~gTw#d6p;T6vjvd|lP7cW_a7 zhQJ=fIh+k8)Aw&(ucUp)vfuvWsn(71AL>nvqbl{f&N~0iNZ)#ESIXVfi{A+xQ`&Xl z;6_%XYh4d7ZRh)Y#%x2@qHpr;zCUA*)Q6q-Nl#$jV|F~xJ1jiFR3w u*4-7|LKPqQ$_u5e4Fso7$heyPi>u~nqMKsVR&QWZX7F_Nb6Mw<&;$TOf~3B? zTT+x0pORRVEo8-IVFA$#B_BYIVqjoF5y#|6O=r{(Elw>e*3Zh%$Scmz)7MKcN(5S> zpPZPSky@-@Qk0lioR(jdTdZrOpO%@E3Z(T6^$pWfEG&#IOw5ywQ;aMv4J<8*?VV z1f*Ml*olJ~NG{awvjI}Z0X`wFKzhTzqa-0=cgwRtZGt61e!&d?_csJ6obNZdUm);4 zVZForq;*e$l8l0$E{-7;jBjsVO+0EK;BrycaP8M$>&@yD#e5%x6`Z-|WydrBl*H>j zI^6U1kCezUDon4EV>F3AuiUVVh2ua46U!`R2ZmD(4k-=?j1(5|aHz1ktYhJb;o&G@ zb4hb>kQA87$e8LN!Ny|4yvRU-hnY#F<6OfAo{nzDL@Veu>8~Z_N3B3B? zTT+x0p95kFS#eodKr}l*2&W#*&;X+1-I!?Y9&3u6lt^JL=`BTGvIOH1Qai;)1N_{1xum#&uIKgia0vp^ zEkNwV!3-o9YWLXyDdPa25LY0bP}@xsTD|W4YM?g3k|4iehX4B;0u;{o8{97tc%QJ| zVSduOr)L=$7zI6D978G?-`>2Mc+^0^<)WwH5&}Qm|0w?x{NG{8@y|Rh;YXQ7 z+xiu$Kjs%mtT|ON@6mjF;Xk?FDiP&8_e30@P2rsOG>MZdS(aFmni8K|Qj`;) zm{X9EC}hQDVFA$xB_BYIVPIfE5y#|6O=Z*%Elw>e*3Zh%$Scmz)7MKcN=yOTo1B=O zky@-@Qk0lioR(jdTdZrOpO%@E3Z(T6^$pWfEG&#IOw5ywQ;aMv4J<8FLA@N?(olHvk#c|AQ`f`GId z5G!(kd?s%wI2TAsHA1HD|Rw4yRS>zRjBr`BEF)08!8bFK&cnlB%APYc1 z6hbjD-r@_~0%WUsx;Tb-98XS=U|pOb($f@Zz~y#O!-27f=l{xd31QP%vn+|13=H>K V7`dyrUfu)J?dj_0vd$@?2>_jrX#fBK literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..a1a580f55a83d282569c8c77a68fd6fe20f183b3 GIT binary patch literal 474 zcmZQ%U|{$Q#2~<>nNpNko|u%As-KvY9AA=JQIeLKnv)WrlA4xSno|;=TT+x0pO{mS zktk%vWnlr)1tlLa!niCj1`b+kGNXQIacWVqepY@)UU7b&zFvA!VhYgKT;S?U$!r8As>I=3^x&z+Y`iVMi)_4IHF0@7+gtjGcK zm%O3iTp%TpSKyxmq~U-W%K8ta*EgS<0;DYR3PO?@n3$LpfE*1VMgu$s2mz1gTe~DWM4fn$BoQ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..c2ba6b8960ade01392f68ca7a885e6f1eabd6c81 GIT binary patch literal 481 zcmZQ%U|`^91QI~NWt38sSe}@ald7MXlpJ4@T2YdgnVORlU!0m)l$;Ttm|T)smRORS z5}#XAloOwrQ;?A;WW{A+0nrX6A3#lGU|>NJ$K*)OVbl*TPAw|d&&topE6&f;*Gn%- zOaWS-oS2-ETC87El$ckXmS2=xtZSs7mYI_Zr1cE-4bxIAEQ~Eo%#)2%j4Uk;EG>;w zEmD$`Oq0^m5|d05^^1UdVP4U#sK`hu$kZ(}A>LDZmU;zw=|BhXhB~@4z|WnRONtA~ z<@NM%2?Ek8K+MGf@?zO~lTaWfkyqfK1Eev)f1t<>S&0-NWsz49lFY!w#H0Y^XaF%9 zU^YMqfGhw3b`bF&2r8M%-vOCYo-U3d8t0P}Bv_Rt4F3K1mu;T0;;GUqNfw4}$C+4) S7c?FM>F{**b6Mw<&;$T1W^io) literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..573dd4e3fd4799ed151aed31ea471c6ee512d7b3 GIT binary patch literal 476 zcmZQ%U|`^81QI~NWsp*oSe}@ald7MXlpJ4@T2YdgnVORlU!0m)l$;TtlA4xSno|;= zTT+x0pO{mSktk%vWnlr)3?&~x&0=6+K@rE~NX=r@4=qkDD%Q`+&&Vsz&(qgSFG@@S zTArMkoRM0rUs9BqSDcn#lv}K8q@R|VlM1Bu4D}7uQYOcV8sfO=sb(XFV+NGZtFEi)n3OL~@i1$pT}=k9_!xii4eotI0B3&`d5 z^l%9R(kejA#R2kQ*?N;uASIDk;GYAe;eZLs`VXW{)Y^UnDT};X9L-io-U3d8t0P}Bv_Rt4F3K1mu-%akYb;Co#FpWrq=mt Rr&fV9c)I$ztaD0e0sv>WYo-7I literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..5c522845489bdc157edb9ab4071e5ac8a4416762 GIT binary patch literal 539 zcmZQ%U|{$H#2~<>no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YU?610 zWnlr)0VNxlU|bd$0|zbD$EY7#oLW?@pOv4HSDc@xua{nwm;$shIT2`Av3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zxn8%Tq9P-uAXB%@1g}T*3i8s086ht14DfU3<&xq8@_0QxT!Mgf0|>J)14%=Hnjb() zCBP@d6-W~V%OaTEfr@xag8YIRjAz~c{hw>@zaz|SEh}$k0mUbIx;TbZFuuL9kdZM! zr1fEVgGT28HXR1$1C7g8PU7iVa5^W!N_bE8Vcie)%zysQ0S0Q$)_FXK(~5G|8?F6z zGGx!mjrV3WPKvQM4w(KrgKbxl?^%cVbu%R;PMexDPb%?`4E6l=ih+@dg+oBWp#j3E zu-!DTOu^3P@nv(neTP5W*EqE3Px!zoytk2o;efOOb8EWA%ZK2=@O1TaS?83{1OQCU Bmw5mH literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..fecf19ea41d2fbd92960391689b08f5646a6e61c GIT binary patch literal 740 zcmZQ%U|{$H#2~<>no^Wlo|u%As-KvY9G_H@7oVJwnw%Y9k{_R+7oS^FloM}YXewmI zWnlr)0VNxlU|bd$0|zbD$EY7#oLW?@pOv4HSDc@xua{nwm;$shIT2`Av3^NWVqS4t zeo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mIO-f5kOfpT>F9Pa? zxn8%Tq9P-uAXB%@1g}T*3i8tLFhX3~8Q|y6%O%AH&M9dCkDaq!7<;AOMn{$#BA)@eGT@KF$O+hEH1= zR2x41#X}^3WF0_+0*Ki0EocgRL<1`f$@;x3DLa1Idj9{+=X~H~*6=4@TJeZO;zGl~ fn=e8_!GO_1<$#KEvq(5F))+ip{an^LB{Ts5#Dxpf literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..4d15082432868110f5546443766d9cc958fa8a48 GIT binary patch literal 1049 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 N<9OKl5Yxsd@*e@9%QFA~ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..c71f60cc48cd0051c4e429661ad2c6dbf1ce4f31 GIT binary patch literal 3088 zcmai0c{CLM7B`y7I+n@ONGOD1%wUL;tRZ9{YlfLImKe*}_oXZuLU!3=M3(GJ3XxRC zM53rD+Z2YR)Gx&w^*ZOBcg{QSp7Xh%`?=@d^S$@`{pSl{VPW~n#J+LL;sf16-LO9H z2sbPagAF2LNTFUqI8RKFAI6V}@eK;}!61=HC1uDdPIdJ^P5<_BtbZl&Z}2}@GHH38cn7Qsuz&w-q zi2kNn9%cY$VxRZHrTq2;lkh};8ypJ|$RWWLNG6!}x8!%Z_V3hhw|}kPOzaP_Z~v|T zWdC@;e~904hMhWy`K-dm`Z_jYGmINfJ_0YH!+UgUJ)>QTk1SDORx-t7OF>s%ovHRR zl9X+8KF^94^bS)VtMaaF)2BSudm-SWjV^+v&*`KYLbT=UjiD zO~_KX16_)jlHNgOFFBD}o=F2F8$G1TVIqpMdO}ELoHtAV3|2rf8ij;*yVTq_X z?w1(QV6DOB^K&V@H^hsgN7~e^*hS?;a&~5UX}nLvG3AR!0Q=)Pzdl4s_iQ0`)(q+L zg?V;XNGG%la{EgDN?C-zBWd)&irtIuHlg4u9^`yVYk;rzYRUJ-w7L@UdnlL$R4X(5 zNxFc9Jb&_xQQhrMM8Vg@+ryK0mVXB6^<-y z756j}G-`RjU4m8~GGq%m`}rFGGC=0(s4Tc(qFT9MO~13ThYp>|?z`@OCe$T1;9JIJ zF6t+LSpy&mXSo$)J9>mM5qo9YfPFhrGBzrLUcteYzLa+E^TV6l4Sq{&4Q;hy4q~fE zqMB>d^px^PLHd>9u9iD9bLvwX^ieDp(B?%e#+B?G8QS0w(AG6EeRxwy1i-+Y*%4H3 zKrP7O@ct9|Jb|gH-cSo~6iR3hoIgbldehTtW6x3;vq8(spr|HLJrCDrjoAYQzLS2?Tm8ERPVpY99 zfb%1Hm6u21jU?VhqZRtEruXmWAYwRwh>PG**U*DJecq#r$s?aaB1qw-i6XRZMvrh9Bw4K5N2m*2jQxD?H}Ck>K+dA4CT4A=1cws5F|F| ze^b+aB03hKmtF5#9b8*pSu$y2v8nct%P(u!G10u`S~BX^Jz0Uw(p+U%z@$k8Izc-? zJ;r=QJH!fSJpTyX?MNI$JY6PP>n4c|u-J!3p5a7-YJH zW%1^lB1ht$!#whfjKbsh+!H%E>elkNXo0LZ{e^{9F zYHW&Hv7|VtAt_5QD!X-6zZ%SERCa?Q9m{1A>Y04BM8(ENCzz!D+m@k8QTfa*i3>Zd zZ+GoqIlK)7<2%ltAdhL*lL^MHvYtNtQohXw&Vu|3TN3D>H_OYdg&uRNxyK`8L7lno zX0=o1w)7{Q)ikHGs?O)#>7s4XF;KOxMPCAA3lt7AO$aA@dL}(=sF)UsUCb;Xm6Rn+ zbw1`s&tZ+JILhfu%a)OSRM+-z$xk$?~);O79_uoyWb^R zWF=3~r{?v{^MTB6+ZjVF75&7-!yVKUgtpKTlG;KpJ?igQ!;CE`V?S<=3STw|;gy;9 zz&T4t%CJ3q%&r!8H}ts^=+}dSrk?BZC0YuSuRbd3xO^0g#6t^XqfQ1P>ZgM|WN2Xw)le-y3B=<-^aQ<`ibwh!Ee`g=*CcOqK8o z_dcz#x@Wf>CoNU*QCQW9(3yS7<#3-1NB!pNC6}&T>e{t3LtqPIK16K%eVXdaY`bTQ zn5w++3$fU+K|}_RBnWIQ1#haqU4#FnACPtmlXmyUVXe*&n}IjYxXhbDKz-yC`w*3?X)IK)rO0u@@HCN4Pt*fmFpW5!U@=%{)p z`bpyK4}NaXv5Ej=jb_$h&CXmo3qBp7ZO!~On2l_CxnFeb(6dSd&9a>DYmYHgyCt{S ziliH)VyXOn35gG8qVGtsPU@!lqd<7#p|DIq7tCdXycx;7%4 z^lbi|IOPrQ|I$d9c@I~(_QeoC8lTKQQ!suj@;-2mpg$r|s>bkrR$ zW3I*##HuUOv*u#A-fy6^Z02%$QU*NdMq^7hcHa&a%U$X<7H$eU7WgqrS>hdF!{6|; zFKV)-g*|qNCO5G$m>A61a>O?8RF5_kQ>MmhL_lpo6VF4N6^MgG=Z)^>tp(oss5as? z!03D5r!7dhCi?qv&KFk3lU9$~7?v?PNu0M12MWWKZXLVqphPsOKJJ~znbglIRBnJ8 z9G5#01kQM3vN0fu9pyPett(j28Wq`*&YBOur>Nh^HO>1Y^(~Ga1f3G7`I)87e;X3!qu-Gy%n%Tu9T%>GKQUkmT)BJJ}(Ug4&& zg0z)$rUiZYJmr;c9#|d^m9E{)Lg}IvdeBfu^2FON8ubtMQ-Gww=`G2t7S+0bfTU3rVC%H~;_u literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..bacdfae95a9c2091804ec20cb9edb3a08f9809c0 GIT binary patch literal 595 zcmZQ%U|{$G#2~<>o>G)po|u%As-KvY9G{sSpPQOj8lRkBP#K?FQj`;)m>Zv%Q;?A; zWW{A+0nq~`8<=2R78nBuEj58rKeRZts8~NMKO?U=KTlsTy(lpSXlHU_az<*geo0Yc zUU6D}QEsuWk$zfcPAZVrGt@UsOR=ypwlFbIHcm0Jv^21^G)}chNlr3NN=r*jGELMk z0_ugiU$>&7A|s_BQ@6~7fLHVi^3vTIA#Uvq@N?(olHvmLcs)H_f`D`a2y=k^2t*;<;K5Oase@tui zH>ut1JEoqnol{~)#Ely}YZ+{fTYpSqu-(t_mMJYm(jed#o6iNagiP5DrhFVf91gLl z_%|>xGJSgA+S|%LJ;LGN-T(cG!2!44YZeEbdgBTk*iCmGWz-Yd^t+&oxuhqh zd}%j}Oy#7T{Ou7A?&m!e7xRbn{obQp`0U*5se7X;3m-o@Eyu)Cb6;LW!ted(iDvD< P0AlcT^>bP0l+XkKo=3V^ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..d34e6d67228795ebd4ef9f4ec1753b232e61be2c GIT binary patch literal 1170 zcmZQ%U|{$F#2~<>oKlono|u%As-KvY9G{sSpPQOj8lPNR5}#XAloOwrQ;?A;WW{A+ z0Z|Vn8<=2R78nBuE!D%QA6lGRRIHzspOIIbpQo>vUX+*uv@ba^IU}`LzoaNJuQ)Bg zD7RSGNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`HN0rkS% zu3J%2k&#l6sas}(#~XSDdFg%35O;P4___0PNpS&ryq+E|K|neIggHR|@tC-OGXn#2 zsHcl#NCo5D*{)?Gi6X6!ckJGMSn7gdo^*%0_5rT+p54FYPVkh+Gu%oM@jw00Ijw%K zm#xRwT+8MA6)pQ>UVtVxX#4)vX^635EUeQXH}T9WaUGyUeV3y%b5 zoVMJ>v1qdK8NHmwMj1s{2~R%51p%ySpSh$f4xVumi8yBdZ|ZuTvqc8|1vcIZX7>vX zMAM$x)O8$ii2JzTCf(uPqi81g7yRr+qW6VnNdGwVxy$NVu&e0jmCsEdsGnRDb7VW~ zxrfW!rM%|e*Ie2d_h-(vpJi_>|(PwyYrWix{YsttbFyjP6?o(d9N~Eq%H8QW?Oa>qy+CyO&xP*#M^qQ~=W{M8SjlBu!=UF` zTeH?7N-DlUJgUXpNoK!1|D#_Q{x9I1&i?Div;&bbaqTv}(>{t#PX=+#{+N9Ed4BfC z&3^Ltg(SSx_4cme`g1(nx-+N56+v|lOkTWi(Kh4(*c{C4_Xv}1+Pm)3a!Q#Z%X2D*FZ%gPAxw6#FS(aQf) zVJ-VEOkNZFyYdD1*G>IewLZQ;b0(h=U>Et)I!UGCgr=FX#XqMK9RcnqzlFGuFl{`b Z@AvUm;mlie^nv+|!PC{xWt~$(69D2c^hp2! literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..330318ebe3d168a9dd7a72892d74a9e56826a25f GIT binary patch literal 733 zcmZQ%U|{$K#2~<>ky4aco|u%As-KvY9G{sSpPQOj8efoDT#_1}TT+x0pO_n;m{X9E zC}hQDVFA$uB^#JvToxDu2Q4*`Q9raewWwG>D?cNzI6qHcFTE%+1!!q zF9Pa?c|fb33Z~n0#;MA|VYJ7Yj^SK$HV~zc4*<=i#FHe*C#dYIhXQ|Z2r|J*7 zN_T$|+;CF*^*66q?-^L5cxEKTO;_>^n(`v~UJIk|r@RK1T&6d#>V91^{<2Yff#V&q z2@e>5cX{tVb>q5XB74T;prXuhsp(Q?4NQ!BOX~y$CK$7CDOkN_%i5;s(&7UQ+kd6l zmE{^ASv$`%f$3a}(aWPD5|3`(klAqSRq=73@7xLv3``s#!iAfooJGKafsuGZ!RP?X ze5u=W7W@dgE_30?@~meKHjMjB)U%5@t{<4bs%&~qq1BHIwuZlxFR(ENnl1M_^H#>( teXiVNj=DLqSt-2d3jfMLtaF-MexA`+og;R(5HOk;JYD@<);T3K0RRNX{_g+) literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..e39cbd6ea29efd68e37830e95782dfd88561624f GIT binary patch literal 577 zcmZQ%U|{$I#2~<>nNpNko|u%As-KvY9G{sSpPQOj8eg26lbT$Tn3EHqTT+x0pO{mS zktk%vWnlr)1tlApU|bd$0|zZNiBUhaIJKx)KPx{YuQ)$XUoX8VF$HLAa$<5uYO#Jv zQDRhurRhTF;6y5F|xEYu(UKzwMa=$GEGWLOH49N z)Gq?+h510YqM{-rr65zc%!Ht4^a}FQ4H+S>?F{g9=jD>(0`ho0JzRo-bOH!-fPCdK zasOr@^~2M}F{C2y?XAGBLk1!a7i%)bjjgIfSMQkSm?rL3eyMJT_5VXWdtAQo-uW%< zRjlyE(etORF%UeSEG+C@+0j04-#&xFl<2CY2R?6aB>b;RO}V@8Z+^peCI&s8+y>(% z3N7Hjw z4gm!Rhk5U7>=kaShyf)S82yqMnOHak9?Z7{(+O#5-~Q|GGg`_N^SB{d>wq2KjiAd6 z?`o!0^kg#Zz9f{br^yh%#w(hq=gM}bcW)x5&bv|Y;Mkv{181iGjZeRS1_zopr0QwiexBvhE literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..0f54bb144a707de6b6f50543aed3119c7486e905 GIT binary patch literal 1163 zcmZQ%U|{$H#2~<>no^Wlo|u%As-KvY9G{sSpPQOj8eg1|SdXdLSQuNFm?s;j7+G2xSXvsVTBIZ=nI@&BB_^3B>K6g^ z!d$OgQBjeRQjn=zW`frvdIfpu&CC#&b_V#l^KwaX0eQTh9xg#ZIst?^KtA%AxPLPP z1GAT>i(^Oymvy4x!xzQdS zSj`ItVx`Nrf4#gW(mvn%uu`DD&Ku6$TiIV{uqxMoGj&s4{8qHGcv7Ee-}&EP)YonZ z-07Jt!`B|KR4ykmJ_|(msThjEuJq@t7JZFX-3zbjFsPc zOICkZ|57DepVVC)I4f9LJgsDB=cO%C8bt|4>@U^tI!|QI{wed)ZI*r3S(|s^3bBd( zD|Cac&uTn%dlm8U#tL2Q7i(fRXPTHUn!cUD>x;GCNOzkOexp{Y0=uY_@$*oTr)>@gl?R?m0oO)%N?-qsF)z)WbI={Zi z{?cxX*OLQBFMZt<{^X!Zo2T);pUb*qZg|d8*A=lWoGYU5mbXXIb@_?j_1QMRvU47o zYSwk$+2PeSUCDggv}cyxZhk&1_nQdEWVM}W4_^BEb;F6)m4ACm=0_@jN)Sz+xUOJ- zr4su#BfsNrX?FiNPMfEdSv)gyPDr8f+&2PS)7`?S+AZy0D_n1|{kO=ey?HZN*lxDG zwRxA+`m+M_cW(MS;nXa<@O3v!(>njmJmdIF+x)~twf;XdFHW5`<@dR^Kz^N^%~?-Q%0{{_C|UM-tLM)vUX+*uv@1C=IU}`LzoaNJuQ)BgD7RSG zNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`HN0rkS%ty@u1 zk&#l6sas}(!wY%^dFkO$M|TGJx$|;KaRFV->*?VV1f(56m;>yWgq@)b3`}yKE{-7; zjBl?yPmu|faCm6llY4txuKMg7X4eX@Z3MAzZ~L2WQ@ZT+m6xZggJr*z-_~i~KX-cg zsRdJhELz4r_u~QvIX2OT<0j4mvmO|-3$*;L@JLiy(^PRpM`g{+3Wp#&#l%{bjh|O1 zx+e*>MU)&!th?jLbN7(AyQ$Nn5PA2vE{nGCvOjf<`Q_>NTWJ2Ey{dpk1n#Y|0v)!>_7cO;BA(&SmW+VPYXL+}7hc9_zv1p^R%JF3uYn)BCc17H1mwzn4+Z$vV_3Ajk%R>1t zPJzmHO8alJzgq0bIZxr+V?o!8D#FtRX2&WpONqMYgn7Id3{-q`$%Y|y<7%C#yDm9p zqP;=N-;{UW(g~P9C)LK5A@wV-gXCAu1xkAN1%H2>8d0^(LGzEn_X*D&Z4bpTs9s3Y zNV;V1CcxiN(ep$)=@P@18+|*rwC|C4nk@h5lA6hf=dwvX$G04s%AXtaZPxmau91O9 zE|edebl}mE+L|e>+Zay$QWBJ1vOwB;;o-LYFAg`2RF*8?a-6;V$AyW{6YocLY-;DQ zpW&kP#^a1gozflGK(Us^B1i2s&K0(N(OBs%-l}?Ydft^IlcrCfeqEn`m$o*~W8S;K PWW(U;>gTe~DWM4f$yP|; literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_36dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..455ebb374250680d61d692e3a2bbbb0cdffa8257 GIT binary patch literal 1521 zcmZQ%U|@Iw#2~;WpHh@qo|u%As-KvY9G{sSUtE${6rYrnn4BGNY?e|WWW{A+0Z|Jj z8<=2R78nBuE!DxOA6lGRRIHzspOIIbpQo>vUX+*uv@1C=IU}`LzoaNJuQ)BgD7RSG zNIxwzClyHR8R{FRrC3-PTbP(98>bjqS{hhd8mC&MBqy0BrKKe%nI`HN0rkS%ty@u1 zk&#l6sas}(!wY%^dFfxFZtV>4bLZuf;sUyu*VDr#2uM!=VGfYIufLWt0|Uz*PZ!6K z3dXm0n5U~m3%fmxm58~$?d`_g+uLBs?P$C8ys)s+^m%J+&i@nLcx^Y6?`0DRI{We8 zpZvrNY{ne{nfXPNrT2JhY_Z~S%5_>&Y1yP8bIhA#OU{YCn*^A01&h|VX81o+e=@Po zq1s9Q$;7IU5^qD-DfX944X7POD*bN_tnS%iBG6T@>PD_oO^%;`~)x(iAR79#&kZZ1&2kJ>qZ)+of5n zo~VoN|Ey@p=^&}LY0lmlx27H5Z&EFVHJcOl4VVi(E>|+zSG;VsSTL{RV>EA#hrsj2 zR*a|4@v3<2_A_I0&pD^ycq21O&~smcxlqd6N5x7PU+cIwtx(CAN%Ph(Tq|0Y3xoi}Pamu;nIw`SfzD3iG4Tt}9c-~89PTG9!qn=t-v2v$A-u38thM3N>Pny+T^&94GTK>k*&Q);zMwY-e zu6w$ik_?yvS1df@V5k?R&~=4H+)L|JF6+6AP8vEpk1l`XI%&}kd0m@S{!g~2HvO9t zd)iv#^snGDqw|T%alaJRu1WKo1q&H&RJw64;K&iS1Z#Fd;oHq;YZ_+UxqZWn@5mFQ zWbIgi$=UsDa~yo~OwB$imFrpr%|C25Nm*67udMLMq|BxQlf3ZJwBC&Z~x6X z7o632S9;`q-h~;pHf50~00GNWVXsqRZJkNRaY;|rF|9Ej;I^wA>+p1k( zGkO$q6wJc9PpgS;m;1ca!_sEO0dH45L+;j!mnUzpcp_W%;8@74Wtqt6KjXa0HA@#8 S@N@!;GX_srKbLh*2~7Y{ZF#)_ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_48dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..baa2d09a84d12a00cdf64316bcefff8e8a730339 GIT binary patch literal 1932 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 wB087!J(+m2GDFVdQ&MBb@0McUKE&u=k literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_36dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..fbd6e891ecc14d40ed739dba84fb822662337241 GIT binary patch literal 1024 zcmZQ%U|{$J#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbDlx}BrlnX|7+aW_CmW|2Sy~!cS{kQXq$DSqCZ(k%CYdJc7XkIc z9IsnZQIU~Skf~c{g3lj%1$pTV3_qZ5?+oyB=jD>(0y>=6)59eQNKXJ^4v?38{k4o4 z7?}2Zx;TbZFuuLbyv8(L!u4Tk=3gBnag-f7_ltJ6-DYnSIaJq$kyD*G#ru zVeL6d1&DOrmqc@#$ks1>V8P|Ja^^-huWbtq0zP?hEjg+gq!2ruDO0P?zp=!^wNk;< zNQw0ln~3IwdA^NX7)+T}rw2-`xRdfHX+cUo7xUEYgb9t4Of`9?*kmn8(fel{P-NHI zc*^(4cQ&tYAR{{)CtU@~-br7OBKFTPpvVenWbgUwniI+vcr<>=<60uBai~4dIKarZ zUQ)x-?x|q__hX(ZIgw(=9L}CO@n}!x0=8voj$!G=-=3)RvoS$arGn?niti>xNHEvI`=bf_l%yza@&r&-YH)U4bb-2lLCwIY`#?8D} zX4(F{?r<~ePtJmz!edezvuF16Oz}N6neEi9owpp;T27kPxJmcN;&kT9QF&?{jhjq=-gLN`)bsY7!@Nx?^EQcIJj2U&>YG_W+3v;Ov{+`LAUDbV3=0>_8?vYbhmWu!EWX^C}y1(PR!+mvd5?u11@k?qr V``=}s!+|N9!PC{xWt~$(698mVqDBA! literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_48dp.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..3fbd35825bfb03b151620454b44e9fcfd6852bca GIT binary patch literal 1255 zcmZQ%U|{$J#2~<>l2Vjdo|u%As-KvY9G{sSUtE${6rYiplNO(plbDlx}BrlnX|7+aW_CmW|2Sy~!cS{kQXq$DSqCZ(k%CYdJc7XkIc z9IsnZQIU~Skf~c{g3lj%1$pTV4ELEKPVEfvbLZuf;sWw`Jw054fb;P&_O)VZ@4s=cFP1)eI_Jd;D)w%Wh3LTLWf4Zt` z-<5yZf3B`3zhu@V6;Bwt>oCPkXvxVQfhFmhM^?1E88y6Htit@_bPB`S1uD!LwMGqk z429gfb zjc4&JaP-n^_+>GLXMyUJ6o$7xY!?_*B^{hkGVGcm%;pj0Yv^!}rOw>pQnLuNN-mJr z>0+E@1~gr17EspJ(816AH_wDE4M`14*0Oo*ng*mx**vV~FJ|+oYD#LDqxVfp;iVo> z&nq^MSzf0ZJhL^}PRu-UAE?>S(BV=Zv&vmJ!viZX9#1{<%unuFW?V9J>ArM%U*?iq zkymD%jFEd(822pJF3tLIZfq5gf!bZ4G^_2KI@~KKmgYRmu6w5Mm2S@*GULcqo(&C8 zZO+fmNz&eJc_8Dt{0)ZS9i7z`Eum{3)^6L-{a41mls~88ccvOprhuEBcS5OXHSdJ0 z=grwpyh@$SxJipgN+DNL9VpK3&NIPuavS3&y~OE^n^x6iHLQ`lXXbFrcni;jtr~T! zxIc%eFWaOp?eI6p*x^seblwGA>z6QRWIhO4{$Zux!{E9979aCt?wKDv_t0{yR{v72 z`LDk0&wI9j@!T7*(AI_16`AL(1j|V^SIV4YyHIMvBVd0um3f7it+a#f9-xupn;5_B zWSmrGk=3vy5*YNhX$@=mc_w_F%{Xb@0tto8jf|VFNh`c&XI6>z0ETLLFwX>&jD|J2 zY#y&tk1%*L1GTI*ak!?==CSI-a>hx^cK4i)0vgfFcH-Aj22a!HFC)2mCwz4~F8`my z|DxI37auzGcUeEd#vpjzcUM=UkAwBI{q0+NsD07^XGbIJwC zsXu56k~q%{B<&8qp3@DKT0f%^NZLpEu)2P`pdNX;5-9g?+H0USwGFBv0V({pr=oqF z7TSI(KjQ`@6{lTlRjPg=_WnXYP@C+X4yR|En(~gR!ZVBKq<^fk>k@9aW!6mrW?TkO LS3j3^P6SU)R2Bd<6=PhT&+C@}?S zdvaoOMryHsNl{{6aaw*+Zn3VBep+TuDv;JQ)Hh5^v9K_?~hM-#;oMI0_R`*3yK7UJESAYIeFwqQNuqn9c{ z&NkX>Smx}o+jRKh^vVK%*3U1`tXL41{#EMxA?xhj_bL-()^Cow8aX+7*_)30Hw>Rn zQ!~B#aHVQsV`{Ti=+(OKI$c^iyOswevY+jeI`cBnQN32kG^*rQ{H`SLD~YE?>tF2B zI9R&>Ws7cLldk%oMT^B;J*UZhb#AQ;T*TU%U+h2S&A$9sTQt13tq^WdoR}c7;AWS{ zhDDM)G$-9*S>`%PGh?grq&F{~%<(9h7&mdn^umc5J=c{kX4`eU%r_1z=({^u+`d?>0*yd66TRwIsPdAJ5&Govm`(D<)>lSZ~3|wT{DsS~9 zxO4k~g@3MpKf^!a{|`>q<=($Ie17!IE%#|Pt;kt=D*0h2Tj5Sst$S;t??589ZJ6T-G@yGywo= CMGsg2 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..30bb8789a046d611620ae59e3640b14e343eda61 GIT binary patch literal 919 zcmZQ%U|`^31QI~NWtdWwSe}@ald7MXlpJ52TvVErlv)&@oS#=xl%Eq{k{@4Clv-Sz zni8K|Qj`;KU|=d_#bsdu(G4XVm|$EM7y}0_HH%R{v^ce>SU)R2Bd<6=PhT&+C@}?S zdvaoOMryHsNl{{6aaw*+Zn3VBep+TuDv;JQ)Hh5^v9K__M7tjy9o*phi zK-vR@IY7Sq|D^g10|S$tr;B4q1>@CQs&nMn1rA&kPrJfcK3{*PQFUO@@#lJTW^C%w zx&Av|GWNuD$+NLDW|qA=RMLI<|L3gA^eH)QyLoTEa<-pQ;=^&==hwmZZBj-3l2KVp zP3_7e?i@>$k4~P-HhcB`vep?*hy0kIt=g*^w=I0img}ddtyp{0%t}SeDrND_tQUs+ zyJ!7*XE=4%``FeMfe&LpPhE4Ke-WeoE6t0+eI0EwU#DoAJ=l|Rp^|yog%wUFYYblT zRi9(M*u*`rl->5(nv9c?{X2bY`#QvAFFqGL`@K2iCjYbDneRLJ_B>XzT_7NXe36e<#RFIy3aAI;#DrZ53+V)vStj^ zbYW@@Js>slNYsPuiASy*T=txJ#B=iwf0ZKnWTlCQ_e47P9DS}d@%#@*l~1<2U6poQ z>Iqr8sXSieag=f5iNb$p%Yy1>zuojdM&(oGHuvMVU&^iHjJHo)TID!CEdp`u4tCHO)fBs^mn_^(}!V8H-=fddYrqqWqaBzvO&A zMq3>0|6G1|%g;I?-QOo`wy(JU>%-FNbvC87`diEnRNs>|yLPIh_)WbHOWShU+yb9} zTZF#;(UAJEdETV6-{an{7JEN?eNg{z=POV6`&Tc#X=bUTWtG!?Gb?-M^*8H3nEjab zG%J4|FVdQ&MBb@0PFsNjQ{`u literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..3ce53e97a84e91a287e82f2f9c767a5f7dc1cd18 GIT binary patch literal 690 zcmZQ%U|{$F#2~<>lv0#fo|u%As-KvY9A8|JnU|MZ6rWpCloOwr8=sg{kdY{4#bsdu zQ4S>=m|$EM7y}0_)yt?KTAW%`te=&ikyo6br>~b@l$ZjvE;%tdBeht+q$n}3I4!>@ zw^-LmKP@vS6-etD>Kmq|SXdZan3yLUrx;mU8dzEyr&^>WCz&Rtr6nerCh8Xf^}?L4 zTTxMwky4PUTV{gW7kZX@1$pV~7$FYr4DfU3<&xq8@_0QxT!MhK2M{N4fIK83{bxFm zlE^FY&yfH!RDf6kh;@J%1pWiDb{_9WAQg~T5R%Nm#KNWkbNCC$I6$8-` zK%4;O!zifJ7#NPE&Z-6qe)V*549U3n_WEAlrT~f7M2{X;+qr!XXT|gmDD^F2pZb z3ptbL3tPWCM!vjReJ=Q_MEdtl-xoa1f0|+&cmLOuBWl8omN)C>ZZpM6}O9#IEMS?)jk@{Wl2Vjdo|u%As-KvY9A8|XS(2O)Us9BqoE@KAQj`;)m{X9EC}hQD zVFA$qB^#JvToxDu2QAgls2^IKT2!o`m7kGUoS&z!mtK^Z0<(0`ho0JzRo-bQ};naDcpI$3vO9em8H0ut{X4 zNyLha$M_vK-kj9szu;m}G*b;@Ylf@yUipSuZo(0~z1}8`tg4a4<{SFidVU5!P@W{< z_Uz1@y@~(d?%ny_Ts=MQ9QTV=tGiW|zbbxvASahBQ!emO>zBVx-lE3!KYB{nB%J;8 zX2w_Jqn^`t_(#9pe8h9vmxG(x=wiI6Wn7CbQy&_MM*cx1Mas|6-HyNk*TeXD*w>-`h!mijB~=H;hH zS=%l&@qbZrUa287<0F@r1W$?B`=m1_xp8|^ejc2D@Is^G9)T@3n{PO&JrKQjOgDJ? zrazw-yl`MU-=cFquEtrf;Ewp?WtLMm{BbELQE2Cs+&(kNQ+yfAoi@!Qjkf>3FFQMv zIsCMJfFrxnj`#1(_^*CC8xBS$QHLg-K zR|GjTJ#_Tu-S?Jn|8lnbMeXZX9n9Z-IQ+^3?ROufvpz__`|$qigZr^>Cftxoh&=l4 zbo#>Eu|eKiAH?dndLJkk+*PeIwPCjN9?rb)+tU}9=Usfctuu8MyFuw5uB`8s(j~v0 zvhD3uw_V7ZRUvfdo&Vbl|Gi^)g6775NfKE0^Pu%F_k7txw>#gu_B~#^kgXywweI_^ zQ!IPTCOU_72;JGoE@W%*F`JP!OxSYMr{^!`6w8UtdYrn|r#JH4hC00uR_P+gxBNTy zTW8aeHq)|ZRk54e0em9ShdyRJihUyZknLY-n|wwxziG`utFR5X92a-SmQK}>Wi*?3 VMdH=8MP{G`=;`X`vd$@?2>{i=l~@1( literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..ac92f1310b9345338a06dc8fc1944f13199f62e2 GIT binary patch literal 470 zcmZQ%U|{$L#2~<>no^Wlo|u%As-KvY9AA={6rY)wl9`-Xl3x^`TT+x0pO{mSktk%v zWnlr)0VNxlU|bd$0|zZNfl)uSIJKx)KPx{YuQ)$XUoX8VF$HL2a$<5uYO#JvQDRhurRhTF;6y5F|xEYu(UKzwMa=$GEGWLOH49N)Gq?+ zg}Gk0qM{-rr65zc%mlAT^epuX^3oX?PC*^p8Q|y6%O%AH#21TL6m7q8R^}E7!UW7T_uwbFYj_yX~qX%MnVl>#!B|Vs#^uU$Zrn517uIsBV%P#!9(Rk}xcFqe{M~%1m6}DD8zF}d$ z`j9W|=Asl{_mG%-2f6A+wE0$*z6;E^SaorSt@OhQk8@=TQv%QIj{LI6; zg4{QMqQnaPa-W9JN}CgA(k?G|J?iQ6Q_6mNDRq0~3LBlu9{dv1y07mZvqCID?cNzI6qHcFTE%cXo-Gu zVsb`mv3^NWVqS4teo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mI zO-f5kOfpT>F9Pa?`9rs&q9P-uAXB%@gh(&x738HeLOszL;OEZECB+5w0k5ZrOAwIW z0K^d-%s?`!uD2OT83*`;xB}^f+HR82>UHN=1GNd31o;IsI3zUe|KA@l|GmI{gYyan z>o2K)J}=6$Sz>7yC?3s@(Wz{yTP_G|z?5JEAgkILdU7Ofj~X z_0#03Um^4$sCNn1j-}^(WzU-Cy{TBoXHgQwafdC4)5dQKllWp0i=ypU_Jn*6I_tf| zJc#>_56_&HtbSLR&WkXo8x|~-*wNjneDpvpPmBiJxugd(lODM8+H^LicQuNeeptn3 zX86I!upp3G9mF}8l@QGQ+4$}Q>6+&J54`&h#`4a&dSI$vYQ@wm2O9NwKdidAlr?F6 zC&R|&emTG93jfK9J3r^jj-7YBjrM&%!gYPsW!Z(FHyUqU%g%Yh>ZtJ+zrxmP$2Tm@ zS0D0)-CUHy>mCww?;uybh&JD<(szOR7OO7qu$6u|;c>1^VM^ec-LW`FdC&~Z- literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..be314f50ee3d2796ceff20d10bbbbb7c028c4cd3 GIT binary patch literal 797 zcmZQ%U|`^21QI~NrJquiSe}@ald7MXlpJ4@T2T^ToSKuGToRv=n3s~18ef!|o>3B? zTT+x0pORRVEo8-IVFA$#B^#JvToxDu2Q4*&Q9raewWwG>D?cNzI6qHcFTE%cXo-Gu zVsb`mv3^NWVqS4teo=0*u91FPW=<-Q)-%*MOiQt_Ft#u;Pc}|5va~d?v@}k&NJ&mI zO-f5kOfpT>F9Pa?`9rs&q9P-uAXB%@gh(&x738HeLOszL;OEZECB+5w0k5ZrOAwIW z0K^d-%s?`!uD2OT83*`;xPm119VH0~yIYl%fP^x+4`%X(pnH%73uwhGyM8s=0X6!Z_811URdyC}0x432e3N|kL xzTfoQ%+$!WbJp9g4m|wj=8AnSB}U)4J2uI^+L}G_D=<JNf_s literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..0d3f05e19f0fb9d82a635c5c35a4f8c61b0c9084 GIT binary patch literal 801 zcmZQ%U|`^41QHBt9cCFC`~6z9=(2qa;4J zq$npo2gDSz;~b@lnAs%KRGcu zBeht+q$n}3I4!>@w^-LmKP@vS6-etD>Kmq|SXdZan3yLUrx;mU8dzEyr&^>WCz&Rt zr6nerCh8Xf^};-&TTxMwky4PUTV_J6pY#gy(is>Sq5kL$@N?(olHvk-g4ff-B?w4w z0OAM^W+0hV*V_!Fj01c^T!C~#Z8u41^}6$`f!YL1g8YIR{_k%{aOi(OKj6N=c>{%l z^}%1O{sNtm+4`%X(pnH%73uwhGyM8s=0X6!Z_811URdyC}0x432e3N|kL xzTfoQ%+$!WbJp9g4m|wj=8AnSB}U)4J2uI^+L}G_D=<u-?0T0*SY3NI9G?C&p3;R_mOiVzEi*S4 zjb`0$TY~j^A)bv!bMKoO=MEHA!X<4?B2C3b^J}$y$cy8J*A>#8F17T=vYj30@#(U{ z$feWj#cseE*>UXcQZsfN^}q%s`os>PJ_COtL{$uI!9RTEr@N1^_wfXwm~$Ar0Ns;( zz?ouN%2%~I@PT6L*C9>yyTEqqBi(7|*sK+L>>*~|;q5(WzyI~vtVKQOAE(VWd(gZj dG&Ai%LVJ)7GjHYvf8dmA5_eI%WAF#Ap8=hu(tZE{ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_check_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_check_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..38d1ae50b3d0e04691043a93ea296b21a9bb8967 GIT binary patch literal 800 zcmb7C%}T>S5Z<)W)Yv(C1mHh^~sjmZTX z@b7=|)7dKaTllO{%sDnafX+!)U{lO;+>2UG_%L4LYm%n=t$M%kQ6J4^AKz;c2mNxJ jK+W*ULA6Mz9&wNm2WeaHd!F^%`%+E1m$T%zemjQ`Xezo+ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_default_mtrl_shape.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_default_mtrl_shape.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..48fe617164881227a476aab59c283be9c979c38d GIT binary patch literal 1410 zcmb7DJ#*7Q5Ix0KWII4YFdqq2p-M8bNJ0kNRfZX;7zzeDW;7@1WCIR*sH)j;05pr_zwI8egO_*mw`3lKJXBD3dFz!I0oJUAApa* zXW$F)75D~pyN5gvl}y56AXBN_qd3umZEqijNhb2?YnW&)b1%sYp}knD4YSzOgZ*9-vGmQ!kJz7wT`hj#IYG z78iYq-ZEy}rhDc%)8K+_ZN*xThpt;-E;3&9%A8&xGnbE_n>SwR*tWSGwzOpI-Kl81 zZFUbtq*w4z?Nef)*18h8wT@7J^%m! literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_radio_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_radio_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..9a9e2085ad41b0d864ae98126c171900dc9ed5b9 GIT binary patch literal 800 zcmb7C%}T>S5Z<)W)FSc|MsaV4zOg(%lgJ5e;x z{r9^4z%Px|hF_~mZB)&JF~}j6igY3kw_4ODSGqEXM?5b|2_N)%KhL6Q5FMYSgY0ND z3P+=XjIuNtCV4KBq2L;|zqB3PS7q3kcid!cMthI#(85;SMX*0}d-#3e0=NRkz!UHc zya2C2uXpx?s#US7|oFG*d z7t@>B^C{Ax=#(dxETZ#7Bqu0hHVBRX*f?EULVKgQm zXdu4#B~I^_ao)t^jB?I#SO@4m*%J1Yvl#b`tBDxKOL|T6#NV2qXEExdx#;6N7irKh kw*kx*J~fDojQB`{j5NqQzVCG|?(R#RbT4nA@8WI_AN?@8k^lez literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_internal_bg.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_internal_bg.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..6b6f9fefdf7a8e455963fbbf46170ffcd2758c72 GIT binary patch literal 654 zcmb79%TB{E5Of+!A18z&K!^(`L?vR{Qjzq;Prx-=Kk{f3yRw7Ikqb9Ig zWh6LTurvj>0BTVCNB`kVRg!ma=iMj6X7x(_CUyWMPajU5_F=`$Vgs;%1VhB z*c>)Z*JUB_%~x-TuCcr$a^^fBzOY;*AJIeJdGC0)*Khs<(#CGiIqm>~cloY&x)Yq8 e#?>Lt0e(MqJ>*>Y5{zmSI36z7UlEFwX16q8sjjeaU+RO>1#s8%MUe6Z*T!B+I| z_sOfr@2oPGKkBr!y5#=SkVI2KB2|{xhDw`gQ`oBsPqJLW`(r*%WDrb)*^QXWNf=&- z;Zy}u#Pc{wD4r8H(EfD+|GCI9dFpM)@38&N*<+{d4b)z{72>n@41WZi0hho%@Bj>l zw^T}_Gr15t*M_gttX8boYgpFpZg@5trFC5`IJa1{AnP{?zR(4yYPDJ5OJq~36vS5N znM9u#Zy!^_yaRR&Hvm3hZiNo81OEIQ?_#_79^z@u<+%TL2)MYjF3v8exr%MAMu2{< VH0v}yf9hJkoyFC2J-uIM`~+%AkZAw_ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_ab_back_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_ab_back_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..6709fa0f7efa6132aa82531410d274da9c28d1dc GIT binary patch literal 996 zcmb7?y>HV%7{<@dcSu61G6clH+A8tI`Jhe~T9ttzWkZb7*}l|n9ba_5Hi!W+Ff%j2 zAHd2V1RFDKY~^{KSc;Gk;*EayoSvK?zjtSgG4>Tu)gJ{~tc4d#Eg%? zm%>OLiTGezciqk6{~jN_;V)9DQ+}z!BvlEwFSH2oE?@YeOu5k_Nf$~l)82qDqF6$0 zhdYbFb%*Zg*dGRi$)rD-45b_R-q>3#gf|vk`}LeVY6&Fqh~gw^O{vE+ho>gh-;(HBdwK|0jt$;&hZ&F!^-7QMi-%BM@OMC zt10Ixu4O4wd;75Mt0fn!tL(t@z+!PFOvtKLlBdE5?9@bwA<@?osW;L$h;OxSBDr2E zZJupj(`@F(%P2rZskF`%=l9mC;)YPxKI=g4fm>7wS_6CVKkoSSAKgnMX=q1JI{I>qyDF3#iB=C2yZ5s9leG+s&iiX7H$Q>Wiw5IrX;v{IV?i hwkVjgNGbmgC~iH{!gl|EX61fps!$nZIAUqiP=*!{Is*p}z>QJ4bhb%KBWX6XS*S;kI^)@s z<3I2Rc=YQ3ar7jM-A9+3L4T97* zTE=N#>0!F%+WjyJppB;8?ECHZcDuFfZToJg<8(UPLEHCwJH38i_I9ML@$N0Yq491Q ziF#?g|4C8F#+FzWe=H#$7oUakhhhw!1`FT;SOvS_7%1=wd!l(LT3>C1+Y)Bw}i65b)B7&CP)^$)0VeDDF_EjXYSx zQ$t%O=ULf`1f^0ehXFn`k!Bz&70Q7$65*2YQkmDq;0+#XWuysJjO8Yb4MkrBSaBJ6 z23uKJxD10)qO^HA-pc%ZVY~``#4ndenW8T5tqN`cnzbmFA@{%)8a>u~0{)k4KA%0p zyo$dmC>z(!f`v5o6}$-q;xH4k!b@ zN2SNJlzsY(+fQfbpnByqoV8KF_p>$8#$DqUL1aSGlzKg3SMNk>6(&>I+y@TbAV^TwVxRc_#~=j+WzuIEx{%>8%Q_SyvWO0= zoxp!x`QR4N2Oa{)z-QnK@D=z5`~-dhP0Z^7w}A)10;ty~GkcsA+v%vPbu}uJ8HGc)v43Lk;f<8AvK$!iq1kqM@OMCyQL5rZfGkr zyUe!zbSvcUO@8)Og?fD_O-SuF(^F|Awr`@upxlM>4eIv$7m?cUQf;0U^?SWacohYh z+i2`_rVmydw*<2eX$ZOr{Dw8atRF!CcuD86>xc(s~!*oMZ~ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_go_search_api_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_go_search_api_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..ab3ec2820c30ceaa59d8259482c29ff1f02a84c4 GIT binary patch literal 950 zcmb7CJ&)5s5M5us0|_S-p$Ji2g~TcG=EF&xG@Nu46hMb)kfM#fiG4U;YrVRltFE}> zN?QI0zk!aPjuweuKm~6cTRKicg0Y_8%=7N-%&aZO*bjiL`PkQDCsvWb;{3F5T`2U_C^aIM|#2wWXg>eak^G| zoAyV19Yzvt5BYHIyYAR^X5QEz&F6#pd@NnxTTNE$wOCCA*Vy}S<=gMK5$gVQurI#E z>X~n`M=Y@zJ1lyF|F-bKHJ}YV0ZxDm;0pKvd;~rNUx2T`H{d()6KEh$xjb_0K}LSU zy4|P37|lHuDSfJ9qgC_@9gB!{IwvCbwF>=3_Lc8~&`36$y&MjD)2KhRogQ%H*poR~ z&#|XR{Xe2&$+Xv>Ua(p%&&L`KOfx#AGg-A7$Z!)Fc6=NdlPow-G5oDa?R>TEsVx`D zyKJmQhH^O(CSdhC(KBHL8Zu#QknUW126@}<^HA;*rOoqw{#L6H-h@8(Rw}!UF_%lL zj>*HUL)Hb++<(C;VA2nuU*FK_+g-#RJhX<4*3rFS#N?N9W_J+N^^%q|Yau2hE$8e$ zZ)^7;+{{OHynyxqpc=>;@Trdc7s~3WLZif#KWElNT+TJ(Qr_$BT!miDfX<*^t-s9X EH&$!Kx&QzG literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_menu_overflow_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_menu_overflow_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..44059b89b9f8939334a0ba907fb959426f146037 GIT binary patch literal 1102 zcmbVKO>fgc5M4LlfrL^;B0@dngrG{iw$lbD7b=wlhr*>oToBR5-qZ%iw$@9Gddh(V zSAGINsK10C0dE{fstQQJSkG@~cJ}S;?ih@*?*Li*k*`E97Lnv);mt#DzLN3Bd9s#j z8729ACA3tbhz@3L*WE7p=l{dc27jGNmGSpU5NAou%}XVGZ0QLvkQvuX#Mv@Yt8C=( zWf)1YX>)t&yYARMe(H^VXF9c})3J1YZ*j6%F2&+RaD}yhSHAga6`}6)%C`6lYZhaJ z9kS*gWBa=^8H~N%jlm6|3p@c%fdkAR0*?V3cn3%z1#(~md-V1t ztrho@C{brgtW^@d!ih!1dc9K-`zi_jSuxA=Ak>m=t~b{&ZD;6uwrLNofioOg=9I|E zXapXN$n!?q1UQrcaxQF2a0j&fibQPdH(41aIZ$+d-QvO?V^`ZE3ESFgO#V+}QfN%B zSff#%leJoS<>-v=g4OGR3@-!Cj*bGY(;4R(nqnm~v&=TVWW`1Lp?L0{LbaL-9k6DT z=(*4W7p=osLvAfS4c%^c9m+gSlzy?*?{s#7H=&QUwOU><-gRR%(Gf6XpY=iafgi9M znBsegf4LE-xx4Ut_$Y^r@~B_%^fa!N%I7ZG2CIN9BFS0~vpJ2cX# z_#pV;tAD|t;14SJJM`Sm21-HDyPSLPoI7*o&g?jhv0ngL^HFTnT#a-h)F>Ke(XdFA ziPE8(Wy6WGiOH0{f6@%Y<^2El4?jENO_7*Fe8|&jkxvD`Fe=7=k&4o!5Z0(^G0x4T zIPQpXrV~Uig&fCW=!M;05Jek*|co+JESsf0}6azP9YU#u{br zutRpZ#@OEKI1Xd)RypD(umd~+PJzd$OW-N+0w{nh;0y2#_zwI4eggG+r_0-Ah-d8J z;F+@4h$z>&8RS!Ia{UU2RhsSZpQ>qW@+>|nt74vJHerkF#r3)Lx$nxZK5p~SZBy`E za*=e8C6_J90~gm6ER!zp3}oQ?yx)=@m#)|9W4Si~f!r$#o(t|ZF)}F2GKff}-J%uH z4qA{Q^+3~ZfNsNw+IM{|p@))xRyB5YPCLl%pa<7N)`6o9dahrp`vciQD!Xov9F;&| z?sDA~+uW=U&$hPk*Y$udh;3}7Np_K1c65|lJ3A4gz$2Ncf>*P7luv}3eJp?fN}*n# zDVwrJgTixV6>i^VQwzDvB(l)m*}2S;`7Af~Vysr7wlOB7c~vam-feCd z#7#Zw;|$ybfO;U?LQZ{L~{# zkhpW>$}jKzAMssRm@#}sb!3>Dyh<>a*dYr zYFg-7)$`qHmM35?TrrKKD2Vz)6~z8%VWi~Jl{mO1NokL5hpMHU~`tL`GrOv08o%bPRdJEE@yA3B~L zI6c7wq9FI2-aui%icKmsyGNrU3B^dL7(~T`laV8Q)Cv!^qHou}*JonL@v;a<2-uyS~1tnJujj zx&~qGv3<~E;5T9&O!^x1&v$fMdx*S?AJtG$9rYC2gXXP<*#qQg!&+;Y?I5S1x`yjs zystfiaMzE{aSH7zKxd%X!ko@Q-V}6>4S&)xy;l0_4d@$mSL-it F^9Prj?X&;@ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_dark.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..e8aefe92e3da15c7bcdf2e3a2f8d38daf97315e9 GIT binary patch literal 1470 zcmbVL&2G~`5MDP434tI${6?T&5Qj*3X+wpR9_RybgtJ-O>&C?KM!Orq1&IR>!BcSN zz>Oo1!V7RK-`L)^tO}x?=*z6fJM+z-1IE}-fMobM)8d^-O36i%#)XxuI1%acP^(Rq z#S2xcI1_q#b3Tls#^v1q<4*y9ZKO8*ty)w@RXjY@A_HYA(uFkKYEhY7>6Ll1%k!d? z(BTf>$+IY$M$ew7(`*vK{jJ+1-(iFL9IyxM zbHLa&R};>!+!^{I@B;V%d;z`!-+>>%FW?9m!e||#>l4GY=8fZ8%CBgwMw5JP2IG@7OFa#5(~qBd1r;8NuL@k>-XDa z*WxH8*~egj2|>kt&;0QwF>jPV`KRRWncbD;e3qL1x$JVyS zm+nwZy3?*f9jgah2f(`yX^KAtF10q&WV-^4S{rGyUG;38Hebqu_(+J8a(M%N+p|+H z#7RQ&E}Dzu_2WC-n}5N-}}Gy*^f`WFTqJWGEsK|-oZmNry4Q6%~R9N}!%_Bt_jywUDPa6(*o2Ofhn z;>wXn;RU$BH@3HgRY9~9eVO%mcE0&b0>;>PfTaI0)#8na3&};CM7fpAC>F`dT&s1N zMhjJ_sL1CFdt=%U!}`v-zlR?J{?bTo_-nN&jVk$Qu0;yYL?jDoxYeRGnbJ%1=#Xc5 zA)!YH{2)uia2!5)nvB!K$>i~5GL~VQ#7A+KiTFrxjl2Ju|LEwD z9|Oj&x{`2y;m*+afoH%w;1lo}_zHXjegFadw}BmCAD98d;jt)Ft@3o5pnJM5ZY8uV zE!*8a{v+QaH#W*tvNp1AHk-}P@G!EFiB)=YG*!=Xo2znTN{sV=T~BjEqu!h=>vo%T zS+D1EW1UVW3M1Lx-oo0|lyieQErl61zN17fxmcZ46L9z2ZCW3Map|(bz*u2rB+H8S z^tq|{^m&Crq64hmwt6iYdmr>LA!_h7b{Fb8@DoDg>jGP_KiII-yUTdKiH{TVv6Zd9 zOFk5ne3~_=Vs&6^0eIIUP4WA{rN%~@Y*&CmVED(`tcp_oeT2%z5iRE{rJTD9GtW>e!Wx| ziR&|ds#U$D&#Kq;)Q?3R^hbCP@Hr?JiQ}L%^^~-W=ihU7x8oF(b~$Kv$=TiR{{p}} BJ`n%_ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_dark.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..7db535a748bec2b71c2081517177e5f0a5fa2427 GIT binary patch literal 802 zcmbVJyH3L}6m^{c&+EyXMQ^oGn%>Jrp=Ck6xndm8h*`W4npPJkQsw%5Op`Pd z@ZN}y67KsG|MDuH@Np1a1i?i3JdUPOlCWsXs6y}mC3#PI1}z`;bZp{OdyAZscf>o5 zPUJV0pCNt&+yN2r0=xqK{`JqdWU`pA@JuauHA^xW{8F`9QB9k4I;`MIrkprV!%Bw3 zMOm(9lxj>ZXWFZ4yjbRxt(Mh1n!a{BEk#aT_xo=W@@zR!39}B!G29{W32VW(ffnL} zjkw9}<9vj#F;ipa(FIK2*dF$#rXFR*Wg}+JxX(7;uJ7FLYxsJoS+nitLrKMFe8ach P*TfrbhSO-Uc4+dONH-6Rw+?oKb3^RJ1C(USGc}05wcWgW1Qp# zhwP8=C}BY`2`(<_gpI@SJPap1U^Je_NkZZ&!4l5?!;}A17U-ktj*Gl{?x17z4i-Ds zChV^oKZW`Y;0{0mFMwA-zkmJnDTS!g1-w#mR`(JO2EVXY8Ov^?PKQ)Xikur?^tl>V_WVg9<{hZa?1I|)yvmQ`tJ(I28 Q`Z-&--i)U4;B4^x1%*S)_y7O^ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_dark.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..925bf63f5f244e8b046179512ac0fdf6af01b1cd GIT binary patch literal 1510 zcmbVM%Wl&^6dgAS34!p8ctoIXx{6erHdHw2f_?xS7D(*O#4~P898WYeRoEaQJ_xa7 z&yo*;PheNhwLNKN!lRw&{vLevf>%ar6TDTk+^9V8k2Mz{jCnkhCa{|4CQ*7}cK3rM%_OA1 z7wjb>3`gP9XYokvkH=5Op{&kJx9A zv70U<>|eV*Yju)~s3==%Q&$ zf@PhKi;T5e3D1mV!{N-@Cq`S+8d-w=$A> z!MZ+I`L54PbQ1Zqe!sL|rMXb6$eA^pR-Z`r!Rw%NSl%u60OB@qibZX016$DVoYT|Y zRh;|yxJ5QEaJUQ5JuUJ{Hd~bu`D#^r+%;%Rx*l)^ARWm@6-V6{aai2n14@Q7j%ox8 zf5bt~$sbAL=mO_CNOujm0gxR@(p|6VTr71?iscP#?*sK%io~ENf0vEL@z(u2Uh31o zc&YA`8_A32TlepHA6}BTUi&}Qx$d8MX|4tvc5>~cUMC@O&6&uf-7U<54mvV z-lZR6;upBlbGy5cwD_1Qa=2BuZryWV;4#L&0<_xqBP~`UNF^6RI7t&@Cq||+v`SBA zDpgQTXZHH2?fb=xGk^Eqd;Eow+VIzEmKl}t{#1(yjG+i;(r~LqW@4r1=HU^KlTa$3A+D zU2zFv|I+Ot?*dPOx4;MB6Yv@M0(=KN*zW>+zyn|mJO_Hc6Olz)CDABE{dAGuLTH&; zw!eS!d&IE{mqtc;x!HKU#bVu&K!m4Lt(I9d$*Y#wL}eR&Vx0f&d6XDxbwO2hmNlDY zxUAK3v9U%Y7O9c!;9zF$V#K*Yr{==+OWS^^=3FdJ^B%bO^?G9E9By2=tkW@8SUHhd zPP;yr8L!U^v=S9y-ELvOO0r0;CeEy0w|Xg2^LJhg-J{}PWw#-&0Y9*)wM}3L`gSu5kH`XUaC`#lT#l6q+XD?Mc%bHG2K7eM$j8K9)dGh z?z|8ePVfTdn`AA*3M825%Z$h4`DQ%cfHC$RAQ?TDM!XeCuDD3jxe-p6i$s{YE~QR| ztIWI*P8luo?b#@f*Qfsb|G|fVzqHC&{<>P0wkmnFFhYVg73or0?u;mHR++*cp72cP z3OYLG$C-@dN&MtlI*}*S>CtpLQL#*u(-N zv0J_=*sr_|eIGai&H)R21U><^zXj~9_P_rhz2`5D(uTjTmzAk29xb$xph`u$REAqEDwEZ^G>0cV%L@e^9rNQ% z#_=RReU?t-$#i-&olaCN)8s74GLf7Ku5tDsWk>JIqVU%h`z&B&d+af@9%FahMPR>j zHuOW_2)FI-85<0e z+?JwYLEw_JgM+2D&5Uz{ag@SDZE%#=S*3r%7IPN2U&G2`Qe#_D76$jNpyrdmRHy3fx zr$l||a^M-QgziB#)0*;;cD2#_bms=JyZ65hU-$l7@ZAC^7im{pH<$BwYjb`#H{z%H Lcx@k@-_7$U_f7xc literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_small_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_small_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..bdf9298ada55226239d1b2bfb645533d402f64f4 GIT binary patch literal 1130 zcmb7D&2AGh5cXz6^8>U{Md3$O>VaG;HEtRTo1FRpAoYU8E%L6t$x`o+Y$NCmiO1l~ zl{+tlgt+kn<(p(J!U`mq)weSqkLR25>;{anZvaVuB#n40Vy(D{lZ6p3E0(b^3!4kA z7rAiCWJ2%H`%$zx@!#)<9|Hc;Dr5QUa#h%};Nztc5{!vRR?2c`L}Am?Y$>q|NZwko< zgYAvVluI;V*}=iK+p452q%c<(e*f_B{I@2vWMLf!6ltY&tliF>%2~g!#g#J0 zI8LENvU$(A9+cd zN%+B$ca+4wKlblGh{o|~Ivq}@W9i3HI0=(PgcIQ@aQ{L3;B}r6)z`Xf)LN|_>d{As zXwQ~|^)tJM9|98i0DJ;I17Cozz&GGK;DWOYTmyQ*A@C6B_aFT(D^iOvlq!hI!l*I} z$|MPLqq0C`^O>O0=r8+C8O%|vmhqZ491hPznozSTiddCtOpQjEnq17Wh-85wQ>O!Y z+K9qDN#9DU*AtOx2?~bwGBt1L;9zFV{Mhp}rj`pm*yI{SW$uaj$!Z=pzw4$(=G1Cw znaRkMifT2jBIl(E{pUu14~#9{sORrIA2H` z=Xbk!-p3CkSQ+nY0G9ydstkljA6n<`;qzwzuAW+2~sS-Zgw8DuP+N~1ZDmJ9(>^sLtY+rO|HHe9YfsK)k zkzdEo7QW}i43?1KS>L_$=l8vP_cB4KhN~BxVCS5H`>3FHN zGqQL*AI0%b^WW>q=Rmym+IjKb=9RaVh?Y(&oSDir*Iv|4Rz9%=BEwWi7BN|{nujkRlMmzdWt z*xy{6WnTX=mxjZ=p8EZ!0}Ted8ah4A>v}yG!o#Xk`e zmupR7=*>sXueLA>d1F+a6MYH};Q%6dNY9WS0b2yy(+3W~^UrR1{x-z>7!NFJg6o(Y z0O-}@%(`3TV}Lard=BgO);Ik_aNLJ=oVnMi!}a#Fb$hk5Jwg5MgzfeS`|fN#a2$LF Q=eA#0*Ye%F27mG9HxtRcQUCw| literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_track_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_track_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..4fa376ee4d8586c22cf9ee7ee4478e941e28af20 GIT binary patch literal 1858 zcmbVM&rcIU6rL?0wTdDlng$e5gOJcIAhB&i!qFHH9wZ(&vpZ9|vOk)cCCW|z6aOAh z9z1$A9{m&ad+k11M~LDyU*GJT_r0I9>j@#g0<;?Um62~`m}p;yQDC(`3Z)4OBcr1r zm4!C3Oy+uxPG@X?;s54)&p)u*SpRiC$ZVeZtwSRf;zcqVXzL?XX8XBG?dG=Mj}r~q z+VZ#hs?*u&Jbn`GsO@gI-R9U0FQuOU=Mf(8~~G(TkZBk(QNL^ zOqo1Zy(mv|Gp>0kjm`?Ou<+|JR(^=SADa9)Q(}I;dN4HkAxgGlX{oBVI?6L8&B+Ts zUtizlU(&-3{4 zBAe%Um;>mX)(rM!Q!9LGHT|ZXR4ay^H@dOP9xSmMi|KC#-jS U%zAfbtarZ;Uilugp1&tQ0X$8%$N&HU literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_spinner_textfield_background_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_spinner_textfield_background_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..89d5cbe97133089dd20c57e08056506f53368398 GIT binary patch literal 1610 zcmb7D&2AGh5cW1ro1_Fvh4`s}Qnjb3&Gv_iO%JHz2I>jHfz!%ady}Q!-N<&Kz3~V< z1!wLYc>x}UBe(L68@FMVNOYnvW6#cyzZpAVjMW1CL0Wr4^Uu7mWXStTY(`m8NF7^w zX46b65%+m=GSKB|A>y1{sWYxt4qH)l8Ghsc)vrPL-bii2kL9p1Wf67+SS<`!W(q|Dd0yynnz$jo6!0>7L~Z z9CqrLL~5+z)&YCWexXAvo*&l2uc0@AH^4dY4fqcH0Dc0$fj__k#RF?V2iOH(0UoAs?N% zq4@ZE-H~HUOHRKktu1rbY`WdCOf74*-1==c7+REbn|I}i&Ch36=J>4mxzyV#GxXU= zB@>*!*1||y$mf1t7yTAox9(oa&gWXQp=^Odq!;gGO z$gk;EjB?eytu@8AG{ttSVxyXLkM09hkK_*4RMQLj9AonUxb(QVXk$%2b7Lnu*D|mG z(78yHjW|x)d_CgtbKS^a8yMH%-0g}gp;s5{u literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_switch_thumb_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_switch_thumb_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..d8b5626076fdcffb9240312c9e4808c58246c1c0 GIT binary patch literal 814 zcmb7COHRWu5Orvv1qq4Y0wGq24G7|XK%}fV09zz>k>fZdG)^kp2$r0K9ea+zZ8!+L zX=^^+02958J)W62eo4R>djrT;_A(>xMOrB?QkmHM(#axm#hp$QEu1o?s5Z`5;&__= z@AuAQz^|+_mfto-ZJU}$H%4TjlR_5Ca%V(s^Tud<+~;{&Dfp%T@F5cv%aO`h7&>#O7<&vlPy-gMv2D0@ z;2lO%g}?&h``_YpwuJo_9&eO$iOmK;=VXgmQ_f8CNv{@SkeK*d+k`5j=yIB literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_tab_indicator_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_tab_indicator_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..2d94d31c034437f2217631164f9c05f632bebee3 GIT binary patch literal 798 zcmb7CJx|;~5M6U7ccDNDq(CQ91yLZy3mhoEtFEG=prJ}(jd#~M2Y;M)7bPWhboBWP z`Ca)3>EX@Ut3(tC#(JLJ=bbkn>qrRk2VmRyq%HlRyfTt5O&qd%I{{+sNdbC5?QF)WSIFEj6xaZS6iE%c86dd~zg@3Z15t z^yG`0=;P`1a5|lsRIB_nFAB;}Nm|6dp!VcvU5UN5uI_;tt=5s)6@Nj!4edli%)=V~ zBX9;>0AGPS;2!t|{07G3IW^k0rJkv_YHioVlB{XG*x#Q&SC_X{M%8jbVmRzY#Ap;E z#KFPB`{hhZhw0ShlKxDh+FH``YSnj$i{sLp8sW}VM&ZiD=BD$wwX7qI7IEzDwL#4{ z(FoncqIY5k?mh4TeYV`ww`6@tJdMwgCRlwvIKQ=|{ZM8i2z{Ip2Ui z>kqsAisL#4eH~A=I0yf1+d!A$Uk=t{V?EBn#yQvry{B=35B;(x_Z9W|10Uw_2&Tll ANdN!< literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_text_cursor_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_text_cursor_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..e6eebee3786275d10ba9c07f0a69606a2e1d4873 GIT binary patch literal 784 zcmb7AJ#X7E5Isfyh}|U!jG`!#Aya?=6%)HbWKSJ4WbJHFBxR|UM2BSIv`aGfCwA;V zao@?-Vjw7T!qZVtcaQfjBBH+l$M`}!xsh3Agv``3n5VE*Kb*I2S<7HtDXY`PI8Are zZ+?G#7GJ$_UVO7f<8337m6IBmDX9wMMR2n5xplSwG!=PS8RXh*m2tNpZ9sX=c_9SVAhj^PjyozMrQ zQ(%i=`+eXDJbUSQ{x`(;1P@lw2G=piJAhWqnfo4)Cjj?w@IBnOUu~=31INLAoLOtk q2Smrk``He)y4l{Nc6Y;eJHq*JHWubtS&wt4ci7kQhhC#scJmLoVySun literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_textfield_search_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_textfield_search_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..85c913f5e4e3b2b1d9c582dcb5d8e8a4a7bf20cb GIT binary patch literal 1122 zcmb7D!EV$r5OtcsE{m!{0SO_Fh(je}wxN*isYec6Ij4^8kQ66b*Z?W@RX8oItczB7 zZ5v^B4`+Ekl>GPqlP?i}@3eLNq^~>IcRc-Ig#x7%veu4!D>_&8wskM|dDR#VpU(Nb zQhA=`uinT^?JpKD7mG~iN|py@Rf+OIaEscT$xlyP1Kr2*AU?mUFZa5R- zw;_gq4V(ZTI0L={-+=GH58x;88_2Sw>vag}n@<>}Dq3$%AGJ*n(lE|wqHg9>#?(sG{q!g(LMGU?mqAbwgsO6TgX4Vl&5F6v3`hO zFxqpB#V$b4$!;O0J)7%V_X;ui)*s8MRpZO&^)dS`Eb9~lkPFv K%r@l1z5fLWwEd6( literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_vector_test.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_vector_test.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..62e942a93c42695634de7647b86e6f5e1fdc8830 GIT binary patch literal 868 zcmb7C%Z}496m_QQ6I#KjLL%q16LbhVR_Db$sb+MKQi zK~N|C_xO0n-)X5d|4^h`U2M5~twf9(k%&^Mxlv-PlR|Cu#OFztOR(#4FNuR-7R)cA zS?n*D)8%p|gE$HoVUmb&A-KZcyUy!=+T@Jgp45kJv0gQ|*c0}~VrI(9!}8!O1#tKD-eiRH`Tv;fNw}sW!G7o7i4!cau~- zaRBiLRN@X27j8)0;DF%B0f|2Vu3X?R0KxNk-j_xrBs8wSJ6%{r?s8DqYO zcvP>qv*au}?02GG>s~)O8MeBe?A~G0IzGzMlVN*tr`l}VbG_Rut?0eHljYF|X?K{X z!{{K*j`LB{>O@DqqI+@}9j0ksbh4E^8H|9Cj7CwOwW2}N8%9|tkNyX4^}(QTO#c~6 zRyNb)e#u-j-QF*Et)dS+QqB=jV06o>{4!jXz;NEKTDs#!m&MIg zmP>&wF9-|Wm&MIg7XE(^*}FG{h3?DZW-1H!UI@!gVWIo7xS7hry%)mrlCaQyS=>xz z;ob{jc|}<0zASF0vT*N(u<*X*?+e|R#m!Wf8-XlS!b10DaWj>LdoN^NuqNYmq5HD9 znaaYw7s4_lEOcKMH&a=-_d-~z!b10DaWj==DUfAWSm?eiZl<#EIw9-A|NGc0Wx6km zo2e|dK$dx7q5HD9naaXvuaI@&GYHp(?#tq4DoZ_(`WpOi=h3_Lm)`ibQTo<}8i<_w|%|Mo?g@x|R;$|w#P9O`P&A2Xf zUluo0SzZrhc~)5HzASF0vb-6{@|>{HeOcU0WqB)*<*KmIeOcU0Ww{f`^1QIneOcU0 zWw{&3a$Q*HzASF0vg`)3yeKSmUluo0S@r^1ZV3zBm&MK0cOe(fvGBc8N#57!xW0$_ E2X6#^ivR!s literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..b520789c870a1294e6abe4de28c54ae2523f94a4 GIT binary patch literal 904 zcmb7C!EVz)5FIxT34uyc1)@S6da6n#yd;2S}%s z;%_){A*c6NTTIGBx! zViWY=@5h(oeLx??2e-7rS&=QgRK!ura*07iFKwutH{sb-RJume*+d|sEYz#KD)N^& zQPVufLOsu?FBBFPPA9@s?yi2bYf}S!+1oVRgJEMQ@C42ifcxDHWS@67>8AufUlDEy zw}j7xuY~V}AB3NTUxef1GijA~TFtbLxIiyTXDhv!8&rC2UR!P6X@hWdbhfL@xuvOP z4JRl63Yo8H+JFiMgO(MB!>%lh$9S#dTdDBP+Ba7Q{eC6ufN*-cjBzy+BG9gl3|X6= zmCgvc`q*r-E19M`qM^zGYb>Mlu)iOojQE#6O`~5UjSruaA#If;8N(r|1Hx~T9_ayL zkNo_{bbkJJm(CC9p|v-{asAe&TAbSC@f|!Qa1IOea9(?zP5qQ(37p58YmEr^S|96P n+uL?6?u|Jf5jG6FIk;EmVBK-tX??6aj_q2Ve|!F9$G-jmg;3Gz literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg_low.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg_low.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..69085d083dfba3565801c45e8ba6295ea85d4c04 GIT binary patch literal 912 zcmb7?!EVz)5QfK%LqecZR8fRbk8LF?;UxhqE2knMPCamdv$ge(lLdP>+TExTC&Zn1 z=z#+-)SkHW2pnO?u`iJtiHW|54uJ;K0e>o zX>REBvVxP7-P@LQWRD64gH{%X!>%rj$GFzvomBXC<(j*Le!rBJM>soMgs_|m;c4Kt z^hukZ6t)&}`MDWoS2B)uz?v$1tgr~y!T!DvGGN}x$8m5gr1O7`hBQ^OXbext9T0!X zdgKSh9>w{q>EitEK0QC8AC0{+-q&x}REtxaJie1df^*ndhx6L&Z0g6nm*711Tx&!; rXk+YqZExGPxHr~#Ol%bH*5F=QgMFuQuZ^+qG`4GX@$K_Rcg*V_?5x$} literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_icon_background.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_icon_background.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..97637c191ae02251ccb60be5b252dafa990dc58f GIT binary patch literal 658 zcmb7AOHRWu6ttU^R$Za03xwEIf=wl28X$_g;u5SY*LIq;iCx*@vqa(w9ED493K%Di zges8WMdRnp^Efl1gpd!w*XTl8{=`?MV%pS2RtR1fMlTD2WyQsIZOwz0pURCW>3i(c?UJ<0%86=;yL&TNB{wB01Hf~cfyp$ z{`9}r%VtCd1Foetg(Urc%gknZUGEl*IYh3wi}nX1VJgOV+a^pW3PbbAOK4rrcglBD z;x0m7=n(Ev^q8EWje$>;j}`zu@IFJw`&l3F6FmF)%{kA70PYHW?{pLFy~fuO_J_J2 UIA31pd$9L$sO$JcAM_XBU((r^3jhEB literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_tile_bg.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_tile_bg.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..f53451e2f593cd1717d9918e9fa4ca476074789a GIT binary patch literal 592 zcmb7BK~BRk5ZpA-Mm?d5148hDR>U+w6!ipmIC74hc+(mZJF+bmgpha|&**Ppol?>E zfW$`Q^-k6vj~xKOir`~-E(~AtqDH2)la(yFlUn6Y)|eOb(QKGy>&}0Vr*G`hqOt5r zFO=1a#dE_236;EDpk>Z*Wh-qOdy%k;^eD$uhKM{9H))ln*EkhPnqnp{)8tBER$($_ zhSvUh==i0nMX)|^2od;s0B7(?)L>(SxNT!G@xHzzD8iEPPMAz?ceP&gmMg6Do!gQn zU0E@Q!GJ4av=q?q7t%Gnh4FadTsvdTlIe!q_@^T-b;Ef3+}ZhEWw1r=APlW3A&UGn zJZORN5k%yKA~=E*N+ZG-g|`_Jdc@yv@%~?r>SOwR_Tl>uyBYYseAx|s$_E6``5f+P LZ1xKF_>J~A$c}|3 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_dark.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..03fa7b62bf03f0411daf0765f391e3d54523c59f GIT binary patch literal 780 zcmb7BO-sW-5Zze&d6H5=v=jtS1+%ubnD*3zCy#XJATrjGB5>T(rRwq9j37xG$d>)32+$y1grA_-5kWa})e2xk!T>NGGt z!Z{#ENNr$)u&b#8d*JP_EqMFQ_IL1LJz3a3%hmH-vANK7P+N_SChD@T0?r2XSy|cM kqpU0Z4$+&tZ8rO;%YHR*_FmS{=EAS6EBNwU&M$lT0bX;n8UO$Q literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_light.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..0931351ce6439934da7c569da19e02a977dd1308 GIT binary patch literal 784 zcmb7BO-sW-5Z$!4wVp&2L<$A*B$&0W#k3~{Zyv>?l+EtuLz8USjVPWxd-Vr+^dI?4 zyw|r$(?dYP2`@9e%zL{taR?z_fQ_wz(Cmr%iKK;6NfGCZK(kaXk~oZto%xpMRgM3C zAH2|8BekLTD$0z?s2ge~a1LiYl7<$VWhPKMH78>l#EC?9M|2bj&zpE>=X@f@v)Sov zHj$p-{?rcw=1&>b(EfF2_c=`nIcilGZj;TjcF2Hy+j;9b973+@8u<{o1g?P_;0|~L z-hmI`6BrIJxJr~>Z^~!2#0)xkohV*(Y6I#WBbULLI zn5x5& zM>yMLA87|zBJ659KnuM6yESjW+5TNTSWg+Y&vLygw{5O)YW`*F6Wm$`~W7yw2J@$ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..222de5506d9d0a86f3a1175b149fcbbceb0c9e55 GIT binary patch literal 1688 zcma)6JyR1w7~bSSLI~kQKtb?>p#seTVkSd{gN=@3p@?N>z1<`$m%Gf}D&pXbrG<@u z!SM$;{se0qJ1gxi?6tw?x!eH;oN+VHJ-g4oyZgTHzMGs7;$jXTwBn2}_rj;v4MJ-g z#*@~BL0x*J@%3V@)-^lvojjrZEzIn@4`Ut0?vt<;#9`o8nvqn#c0K8}bnMzl25}>d z+VQnjw_$t@uB^CPYgtn_s*PH8O|PicYE{?Na&`5((zS+OU2!9HDO8uIk~M6rA%Tm9TZy(EO{@5bebLekHP zS@Ah9#C#Sm^7uaMgU&w6#a22Qlw}3mqeV`7! z0p0@dfRDf@;0y2__zC<52H?{OFad(cj;Yeyl~Y*a{=_f*$)~aj|7>XWeyURB~I! zmGq>F7q(s5*-2_NJ3XI=3*~aRWb1eX&y3v@!^5f2(x%z6N8{b@xKv8#ca5?wF*JnJ z5k&Gh5kW^PWrF5|G=kWZzTVpF(9amUubCA%pIiirz(!9Q_--US$z#A)C_V8iS3p&x zZn)BU8HoOaRo#)Mf!1P$Sdd*I@2RU)lH;>2LaslXdisW3D4}FTT~0 zR3lTPzl@W1WNP%SSDS-Y253ii(tP&%LI1vDp84u}cW_WbpZ*PkkLQzP?nmaiqrllz zBU9tOjHeoz8e`*s5Z98a{VTRBsU4YijICGe%`xpR0+#`vLC)gsjVsf8>nE4yC)2Zf F`vW@$U8Mj3 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action_tombstone.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action_tombstone.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..02565e1048a8e4c28d6450cef75fd450ec6e50dd GIT binary patch literal 1894 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 Vbgt9qzvk2TT_(9lG_UW+{{V~b^1c87 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_icon_group.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_icon_group.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..7b38e3e43450a7bd73c5d455ef5b834616783509 GIT binary patch literal 1580 zcmah}O>fgc5M3vwN!_FkNr6&v>6eg-8q)w#)Ki57s8VkfZV}^X?4@e*+ z{s4ah@fSF8<;0Z>Hx6*-2yg5)C2lIVdU@-Ynen{Qqy}Sb&Ahr=WWmH&rYgi8w5hvEua2O>fqr@IWSVPkPiB&P$_;EyOVzY#u~=_8Z3p&j2OpPr$iO z-%orF6gLZCg{fAVn6&f2Ijs?sb`hX`rZ{4%{|QX*rrLC-aHsldU%2P>v8HJr zabEwD)`&@?KI!L0^@&MqjnU@DX!P%=m`nW@-$A`j1N08!vYuVhL+))6F`2Woz0oYG z9x?UY0BTwz&iz)jMx6V_HO(c?{T4OyQOqs+pxnzq9iU!_b8kftxnA50|3l}aNIPota!2uzTJrSN~KN@!vL?-&>9X~to%=^x~GX){Uy#oHB zmFu1y>!Gn^$8JYAYP}b!FtR?@eLvE^)$E1R z@swptyRRb4gwl_?Ivhk>J66~A6m0W`b))OFTDz^+ZrQue&febk-rlZiIdTEnXk0GWo)O!&_KkFX#m}pa)$;Pm zXMR$TP3pUu`Z~(iVeF=S(+*?^1K-8|Y?6FQ%n9}jVom&65@I9U6YTZ(Ss%6rn&3Y8 z5DdVV;2ZEG_zhIxvjW}%Bk(Qw1^fzr2Y-Plpiva!0XP63flt8a;4APQ_yPP3{s4c2 zC*U7YLwr}jbx^IoA&m*s4Z9=5M`rA))AB)I4U|}3o*ey-c2qKaX(`du>Pf_fh5hR% z+lr$Q^?FV@IR{azO@5m=gv{%#6A+EY{^=TyopDO8Z+k;WiH(i@$b_!ni)-ejG}^pS`=5>rz>?JH!6 zt2lDaSX{l@Hzv4kSrP8!Kt@k9u=T)_!69$kmK+)_u3h{8kyaX;C>F7Mv$NUG*XxIB z+|e?0-o>&#$!)&t4G~!=W@eI;Ls2E2w)EVd|1iE<2Rab*^QqofZm(}drIP-}L6|;% z4y3XB>0K0SYyQa+yu!Y@H*vPp(@|X5)6*ud&uW!Ngn>kE)Bf+EHn*lav~ z=JC6VzbRNY`dNbO48Pv&Enu`Pj@0oS0-@|sRHT55bN^Z7H5 zyvF=r1)Pueto*61gGpcJ@C7u!)r^(x1@xH%W0=eVPh~tmEzj^WcrMjwvmAJSjDwci zd1A}f+V`*<4QblRm{Ln##h8Iu1lN6!ZFln&l?NJy#!bj^rfZt3Shlb dqs?N@$Cl~&y2$i=%@@-8%Jl4x(6>pr)Il}}9O+0l6DJIN-4zQPvR zrvzhH<8-il@8Ujq49Eayft$cX;5qOb_y8ONUx2T`H=uy^3&3@t0z3i)&;woqZ-Mu~ zN8k|n3>*R9fuBGMUZw#>DY3D!QdxIdGP!~0($Xz1r57c%%e_0I#iiL5yTNJRlLwYy zi;F{(I@o=yf6h>#eaANk1Lbl%tAFnvD-?FPt$U8CZy&!Yja17c)e1|cLLY2mB8tS8 zm!n?M@3^kx$zpe_*faH(ki~E^GTjU67|RFIG*{;u_d?I%8DVS zyRE7|s;Z}+eZ>B5ApXDn(SDLY;@ICr Xq!FKnzd;}IzQ#399;ud<6KelA3I2AH literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_title_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_title_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..fe4731803241e4a938e066b7610e36aa1efb2c7f GIT binary patch literal 2030 zcmb7EO>Y}T7#=%c&c;scd^99&Loq6f+Q!=?jq3Q)2r2*hb?(U?io2X)}$M5VjU(fq7Q(}xgDB%yy z`Xu0oYM^c2bsZjvL_413f$BS2>OeRl*CGM2*s6GZ=4(}$e_Hh~WC5D0)Lz>mO7;5G0&@F(y$u#WZHKnJ)BP&OUld*CPF7vKf( z3iu891NaO02dF?t9oPhHpaXmkOiu3H@M5;Haf?S@qNLa1S||2MMxGjFQM#uO1Hl#+ z4z9ixJhrx$F{ee2EiJtnI}RJG)pE9o8LQV1%%Rv?x+-Fun+Ki@MU>_9t&;Te?;@5o5-NqSs0XajX*E8s2P; zq}La^bvwHRncHl6*~}{j@5S5|Y?y&vY^n ztWp``v5+o&wXC5`Wmg8|XSF&?cNk3l^q>nk1R&?c2J|eEMNnm{mB|_ zq@Osl#L1p^!+K5~a}!0b$Mu?AU&DOkM-}}yxh`e=1#oz(vi-=C zX3GD3!I3q-;pxiektOadKThV~=o{Bz`0*Mb-BinafYDt;pLA2csTn<#Sc(l=>j2FoYqX4?X?WVlXrVeS6)`uwxnKVQkzc4X literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_title_item.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_title_item.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..cb26da7c7d29667b2d7bfe45c79d5e73aec59b36 GIT binary patch literal 1386 zcmb7DO>fgc5M3uNO`H}&zX-I4s>fE?G@&J_IFxcissus>PRLr@n|Q%qTkCDpazGq7 z@HhAe+&S|DIC0~zz#GRFG^#+|==p7Cc4pt~&RUGITNXYT_D0Ol(-Y%zKk#^9WU4%$ zYtKj%3r`x6EbiO={$%l$zjxldFLI%C_e~n9JXNkU(mafX8}J|!xob36`7qTr#WnuFJX9uNVafiJ*U;2ZEA z_yPO`T8L`{8$b^@1fBt}0RhCo82AWuItSYq6;}G$%F48>5YM{ZgHR?yOEQ3WiEXgOLLBdW6d)!NR>ez#y(gLbOeUg zW*yK?;1|XWTNhm zKGHNV#;^f*-dMvb<02#pgoAII;Qnj_UXH|%DO9i)eFA? DsHh|< literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_up_container.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_up_container.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..1d605334f1a10d637a086afec78dddaf128b9e40 GIT binary patch literal 778 zcmb7COK#La6nxGwOfWM_Kr9d<5@Hz%cakB(&ITz9B&00ZAhENa+wHLvyL;5`NyskC zTq8%|2Hb!{a1f~WN1$vF&nnk@>%-rjq5&Wb+3Q??(SYED^RtgPASoaXa01j+WS z%bI30*10uRPGOk++1lBWN;_rKOJ!XpxyGW>oYg9)>9pXwRZtM$W#z7Ef4_8YeIi7Q z92;(<;hB*%jo|e~m(cj0#iGwDEmgHD9SjZgRh7FEW5Z6C>6$GZV7#*2{{Vg@x(T+C z94gqQ=b$IRFO-kf>s!!o|I+<6L`u(aOu@eV-lXfgzH7bauRjFPPX?wL<_Ci|Fg?Qj Xc+du>5c7P{JWuZV8+`=#^wIZksMD!2 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_item_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_item_layout.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..aad1c5186bc9694931426747c6300928b5ed2f30 GIT binary patch literal 1138 zcmb7?%Wl&^6o$u5(ll2}34|i(f>l+i9@@03Qx>RYRRkL-u(T%jI5F5B%bwgM7L|As zwmbl9-i0-<0Q|=nsZ@~=6Mg<6IHd>n|Snrbdajx8MRtH=&zG_`## zLpy)Bb=tJ7Jp8|(53UUUHkC=rKd4ERs)(E8M7V+Ej&LS2Zv45_Yb+}2NG%? z@B`1atbuiO;tbrw;qb|DIFOd>jE+a1Cq~DDC&>Nx(al8|;LM9ke((z0$mRxn$l7a+ z^~>)u5L3>fbaVZ!2ERLl>xg5#1w^s!`SAj}cy)Gg*QNGJK zFJ@*sjboK)b9Q3Rd^tC%#pYSoZrc3<&3*@;t*<*W(lTLX>y^fa6e7$6Q zdlRkWQ_fTLE)=O*?(e9Oi}+*KmGa-a-Ml|`nce9W#zgw#iDvC~v7Y;`p0G|Q7Ov|@ z<8y^dgsjyn)-R<;!NuxzmfLI=%S#orS}o1W*6r%Q%hYI)k(Z@f)yY(1pLrr;+fn$; zNTYXG#s+Q$hOx=+LvDlL7&T}UtikW0ccoA7*5UW?YeSKk#cyGTD@A)%NGX^0y<2#s zYBxLW{6&OB1`HdlD`O*F3O-octSB9D}E Ud!Sl)q?H@BDr;ig@XH$h0e(sFRR910 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_layout.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..969fb2f57cbbc854246d862d9d800cb0414d7e87 GIT binary patch literal 872 zcmb7>L2uJA6vv%~(yp`}AT%Ka2Tq%Y7Son#=`IMw6^R4vgcP~4(|9CKYO2EUU}c5O6puxms){=+OqCQiua0Lt(V0RFrhJ;nFr0_a zPUE?pEf!A~i@6GAygXSZiCCTpZn5^SO$V2G_Gzc?*JlGpxyK%|%wufQ9s~K?Hb)$Q z$KVM#2k(Iam*6Y-2EK!z;1}4%`d)83le%R4`_F}Qme=;Z6!w+gXsImg_l1$R(2^Y< zHd#=u%d)U8*qjDiEmz6~FRopG4b#uH+A`l4Wy$vTVr87N(MDOPW0B!!via>~(qwOh zl-jKD3C?b`yJ80isdMES=M^l@MHRH$#zoFW`GL$k7He0qqoaRU^0xi)xHddWm0qQe zjYiEJM{p^oTPw;aF3_=Y?6Wtx_LF(H*?o9*2mHpMD;a{Wego1j*g^dl#I~N+_?X|r z(?g^|bvFU*r#*a%r1b#}(kRkCbf>hAG>W9%0^>%bNZP2Q`JKMoKD>_J_TAOnbN&HF CUBjyY literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_bar.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_bar.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..5c00863b55969d6015c9d892a87a65aa474f311b GIT binary patch literal 784 zcmb7>&u-K(5XL9n4O_ylgkURB#RH&9#I#G*q!$ESxF8|%=NdVQvvEn{)ONeOH;#RZ zJ_2vR8*oA#c>$gRJ|_*TDsf<*q%&0BKi)T1-ljBs58rWnk785QZ-4fa*?E5 z-#ZSXs4x5P_wJf~FhU!4qRPgohJ{Pb^GdLcXQeRAYTlSa>DoLwV1=v%e7Mi{i#&=J z(X*p$ksrkI(>Pv;D9_Tvv?zFb$eG68e|H?N>x$^{R^RT3w!7G)NA%hwnhjrp`0WtG zKL8BG-~^n4OYjAJ1>e9A@Duz3^Z9dbt!DkWUUL1u6t$q8o$K-&4Dp@aRDvcG-sD=z zoWk%b3e8#DDs98_qi`kjrLf_PZuU6rm1?Y5+mBMLXgpr3M$q0~X>EJVn8EC7ZvGyV zshaWjQ#Y02lG&`EPf`lGEGAqragK?}k3~{Rd)jvC#kk literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_close_item_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_close_item_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..d8a87ccd2434a0d50e5971310562d736b3e89f33 GIT binary patch literal 1312 zcmb7@zi-n(6vxkTOVc!kU`m0~N`<9TQRAkikaVGTt|Ww@#CV8pYMC``R=`YaTsH>4jvel<%l2YzV&%q z1YFoqCqb;G3Phwc6@*sBLCmc(A&0XlQ#IJV^myz-X z7d@5v*6<|jXcK2EYknt;6l}fWH#)M}TyI{#Dc0p$tF_u{t*fRK?TvP)!`mC&H;DcB z6zWgn=<1cqbYfLvcT^@!m{OC$p`%4V%N>@Mde)|!zMr8L zVxHBDZ`Fm4eV!iDC9m+l)ogkB@1FkfB&8CLGd+FW9YIfp-JWH&S}~8g>4wQ}BAMs? zB0b3cs?|aqgwpm{wTgd%=mjY^NQ6yIrCdr>=C0~kEEcmp%Z){9nGxGMPPxUMW%*T% zjak!I@EjPP21Py42hW^x-aE{xv5T0a_1Jfe3D{{cs#Bj;K?(jd=!u~}#hijZgCDIU zF#pa4yrFGr50@;h%>rs~(#X<2lYsUojVx&uFkWb6Nt*(re$@A4fMUs#-x+YO(8!Wj x12o8wENOIp8b50u=9dbMEcwjYxN7#@Gc&gP>b5THq%8aJ&FRlPU?#pX~Tk&q(MOM$9VE1B``*t@X1vzi$v zeCo zaW4?sHHs&CAXTit-f#zDB*3k<+aCCx&SvMIMj=ZgU!Mdm0E{gE*;fkwM|%~^qlc#-nN z&lN(Ud+$|Nn)6N#Dq+lr0w&jytvA(i%1W$e_XW1f8YRZo^Gu=&Z}L6327Cfs0k(i2 zfS16pz;D2xz+b>Wz<)p$_RGLJ@DzxFJ>V7a3-B8F9ry$I8~7J^3sj4E2k-@O3%Cz_ z3p@dS0z9BnX>a&p%F1O+mCB~&di^dpM%kRoWSgs9BjRoDJs&DLN_@7qcJ!QjX=mI@ z-=mWrnS)5MX7k=xXVrwQu3DuN3c~7j`}m}4FvqdaZ7JCF^u4?+Y-Z+x;<0#Wdmc}A zsaWJ2TUz42|HyD7^aCa1ogj>SB@(ujdA zZ>zN*`a@w__p@O-mVou$BoQimx#RSYvNkp4p%sNf*1d>p4c7*t*%`~Qm)=P8KC*Y? zMqo^O$8|LZDCWAAJK)LK<>_-f8o7JLB7B^mA5TgTqelf{b90#>5aBQ|Y<4y~!*LVf z7<1zVy_6$-1ML)v36tTr#4NaM|8ROtMvg7QKU* zWOdqL9ha@)eB3s#&2`Af(H|aC+<9%VwRg>dKNJ`4w)YdC78gEER*#tUs1B2|&mf~7 zA%BTWSwBtsmdht=me;Zk+dP(!QA_Gs@{#zon9u4xvi%sf{N`Bv=c(m%78mhpaZT3k WJhhzkEwANd&2stVH=}UEH|8Ch$-Djl literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view_list_item.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view_list_item.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..71b9bdcb257c3ed24f10218c5d7512eac450bd5c GIT binary patch literal 1904 zcmb7^&2Jk;7{DZ!Ygih}ATNlWcq_z*~~WTc4CqdVRmdx!2fLWnCB{NS^; zeR)4x7+X%AiFAxU)aL%g@uDbI$>dP0qlvFmGtou`oqcOK%$NP|-;1AC><{5GwLgix zFpWZcFi)iGE8CHdr&8M_GE8St5~Npm?V0u!>|n>e{un6NQ~>qu1|PEp(rpvf4P?Z(9v$MjKyY&Xy3@ zR`Me+iAL70h)d$Hst}uHCXml>$~J5RoCVK;9=HiK_zZjjz5?HZ@4=7Y7w{YS1JvPb z18jpE;B9ah9D+ySbMQ6z4*URq0>6Ua!JoiFTo=F=u)#j4)plNUbu3m^c1BsFR@>X9 zu)I8^+1z|x8k5*=62)$G6pnG}2Z@@gBvI}yT>ed^=bjN88~MCc`N}bJ>MIVuC7nC- zBwB>7==bvpM%^=S#<7yPS4WLyGFJytyoldb;XRfNaQ==vXUB^Y{U8br7H@BR#>D%!ouXm`nGT9g2Tl~& zGQN}5Vi`!aifG#Hyfi1Mbv`VywpIvUp3Y9E=m$uU4&Tdi+-eo#k#>zI>U9j>T_}YF z1kyO(B+f!d0soXVQhSjN ze5J-S+(w_i89%@B4A~;+Tz3Za0oTz|W4xzhW4xCE=h4#tm#{sMdp|z5(C*@|_*e5( z|IASx&=)QDd9!n-*UoQxCpo}E$4N>xk96*#{jEBAc#F#kh^`-8Or3p0DwSA}C&F7u__wwf@_uVwmsrx}Z ziqbf8TSG1VFmOHTje^uQT1M$0*5mZ$jyq6c0B*J2_Q3CUce~ebdb@sSZ|~aP-fqzK zz5b2cA!7D)0*M25=YffCTs$_yYI}_y+h6s8p``i71uY zqFQZt(5zIhku?${z-%mCrv|6vbvgI{nwQaJfq@BtgPfpZxpEE$o$hk&il1m@gAnl2yVmJL*2tIs@xm(5~+j8 zAn~w>1};GsG?BiqqTxZlwdLiae>)f$Of7ovWGgyO(Y+fdqFzt4Jii(F%9AG6shFEf zv+LwICQd#ol2xr5JqeJSY-cKDo@%vYEt8&yMA4FXP+CMK;wja|lb|)=6wfO7ai9#H zb!K(GyMTTJf2>VbFtr!ZVre5*h0M9@z)OWjrp6lPdK^clb{W_zG%~df;F&@rQ+pnG zvCzo$_8XY<>48rjZF*Y*^WnS(K>u8mOzjfzbfJ-{{a+tfF!o|Gm(01(0{Dz&YmljJ z0{A>+8kt)24DC5+({s5m9F1U3^Ie^uuAt3*Rl(CapF@xPA~QboTPrj&wMXr1I_H(* z{Abssm(LJm2e4lFEv6T)$;YnCoYM>0uFLn-$kd(!@Ttu-GButxpXqT|(dT`nMz;QD zeb`)eFvj|ORIZpi#v@zL%Y{a^o~QF-{Y`7u%j}xgOBb>J%L{9VUdYx9|Ibk)pV!Om Xn%3iNZCIUkU_G*)OU3zH-PZqKO!(RC literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..d51c47ce1ed804f30567a4e4daf68db5eeb6ff57 GIT binary patch literal 3554 zcmbuBO>7)B7>2$1X_C$6r%4)08;Y}q{-xb*+Eh&8eJ4enOIKl;vAZ}H8-`R1yOcRlaiJpBupFi85?a!VR zgbqhk~&mWzvv9p_#D9(cccE75UMeK%|c zNf=Zs%~-j7;666(o%?ZYQVCR2!bJp_TdSe8XK_JiEAX-Z|@@Sz0>1v~*T4 zx=#IEz0pwhbE+Dn?SI8xx!?B7`-)?pTXn*~=)l}if%YeQ24~7+#UYy45)-yzxKo}g zjy^S5x7ExVskp20M0ut-4d29xL*IWha6LzvFuoja1nB8%`9N{%`Py3%>dNKG;>gpw z+n(Nl@p#sq(f7@2q#PYz4==7669x%tFJ|3!*WUDuuTi&v-54)*wxm}KrsaZ|5nuHQ zamMZxcKKIZhVB6)U=Cab?*Jcs03L$xz>nZ(@FysteHpw3-UDBQpTIBR5AZj53&F1Ew zb3SjKFYwa4oZflauv1gkJL@k!n4(y$E9YJ_4%Y%#?AcQfaZ1}_WW@2k=w@h>s=vRX z{6r%`n_-~EzyNN%b7|z0L{E?BqOBJ={+g>X zT4$fc=xC=4rhG?CtHe)6vnysMtL4QTG5DB>MZ)?ZsK-+u-0jmJs)#k2PBN60h$0oN=kN z5v!<{oiAJ`;={rqZYn&5aj_pV0iNKQhDy)_`zKIqXC3{f@YfIJBf-nyBtT!iR0(Fm z0HBR3!K+{%&_3J1t=fd4nxNQ+fjS7dF9)& zKZE)iz;=8%NA`#7I(;O5X93^YA60^#&fyq*85`SDIp*h3#@!k5$&-C3b4-2*_(;H5 zaTTZSs1nSAA;7+<61)N`fHtZGjExU%R0+0P-_x)k0`#NWb;`$P*NOXKV}1eU{5o+R zUjpopD#0u$0@|n&>}2gY=3V%5-|d)_D09qoQYcHXlfLM;RW5Pw`MtLNzld^vPK=+Q zbH-1VfMbpV+NcujW_|Nx+MHNMKQ@*rl%M59A+?`^Z7<-sR0$X#|97B`D#1?InLBKguCEy(S&_=Mj^e!zBA33f83ool{-YtPTs##2N8HXhz#-FF4;hhZB7jE5@0 UZsN)JZ{x{-7YkUQt-hoG0I1>Z-~a#s literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_title_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_title_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..438fd11edcd857e77653a73b6aeff8613e3233f3 GIT binary patch literal 2294 zcmb7E&u<$=7#-U&an?3ToIprO1B51olz7{ODo!p9YAb<=AR+;dtI6)z9$4?LW+!%2 z6$v5k9LkLY2ZY24!KLDi5I01R+_>-$a7PO78_y&(N4_;lLzEnqgYv6yyVS5G|t|VeHjV$PI~hw*J%&at;HE{ z(oF|i^s*T7z{K3*q*tYhG~45eh#@r)moG<$!6~td85h_*dst#@&BY8+f9S^G3NQ{_ z1>OZX@Ck4q_y%|Y{0Vs2*8moPHDD76fIe^^_!{^Y_!0OC_!;;e_y;Hy8Jh$y16#nG zz=wbUa^N%I3*al@JK%fZ0q`sE8}JA47w|VwE^n+yGGiknEuw{m8$5|rDx+<#weklt ziPC|I?Y=&a1)HD0VJ3zpwWmZ|C?%pj9z`(#MHR0?rdm6fCQe_I9ply|3YI5dcu^(+0t@(Cpn5^ zHa7NFk9WieQVdwFwks3C)voC%HacnzVM|MP)Xa~vELFPM-)s(K)DgOQ%XFKG8JnJV z>+Ixy#zVp8=0cI64TC<~Q-(agmus%{y;!t03=nZFvs~U4tW*+71f?zYO|t`u>ZFN) zDQLL9)W^*8x~YY@xRyv)wQ7^IOa9er z_HFnf&$F)wX$DVoL_-`LX9AApD5+Rb3J{1~g{aotRAIfY#U1@dEISFRKqDwx9SK&c zxOn12eI#(7qKXgoWiAh8OyR2428w3^sz}q$PYV^(v#c<|o$bUh;|d5j%S^G#W8!&jYynj7Ch_`~@1tmmc~aF|B(UmE~<8)prYfoqrP;UsT^^dk(R)+p`)mX&2S^73j~{b;Qn=^JhBU^&r_p NbziW#ak}fxe*rIT<$(YI literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_cascading_menu_item_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_cascading_menu_item_layout.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..90bd92cb3ed90582a79365f2cdf1d6deed512685 GIT binary patch literal 2846 zcmcImyKfvt9G>$dw%6yk6Tk`JoG}k4-nHYz@g<6If+7**C>Ay#(HwKT#hmBgG!d6Wi71TPfr>|KX8=Vy={+;`<No1JrMM;n@Uvl=eufX=Iv%2SPY^-fuzUr=dm#Wp3YIRL*cy9el zeQ!_JuSh4s+W+Le{UGowla{4D$BjaxLNnbryihq~O+slTQ7f)_dS81gfqu3!WsO2l zn^9ui7EP~LPFoX{T6HEyCP~zWe7iDk4MR5C_zLrj;>VFrcKXF|HZF;C;_Cq+R*Iw{ z>%SLc@DMNx%mQbD3h){b0iOb20pA0^09^McFo8X80q+4n0e=DgeL_qFbHF0t05!k| zTEIuZ7r-~bufT7>AHd(hc)t+mfmL7=xCguqGywyA0DJ;`27C#83;X~K46JxM7Nydv zICW~Zy3WbKz-osslNJ|Wmc}HGmqf7_wZko)n(ajGsU%U}9W>XgN;jHDR4N@iqaK)> zajYcz!Btx_X{hZeZpC+z^T!zN1k(2(8I{YM7f_JA$YOdrn;xmK7#qvPqP${isx$AZ zt+1?2%L*$N7B;;^wq+e1%df;o7)8I-0%=sDr7u=iHdAu|lh=)ZZ(k*7O#3bEHI%Ut z(<@OBOJhIul+lZ7^`uMeoxCZ zM7g%ID?|(q?!?knVt9BLmCP)LhGdBHYfmgM=Oa69#W6lDd;hAvk6mnjQZ{>ob!K9+ zm6lbP?tPXn^w3}~K3bKCiHXjjh723+BJZ=aUMu!7G-_KWu-Y*gq7xfYsKnAz)0p_0 zA)Yhfr-44`rc39$C$jmhz}1#Lw3`PU0DJY5sXYfQ<{FvW^8l`$%#KX$1z^Wi%BI|lGfGPP#_Uc=PL)aC(PS(!$rb{?Srv?Eii9HaHd z(4Xh2*Ejn7G1e~t9ghzWXE3JEgJ2{$)0Z$B2Y4=-=W?%$xkjeOIAD|6k*UoC+>2|; z)O!7+A3sCqK7}8rF{U5fr`wMy%(xf%-~1@&c4XQ;3(Vyjx$y0{`uA!t!JfYHTr$^Q z09aRQ-yH*Edk5Njm(G4=Y^*Dv!WYiDADP+$P|7tjHRg^F?a0Nsz55qAy$+jh ze~!!PM7|%HXFRU9R&Gb8-T#qO{(r&P$VF_uF)+68@cuSX#8!N3T-V(%lbCToGJR%` z^8XiV~%Va90E7MJ@615g16uuI09e55AX|= zaCQx>g9l(6G=K&#!7K0vyayk^NAL-J2H(I>a109YCzDxZGc)Vl6WUi|jT@uwp7Mm> z+okI4m;+a`a(O-4i0ihcWm9S`#TFMrc`asH8@JNv+1%WQP#x*@7dnUy>&6fMl$*`Y zZuF%#bhMOS-SIsmJyTbn<93B)`TVZjH;j$Voh*G$cqGrRxVN|zL$sl`oUDfhX z5yOUtjP6oW_oOz;;V$yBhurQMuIc)o=0REl^x2C{9^H$P8E2OuE`VcCF!hQU4)MELGO|z zJId!^PNt!wxX6xVF3I~~tZCkF!iM6faR&4Lyp!%Mbo4Vs_mMm;wh8RfAUl#L#hdyv T_-3k4dxPG^J@{QYxo3U@M@CWY literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_expanded_menu_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_expanded_menu_layout.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..f1350f69478a3f86a91127f446abd88ee6ce58f7 GIT binary patch literal 716 zcmb7BO;6)65Oq?Z-6}{>AynDBAn`A_@Dun4 zT=ysKoqcYa1HGV~=;e*ar*@Gsy17y);{EAR%q10O)Qd&-Sb4C2Z30@9r)+FU2X#H7<1?=QDNnoX#zibRlJ zZ{blrEz3d~`Y@mmiJVdU0`zS09=7HcqGWF`Hl`dgrlDWPHLZ__MaFn}KUbzM?z*^P zeZ3MYh-Gpc8{&D3^=#gs=gkx^gRsbr%nfFFaavFX=4_BIXcPE^x!@JRMf?U_$L(GN r>n(hit=YU)z{-qT4a+vRR;}kTdxwoR0c$qTa%1VwmD} z6W|m019togTR2X}sLBR$t>bg=@twI3J4EygXl!_x^V_O6j7K8OGi|~`mUWmJS%e~$ zVi{HIhv&l}*rxyY`|+K_-fO8e`&6Z+u1e-#DIVvN36A?UGm4iwsZ^m~oUkOzCD=b^ z$4MLn^WfE)n8zoJ#mmKFE`wM^r%{sd=#(>sv;S`0Ul;k|!Ei5&+23hg?||ryyB(!N z-o|(6DP1^3({@7mA6g&04?F>$0cXG^@DYfB68H>!0lop>fgiw6U_8Efey=!r-et4Z z*VUT(eO|_@%3_*Mg)EI!;k8sI6FjHEK;)TN@+g-yo5l4C5jXNJS4ezk;8L%b@LWrz zCY7l5CiUnjHD-0rn8vgP*S@Xbi>hFJwcKp2t?IfcJ(+Bm7~-#7XXX|STOpO%RcdH7 zvhht8o0Pg;qiPBDM)6fBDzsf1%z5W{*d)x^r$->Hn0~{WH8;8o{p&rw`GytK3{M~2 zSd-TU9&G)NW$GawTg~$3%x>NQIgR0-j%6CcX@W+xOnZnYRaSe^OVX6+*(**Z=sBPn>gXi-^8~d^GQee4Q*c<8#*uWu~1-#7jqN z5joOL;=yUtwl_=v`~UWP_9_!9V{eim&XSmo7m9nKU@mt9kuj}!ocW20vcqHM%TPea z6E^WZ+n(A_p1M=-cs4tl&8EWk-1*7e_xb#UGlkrLfA#oX6h3G-Ytmyy5v6*cev~!^ zl&N0C7Tu+5i)gg13vsxOp>@y&cfdn10cYR>NbnJS0@vU(_yWFypP++x-2;!n5vW!V zZBM3DsT9&^oIN(5MvcaK#24bV6f3ILcm5b-SCXb0w6PE)Qum z@|J0cP>UB_VeLzekPZ$4t?RT8>D!`r+f7O(?9}OOTIt|yuB2X5 zyKRg>$VH%OI5hK!tA&i8C0ZvD_4_;SbKz?m40gPWBE8q!F)x!8#TjcQJsqF}87dN& z>r|jYS}g@utQ1cj+&_)dh(1{L;ylRe(Jl114}M`(p!qqK;D7(a&!3esAK}-8<|AKM z1A|RmHcAc5^Q(d9WuryT4dWT5o0t!cXOvo)<9Lf)qtyP3*MXOhd=I0=-P+IX;o<%s Ud978Gn`?Qm2isb$J%8Jq-@Z%Eh5!Hn literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_layout.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..8de8d5f573d1a7df9e8e7ab9b120f5ca5734fb12 GIT binary patch literal 1994 zcmb7EO>Y}T7#`axaojj*j1!g3WE2?-=uirT;pS>xTYcj$hxJGPr1 z5C`}H^bhpF4RPSWnM?Z*dgZ_m;K;QK&$Ay@yG>Lv*5h~PnRn*>oUI8VYBl^}v^ITt z98HZaN6ygKsTl?;oDQ{7!7$(H9JKoVT={?hU;N(wDpg5pe;avW8ilqsNu=v5+mVi^ zQrjdlOvh0Yq&wH`vGx_DwQKK=-F|)*RGvC~H6Z>7})Wwh}X);;mZJ9$_Q(ah#Gaani`A+D6sB2&MW zbI3*DJYWMyz%lRycnUlR{s#U5UI0y;?Es$vN5BJM4*UrG4EzZ^1^xp51sZiBy1*5n z58MU50eoNv`~*A(egS?378b6#Iz};f#n#p>8M;ZN-2-V%VjK0)+=*i)kzz;P52Wvl zUhh`6$2uP-YOIn(xnH8xUno8C%v+QWrR(Z&GEie9wzto?sZhGd`!b*2^ko3+G@6@h zw{L&)N{K|Pm94Y-h^3|5Wv#@@%01;vqi1T6b*yMMj}YV6TFu4cViCL8*(qjLI*ntL z-J0FBX3(+N*A{Kx#f0{=ldG$a3XMvJGnE+aNMCfj?lkr>HR@0%*t~Brg)7SUb)4!) z3O*c|De(|?!4Z3Xi<|)d1ju-c<3Na zNGYC%_@UOsi^Hg05br~*0Vf#CknaL@@Pk))?zOS*;)mAH2K7Dw@LYLUgOc2bz{dqg z$-91sq%QB_XkpH~_?|g%Wl&^6o!v;A&GONC<_EgNJwmo$k2wWPFEFdSRxP-Vq=ZR<9ets(agA|i%NYD zHar460&l>Mm*5@XpV*dAHi#2_`Oo=%oSAdt5z#N;!he|YtFp3;Mrq&l;~$n(TPpojKb3dOLnQ F-ygkztx*5~ literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_header_item_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_header_item_layout.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..4e6569d34ca5da841a44bc598bbec53ceba3acc4 GIT binary patch literal 1318 zcmb7@%Wl&^6o$u1FKLoqQp&Bc09BPxCE})~kYocaK&=#{3QAd86VEsv@U7!X({_Pi zgIFMzY}p~!h!@}mSo0P<01Nn!?MQ$?f)jl?Gr!M_&zUo}7-L@nS@lZ5kK>`SdEa%C zI2k5RD5Ig{OD?2#l#!v6M=W-$?RLKCzyFtCSoXtI>ePN5`%xN4c5|S)2&C=j*)?s>e!}e4l;hQbH<%xECvwiJ`yD2t0o%K#yy%rdpkBu)2Da8>4NZ<3z-xsHal1tEDHkmSP9Z z*_LYH8@95N#~FEKZYPQ4I8RsZQa|sZo!ePAS)*}_N7zbh+Kt*LM=Gkt^y5RrDx}snrrLD8Zie4C0E}{p{ST)f7(x*;A3k%d+DO z)F8q)V35tP$H^upj2=o(S qGtkc$apWoPELbiy@}yDzR3yEZe7QLH-|HId<9<-Rbl%oq`t$=h)N80}3036mxNK?KyWhzgjQgb+xm0)js!NJI)yZ*KL@^zOFIpEJF?go|D* zJ?X_NFCMJ2%996fc=MnK%ZuLh;E{_}UcBikzBfCQgsr3`lX`hQZ@%vS{<@Qr5aN{* ze&Ml>`f@F58AsOKY8=I_xEiRiRn^VZT**Lv5#4}IXgm8v9l-iw-H8ikJC zNTla0$CYkVrH)BtnAW2tNM}zwb?qy#J@3rdy``mvr8DQ;1@H9o^4#+Bf?D$2+G4F< zm$gOdB$)fZj@x$wzcOZ7+H>3}G%7R`eM2*q1J)RnMiL=bPq($F66gmj7GF zZPD~nW!f60)T%KjGD)Hi_}1#?rC$sQj!WW*nA;=7xguT2^*_ZJ zJO~T}Q@~-M0=y1Hz~{i%z<0n;z#qV$z$n%@3|t331AYMp`-GSTD!>A85x4@}1wH~k z1-=3v06ze~0>1$df$@GJ4gfZA0k{sl3mD*I;0xdz;6Cs@@H6l`@DTVL_!qDSunuqp zH~|a{%y~K%rP93EyLW#1EMEo&=DT!;bo}@wX-wjHNfdigCtTI3xsj;4N)qK=Max}L zy3sVEQt8?mb=O>uVk>ZQ} z`!lhqyci$vzHceJu&hkWYA%i)Tk#Uvku@|j&y9~TidL!y(x^mBU+mkrQgn%!n_EfE z8q9AR|IM~a(7X0K+G{9dBfgiTAeP47@S2$r7ccI1ihUJLo`lkWjlC@{T-fyjx4I!; zW~YnA#a++8jd~&OtAT8&x3%hsa(PvUDBo&!$%v7Wo646)w^2*pI$~&uQ!>-RK^dYi zv?pd~^O2pl;uy!#ZlAN;SkC4#wAnOl0A?whX<0St-eFBc51r@YpsPfTj&=uCq}ym0 z1(}-iTCtCzQ8#1)t6K&`_^W(h$Em)jQ0BVybl7+mr9tmDqL3P{1bq)T2-Y}xvT00w z-f>dgUx7^R!c{j492wuqZl)rTzCJ`VJ>9*is?yhuu)Fc?C`M{>y{3F*dt@Yk#Rb{c zW({4L3(fACn4HYt0~`Y#z7!b~1!8RM5tR#XOzdj%H>WX<7#mzKP(O5=EPGP69+-#z&f5Mz(;{T=w^$~Z?v1j53Zf;q1|)9 zSpaMGlc}8qUd%NzwOIgHU}i_AW&>w(jm$m21alwm$7d2_?ztDthx48U_5<9LOsxX! z%QZ4J`i3hrvm;Y`9-#l6OQ!b1Hd=2C{dt~xeWTBxVEzoy^>}@K3S;_=KSy{UZXn!p?9k-64(IeH2@BU3vD^yd6=dw6b}xu>DAH@OG7=#$=9nS&qk{Swfd1I)#ursh z_Ye0W7quJCH8M5!eDdON6FZAN> literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_content_include.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_content_include.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..8988c6eea21d4eec49035a9ce9b7402de56e6207 GIT binary patch literal 896 zcmb7CPm9w)6rZ%#*4l!#f+E7=qL*dOxLcP^dr=VFi=ZAnhw03unKj9T$+UGv(4z;> zegQv(U&n(NKY}Oyy*5Ev5b=dy-h01!dGr1xV2phQNcy)kab}mEi@A&|>9j6lX$!9l zADcpEOQo;Q`cbrv{_pqAcl>3gUByprT2!{+;lc@(X)c9Kb;Z3CMU_~WSN9HiVloXK z9`J)iMbRXBa4aY4a5}v|olbP5 zn^s^yZ*1thzzOgIcn^F6J_BEXZ@_op2hhWJ*MZ&LhoVr<8Z{H%JH9rBvg^m&2|inC zhbr05&Lg9^klxrLo(mU~xibE&88z#6>nv=4zqZ0^S(euMaCIE6jaq0Q)@h$Ok?W_M zwXyLSQ_JGiI`amXitMeoCF}PwQ@wC@StvFd{dP{ApnKWgUg~{0}eZc1vkjAFy#cHVKS%_8+|FsOah=2N)2@G^}{;qdFQPAAuHp)tdthsi^NE9?f; z2>1!1wRC|N_&a~_bT)v04NoH!^8wBnpmUNoY>MgBL6obpaUUIT@?V6$01!u-;;0_1 iZo`o#?hfgc5ZxrDNz)dZ5Y&c(1UXej*!`e1DVItJBv4OOz=4Ccu{ZTn+iUG^8p??y z960yJoxj5WLE={4BwjUC?SYA&XZ&V%_w9I;5@YOP2@hC(CE=%PXno!f0~2Z?vcSkR zPegOC-tA6`{`-0N#D8mqHvUHyXGUedccgig2tVXuER1h8&&)vS)I8qu2Qm@x-lo4f zh`QbF?vvecJKE~?HhR5n(T&3XPJb}q{T=RWti4XJ_bE*}EA^&~d>&ez58x-zYVAL|(C6-SiFUGCyFFd)=<#jX z>gxVf^NJ?964vQVXNyq?Rc1wI1DS=%FcPd<x zDCNd;yM-$Cd44>e4kxc%hQ?~u>8{shHb}S?(W{8f&Q99E78fT$5DR$}Teh%JyyG4= z#%s!L7za7m=mDFbS6U+AG+bNXytnY98ZxS*J(?3=Ax~T#AVY3Eoy6S)mI{tMaksAENXKn}){=KR z+K5R5SrzeR9dstfe!Px6?Y{tEM8_O?;uZlCMf;O?+FAui{wi&iqEDA~kUsh!dH_t+ mouAJmCVg}!8S!-P3_$0Scl$j+JiX5G?t4&<`d+%`JN*TMUo-mv literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple_overlay_action_mode.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple_overlay_action_mode.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..160885cc12475ca5df603b29657a789ca442b50c GIT binary patch literal 1316 zcmb7DK~K~`6rS!PyRM+Hk^rKH?1`Xu1SIToBGHgYycnV;UYglH!A1;nHJGV@=%0{G~8;Dn^@`0 zJlo}QI+D=-4&RBRet)n3;vn3Mb_av!gTbEcN8xaP7{_9`FSy3un-t-H&PKhpPB)Es zUD{CSKr3atjrQul9x6J38=lSHqt5E}9_I;+9S_OP*w1FwlqPGJw#Oc_c7w6|u2<-J z;%w+uzz0qM;=chufM39GppEtWz#;Gocnf?4&Vftd3iuAJtQzy)82YmLX}&Y+aS%u(KwQ<)e?E6RT?qQYs)v|qEOoU7YF_% zjn1U?k5l_0%_B82$693aO*w;XYwQ0z-luYMidMf=Ss^T2UXD|1PA`p>SsjUOZzt9k zhnySCQzne>qJ=8sqWDx!ip#FiK#HxFOS{ua^LQkzj9y1I%XZ2WuooG=6bz^XkU%WOZ0^%*PH7L6GKag9{w}A$DJH?Z4 z9^Wf?=AcPv9mQC#bdxl39e@PBa{7q73oO+fY2xn9aC9d9$&Ud#kK_()Iuj#R3UQ0D zC?sSyN}{s!M_R6K9Uw}ibr*lxP0+Tl<`Otw*b(YbOveS=v*p@IMT#XUEP`^ eP26l|MIvS?!MP z<^)GL@ed#_oRC1`Kj0rICpdCKNZdFhaR~424`Q~h8pe8lvv1~``R1GNn~D(Ppn^ZN z=0+fo^w`+4@AMKURx0cnt%JUdSMD^s-E7wX{y#Uh-%nJW*q>-GOmt{l!&th3vK{Go zDzQy0!(^c2QF85uJ@5kswyxXP2X42!*S&e$*>i8~@9*yK@2Rfq^l$YC1KGbN?HIPt zbl7?{3OZ+-i@s}1$M`zz@f6jCi=Fe$_5X-HM~6oGq2lmnXS2C_GRz_M$mF&=xvi@l z9j9h0G`&d1AlNS7Y-F*ii3P!aMQn-3H6bn*Aw!(MEBfGdzyj_89|0ra3*Z~zN8op$ z1)DYCZD0a?3;YE94EzE73H$|gszTfc4uOw>A@C{iCGa)yJ@6R#1^5;C4fq?V!oMY; z-F{sf6X(IYE8_>|C{Rzzhn^ZKvAQ}t`(5p-Z2HPdrsr9ciAzfdJ0~HSFL-yJGry^*FBBK2mGKfC8tNt(R%x=FLO zRx{XQZO!Ph<7MyK-9S4JlY813GbSb;E75FD{KW730mIU2O=B4qHI6#`tg?WrMys3= zFN2nWW3(o?4V3jINN0g6<{NM^pEis5ZsRuxW~2QXU>m?5H8QnTfKLiFGPMn0GuOz} z&XqLo$;X;=xgXma`rH#wMcSzG{o$FoKDm~kt!&5je!w{QqaE9e=ySd7$*ZLLd1!20 zk4)cIfL8%(kH?-0`UH6OQzNVn48qdh0kT*3cZ{IgTR4vI02Eg^pX+;B%zhKnDOq|9=hJ$?v9iC z1_urtxNzhzKms8lgv5;th#MykNc;ha6Mq7H-+H%6w}~L_MxQ_Ln|W{Md-LYSIUz(b zhY#|SE4zNjSh8-{A|*q+RdYf=aQs8Brj2UXwC#IQt>S7=O>7ja)t=v(KhJ-fv)+qT z7+D|sEidvttK1Bw<0{LRc1uN;38fb`{IDHesaOr|DsXw(T5dSi>PmI>6??_0tgl~P zUtdvG$F8r{8x2`slU4}dGiWH^YrAvjio@Eml%q}UZbyaPiN3>05}9b2EGBl1AYX41^xnZc_A(XuL5rZ?*kg>0-pe%1784N0p9{Y06zl*1C@10 z2jJBzxxat4_qrCp&dzR159hC)4QWhhu@r8g6t+d-CBC!yu|qU zR=Q6Nutb+LHZFgXts>^;wjAA7UR?5Nt=}*8+M#w#i@^~1{u)@IA}W=wh&ix!jr;b2 z3Q=|C+uCU=Q-;tt{B|HsxhJ%IBT1a7R?qHK-i`%5vTNnhR(+ROK@1ITw`Eh^(&|u* zjO;2`8hxO4;w~Wyg?;2T9vd7?vLlMc`qA;1O1AQh3b(yTI|}vH^gSg82XWaCwCRe) z#g;L_hGj*#^=%oIlPG1|Z(B0B6W`}Fa$lczup#Xo=t!f~M5)xf>NQ#S50sdmPG4Q! z^xlynmcH&Aj!U)$mb3A z+uv`(4qf6DXqP!Gl@3E0)KDY_g2hLaAK*Yafg&HGbkF&3Gz z=rfeq$h6G>ONot48~bb4#=W71#_`DM-b#s$Oxp_pdo5sO@)* zsB#6~`gwu_kmf6w=E^k#KYFN^4Pte@)TJz?!W2|j+l_$d(UB~#lo zz+z$}r#YY>^Flr?2NyARl3ti&Uow5Oca1il8GZu9^T@Ql2xQ~E1ltn;_d@18*8NF! zkky~w=^f0^<^}Qa9QBNBURdM&DaCckT=zL3o0m(lW%tZGeFdN|nZ76G;55C1i7z>= T@vMf_p6!RZqz9z-w155!2Z2x0 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_view.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_view.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..62e25e3982e3d045d8ed50ab12cf1d72534b8f56 GIT binary patch literal 4998 zcmc&%O>i7X74FrKEv;6zypmWPxEvt8fu)Nc7wadkCS`LBOZ=-Ss3 z6(_ZO;dYROL9N<~rR%GjBb{xP)O0L^q#4HTSArN>8`FWt-iS8EV&of z*3Pf3EvZ%4X)HIIP1#tMwHRafx3>DA?N^Q#4|{IS`p}SWOO=PlPFALilf85da;7p{ zoa!MvT89Dn`N~tp=`Qd1VWR2{&91jACyF!OF6DZ<-i&3NYt;IuYlU`9R5@NOcgM74 ztL`~wp|yTvBVTGxbftel5<7LR9%%Hu-f!7X=sB5X4=XdpLtLfPXu~KOD~SR3#E*`o z8#gS*OuHbS7VjMt;>~P7kpbVdSwIS1ViMr6r+_(N0jL3Yfe!FJ;1|Hhz@LD>1Cy9z z9(W134K#swfgb?x0UrVX0Op5;cm;SB_!jUJ;5WeEfaiyWSOs1KZUYjy5Bv=H0QeC2 z1o#8+S72yFh-u(7a2fap-~#u69pGKyJHYpW4}o6;p8$UZJ_CkEg(w3Hz{|j!fCM67 z5BM(dL*S>t&w*b8zXd)8{tSEuoID^z1vm>_1V%>AyIv%QhtIo_C=?dO=;-1_G9x1w zC`Lz@?CUCDE0xPKaO2Q(FG;QA8aH|)icoj?<2`Zg z*kv{Q>(6!5 z)Krc*e7K*BMY-I^n5D$gqrK$gf)TT`y?nP?a}&*QqQ5-0W|Zgbu7ktVe9KdYw4;S=hb zC_R}8Cd6WS873gxYPYq2a|h`p_o`p_aPsOZa`{Twj-;;MF}KQFaH4ucwzhBrit+I+ z?6M*!N~P;w0F~?J9ui|?cM)ORlcse#fjD^37K~U~v8`&-iJ~yp)t!|pHje9dS38|H zH#$0`CBD*16pM|=6@Zl;6=)T21&QY>qqwye2D@nmtnMq?$z!lK;4by zE(_~cnhoO6A*Rz+q|-*=Y=?0VaZQ=sKYl#ZxE99VJD61ZH=E5wX;e(s^_E@Uc8rfJ z-}j=#dq?4LQGtu-HAAP9aA_PatuRoC4X)T7Pw&A)tZb)7YHn*CU8>a*T)b_WRI|7_ zVY?=y`{qi`qB=C>xfqVxxM|WX!9rdTb@bi6h|x)}-m6}W^8{H4?^33oEj>ADiS5+e z>1q3pqpIZvn<1{*HmbUhz0MLUm;1QeCRmTB+fAn{m8?=)q6ZH6AvQ^28{1Ojvn9gS z7icjt0sqmE#>j~YTdQWBQpvuhD~yjPoWb~4EGDQrUojc6@g}X|V*jy>h>$QxusCyu z?T1FAC&vu&MtG;wYN>=aB-kV!ceq!qWQ2IfOT32XbGu5V-B?C-n_sw2#kUJ%xUumR zro?fG8Q>9~(~uW|A@I6~XWujCeMaDFGY|DvfD(YYhAGLt3|z4sCAp1#xU1ln0gk2Q zn!kfQ32;3=6|`sYHx9{%b3JET>9~x05ec(dIHhn<>c+vN>PN>(KqYF@8`;YbLYp4a~(DGj8ZIHlKz35fJQ)w#M@hY}0LLsxN$ypE=Qs5z$z20j|KupMy5(8b8~5zIeY=OB zLpy)oGWJD)^HFjQo=He9fQ2DSx)A2FXMSmWwBwdW;}iAp$a9qfKA`3E^4x_5c6? literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_select_dialog_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_select_dialog_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..cc083973cfd7dd68b7add06ccd19e2c0211cd73f GIT binary patch literal 1526 zcmb7^Pfrs;7{;e9NLdR4DhO1?KZ!=-E`myn8jEP6i4sNB#7i^XowlRXoz2V?<)jBc zhVkg#i{HVsCvP782Hw=?-EK{6G{kLw`%Is{^XHv+ra8t~E{7K$?}XyJy6Xbo2YzZEDl8 z=a++~R08T>2re|EN@b;TaW!0tmaEmJYIQ|aqOftP(QNX@B_0^`-E-mo%Z@sE+?$nA z@MmU9TDK#`i>Z8ZhJ79CWmRCsw4GyRRxU8M&`%aS^|s%J9tYPz0^Wi5;1l=^N{F2T zr@$h(0&amV@D#iOAHYZO348(Hz<2Ni9LO_v7F-2)zyrX60v43Z*ST{hpagEp9T^F; zu7p9GD#qsLYm5I(mMtySBH0mfTI#IEG*CU^Q6%G5y`i1coqDY6jV@ZTWs8e@ba6VN zcqg3_Yrb3pML@QRF8wY6<7BC&`BHB;5ITG2LTqJR2F|ab&cN*yYPv%eUPm z(Z=~Zt3FQ>KTT{y$IfVl98YhFa5q%q_Yj2wqS*L&dXhG@(&n~|9TpKPZY>)d3zbZ^ z_5EIQm@(>Y81uX)r+jZ=aR_g6Wd%EPrtMs^76caOvcs+4Usb3(0Z*ROi964`PP238 z_Kpnt+2!*{abiL?DG?F7haqJ{tLvTKdRxd=+p$t9`~E^ku8ps_d|?}vG3dmGhGHEH zlTE#yR>$*fI(dT|i?q`UVI5Aqbn8mC zVw?=eibc%eWXKgJr7OZlM@b$!ZX9E;b4A<|Jh=&W1Tq7D;@JnC0E0fo9sqg7U&Z4rv@Id9wi5HuXqpJ)?lGH;qS1 z-hM!Hl1EBj3D83xDS2aH8jwdy-XuU8sYgoQL2x+pNXa|&7msqE0yG{e#m#}EnMX=q b8PIlR^; literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_tooltip.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_tooltip.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..71a786b4a3ac680a22f86b2661a9edc5e3e2f2cd GIT binary patch literal 1524 zcmb7^yKWOf6ozMQOxBkKV-fpY<9C#}th9`Jee`=FFLkZ7{|T0hL_I<@;(|TfAvE zv{J5?L1{Txt985o`+F*|o<<^!te2|eN6NP zD+|^_%c<3>wOe=WslcGqUPAmrDm(en@ijZG52Jql|9eBR?Ow3V|gNqcw3ZG z=42t$O*_p@Ms)L+~B^1V^BVe9B-JWHO6Ox1E3)MwOMzce&P~m0ZOG6^eGK zwtZ(!xhg!-9db{sa(k;gh7}4c^Zm16GczlW^n~Aw*665E9w=XPw-Ip1k$#&^Obm?i zc-WRco1Px`J8fakU#_Pu~jy!Ev{?sGz#0ynyS6Y$`d_DSi=3g<{cfi`Ju9q~wi)vBV=KkLH|8JW}$8 zkdjCFj{x#W$)oe6zY+3C$-6kjn;PO>8se4V k4X$w+9^%JqkkT4g0R9qUk2Ia!?cf>r{K305{_z%m1B4$mt^fc4 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_chronometer.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_chronometer.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..5bcb4ce4a1a4733d266d5a83001a7733b9137188 GIT binary patch literal 822 zcmb7C!EV$r5OsDJcFAs+Rp|jCP8^GBcefBlJr$K>#Q~KYQe-8QjUllk+f~~e$5u#u z0)M~{@C)4dA$Z~>>()r*gz+2!w@DaEMz5(BXAHYxG7w{XH&5mB)K9q5O zIHe2!rfo?=g`D`YXY?~9v}a^4>lZ1U09r2-){>e&~rbc41 zl!&M@{UR;1^f@l|DorudPt(;ijaiASrR=Eo-`W@FP5oezOpKQOH1TvFU>a{n8NsxV zBe)NbB7pfYA;rf-Ow9UA0&Ay)E5awjXTlf4SHd^KcfxFT^mum}2yx`Y1&w=x=iyb` zqM~^V6t7*=svzF}=Dau|uVFraL*{dMYH$OSiL$zLM#I5D6+(L`r6=DS<;8A86t0n~ z{m?ryB*!sTEEZdX@(Rtm3Uu`Ddt-E{AW6Kj>l%-ZMcCU5e>4c=ap=ytolU3Oyl^(4 z4FH!B`9(8AbQ|sxk(Kb1)`)mah)HK(2A%iV>O1t@Am+t+LriCJX|LTRzC~b-ne!%p d(fIy^zow-lwf=@aqHFrl_b*rSu8jZy literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_item_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_item_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..68623b873525f64306465b00279c820c0fb4e6c6 GIT binary patch literal 1154 zcmb7@J8u&~6otn&5ZiH{gohAK646A8hr~p&BP57O0VqYptD#s;cJ6uyW*^K>UQ{Wm zsA%~M^za|(siCE$hjZ;UN+Lywu|6NqnLBr8?_O7g5I+Eq=7Lp6*`AjLSqgoijj~xk zFrJbiQJx&;vm4EBcNqTP-#3mc@_9k7kgu{hEwWU$`%Y;~GE`wqh4fCPMU=UuSYDNp zu>@_e$dyQUyPfWx^{}H?d%fGeUWd9m++Ev^BDK4wq{H5SU%h>pSlsztZFupTs1JTu z#7(hP72?|Hc`8C2j($ULfyW>RAHZku6?_BV!7m`NrwP`{dnc_a{EnlDoFn}RwSGvZAN!|?viAI-9i_EN``Z+GvAB3nrZVUW=M(eu!zfRO zelyQWq1Yj9<8(gs^l=>XAhVgE5^t36E$qL z%Gt13lar^*gq?qDf}{sdJ>k#gx-xy=iaZrW-^Muc9moT5h zrwQf3aSbp9kgLYZ9%ad`eJJslsj?}59S2bwN4$P$g*1x$!Vgr+ zofT2qifx!aTHq~h6l{H-&$ncwvDkS0#9x#P%gb}i%ZsWZ{pM1$)e_Am!7bkX=M&UV zL&MJdI@R~Gf$VpQ)!45d#_kt~Dlv9m{D$oZi{KS#gOA`V_zwEvI|&|uC9nw&Knqy# z4txTi!58oi`~W|}A8-Mx$Xx>u!BemW`uY~;WWr`CI?Q4ec`hGr zI~8szeHgg?P#AORLRS1lEJkjoq&CUkSB`ch#7|c+l^*m$Uk3%k!qip1gDtdaf zWYubC0=*z>6AH=qZ7p4Z(4nwzj+Md#d`o`dCBmY1->zHKWK&yUe5BxLVP1DJZO(kQzFGY&4W24P1*5A;3E zWTDeD@}I!p2rMn~8v<~nSiNLPs{mT0ktMAPy8VWsO#t#EOMVo)oNHuB8w1yKjVx(Y z*S%aLOWF-^GuOzHb_>vFPC3Yub{kM(q>&|!dO+VdX=F*81l@j9(7OHZLc^z;y-Swf Ut$}N~Mz*)B&qY5=U3$^~zfm|p%>V!Z literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_singlechoice_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_singlechoice_material.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..9986e1dd1d18fbdb66dbf17c3e31772b0982d738 GIT binary patch literal 1438 zcmb7@%}x|S5XXD@5ZDjCL{VH#yVo?tQqk<_w`H8%>lh>y~l%c~d~(vnpw z{SkD$v`r`^+xN7z9zqAgygpV65AZR$o)Zg$+L1rdVZXJkSj>9xB$TXF$~Ngi%H?eL zf-V6;vTgqmlarTk8c{E92EIKbV#kfpDI~;tQy9n8V-=>^4VYQ*2WtX$8Vo_-!%XHn zJtO}){7u2qBEJ%V8^szXOIjJwB8@C*6)@;G32hFLA6fFF*u_jEOWF*$l4)c~qq=Tq z8d=h=f@_&ZmbB}DK6A=Jmb7_5g^@;yKdA#6o!xY!d}<_0Sbgrx=1L99X3mZcN-{D5Gh3@E}{Tgv-a_Nz&B=QwFw2H z|Kv9iLf%CgWlFe)ok z4os=?oOKZCqKt}l9w^J%_4&~EH~TJpzx~-0FAQrV-WEx2id>ABT1F|0P=*N`VYSRn zTeAT@B{n=zko~k57^y(EUnd|N%2@2 zd!jjJtvNbEqEA^Z6H7Zgo4PvnLxg^a&|SqddzLb7Z$FVa-lC$piiG7;JE4C6IrOFC zHT8P+Dh&plrm8gR1JmAKVr@AW!XV&GnsHq;4vS34@?8~Ov$54u5p8X4k_?hfU!zg| zyjGD-@R>~N_bX-^jWTJ&Bq*ik+|qDpRK864SmjLJuBm$NbgW)6ee(K98N<6qw;(sb zUyKg)5@^By@}KY4+IYT+%dKN$Rlilu$i1tL-&3u1p+n$2r>?#S-0yXsQ|DFRuRTcR b4WO56 {$fh)D=w0*AUrZ?}L-<;(izzW9P literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher.xml.flat new file mode 100644 index 0000000000000000000000000000000000000000..139c73328d78c1b794d30e79545e2ffa70193ff9 GIT binary patch literal 726 zcmZ`$%}T>S5Z+j|Ay|;&L5hcho(k!L2PwsaC*MFl)@iafYr8+}rd4lVd?H`WCos-5 zSqQ~W_%gGzGvEAd#2EWVkR*L2tpdwsHe113XN7S6X)>AA*UkU83dcb(_UHld2QQrG zucpx6X#Ql}(p$&`U&yjp&-vUKUkaCcPAW=6Aa7j*87%vqAOnBq9pLVqiLG%Cu{PC57Z01EuL z$sT7$;fj{q%>+iqKBKsvH9BSII0LPtLg}FH(i#0%EkE5+%o%<`D285{a_FAq5N(RV w^=*Z?jv5S5Z+idAy^RcP>P3wo(k!L2PwsaC*MFl)=jcDYr8+}rnTO@_*}k{Phgx$ zvJk4B@MUIaXTJH_fDrNpK#2!Z7|9G3*?h&;Dl531TfJ8K*({z;o1pgpQ~Bf28+-I{ zK_48qj=t(bIj!iEwo7MN#_2+o#X6;_)~@6>aZH*Or_31YY(^y$idyby(^bOMdu~Ls zxxV?^;AAUTQ2*qhX`)A>+78GC`36_ydkYA;^)~2Bz&+p*@C=ZEE#MO{8r|iVy|ENp z>MkT@*>X{DWpBufw!97L_gT(NDK&AQxy4H;P0f5$3! zp+uaEH#Wc*N5K0X)d9ibf0zHU%m2xE{uBNGK=K;Yo`UzIKs`wWUkb?=>Ok`IqL8sT zJk*2ePY7^@x{^o~f4rXx1?xlh#zV1WGL+(ngZf~JzED3r1^PE06@nX?_}`#Z$-W+d z6oJ2|-m|hW5d=ws4l+SA(@Qo7-t?Cq;ybYRoN5yQK)}iDl7U^&2q*inw;20)dqy9> zjUjvxM)mg90=BY}kax^Zrk)o78Al!&C$|&5t&$Z?|HkI>%se>lq_M zZIBtyJ;=FyQG`_rpJb}csoy350>NSXq`>y-sVzW-Pbk4;8yE6tXXw)2_nqdA@2xiu zspQMm+)e-7+byAfMBP!@kUv$#mZ>cMaRM0fwE>(p2Y7&gvSgAz%`#5S%ofEzi4`rn zB~(z_qL$Bi8!^5n#;MXhS~9(U!r{Rg#!FMrXu;8r1vqRZi8Uz|`gW<+V_jMel3s53 zg9B$)x?ZtM<2c&kfy6aOLtX^S=5jEM5H)Hx&cdkFc6*i-)_+nhmWFwssh%1p7`jK3 zmaWHqbz!xSU9XUn?50wL*G=vqvW_s66VbRFw599yOp|UtBM0%IvqPz-oJ!RO`Q|78 z1EIf`a^;;(-(jJfFJRwyW)X&MFBCs)0SO_(4~?8oveN5nvsb-8*C|S&%9YYaWQ$b` zS8CgAbiId--P39dI0k48k=397Er|5XRyNZbO;x6sUuOQUe0<{ilCMM1&=nyKtR*vx)YPIXo(;ZImbzmOE;0qdrB&8g}) zTARkP3pf&Yo`G`Rr3qPN||+oGOUqyYE5Yb1B@^&4;+8&puc@g`rDs;d&##ez6NM}U#sy_ z5>y#cUVq&zDp$X{y+r|mvt!~(G9t*Gf!`2u*kMbsHP`E;(Y?u&k}kH&T>2YZ9A*vyw@NU8^AiZC;aNkN0;jyDpH~X zlaGoHmm8VUL|Plw`}S)DRnf}JjxP>Cj?c5s4;7LD4kIHkr4w9SYOX(xj~0qytcKDK zURQV2LwCO=nTA`2%QV*$BDtu^6#<)a^s_VMZsUe3w!a@5%unYD`$x(B9gs{l%N`@SOc__Tx|CYW(@ltiZ)E;`yO^-xZJA zt{JH=rw&*39X-`kQN-S`Jf50`7U+pT!XZo7ckkwUl6!ybHO%%YxqQ(AU-8; zS@ZvqCwsYNybxcp#2KYUku^iMtMB*fd~dH{|F+AKhrObFiIekXXHZ9S1j!Aqy-8ILP=e9c`>+~M<|A+d@6SRp~Rr#5dI zNSB$0qXJpZZXK5Ryx(_ZAnfp;P2qT|s#_z^UWLd0`a({JY)@ z>NmbJ)_#Cj)t?TJ1_sNDEQ&QY-p-J)3J^W{@yFXxw-=re1OZt`-lc#1>6L9JcGEhh z_56(-^Pz^<;V7KR*-`&xL7)-P&Frra^q%`yt`-+n%B@nN9SW8f%S((_Y1CPq-Dvl=KTR#f6$li-HOj(n)*?5=ln9 z3L-*}u9U3;dn5XUI=%>*09=o|t$y8uXyj(}Y9n>X}W;qnUFSug9mos_$hdS2m$78%hblCHCM zrbf5Pmzs-rYcS%woJT{L&cMS6gTR=T^Rd&9rqp=s-1VZ9Z#1R~k$E7ChYyD%CE*w(I`$Y%r*(y^ipkyE z5^>ZEsPO6xxHDz2Opogj6xwp?Hq{pO76g%o&uAVN5`>@_Hh|d{gNhzr9v6`MC~z&4 zscXdrS#ID0b)vaM_)nEmcpk-uUO(t87eU)4@6y2Odh6Tw`H~N)abi!zIs=mXwL9!E z$k~_07XV3;305vV-=cW{xAc$zNHIl+3sgpFq$wxsnDCkkv=5?a!3&xb+ctD3dxg2| zLU##NaZO*U;w#W`IiCtqrZU++;jyJszqaXg2l^qYQPFyJS4K-^LPzz1W%6kY&c%SD z+^t5Ew*%((Y>&kIt%Xl+(bnuZmG^7!zu6Zb&Qt6GtNv!qo=E2{FCM{*A6Jh>{^~Vz z&I#CsTbq8YQc)HZ@kOcpj?8qJ?BXY#8BE1Q+s#C?i8)6!yG5M+!gL;N*P#FimT;i0Z8(=frZvt#JNv-OeLDr^TSTv6#k}MU#oJOt6`s;^3m^S! z8a3&O2){AV(h3Hf#|nH)a}-I5QBhTWthB$;3VBm^^TF=#bj?W3c+I9fFFG_`!O*V% zkSH!Aqdp4zCCga7OfA$3_e$IqsT@7Shzn!eB7w|llrW(D4Ouxta&j4Upd JU%c_hzW}(~%{l-8 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher_round.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..b923e7a5b8e2b39a9683e7ca3a10ae6bba09b9c9 GIT binary patch literal 5111 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 QuP-lTbJD@80_73=A0Ge@U;qFB literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher_round.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..e2e8bf4d75403237bf81927e7846946fc5f4d134 GIT binary patch literal 2989 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 Q9#(A(mR9>L3)vnh?GQ7kWi&75Slar=_0*F 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 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher_round.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..4771631a1561760706bf560475ab052fe6f2c2ee GIT binary patch literal 7103 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 P$O5P-YbjMJScLu;YbtFc literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..23f13b26199db48c950d255173d06093e53c41f6 GIT binary patch literal 6585 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 X8dxYH>`3nCWo literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher_round.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..25814fa869dcd5a0741d0f50c16c62273903555e GIT binary patch literal 10623 zcmZ{KWmFtN)9xVSo zdygh8{68=K-}*Q3e^rG4z4`x0QcEsf4{NXomxHUFi-)TVm%c05(ZkKc(wfWG-qX(O z6W1qKR}W8XFo%bQvzwDOmxY@fmj~FA%h|%-g$r!$!Sz3=IDCEWtlaGXUvQjmF1Bxd ze`Ee105O{C3Yci5Xm1*(lA^5En}q(Spdh`~2lCsk006V6lB|@D@9J4Ds;~AS(J+&} z9r^}3BD=AQHAiX*bq<`D)CZLUP3sgnnDk0}3HnS>8QBb+^U)6nLpkVRS;L{shrIFY zf-~w`VkQ5S^=dVhtDx6frR?{Sc_` zo+hGiE%+*6s_AXQm723owa0`dB{H|Ab3y(q{I$>a_xHcl7O>S&2j>}P6UnE^&FK%%!3&uf)T8gZ&KkEWCdD5P_u3`Lzj@($;azw!FNu#Y~zxD^z%Z} zP{JvHwh>C|nS}?qa`qxH7719bAw56*G7@X8B=~Nb;z7_U_u^7;z_<+h1|?NJ_1{`O zOC<7#$`{l}jTM=xg&LbLepW!%PfNw9WDWAs)E(uZt=6&T(KWZOf3A?}Aj=aCF1JwB zt%&Pn3ct@Jy^RjW>W24s^Rbp$812X0@zEI}94>Qs|A(WMsFkr*uvLE1F|XXs<1Wg} zgaDx%w{qz-KZKs^NXp#>EHe9Ud!4>o2kTiaH74eXCaecsC{G*sddJ~=97^$%hl`}& z(Q?l$FUppDJu<*)tnc(E*qhT^J?*3*%u$syW49Vrs!|fL{fqWgZ!`>h@*xzdBgRov z{fAtdK_qiQ(f|`CJ!KMZ(gA9whGmQEki}DrC91uSb3Sh2N9#7>=iln<&X)BFvN z_U6l_{@>o&lfc*=I1M#sTtkSl)gKDZcFwC-8dLat)vRT#w1NEK0!&vq2tPv^xApgv z{V})sHuE!eX5;Tzq5mx4gewU%({8vccJ)h>hDZ&KO92WN_82Y?LXICfDYJR*_yH?5Ni41X(}DWR z`n(_%P{?#8>eo(s$<*9NZH8`|w9aNAoEaQcDc&U|ZB={2OH3<`>A356idS~vP^aaQ6Qg$?|NdOOi}K+=93rcq~@qI3HAO`>e8W4 zDos#!i_4l#XAv)AQVNu7;P@vH&pe)Y2Td{l%c`dd|K$V;>QkCLY zg1XIoOn(TzO2(EgFPmm{=6TqTsjE63Ro+jiTpf3_99X&;oBO3h&7Pu<;};gls(uX^ zvHKqZf;+pHigzHTr)vrM48zAwEX!}&Uj1kT#YPD7*nWq^t=4iHdQdiI(a#%d3x9;8 zN+xE1V;?7Wb-QsMsQ=1Ua;vY$#xXkcC)I#8N+%~$<*1dL@X9U@Q4ohgGdZ4ttrCy& zN56>1c!Q#EPA+;Bzehii9Q1iZoC=(ZIe52ulnp-0u8r)=R}u34Sh<|fE@jF_LOlaC z`L47gG&K^(Z4*s5d@~G0oIIKh-lYxspa%F3Z>4R$gSW8s?S+sde|cGOe{x|bZ@Eb= zZWY*&){xXZN`I+2_oYQKN2D=OY#<)|Wkk-}Zbz2qPHseEsGADYLji35tu?l07)4`^nz&x%e<45)IR*u$|HSF$>0mYbWhMQ?D zruu=6oXgh8BcI2SoYR&4t*i1)Elu@@;;p`DZXf44iBnYnN&h4Y5;PPPIZOLy_(*2N z-GLph==ANULRzyoS*f8qdkR1lJ>j0YiTq zwINa@5$#BGcm&IcAMW4WyGO^%s|>S&jGBMZug_1efwx0c50NUbeIJ;x=NAVfC>3%T zPpe^Uv28@vd`H4Vsqq?lauveoO_mS;*fK6%L;l6Mu6M_8wmnNe?{>c*&%j*eWkMAl z<_cP*)r;m}Ve$tLFFl$25#l^H@&DkGkEYheZ#bj2P(Jk8R{DYL3t4_~Eyb|pM(1pG=f$s1x&RK-W_i2$(M4-t69;LO z##>nr?-LTx_U~g%-MV1RB#iZFO{qMtVh8EwTN4Iq`jr z;i}qUYhs0aSoGJT=N~ynY&wi7TOOOi@o$tgSg1!1AJc$;Ipa)r!6f;wyr~+7sBmvw z= z@`}FM?xE1ZK>Pk_GNZ9l|J&aWFKW@DpLmC3knOV}l%B-$uHFqhEV}1XL z{LM5dWZt3tbFG@46N3-uXm5bzUyv&f<+Ohx;(u8Ebp(qy{W! z?idm0`@W)j;Mgk0#(9~QX8Qpw*PdK=ki^eVZFsJP~~zSyg)|$`79LJ6#(%mhSw?yh$K1k6(dVKq6X(D%kg%GM^GdUjDG< zo@0=1HE~InS@KamyOF$l9k^D77Wq+dhrKMdn9cKK-Pf2bJ^Ix}BTKwM6B=3`_%S0` zD|mhe?QMfsLwSj*_q(IX;aiCEcGxw;CW!W9sWTCU+!U5ze0Awf0RDFKx!czs6g%s8 zQ(IY4_dkckr~s)fgXeSQA-G7ZWamRaJN12zDkVbG7?v%DNwoDo3*ARp9(JESKq-Be zj1cN^!snM=EP61`@H+9wl;l{Ye_!oO7CFVZntGoJd%0g~5@#^48Jxq|(1 zUpHoE9JYY(kUjJ$%)zVaTDq-La&5Ms37&?<-YGE|(9x1(#)qulvW_ut0eF7}8KO}i zE~@%>XCqV#8F7F%UtY*4KXxUh5AK6=6>|diYx;mnRn4;l0e$W`5A7)a^I6)pm@8#Y zxYPz(dwm-iPow36vZ66unD`;-u!wS!I&>a)i+JhJha8wV22>+IQ%0?wu_zZqXH4*Pa(L04 z1tE&mXS!dPgzMxryW!R^w{lAG!QtQJIIV{wq4g4oF z|47zZqE9gqKAo6_G#mO7gz-ubF{G~i{F@*ajKY-n-eQhtXd!J!A-^^~>b!cO%QAg` zmPd*PP>(Hw`7^VH1g|5b(^C_vj{?WJ+FU>f0N~xj_{Vv=jhvF^JnMXP{3`=0?3$f) zi*>R4a?Ss5D|^nx18aGFpK?7CetGB=fe`^1!8k`;-o-3_uJ~sXk@!wG%Fu#4Y6vZT zE)sxC6vThi!JU7j&30Z%Rz>Cd97?sSZLJd&z6bQ}C44g`QIgd_L&)$`+#i*G&Bxs7 z5FSP8Fp6*cS7_E*D52a{`j=4ur0br`9mHK6U)!!(f$or>v$g zh+wbVEk?bhgc>oSO&XfgO181oU}ONI9+5ExHL{i)3WD)9e`Fhi7vMxwbeG!f%CT)+~)baMqm@{Q4862?nAiMQ(&ZbC;pRg%9Ykm#3kC}6v~ zJ%zY*NFM|d0K3sPk#|hUt$l!oV__VF{4YM!IVMNTuKyw>X$V8khT@5o&Y-gc4P-Z@ zH90g{&f}s7bu#HqKxKOb$ojJUrYucSSR_0@lN0xtdgme@KwQ<|bOxTMxzP1jcf3%y z9}+ePTki(Cmiy+M6M4WkcbCAb(M50D@2_qyt)C0_5O=eu<{bIj_3wtgo-gjcW!A9U zSVK&fht}n><0)iTW>9g2bj~7dG$@n-f7ez4QfSBZ(~^QLht>2wI%Nw6aZ5E?%AGC( zAA@fIU7PE37a;ZPO3SE2k+fw{o@mM7))@MM>M;TN(+#cnSllvtQX3Gg5@Qca6yr{4 zz{Nc*r-Ef^e{Mnmx!Hy*9pU!;`-1E;@*!NIz`KIy;fK$r0XfWvD@4USM)$2Pl+5Eu zARGLQx@b*YBHup*UV^tXouIG)xbKgms^#NFfbm`$7(v{JO*{QQYL)9M^cUWf&?`8E z%Gdi2BILv0gV?@Xz&0Dk8AtxT2hm?Wklcc}y6ys^=n3qZV`DowFAH^MgXM@yI9S~% z{3!6H&W6iLc2d6m>N88)(`~J!fvG6zhLT2FeScR9ttQ%4_k(a%b zo-JJCSP?c^nq(ty@@S;lDpy!NodO#2VbW!gX8KLG05GhLN}CKjc^?0xL?LAew=X3f zuw0itV&N8s+q%rBD5-$x)c;xIpCpB;6P(N-CMvAYT70UCOjhr?kuy_2c_Hfe{kdRuS2 zbI`h4*}8!5uL5zK6V%|~Ggj}YP&q^pDNYu}n;T*)&kvCtLlVj@K&Fm(Ul{kGQ7w=L zY@6Kgyu>~y2zq^Ty$p^0v*R&P0&37xp^xrs!-i&})a*5r{E3Kc&u;u)h)StxgfDB8 zKNfBL7tvyyk~3QV{huiuI>~m{a3SSHaaT-;`EQ(aRp`c`$H$>{wAA|{mQ#Sr%@v5h zdCCM(GCQi1amYZ0!x%_R_I}<-Ze$u;VmDH&(5#pwCT);c1rEUxKJV#{O_Uf3t(t6I zpa2PnS)3^G8wVdYXz-|^<Uayy3A{tLR640W$3OZ>-(gG6kdObec86-%;MWqtD~l z?9Bq+BQ?t3IX&H4P>!9Xokh--{BxBFJ+d3hNV(p(Z#HsF3hkNWy^ai}JiJ+ptUJwR zvXnWeC^=@AJfu(0)h#MMp*;)k*0 zWCzybPfDQY@TVipwy^sdW3%6R-pnVSauZh+WpE~g-lwDI>GHQX5J)OfC-Tl6+(dKWh^E+^R1OEE0!@d40|kJF(3pC88F6Irc-dCw@iTU&_Crn>HbX|~gS>~9p~2RCdrjOB(Q z!f*6MFMU4;TJ68yy6lHz`x0z{t~xr2iL-ufJ=ui5mJK_n3}wM2^vwpQQjXJg;mmgZ z7Q-tHzHfJZfbWGPlO;ffM+swaopY8cUxQ$-)M`T-Ca`f%Wi6>>`K`GxU7vUJ90Yt9 z0Aq0nQ3^E9IMzw(_@UDr4ifC{%P9@i+z=PE;wLXKT}a2Bn#NcQ0cd0Nge2hPBJQt| zRCbdq@|5^L-t;_S_6O0o_~{Bod`a7A+Kfq2CGoT$(bjBG<>UHznq2u^h2v6au5dm% zvX+F+=^CfOMl4?wpfMg9ChTQ>0g}bPM+G_RTP%yrSHbuq&u_iok%EKSVc;`RAx;liq=m<%=jl^TZ|4NZB zkVL9yt75&h3~?o6?xL2)nmkw=8zM&1feObwum4=IM*`cRqF?5?^?!SAv=KXdo% z{+FZM^E?5v6jFAMv4WeW-Q?KykP%I|i}R923_B7u=>i2w5nIdw;LO2`O345UXauAd zsA!3V1svz)qE@*h)HVC?^1poWvOLQ~J^4&Dsl5MeRk*%gKXcLQ6@z zBR|s@4@(;sQYm!5tvj|pgZ9k{T=-54s^D#~KMI$wb-ouD2p2Ajr1KByg z-Sf!l%ahhgykEe4DE(&ee5sgxFhhv3<(g|`>B90hQ?qMHI`VHNaX*Aw;m(ZirP^=L zw8OCy{(!RXK!T`b%O599qh{fa_&PD~$k*ff%tS-;S9(&qOILN3c1Wb&GAta}y(xaj z^a&E)(cOA>W0VrQLd(}M(n?>gn(F!2UTvj~+56*1!seEA?I7o!g&;5CV(t_5TIl80 z%+kk?A1R0Ky0bfYB33&*&(|ZL&nPlG&QYw0NE>cjDvT}PvhLd!)`$yN05Od}6$LJ; zWn))IKKugYIv*hi=Nk$7ovql3^urO${o~8mj^70dwbYP^&E7{d;hG->7^5j^DC^3t zHZ>`k`vLM+5M(EFR@GU z|2kj9-Nk~$OT9lE=doZ(-T#SFEuMx)leu0I@9@Sh(T~8P7(QzJ-Pp|GmWLggj|ZQK z?-IgDC}-zN1^l{+HnFIAk);n$?e~8`#tG*dep+iG2ApS%p^J@;-0A6xR zEEobQwGjLW$hQ%mVA?eZuZTPQr{xX{1VqjDPt?0$VfOy<3ix~fPW13<;x1+RxLH54GSt$8x zI#IL4aXpUeWs8FN$mR<@EI54JMa8M^J!q90kGr9oirNCdNDWXzf~mm=QH8v%c~Usd zFrsA!XV?kjBxVn2)eYdNqMZr}r@I%HTvehf%Ypwmuh zDAoxeNt*7*hHhPeDC`iK(T4){%x9}BUW=WFnsS94RjLf~_kmu>4li(;2UC`cn%-F- z%aLUD;1#!~Jf%_#F{yWw``#SA6)&;s=Sp}haxo(yobQN0bY89>;^RYHne$RXc&z}O zZ4j_2>PMQ0n3x4kvizvP4owwY@i<?Kq^ppIs*USVppe2AjzG`E)LJKH z_oDqYo1LbtzeEeDkWMW`gi*XDq49)yl!3IEwG{uE2n4W$|1zr@U=a)mJ^2!V63TPV?i$r zy%hh3t>@YRNKg{tsD;xJhz1p-e-vg}94O{s6gbaQdKEb@hSkJQqs6S?v@*q<27I83 zozWx^IS_wurjxz~P$_Lf0d?ZY?R+3K0`PJ($cTbImsnlESs{pNF3m0?z`B|+@rc>K z@|{W6kq9~C*Eoymma@r?$WvBcLR-E^DYz1sc+-i0mtsN9?_ZjA)W~;X zt?pGSQ=i$$$NcL;fg6ei1CGOoyrW!?xBU1%VpuO7{0BdtF@9M!ZB<8EAaX#mj**6) zt;`qOg=2pi$$vPaT~JGkl+_APnwNO@y4M`0m(*Z~-;3{e1M08r54eQ=Ea%z?3_Oo& zHh123Mt4u__C=BB7ZrJYfYegVRG9TZD+V9UN_xN;T>eMq;Vf&K{h#vdNp9dqOF8OpC-f9XwAaMIJl-X7+b-7(@%3qxVvFABGBm;m)t&D6%X|%n z*JFm&mVNP-KaM`qc*O;4iiVbe6r9*Dw+tz(YSI$z|wl>B38R$IqCDf%mci8LA^@|gu%B_E~jn|6}_5D=%VL*JA808ZVJ}+v{Czxjn zFDfAq&MrF{>9w1w*W6k%XMf?!yac_=2@pwxYH0`Dw67B>LIW-u4{vR|We9;^YjPAK zpNtib$4jqwFO(gG6?p+^!+e43N$)|Q53T_q?fhjpDDe9+0nFbSFn9u|s6OoXiLU|CNrQ-#U@`xG-_v!ZZa@m4PfzZ3|+P#vceiO zED}tXfvn0xEGc!UFfED;MY6+d-PpRr zika`p>UsEwg7;R!I`|AXfL|W38N||fh!O`Ldx!!iM z7Z;d|7p1vQO1qNeUhLSfv_-L7p)}6;j`i$w2~Q z0Fv}%AfPYkSQ#?6@`c3h1d|-QdTOGsh5YY5RvBmP0?9W~*#oLBgIwj+(8HZOjD#Zcw}t|Qa)6yvoyXJPQzK+8e#^}#{=j#`;;`O z?pr3&XafMWfLE{E-H3rF2u!6R&+}}CSu;|gr1m?O6{iW)3!P0v2B*Jz67$+|!ZSrL z0T&Q$z24Wq2e%u4OVD)O?RyT;aA+_!F^4*#=p2jFMMd3z6t;aAlf*ec>vRa7m!teC zoD9muSS1zJuJnRJ;dIQ#u{HVZK9R)?CVBMni0rr98Q>De=H+^=@C06+2gqaOO!bmT zk59B!eXQmbJJlPm`#BPM%h^7s?CD7k3ZR^zRa##kilNHQrl@Ik(AQOn{ z8!%)PG4&H4mxU0Vv*%*N*eL+G=Dgb|?C!ivMcbun#l;?VPA~a|B3thUu*IP=W8j`2 z+rsUw7^T*Gy+>omy?ZVRUU5zGcs7-$hO`9h61xYA!D$ISQ!u4YyfRSmn_3 zUZB06v3I}9t(7&AS!0cu(H1k?!Q}Fvu#^&j#+HuKsYGRS@zZwnwR_AQA1N|1yqDRJ z)C$TUTV$_o0-3RbTIVd>URT`CoW!EqSrw+XAL<+Yzc+|hcut>PWCH1@XlF0!t{fS< zQoO%@?o(~Nj;5Jz{VZ9(;=ENYw4u-0eXRZo9eZvjuWj^a6*u9XbeVr+x4guGTh~Mx zzc$iSQ2=4-=;*5mVTIUopleX&I-hIq`gimAiSOp$oG#L(SJq_$cHsqUhw~6wGM}*n zpp=BCO?&G8S}x=7K6>T8-n3z9Q*EA#@!LtX4JDl#MNz-clNswB6h@0J0t~NUB|J)j zZPHE#uS}@xPSsRjKn`i-6oh)Hq;{<;iIgers%VCbK~r&+A64FcMTOQp6ly51-@b@A zUha;?`|jtFlIwI+;-g&r9{WVDqYD>MazgYt0sBHLR?bd^oNlw@zWanLkaIZ_=DBWb zI&u4}UZv;ocKw-e!&a^K_-bTeahH_RI^Bl2NpP2Rr3tHec`B`dk1b_m+W?hbLD1>X zlt1HrT^kIr$~^;8OIJcAn6(@34%S}NAnuwI3RITr-EI>#*_S8(Q)jpDmr-&p=^bPA z&~#Ecm|siO+aa!Wd7v7gV=3TgQ$SsV@M>Q@ry^FhLSdaUB`bH| zI#lwJ<6fpFA>3}KO_+6?QLX$lA36^nsoC}s32oa!-Y|K)SHO>gGFN6oKde8qukMg_ zO z=x0Qsxv6;%<}*%hwon2hl|^uc@}uMf`*&6uXxX@?0wTMc6O+H$S4q(_u8z+Mq%(F# zWTL`?Xxhkv7yF}O+Ehg4-j+lK?;KBmEi{34!Uq93!kAX1y}u8K0jTDim$t))eF-aR zx&1l0^YNzP6xn)cDe#Vs-t5B8(?dEYhR?--Dmo7i33k}o4|7f3cXyIhcPk03u-5OE z?R6f)^&ZOn>nU$vVWqO_pw*EZhKqh5a-FV5$|rdBvDtLj0m=~)iE{g(>SVjc2!ON+ iH*NV7J(k5^u>J86-?8G7P`@2R1SrX=%hpJnhy5QGW8y9V literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..5ac3939d2f1061b614523b39404165ce1c022378 GIT binary patch literal 9324 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 literal 0 HcmV?d00001 diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher_round.png.flat new file mode 100644 index 0000000000000000000000000000000000000000..3152c5df6550a6da6c9530ead3804e4826d19af4 GIT binary patch literal 15340 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

geFBi6PtNUc}bde&@A_AT8m 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 MRn$_bmV<@=KV*W3aR2}S literal 0 HcmV?d00001 diff --git a/booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/util/FileSearch.kt b/booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/util/FileSearch.kt index 2329e9f12..c93b00a69 100644 --- a/booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/util/FileSearch.kt +++ b/booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/util/FileSearch.kt @@ -1,5 +1,6 @@ package com.didiglobal.booster.util +import com.didiglobal.booster.kotlinx.asIterable import com.didiglobal.booster.kotlinx.execute import java.io.File import java.util.concurrent.RecursiveTask @@ -9,7 +10,7 @@ import java.util.concurrent.RecursiveTask * * @author johnsonlee */ -class FileSearch internal constructor(private val roots: Collection, private val filter: (File) -> Boolean = { true }) : RecursiveTask>() { +class FileSearch internal constructor(private val roots: Iterable, private val filter: (File) -> Boolean = { true }) : RecursiveTask>() { internal constructor(roots: Array, filter: (File) -> Boolean = { true }) : this(roots.toList(), filter) @@ -40,6 +41,8 @@ class FileSearch internal constructor(private val roots: Collection, priva fun File.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this, filter).execute() -fun Collection.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this, filter).execute() +fun Iterable.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this, filter).execute() + +fun Iterator.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this.asIterable(), filter).execute() fun Array.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this, filter).execute() diff --git a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/CompressImages.kt b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/CompressImages.kt index 558b1e4b3..bf8032cfa 100644 --- a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/CompressImages.kt +++ b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/CompressImages.kt @@ -1,7 +1,7 @@ package com.didiglobal.booster.task.compression import com.android.build.gradle.api.BaseVariant -import com.didiglobal.booster.aapt2.ResourcesInternal +import com.didiglobal.booster.aapt2.Aapt2Container import org.gradle.api.DefaultTask import java.io.File @@ -24,4 +24,4 @@ abstract class CompressImages : DefaultTask() { internal data class ActionData(val input: File, val output: File, val cmdline: List) -internal data class Aapt2ActionData(val input: File, val metadata: ResourcesInternal.CompiledFile, val output: File, val cmdline: List, val aapt2: List) +internal data class Aapt2ActionData(val input: File, val metadata: Aapt2Container.Metadata, val output: File, val cmdline: List, val aapt2: List) diff --git a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/RemoveRedundantFlatImages.kt b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/RemoveRedundantFlatImages.kt index dc18c907b..510c911d0 100644 --- a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/RemoveRedundantFlatImages.kt +++ b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/RemoveRedundantFlatImages.kt @@ -1,9 +1,6 @@ package com.didiglobal.booster.task.compression import com.didiglobal.booster.aapt2.metadata -import com.didiglobal.booster.gradle.GTE_V3_2 -import com.didiglobal.booster.kotlinx.CSI_RESET -import com.didiglobal.booster.kotlinx.CSI_YELLOW import org.gradle.api.tasks.TaskAction import java.io.File import java.io.IOException @@ -18,14 +15,6 @@ internal open class RemoveRedundantFlatImages : RemoveRedundantImages() { @TaskAction override fun run() { - when { - GTE_V3_2 -> removeFlatImages() - else -> logger.warn("${CSI_YELLOW}Removing legacy flat images is not supported yet$CSI_RESET") - - } - } - - private fun removeFlatImages() { val resources = sources().parallelStream().map { it to it.metadata }.collect(Collectors.toSet()) @@ -41,7 +30,7 @@ internal open class RemoveRedundantFlatImages : RemoveRedundantImages() { it.first to it.second }).map { group -> group.value.sortedByDescending { - it.second.config.density + it.second.config.screenType.density }.takeLast(group.value.size - 1) }.flatten().parallelStream().forEach { try { diff --git a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/cwebp/CwebpCompressFlatImages.kt b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/cwebp/CwebpCompressFlatImages.kt index 0ef6cdefc..c4eb94d02 100644 --- a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/cwebp/CwebpCompressFlatImages.kt +++ b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/cwebp/CwebpCompressFlatImages.kt @@ -4,7 +4,8 @@ import com.android.SdkConstants import com.android.SdkConstants.FD_RES import com.android.builder.model.AndroidProject.FD_INTERMEDIATES import com.android.sdklib.BuildToolInfo -import com.didiglobal.booster.aapt2.ResourcesInternal +import com.didiglobal.booster.aapt2.Aapt2Container +import com.didiglobal.booster.aapt2.metadata import com.didiglobal.booster.gradle.buildTools import com.didiglobal.booster.gradle.mergedManifests import com.didiglobal.booster.gradle.project @@ -14,10 +15,6 @@ import com.didiglobal.booster.kotlinx.CSI_RESET import com.didiglobal.booster.kotlinx.file import com.didiglobal.booster.task.compression.Aapt2ActionData import com.didiglobal.booster.task.compression.CompressionResult -import com.didiglobal.booster.aapt2.metadata -import com.didiglobal.booster.aapt2.resourcePath -import com.didiglobal.booster.gradle.GTE_V3_2 -import com.didiglobal.booster.kotlinx.CSI_YELLOW import com.didiglobal.booster.util.search import org.gradle.api.tasks.TaskAction import java.io.File @@ -48,7 +45,7 @@ internal open class CwebpCompressFlatImages : CwebpCompressImages() { it.parallelStream() }.collect(Collectors.toSet()) - val isNotLauncherIcon: (File, ResourcesInternal.CompiledFile) -> Boolean = { input, metadata -> + val isNotLauncherIcon: (File, Aapt2Container.Metadata) -> Boolean = { input, metadata -> if (!icons.contains(metadata.resourceName)) true else false.also { val s0 = input.length() results.add(CompressionResult(input, s0, s0, File(metadata.sourcePath))) @@ -103,10 +100,7 @@ internal open class CwebpCompressFlatImages : CwebpCompressImages() { @TaskAction override fun run() { - when { - GTE_V3_2 -> compress { true } - else -> logger.warn("${CSI_YELLOW}Compressing legacy flat images by cwebp is not supported yet$CSI_RESET") - } + compress { true } } } diff --git a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/pngquant/PngquantCompressFlatImages.kt b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/pngquant/PngquantCompressFlatImages.kt index 5296fbf4b..3d19c1c3c 100644 --- a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/pngquant/PngquantCompressFlatImages.kt +++ b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/pngquant/PngquantCompressFlatImages.kt @@ -7,14 +7,11 @@ import com.android.SdkConstants.FD_RES_MIPMAP import com.android.builder.model.AndroidProject.FD_INTERMEDIATES import com.android.sdklib.BuildToolInfo import com.didiglobal.booster.aapt2.metadata -import com.didiglobal.booster.aapt2.resourcePath -import com.didiglobal.booster.gradle.GTE_V3_2 import com.didiglobal.booster.gradle.buildTools import com.didiglobal.booster.gradle.project import com.didiglobal.booster.gradle.scope import com.didiglobal.booster.kotlinx.CSI_RED import com.didiglobal.booster.kotlinx.CSI_RESET -import com.didiglobal.booster.kotlinx.CSI_YELLOW import com.didiglobal.booster.kotlinx.file import com.didiglobal.booster.task.compression.Aapt2ActionData import com.didiglobal.booster.task.compression.CompressionResult @@ -30,13 +27,6 @@ internal open class PngquantCompressFlatImages : PngquantCompressImages() { @TaskAction override fun run() { - when { - GTE_V3_2 -> compress() - else -> logger.warn("${CSI_YELLOW}Compressing legacy images by pngquant is not supported yet$CSI_RESET") - } - } - - private fun compress() { val intermediates = variant.project.buildDir.file(FD_INTERMEDIATES) val compiledRes = intermediates.file("compiled_${FD_RES}_pngquant", variant.dirName, this.name) val compressedRes = intermediates.file("compressed_${FD_RES}_pngquant", variant.dirName, this.name) @@ -52,7 +42,7 @@ internal open class PngquantCompressFlatImages : PngquantCompressImages() { }.map { val output = compressedRes.file("${it.second.resourcePath.substringBeforeLast('.')}$DOT_PNG") Aapt2ActionData(it.first, it.second, output, - listOf(pngquant, "--strip", "--skip-if-larger", "-f", "-o", output.absolutePath, "-s", "1", it.second!!.sourcePath), + listOf(pngquant, "--strip", "--skip-if-larger", "-f", "-o", output.absolutePath, "-s", "1", it.second.sourcePath), listOf(aapt2, "compile", "-o", it.first.parent, output.absolutePath)) }.forEach { it.output.parentFile.mkdirs() diff --git a/booster-transform-shrink/src/main/kotlin/com/didiglobal/booster/transform/shrink/RetainedSymbolCollector.kt b/booster-transform-shrink/src/main/kotlin/com/didiglobal/booster/transform/shrink/RetainedSymbolCollector.kt index 1a569b824..52f8326bc 100644 --- a/booster-transform-shrink/src/main/kotlin/com/didiglobal/booster/transform/shrink/RetainedSymbolCollector.kt +++ b/booster-transform-shrink/src/main/kotlin/com/didiglobal/booster/transform/shrink/RetainedSymbolCollector.kt @@ -1,6 +1,10 @@ package com.didiglobal.booster.transform.shrink -import com.didiglobal.booster.aapt2.* +import com.didiglobal.booster.aapt2.BinaryParser +import com.didiglobal.booster.aapt2.MAGIC +import com.didiglobal.booster.aapt2.RES_FILE +import com.didiglobal.booster.aapt2.Resources +import com.didiglobal.booster.aapt2.ResourcesInternal import com.didiglobal.booster.kotlinx.stackTraceAsString import org.gradle.api.logging.Logging import java.io.File