assert((getprop("ro.product.device") == "blaze" ||
        getprop("ro.build.product") == "blaze"));
ui_print("Restoring ROM tokens from backup");
show_progress(1.0,1);
package_extract_file("system/bin/miniunz","/tmp/miniunz");
set_perm(0, 0, 0755, "/tmp/miniunz");
unmount("/bootdata");
format("vfat", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/bootdata");
assert(mount("vfat", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/bootdata", "/bootdata") == "/bootdata");
package_extract_dir("system/bootdata","/bootdata");
# Don't unmount /bootdata since recovery mode needs to write the BCB there
ifelse(is_mounted("/factory"),0,assert(mount("ext4", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/factory", "/factory") == "/factory"));
unmount("/rom");
format("vfat", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/rom");
assert(mount("vfat", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/rom", "/rom") == "/rom");
assert(run_program("/tmp/miniunz","-o","/factory/rombackup.zip") == "0");
unmount("/rom");
# This will fail if romrestore.zip is on /factory, but that's OK
unmount("/factory");
ui_print("Completed restoring ROM tokens");

