mount("ext4", "EMMC", "/dev/block/mmcblk0p17", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p21", "/data");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "Coolpad/Coolpad5890/Coolpad5890:4.1.2/JZO54K/4.1.056.P0.130619.5890:user/release-keys" ||
       file_getprop("/system/build.prop", "ro.build.fingerprint") == "Coolpad/Coolpad5890/Coolpad5890:4.1.2/JZO54K/4.1.056.P0.130619.5890:user/release-keys");
assert(getprop("ro.product.device") == "Coolpad5890" || getprop("ro.build.product") == "Coolpad5890");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
assert(apply_patch_check("/system/app/CP_Bluetooth.apk", "cc709c57584a8ea9e545f6114f518b498813eab7", "76a56e04c4b9076ef0237357c10ac8449279d6d0"));
set_progress(0.014212);
assert(apply_patch_check("/system/app/CP_Gallery3D.apk", "83c9edfaddf709fa34dc83400e88c8042ad1c591", "25f52e2bb571950e4b6cf10b6fd2ac267767e764"));
set_progress(0.054762);
assert(apply_patch_check("/system/app/CalendarProvider.apk", "0ef37aa95dfd16d5cb34e541ccbeb4598d1abacf", "d3485bbe5e4117f7e73b3eb95c8015b3cd26d1b8"));
set_progress(0.064521);
assert(apply_patch_check("/system/app/ContactsProvider.apk", "9926add43abd05a2dffd4cdca163ebbdfe6f02da", "1f686bdae6b93994db542a77a47c98c5e0023093"));
set_progress(0.077907);
assert(apply_patch_check("/system/app/DownloadProvider.apk", "d977bd6ed1fb2bd03df5b3cdaaab6bb8ad65aef6", "613c805434aa18b8ba508345a002271ffc35b1ce"));
set_progress(0.086397);
assert(apply_patch_check("/system/app/DownloadProviderUi.apk", "44e540d19b19eae5b98ea75ff1accf7ce2506243", "79ca019a30b6298aede0e9b415c9ac868e3f8cce"));
set_progress(0.089600);
assert(apply_patch_check("/system/app/LatinIME.apk", "f63f86b584bccaf17e480dcc08002b0e1d08055a", "45c36ac7af22092c0c0863d77065f1ae9f68ef8d"));
set_progress(0.209357);
assert(apply_patch_check("/system/app/LewaCalculator.apk", "84344b5e721b76339d0bb2319583ad96be6f7e68", "1fd4b5760df77b68d928c896c7bf2a94245d50a7"));
set_progress(0.216271);
assert(apply_patch_check("/system/app/LewaFileManager.apk", "9d680f1cfcd18bff667cc512ce3cfefd8be34af9", "368dcdcdfa4f24e10892559af8ea67c80ba71776"));
set_progress(0.223140);
assert(apply_patch_check("/system/app/LewaFlashlight.apk", "c2916aea50185f3a8ba38346ea90aa4ea3132ad7", "527e1d7263fa25c70b5e1fe218bce4fd623260cd"));
set_progress(0.239765);
assert(apply_patch_check("/system/app/LewaIntercept.apk", "7d0d0ceba559adb45454cbe3e3664aa8d6a5be5a", "9a9a6fc971d62995de0feb73cf680cc452c6962d"));
set_progress(0.244592);
assert(apply_patch_check("/system/app/LewaLabiSync.apk", "23bf949d7646ef982293872aa1d498b28337a605", "b87a3b9ef7d48995d8fa5b3640c504daa65153df"));
set_progress(0.246009);
assert(apply_patch_check("/system/app/LewaLauncherX.apk", "38d74ba17a0ff912ebecb5154f17888795b7ffd9", "d7b284c06e52930e1a8e8fc28e0a3683c70becb4"));
set_progress(0.267612);
assert(apply_patch_check("/system/app/LewaLockScreen.apk", "da89d9c8a15499af9c1f3403da36f2ad8e681f36", "88b0bd2e36a4bdb134ade2cb82e835f0aa83b381"));
set_progress(0.270202);
assert(apply_patch_check("/system/app/LewaPackageInstaller.apk", "4d0135f51d4b5446b5e961f188a0ef3796134083", "979db401bd6f466e40217d2cee006742ef828bb4"));
set_progress(0.272456);
assert(apply_patch_check("/system/app/LewaPlayer.apk", "822a8ac1869215c41b94798c11038e93ecbdd7ef", "d4aeaa27c8a30fcb05778b7251a491e533d76cc6"));
set_progress(0.299316);
assert(apply_patch_check("/system/app/LewaPush.apk", "05c9c68655be88a89ef1894b60995a9fab385793", "49e54ca48fb626774832e6884d84529780767e9c"));
set_progress(0.302306);
assert(apply_patch_check("/system/app/LewaSensorProvider.apk", "28a53a4d3bfc9e608047c6bc7b89656036c1dcbb", "1bd025f273c465ba93578d4b82d9b50ee0c9f0ab"));
set_progress(0.303382);
assert(apply_patch_check("/system/app/LewaSoundRecorder.apk", "0f3e9f5a5a207edfea9c9e16de1c6b8fda1eeb54", "61e74c0cc6cf9bcf7b0eeac0fc3dd9edf7a14d00"));
set_progress(0.316677);
assert(apply_patch_check("/system/app/LewaWeather.apk", "71358274d6f4225ef9ecd8941a25921d5ba92222", "f1325f447bd647dfea58d9cdc84e0344e0fc6931"));
set_progress(0.346622);
assert(apply_patch_check("/system/app/LocationProvider.apk", "87cd360fb4610eb148643382b9d249143ca6ced1", "3dce73b2d3c2c53ba3bf7b2ac78189149940a553"));
set_progress(0.377235);
assert(apply_patch_check("/system/app/MediaProvider.apk", "fcb7284f3ad8c5e55d3669f7d3ed823574f0454e", "4bd09eb4358436683d978cfd933eedf4840b37a7"));
set_progress(0.378790);
assert(apply_patch_check("/system/app/MmsFavoriteProvider.apk", "149d1b399d1d3a350f81a1339dcecb13e9ad5b04", "e8bd0846b3c7bc9b76a89e4d8ce7abd4131c08ab"));
set_progress(0.380211);
assert(apply_patch_check("/system/app/PIM.apk", "0cb2ca972fd1a513f7c343ef86ba23b3f6f7fc94", "aa2337b2ffa892414aa971bfdbc14dca7eb5720e"));
set_progress(0.500326);
assert(apply_patch_check("/system/app/Phone.apk", "e3fe38d78163f50faeb354fbb7214a221dd571aa", "f92186308367fbdd452396072cd7da0d8ace73eb"));
set_progress(0.531779);
assert(apply_patch_check("/system/app/Provision.apk", "0cd9fbb939c322188fd65ccae7fe29a5515ad171", "38b5191108d9f978ffbfbb9ca1f13dbb8f0fac30"));
set_progress(0.531829);
assert(apply_patch_check("/system/app/Settings.apk", "db8a1f603f3c16104362c3594b77b400e52289e5", "532b78b004115411cad2b8f76c64b2506d3b3e34"));
set_progress(0.589860);
assert(apply_patch_check("/system/app/SettingsProvider.apk", "0a43bf0981ad89576e0a0f0689f0ad82ef743293", "71ee75cd74bf1b453f7415da32062a75dd8b29d8"));
set_progress(0.590505);
assert(apply_patch_check("/system/app/SystemUI.apk", "ae23868f57f4f8a8a85225c14422e3854d00682a", "f8292d28ea1903426b5aded90d24337c5e21312d"));
set_progress(0.621854);
assert(apply_patch_check("/system/app/TelephonyProvider.apk", "43fe0f396444c9bf7b50a0184a966cc6cadc9193", "f7630d07e4c8096cf42630db1328708c9b301280"));
set_progress(0.623595);
assert(apply_patch_check("/system/framework/android.policy.jar", "fcc478daef7ca94e7aebe115ec18fc247c48ccde", "b08430150979e6c062807ca0476cfc2fdcc7ecfa"));
set_progress(0.626878);
assert(apply_patch_check("/system/framework/framework-res.apk", "7969fb23980842c7316c65c145aad01d48f26a17", "358c702d6af95c2589996d52b7f36e0368d5b5e9"));
set_progress(0.737480);
assert(apply_patch_check("/system/framework/framework.jar", "440d8b47b36d948af28dcccfe547a351339389a9", "e35ef363e13bd3bf5a1dce3a39f8c26d08d6857d"));
set_progress(0.797927);
assert(apply_patch_check("/system/framework/framework_ext.jar", "7f19181f8ad8bdcbd3cd4ed35b7a085aa4a1315a", "8f1538313c5036715ed51edda50b31315bea6484"));
set_progress(0.807217);
assert(apply_patch_check("/system/framework/lewa-framework.jar", "c6cdef6de35cee6613a899ea59958bab09edff1c", "811fe04a1f704ca89cc99f9d8dc83d6b4d0b4fa2"));
set_progress(0.816169);
assert(apply_patch_check("/system/framework/lewa-res.apk", "acef07baa96ad12cfaf4955d3b0717d3f1963677", "9a1e6279c214d4575f90d8151e5fe1dc21164487"));
set_progress(0.953797);
assert(apply_patch_check("/system/framework/services.jar", "d851ecd06063e719c5c15d909ab595215418aa26", "ead4bbdc1d0dc6541474ed3e6a65a5dc0ec7c6fa"));
set_progress(0.969334);
assert(apply_patch_check("/system/media/theme/mod_icons", "62f0edc71c0cbefafc6f2fdb7cdbd1ec00983536", "aa791a64b153b67b0030fb1551b508b00fdffd70"));
set_progress(1.000000);
assert(apply_patch_space(10148081));

# ---- start making changes here ----

ui_print("Removing unneeded files...");
delete("/system/build.prop",
       "/system/recovery.img");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/system/app/CP_Bluetooth.apk", "-",
            cc709c57584a8ea9e545f6114f518b498813eab7, 1047902,
            76a56e04c4b9076ef0237357c10ac8449279d6d0, package_extract_file("patch/system/app/CP_Bluetooth.apk.p"));
set_progress(0.014041);
apply_patch("/system/app/CP_Gallery3D.apk", "-",
            83c9edfaddf709fa34dc83400e88c8042ad1c591, 2990061,
            25f52e2bb571950e4b6cf10b6fd2ac267767e764, package_extract_file("patch/system/app/CP_Gallery3D.apk.p"));
set_progress(0.054104);
apply_patch("/system/app/CalendarProvider.apk", "-",
            0ef37aa95dfd16d5cb34e541ccbeb4598d1abacf, 719528,
            d3485bbe5e4117f7e73b3eb95c8015b3cd26d1b8, package_extract_file("patch/system/app/CalendarProvider.apk.p"));
set_progress(0.063745);
apply_patch("/system/app/ContactsProvider.apk", "-",
            9926add43abd05a2dffd4cdca163ebbdfe6f02da, 987072,
            1f686bdae6b93994db542a77a47c98c5e0023093, package_extract_file("patch/system/app/ContactsProvider.apk.p"));
set_progress(0.076971);
apply_patch("/system/app/DownloadProvider.apk", "-",
            d977bd6ed1fb2bd03df5b3cdaaab6bb8ad65aef6, 625975,
            613c805434aa18b8ba508345a002271ffc35b1ce, package_extract_file("patch/system/app/DownloadProvider.apk.p"));
set_progress(0.085358);
apply_patch("/system/app/DownloadProviderUi.apk", "-",
            44e540d19b19eae5b98ea75ff1accf7ce2506243, 236232,
            79ca019a30b6298aede0e9b415c9ac868e3f8cce, package_extract_file("patch/system/app/DownloadProviderUi.apk.p"));
set_progress(0.088523);
apply_patch("/system/app/LatinIME.apk", "-",
            f63f86b584bccaf17e480dcc08002b0e1d08055a, 8830345,
            45c36ac7af22092c0c0863d77065f1ae9f68ef8d, package_extract_file("patch/system/app/LatinIME.apk.p"));
set_progress(0.206840);
apply_patch("/system/app/LewaCalculator.apk", "-",
            84344b5e721b76339d0bb2319583ad96be6f7e68, 509791,
            1fd4b5760df77b68d928c896c7bf2a94245d50a7, package_extract_file("patch/system/app/LewaCalculator.apk.p"));
set_progress(0.213670);
apply_patch("/system/app/LewaFileManager.apk", "-",
            9d680f1cfcd18bff667cc512ce3cfefd8be34af9, 506480,
            368dcdcdfa4f24e10892559af8ea67c80ba71776, package_extract_file("patch/system/app/LewaFileManager.apk.p"));
set_progress(0.220456);
apply_patch("/system/app/LewaFlashlight.apk", "-",
            c2916aea50185f3a8ba38346ea90aa4ea3132ad7, 1225883,
            527e1d7263fa25c70b5e1fe218bce4fd623260cd, package_extract_file("patch/system/app/LewaFlashlight.apk.p"));
set_progress(0.236882);
apply_patch("/system/app/LewaIntercept.apk", "-",
            7d0d0ceba559adb45454cbe3e3664aa8d6a5be5a, 355930,
            9a9a6fc971d62995de0feb73cf680cc452c6962d, package_extract_file("patch/system/app/LewaIntercept.apk.p"));
set_progress(0.241651);
apply_patch("/system/app/LewaLabiSync.apk", "-",
            23bf949d7646ef982293872aa1d498b28337a605, 104484,
            b87a3b9ef7d48995d8fa5b3640c504daa65153df, package_extract_file("patch/system/app/LewaLabiSync.apk.p"));
set_progress(0.243051);
apply_patch("/system/app/LewaLauncherX.apk", "-",
            38d74ba17a0ff912ebecb5154f17888795b7ffd9, 1594655,
            d7b284c06e52930e1a8e8fc28e0a3683c70becb4, package_extract_file("patch/system/app/LewaLauncherX.apk.p"));
set_progress(0.264417);
apply_patch("/system/app/LewaLockScreen.apk", "-",
            da89d9c8a15499af9c1f3403da36f2ad8e681f36, 191394,
            88b0bd2e36a4bdb134ade2cb82e835f0aa83b381, package_extract_file("patch/system/app/LewaLockScreen.apk.p"));
set_progress(0.266982);
apply_patch("/system/app/LewaPackageInstaller.apk", "-",
            4d0135f51d4b5446b5e961f188a0ef3796134083, 166148,
            979db401bd6f466e40217d2cee006742ef828bb4, package_extract_file("patch/system/app/LewaPackageInstaller.apk.p"));
set_progress(0.269208);
apply_patch("/system/app/LewaPlayer.apk", "-",
            822a8ac1869215c41b94798c11038e93ecbdd7ef, 1981012,
            d4aeaa27c8a30fcb05778b7251a491e533d76cc6, package_extract_file("patch/system/app/LewaPlayer.apk.p"));
set_progress(0.295751);
apply_patch("/system/app/LewaPush.apk", "-",
            05c9c68655be88a89ef1894b60995a9fab385793, 221164,
            49e54ca48fb626774832e6884d84529780767e9c, package_extract_file("patch/system/app/LewaPush.apk.p"));
set_progress(0.298715);
apply_patch("/system/app/LewaSensorProvider.apk", "-",
            28a53a4d3bfc9e608047c6bc7b89656036c1dcbb, 79439,
            1bd025f273c465ba93578d4b82d9b50ee0c9f0ab, package_extract_file("patch/system/app/LewaSensorProvider.apk.p"));
set_progress(0.299779);
apply_patch("/system/app/LewaSoundRecorder.apk", "-",
            0f3e9f5a5a207edfea9c9e16de1c6b8fda1eeb54, 980335,
            61e74c0cc6cf9bcf7b0eeac0fc3dd9edf7a14d00, package_extract_file("patch/system/app/LewaSoundRecorder.apk.p"));
set_progress(0.312915);
apply_patch("/system/app/LewaWeather.apk", "-",
            71358274d6f4225ef9ecd8941a25921d5ba92222, 2208086,
            f1325f447bd647dfea58d9cdc84e0344e0fc6931, package_extract_file("patch/system/app/LewaWeather.apk.p"));
set_progress(0.342500);
apply_patch("/system/app/LocationProvider.apk", "-",
            87cd360fb4610eb148643382b9d249143ca6ced1, 2257283,
            3dce73b2d3c2c53ba3bf7b2ac78189149940a553, package_extract_file("patch/system/app/LocationProvider.apk.p"));
set_progress(0.372745);
apply_patch("/system/app/MediaProvider.apk", "-",
            fcb7284f3ad8c5e55d3669f7d3ed823574f0454e, 114650,
            4bd09eb4358436683d978cfd933eedf4840b37a7, package_extract_file("patch/system/app/MediaProvider.apk.p"));
set_progress(0.374282);
apply_patch("/system/app/MmsFavoriteProvider.apk", "-",
            149d1b399d1d3a350f81a1339dcecb13e9ad5b04, 104787,
            e8bd0846b3c7bc9b76a89e4d8ce7abd4131c08ab, package_extract_file("patch/system/app/MmsFavoriteProvider.apk.p"));
set_progress(0.375686);
apply_patch("/system/app/PIM.apk", "-",
            0cb2ca972fd1a513f7c343ef86ba23b3f6f7fc94, 8856734,
            aa2337b2ffa892414aa971bfdbc14dca7eb5720e, package_extract_file("patch/system/app/PIM.apk.p"));
set_progress(0.494356);
apply_patch("/system/app/Phone.apk", "-",
            e3fe38d78163f50faeb354fbb7214a221dd571aa, 2319945,
            f92186308367fbdd452396072cd7da0d8ace73eb, package_extract_file("patch/system/app/Phone.apk.p"));
set_progress(0.525440);
apply_patch("/system/app/Provision.apk", "-",
            0cd9fbb939c322188fd65ccae7fe29a5515ad171, 3662,
            38b5191108d9f978ffbfbb9ca1f13dbb8f0fac30, package_extract_file("patch/system/app/Provision.apk.p"));
set_progress(0.525489);
apply_patch("/system/app/Settings.apk", "-",
            db8a1f603f3c16104362c3594b77b400e52289e5, 4279012,
            532b78b004115411cad2b8f76c64b2506d3b3e34, package_extract_file("patch/system/app/Settings.apk.p"));
set_progress(0.582823);
apply_patch("/system/app/SettingsProvider.apk", "-",
            0a43bf0981ad89576e0a0f0689f0ad82ef743293, 47570,
            71ee75cd74bf1b453f7415da32062a75dd8b29d8, package_extract_file("patch/system/app/SettingsProvider.apk.p"));
set_progress(0.583461);
apply_patch("/system/app/SystemUI.apk", "-",
            ae23868f57f4f8a8a85225c14422e3854d00682a, 2311506,
            f8292d28ea1903426b5aded90d24337c5e21312d, package_extract_file("patch/system/app/SystemUI.apk.p"));
set_progress(0.614432);
apply_patch("/system/app/TelephonyProvider.apk", "-",
            43fe0f396444c9bf7b50a0184a966cc6cadc9193, 128368,
            f7630d07e4c8096cf42630db1328708c9b301280, package_extract_file("patch/system/app/TelephonyProvider.apk.p"));
set_progress(0.616152);
apply_patch("/system/framework/android.policy.jar", "-",
            fcc478daef7ca94e7aebe115ec18fc247c48ccde, 241905,
            b08430150979e6c062807ca0476cfc2fdcc7ecfa, package_extract_file("patch/system/framework/android.policy.jar.p"));
set_progress(0.619393);
apply_patch("/system/framework/framework-res.apk", "-",
            7969fb23980842c7316c65c145aad01d48f26a17, 8155303,
            358c702d6af95c2589996d52b7f36e0368d5b5e9, package_extract_file("patch/system/framework/framework-res.apk.p"));
set_progress(0.728665);
apply_patch("/system/framework/framework.jar", "-",
            440d8b47b36d948af28dcccfe547a351339389a9, 4462029,
            e35ef363e13bd3bf5a1dce3a39f8c26d08d6857d, package_extract_file("patch/system/framework/framework.jar.p"));
set_progress(0.788451);
apply_patch("/system/framework/framework_ext.jar", "-",
            7f19181f8ad8bdcbd3cd4ed35b7a085aa4a1315a, 684316,
            8f1538313c5036715ed51edda50b31315bea6484, package_extract_file("patch/system/framework/framework_ext.jar.p"));
set_progress(0.797620);
apply_patch("/system/framework/lewa-framework.jar", "-",
            c6cdef6de35cee6613a899ea59958bab09edff1c, 661071,
            811fe04a1f704ca89cc99f9d8dc83d6b4d0b4fa2, package_extract_file("patch/system/framework/lewa-framework.jar.p"));
set_progress(0.806478);
apply_patch("/system/framework/lewa-res.apk", "-",
            acef07baa96ad12cfaf4955d3b0717d3f1963677, 10545591,
            9a1e6279c214d4575f90d8151e5fe1dc21164487, package_extract_file("patch/system/framework/lewa-res.apk.p"));
set_progress(0.947777);
apply_patch("/system/framework/services.jar", "-",
            d851ecd06063e719c5c15d909ab595215418aa26, 1145291,
            ead4bbdc1d0dc6541474ed3e6a65a5dc0ec7c6fa, package_extract_file("patch/system/framework/services.jar.p"));
set_progress(0.963122);
apply_patch("/system/media/theme/mod_icons", "-",
            62f0edc71c0cbefafc6f2fdb7cdbd1ec00983536, 2752317,
            aa791a64b153b67b0030fb1551b508b00fdffd70, package_extract_file("patch/system/media/theme/mod_icons.p"));
set_progress(1.000000);
show_progress(0.100000, 10);
ui_print("Unpacking new files...");
package_extract_dir("system", "/system");
package_extract_dir("data", "/data");
ui_print("Symlinks and permissions...");
set_perm_recursive(1000, 1000, 0755, 0644, "/data/preinstall_apps");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 1000, 0755, "/system/bin/diag_mdlog");
set_perm(0, 1000, 0750, "/system/bin/iptables");
set_perm(0, 0, 06755, "/system/bin/ldss");
set_perm(0, 0, 06755, "/system/bin/lvdouSuBackup");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 0, 06755, "/system/bin/su0");
set_perm(0, 1000, 0750, "/system/bin/tc");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(0, 0, 0644, "/system/etc/bluetooth/iop_device_list.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm(0, 0, 0550, "/system/etc/init.qcom.sdio.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 1010, 0550, "/system/etc/wifi/runbip.sh");
set_perm(0, 2000, 0755, "/system/vendor/lib");
set_perm(0, 2000, 0755, "/system/vendor/pittpatt");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/busybox");
set_perm(0, 0, 0755, "/system/xbin/librank");
set_perm(0, 0, 0755, "/system/xbin/procmem");
set_perm(0, 0, 0755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 0, 0755, "/system/xbin/tcpdump");
ui_print("Patching remaining system files...");
set_perm(0, 0, 0644, "/system/build.prop");
unmount("/data");
unmount("/system");
