diff --git a/factory-images/generate-factory-images-package.sh b/factory-images/generate-factory-images-package.sh
new file mode 100755
index 0000000..0830600
--- /dev/null
+++ b/factory-images/generate-factory-images-package.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# start jb-mr2-dev
+# 704765 = JSR72
+# 739313 = JSS11D
+# 741250 = JSS15
+# 746990 = JSS15H
+# 748502 = JSS15I
+# 748593 = JSS15J
+# 750418 = JSS15K
+# end jb-mr2-dev
+
+source ../../../common/clear-factory-images-variables.sh
+BUILD=748593
+DEVICE=flo
+PRODUCT=razor
+VERSION=jss15j
+SRCPREFIX=signed-
+BOOTLOADER=flo-03.14
+source ../../../common/generate-factory-images-common.sh
diff --git a/proprietary-blobs.txt b/proprietary-blobs.txt
new file mode 100644
index 0000000..9b0bba3
--- /dev/null
+++ b/proprietary-blobs.txt
@@ -0,0 +1,197 @@
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This file is generated by device/common/generate-blob-lists.sh - DO NOT EDIT
+
+/system/bin/ATFWD-daemon
+/system/bin/bridgemgrd
+/system/bin/btnvtool
+/system/bin/diag_klog
+/system/bin/diag_mdlog
+/system/bin/ds_fmc_appd
+/system/bin/efsks
+/system/bin/hci_qcomm_init
+/system/bin/irsc_util
+/system/bin/ks
+/system/bin/mm-qcamera-app
+/system/bin/mm-qcamera-daemon
+/system/bin/mm-qjpeg-enc-test
+/system/bin/mm-qomx-ienc-test
+/system/bin/mpdecision
+/system/bin/netmgrd
+/system/bin/nl_listener
+/system/bin/port-bridge
+/system/bin/qcks
+/system/bin/qmuxd
+/system/bin/qseecomd
+/system/bin/radish
+/system/bin/rmt_storage
+/system/bin/sensors.qcom
+/system/bin/thermald
+/system/bin/usbhub
+/system/bin/usbhub_init
+/system/etc/DxHDCP.cfg
+/system/etc/firmware/tzapps.b00
+/system/etc/firmware/tzapps.b01
+/system/etc/firmware/tzapps.b02
+/system/etc/firmware/tzapps.b03
+/system/etc/firmware/tzapps.mdt
+/system/etc/firmware/vidc.b00
+/system/etc/firmware/vidc.b01
+/system/etc/firmware/vidc.b02
+/system/etc/firmware/vidc.b03
+/system/etc/firmware/vidc.mdt
+/system/etc/firmware/vidcfw.elf
+/system/etc/firmware/vidc_1080p.fw
+/system/etc/firmware/wcd9310/wcd9310_anc.bin
+/system/etc/firmware/wcd9310/wcd9310_mbhc.bin
+/system/lib/egl/eglsubAndroid.so
+/system/lib/egl/libEGL_adreno200.so
+/system/lib/egl/libGLESv1_CM_adreno200.so
+/system/lib/egl/libGLESv2_adreno200.so
+/system/lib/egl/libq3dtools_adreno200.so
+/system/lib/hw/gps.msm8960.so
+/system/lib/hw/sensors.msm8960.so
+/system/lib/libacdbdata.so
+/system/lib/libacdbloader.so
+/system/lib/libAKM.so
+/system/lib/libaudcal.so
+/system/lib/libaudioalsa.so
+/system/lib/libC2D2.so
+/system/lib/libc2d2_a3xx.so
+/system/lib/libCB.so
+/system/lib/libchromatix_ov5693_common.so
+/system/lib/libchromatix_ov5693_default_video.so
+/system/lib/libchromatix_ov5693_preview.so
+/system/lib/libCommandSvc.so
+/system/lib/libconfigdb.so
+/system/lib/libcsd-client.so
+/system/lib/libdiag.so
+/system/lib/libdrmdiag.so
+/system/lib/libdrmfs.so
+/system/lib/libdrmtime.so
+/system/lib/libdsi_netctrl.so
+/system/lib/libdsprofile.so
+/system/lib/libdss.so
+/system/lib/libdsucsd.so
+/system/lib/libdsutils.so
+/system/lib/libDxHdcp.so
+/system/lib/libgeofence.so
+/system/lib/libgps.utils.so
+/system/lib/libgsl.so
+/system/lib/libI420colorconvert.so
+/system/lib/libidl.so
+/system/lib/libllvm-a3xx.so
+/system/lib/libloc_adapter.so
+/system/lib/libloc_api_v02.so
+/system/lib/libloc_eng.so
+/system/lib/libmm-abl.so
+/system/lib/libmm-color-convertor.so
+/system/lib/libmmcamera2_stats_algorithm.so
+/system/lib/libmmcamera_image_stab.so
+/system/lib/libmmcamera_mi1040.so
+/system/lib/libmmcamera_ov5693.so
+/system/lib/libnetmgr.so
+/system/lib/liboemcrypto.so
+/system/lib/libqcci_legacy.so
+/system/lib/libqdi.so
+/system/lib/libqdp.so
+/system/lib/libqmi.so
+/system/lib/libqmiservices.so
+/system/lib/libqmi_cci.so
+/system/lib/libqmi_client_qmux.so
+/system/lib/libqmi_common_so.so
+/system/lib/libqmi_csi.so
+/system/lib/libqmi_csvt_srvc.so
+/system/lib/libqmi_encdec.so
+/system/lib/libQSEEComAPI.so
+/system/lib/libRSDriver_adreno.so
+/system/lib/librs_adreno.so
+/system/lib/librs_adreno_sha1.so
+/system/lib/libsc-a3xx.so
+/system/lib/libsensor1.so
+/system/lib/libsensor_reg.so
+/system/lib/libsensor_user_cal.so
+/system/lib/libstagefright_hdcp.so
+/system/lib/libxml.so
+/system/vendor/firmware/a300_pfp.fw
+/system/vendor/firmware/a300_pm4.fw
+/system/vendor/firmware/bcm2079x-b5_firmware.ncd
+/system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd
+/system/vendor/firmware/discretix/dxhdcp2.b00
+/system/vendor/firmware/discretix/dxhdcp2.b01
+/system/vendor/firmware/discretix/dxhdcp2.b02
+/system/vendor/firmware/discretix/dxhdcp2.b03
+/system/vendor/firmware/discretix/dxhdcp2.mdt
+/system/vendor/firmware/dsps.b00
+/system/vendor/firmware/dsps.b01
+/system/vendor/firmware/dsps.b02
+/system/vendor/firmware/dsps.b03
+/system/vendor/firmware/dsps.b04
+/system/vendor/firmware/dsps.b05
+/system/vendor/firmware/dsps.mdt
+/system/vendor/firmware/gss.b00
+/system/vendor/firmware/gss.b01
+/system/vendor/firmware/gss.b02
+/system/vendor/firmware/gss.b03
+/system/vendor/firmware/gss.b04
+/system/vendor/firmware/gss.b05
+/system/vendor/firmware/gss.b06
+/system/vendor/firmware/gss.b07
+/system/vendor/firmware/gss.b08
+/system/vendor/firmware/gss.b09
+/system/vendor/firmware/gss.b10
+/system/vendor/firmware/gss.b11
+/system/vendor/firmware/gss.mdt
+/system/vendor/firmware/q6.b00
+/system/vendor/firmware/q6.b01
+/system/vendor/firmware/q6.b03
+/system/vendor/firmware/q6.b04
+/system/vendor/firmware/q6.b05
+/system/vendor/firmware/q6.b06
+/system/vendor/firmware/q6.mdt
+/system/vendor/firmware/tzapps.b00
+/system/vendor/firmware/tzapps.b01
+/system/vendor/firmware/tzapps.b02
+/system/vendor/firmware/tzapps.b03
+/system/vendor/firmware/tzapps.mdt
+/system/vendor/firmware/wcnss.b00
+/system/vendor/firmware/wcnss.b01
+/system/vendor/firmware/wcnss.b02
+/system/vendor/firmware/wcnss.b04
+/system/vendor/firmware/wcnss.b05
+/system/vendor/firmware/wcnss.mdt
+/system/vendor/lib/libdrmdecrypt.so
+/system/vendor/lib/libgemini.so
+/system/vendor/lib/libimage-jpeg-enc-omx-comp.so
+/system/vendor/lib/libimage-omx-common.so
+/system/vendor/lib/libmmcamera2_c2d_module.so
+/system/vendor/lib/libmmcamera2_cpp_module.so
+/system/vendor/lib/libmmcamera2_iface_modules.so
+/system/vendor/lib/libmmcamera2_imglib_modules.so
+/system/vendor/lib/libmmcamera2_isp_modules.so
+/system/vendor/lib/libmmcamera2_pproc_modules.so
+/system/vendor/lib/libmmcamera2_sensor_modules.so
+/system/vendor/lib/libmmcamera2_stats_modules.so
+/system/vendor/lib/libmmcamera2_vpe_module.so
+/system/vendor/lib/libmmcamera2_wnr_module.so
+/system/vendor/lib/libmmcamera_faceproc.so
+/system/vendor/lib/libmmcamera_imglib.so
+/system/vendor/lib/libmmipl.so
+/system/vendor/lib/libmmjpeg.so
+/system/vendor/lib/libmmqjpeg_codec.so
+/system/vendor/lib/libmmstillomx.so
+/system/vendor/lib/liboemcamera.so
+/system/vendor/lib/libqomx_jpegenc.so
+/system/vendor/lib/oxili_rs_runtime.bc
diff --git a/self-extractors/Android.mk b/self-extractors/Android.mk
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/self-extractors/Android.mk
diff --git a/self-extractors/PART1 b/self-extractors/PART1
new file mode 100644
index 0000000..935267e
--- /dev/null
+++ b/self-extractors/PART1
@@ -0,0 +1,12 @@
+#
+# Usage is subject to the enclosed license agreement
+
+echo
+echo The license for this software will now be displayed.
+echo You must agree to this license before using this software.
+echo
+echo -n Press Enter to view the license
+read dummy
+echo
+
+more << __EOF__
diff --git a/self-extractors/PART2 b/self-extractors/PART2
new file mode 100644
index 0000000..30e8d43
--- /dev/null
+++ b/self-extractors/PART2
@@ -0,0 +1,22 @@
+__EOF__
+
+if test $? != 0
+then
+  echo ERROR: Couldn\'t display license file 1>&2
+  exit 1
+fi
+
+echo
+
+echo -n Type \"I ACCEPT\" if you agree to the terms of the license:\ 
+read typed
+
+if test "$typed" != I\ ACCEPT
+then
+  echo
+  echo You didn\'t accept the license. Extraction aborted.
+  exit 2
+fi
+
+echo
+
diff --git a/self-extractors/PART3 b/self-extractors/PART3
new file mode 100644
index 0000000..6847be5
--- /dev/null
+++ b/self-extractors/PART3
@@ -0,0 +1,12 @@
+
+if test $? != 0
+then
+  echo
+  echo ERROR: Couldn\'t extract files. 1>&2
+  exit 3
+else
+  echo
+  echo Files extracted successfully.
+fi
+exit 0
+
diff --git a/self-extractors/PROLOGUE b/self-extractors/PROLOGUE
new file mode 100644
index 0000000..c856ef1
--- /dev/null
+++ b/self-extractors/PROLOGUE
@@ -0,0 +1,2 @@
+#!/bin/bash
+#
diff --git a/self-extractors/asus/COPYRIGHT b/self-extractors/asus/COPYRIGHT
new file mode 100644
index 0000000..e2ba69c
--- /dev/null
+++ b/self-extractors/asus/COPYRIGHT
@@ -0,0 +1 @@
+# (C) ASUSTek COMPUTER INC.
diff --git a/self-extractors/asus/LICENSE b/self-extractors/asus/LICENSE
new file mode 100644
index 0000000..2eaa115
--- /dev/null
+++ b/self-extractors/asus/LICENSE
@@ -0,0 +1,225 @@
+THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
+BINDING AGREEMENT BETWEEN ASUSTek COMPUTER INC. ("LICENSOR") AND
+YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
+TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
+AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
+IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
+PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
+SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
+SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
+SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
+ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
+SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
+
+   1.  Special Definitions
+
+      a.  The term "Android" means the open source mobile platform, software
+          stack, operating system, middleware, application programming
+          interfaces and mobile applications under the trade-name "Android"
+          distributed at Android.com.
+
+      b.  The term "Android Applications" means a software application or
+          open-source contribution developed by You, designed to operate with
+          Android that does not contain or incorporate any of the Software.
+
+      c.  The term "Authorized Android Enabled Device" means only the device
+          identified on the site from which You downloaded the Software.
+          The term "Software" means the Licensor's proprietary software and
+          libraries in object code form, designed for use on the Authorized
+          Android Enabled Device.
+
+      d.  The term "Authorized Android Enabled Device Software" means a
+          packaged build for Authorized Android Enabled Devices, consisting
+          of files suitable for installation on an Authorized Android Enabled
+          Device using a mechanism such as fastboot mode or recovery mode.
+
+   2.  License Grant
+
+      a.  Subject to the terms of this Agreement, Licensor hereby grants to
+          You, free of charge, a non-exclusive, non-sublicensable,
+          non-transferable, limited license, during the term of
+          this Agreement, to download, install and use the Software
+          internally in machine-readable (i.e., object code) form and the
+          Documentation for non-commercial use on an Authorized Android
+          Enabled Device and non-commercial redistribution of the Authorized
+          Android Enabled Device Software (the "Limited Purpose"). You may
+          grant your end users the right to use the Software for
+          the Limited Purpose.
+          The license to the Software granted to You hereunder is solely for
+          the Limited Purpose set forth in this section, and the Software
+          shall not be used for any other purpose.
+
+   3.  Restrictions
+
+      a.  Retention of Rights. The entire right, title and interest in the
+          Software shall remain with Licensor and, unless specified in
+          writing hereunder, no rights are granted to any of the Software.
+          Except for the right to use the Software for the Limited Purpose,
+          the delivery of the Software to You does not convey to You any
+          intellectual property rights in the Software, including, but not
+          limited to any rights under any patent, trademark, copyright, or
+          trade secret. Neither the delivery of the Software to You nor any
+          terms set forth herein shall be construed to grant to You, either
+          expressly, by implication or by way of estoppel, any license under
+          any patents or other intellectual property rights covering or
+          relating to any other product or invention or any combination of
+          the Software with any other product. Any rights not expressly
+          granted to You herein are reserved by Licensor.
+
+      b.  No Commercialization or Distribution of the Software and
+          Documentation. Except as expressly provided in Section 2 of this
+          Agreement, You shall have no right to (i) copy, disclose,
+          distribute, publically perform, publically display, transfer,
+          alter, modify, translate, disassemble, decompile, reverse engineer,
+          or adapt the Software and Documentation, or any portion thereof, or
+          create any derivative works based thereon; (ii) rent, lease,
+          assign, sublicense, resell, disclose or otherwise transfer the
+          Software and Documentation in whole or in part to any third party
+          (iii) use the Software and Documentation except for the Limited
+          Purpose, (iv) remove or alter any of the copyright or proprietary
+          notices contained in any of the Software and Documentation. For the
+          purposes of clarity, nothing in this Agreement prohibits You from
+          making and distributing Android Applications under commercial or
+          non-commercial terms, provided that You shall not contain,
+          incorporate, and/or compile the Software or any of its derivative
+          works, in whole or in part, into Your Android Applications and/or
+          any software/devices created by You or by third parties acting on
+          Your behalf. You and any such third party shall comply with all of
+          the terms and conditions of this Agreement.
+
+      c.  No Reverse Engineering. Except for any portions of the Software
+          provided to You in source code format and except for any third
+          party code distributed with the Software that is licensed under
+          contrary terms, You will not reverse engineer, disassemble,
+          decompile, or translate the Software, or otherwise attempt to
+          derive the source code version of the Software, except if and to
+          the extent expressly permitted under any applicable law.
+
+      d.  Third Party Software. You agree that Android may contain third
+          party software. You agree that you may not distribute such third
+          party software for any purpose without appropriate licenses from
+          the applicable third party or parties.
+
+      e.  No Transfer or Assignment. You shall not assign any of its rights
+          or obligations under this Agreement. Any attempted assignment in
+          contravention of this Section shall be void.
+
+   4.  Indemnity
+
+      a.  You agree to indemnify and hold harmless Licensor and
+          its officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
+
+   5.  Limitation of Liability
+
+      a.  TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
+          CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
+          LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
+          EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+          SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
+          LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
+          INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
+          OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
+          INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
+          LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+          DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
+          EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
+          THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
+          IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY
+          TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
+          ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
+          INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
+          (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
+          DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
+          THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
+          AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
+          PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
+          PARTIES.
+
+   6.  No Warranty
+
+      a.  LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH
+          RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
+          AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+          MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
+          INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
+          TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
+          NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
+          WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
+          SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
+          AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
+          OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
+          OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
+          DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
+          LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
+          PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO
+          PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
+
+   7.  Term and Termination
+
+      a.  This Agreement shall be effective on the date You accept this
+          Agreement and shall remain in effect until terminated as provided
+          herein. You may terminate the Agreement at any time by deleting and
+          destroying all copies of the Software and all related information
+          in Your possession or control. This Agreement terminates
+          immediately and automatically, with or without notice, if You fail
+          to comply with any provision hereof. Additionally, Licensor may at
+          any time terminate this Agreement, without cause, upon notice to
+          You. Upon termination You must delete or destroy all copies of the
+          Software in Your possession, and the license granted to You in this
+          Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
+          the termination of this Agreement.
+
+   8.  Miscellaneous
+
+      a.  Governing Law. This Agreement is governed and interpreted in
+          accordance with the laws of the State of California without giving
+          effect to its conflict of laws provisions. The United Nations
+          Convention on Contracts for the International Sale of Goods is
+          expressly disclaimed and shall not apply. Any claim arising out of
+          or related to this Agreement must be brought exclusively in a
+          federal or state court located in Santa Clara County, California
+          and You consent to the jurisdiction and venue of such courts.
+
+      b.  Waiver and Severability. The failure of either party to require
+          performance by the other party of any provision of this Agreement
+          shall not affect the full right to require such performance at any
+          time thereafter; nor shall the waiver by either party of a breach
+          of any provision of this Agreement be taken or held to be a waiver
+          of the provision itself. Severability. If any provision of this
+          Agreement is unenforceable or invalid under any applicable law or
+          is so held by applicable court decision, such unenforceability or
+          invalidity shall not render this Agreement unenforceable or invalid
+          as a whole, and such provision shall be changed and interpreted so
+          as to best accomplish the objectives of such unenforceable or
+          invalid provision within the limits of applicable law or
+          applicable court decisions.
+
+      c.  Amendment and Modification. This Agreement and any of its terms and
+          provisions may only be amended, modified, supplemented or waived in
+          a writing signed by both parties hereto.
+
+      d.  Compliance with Laws. You shall comply with all applicable laws,
+          rules, and regulations in connection with its activities under this
+          Agreement.
+
+      e.  Entire Agreement. This Agreement completely and exclusively states
+          the agreement between You and Licensor regarding this subject
+          matter.
diff --git a/self-extractors/asus/staging/BoardConfigPartial.mk b/self-extractors/asus/staging/BoardConfigPartial.mk
new file mode 100644
index 0000000..317c4e6
--- /dev/null
+++ b/self-extractors/asus/staging/BoardConfigPartial.mk
@@ -0,0 +1,13 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
diff --git a/self-extractors/asus/staging/device-partial.mk b/self-extractors/asus/staging/device-partial.mk
new file mode 100644
index 0000000..30e131f
--- /dev/null
+++ b/self-extractors/asus/staging/device-partial.mk
@@ -0,0 +1,19 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Asus blob(s) necessary for Flo hardware
+PRODUCT_COPY_FILES := \
+    vendor/asus/flo/proprietary/libAKM.so:system/lib/libAKM.so:asus \
+    vendor/asus/flo/proprietary/libacdbdata.so:system/lib/libacdbdata.so:asus \
+
diff --git a/self-extractors/broadcom/COPYRIGHT b/self-extractors/broadcom/COPYRIGHT
new file mode 100644
index 0000000..bf44774
--- /dev/null
+++ b/self-extractors/broadcom/COPYRIGHT
@@ -0,0 +1 @@
+# (C) Broadcom Corporation
diff --git a/self-extractors/broadcom/LICENSE b/self-extractors/broadcom/LICENSE
new file mode 100644
index 0000000..f633ddc
--- /dev/null
+++ b/self-extractors/broadcom/LICENSE
@@ -0,0 +1,225 @@
+THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
+BINDING AGREEMENT BETWEEN BROADCOM CORPORATION ("LICENSOR") AND
+YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
+TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
+AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
+IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
+PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
+SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
+SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
+SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
+ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
+SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
+
+   1.  Special Definitions
+
+      a.  The term "Android" means the open source mobile platform, software
+          stack, operating system, middleware, application programming
+          interfaces and mobile applications under the trade-name "Android"
+          distributed at Android.com.
+
+      b.  The term "Android Applications" means a software application or
+          open-source contribution developed by You, designed to operate with
+          Android that does not contain or incorporate any of the Software.
+
+      c.  The term "Authorized Android Enabled Device" means only the device
+          identified on the site from which You downloaded the Software.
+          The term "Software" means the Licensor's proprietary software and
+          libraries in object code form, designed for use on the Authorized
+          Android Enabled Device.
+
+      d.  The term "Authorized Android Enabled Device Software" means a
+          packaged build for Authorized Android Enabled Devices, consisting
+          of files suitable for installation on an Authorized Android Enabled
+          Device using a mechanism such as fastboot mode or recovery mode.
+
+   2.  License Grant
+
+      a.  Subject to the terms of this Agreement, Licensor hereby grants to
+          You, free of charge, a non-exclusive, non-sublicensable,
+          non-transferable, limited license, during the term of
+          this Agreement, to download, install and use the Software
+          internally in machine-readable (i.e., object code) form and the
+          Documentation for non-commercial use on an Authorized Android
+          Enabled Device and non-commercial redistribution of the Authorized
+          Android Enabled Device Software (the "Limited Purpose"). You may
+          grant your end users the right to use the Software for
+          the Limited Purpose.
+          The license to the Software granted to You hereunder is solely for
+          the Limited Purpose set forth in this section, and the Software
+          shall not be used for any other purpose.
+
+   3.  Restrictions
+
+      a.  Retention of Rights. The entire right, title and interest in the
+          Software shall remain with Licensor and, unless specified in
+          writing hereunder, no rights are granted to any of the Software.
+          Except for the right to use the Software for the Limited Purpose,
+          the delivery of the Software to You does not convey to You any
+          intellectual property rights in the Software, including, but not
+          limited to any rights under any patent, trademark, copyright, or
+          trade secret. Neither the delivery of the Software to You nor any
+          terms set forth herein shall be construed to grant to You, either
+          expressly, by implication or by way of estoppel, any license under
+          any patents or other intellectual property rights covering or
+          relating to any other product or invention or any combination of
+          the Software with any other product. Any rights not expressly
+          granted to You herein are reserved by Licensor.
+
+      b.  No Commercialization or Distribution of the Software and
+          Documentation. Except as expressly provided in Section 2 of this
+          Agreement, You shall have no right to (i) copy, disclose,
+          distribute, publically perform, publically display, transfer,
+          alter, modify, translate, disassemble, decompile, reverse engineer,
+          or adapt the Software and Documentation, or any portion thereof, or
+          create any derivative works based thereon; (ii) rent, lease,
+          assign, sublicense, resell, disclose or otherwise transfer the
+          Software and Documentation in whole or in part to any third party
+          (iii) use the Software and Documentation except for the Limited
+          Purpose, (iv) remove or alter any of the copyright or proprietary
+          notices contained in any of the Software and Documentation. For the
+          purposes of clarity, nothing in this Agreement prohibits You from
+          making and distributing Android Applications under commercial or
+          non-commercial terms, provided that You shall not contain,
+          incorporate, and/or compile the Software or any of its derivative
+          works, in whole or in part, into Your Android Applications and/or
+          any software/devices created by You or by third parties acting on
+          Your behalf. You and any such third party shall comply with all of
+          the terms and conditions of this Agreement.
+
+      c.  No Reverse Engineering. Except for any portions of the Software
+          provided to You in source code format and except for any third
+          party code distributed with the Software that is licensed under
+          contrary terms, You will not reverse engineer, disassemble,
+          decompile, or translate the Software, or otherwise attempt to
+          derive the source code version of the Software, except if and to
+          the extent expressly permitted under any applicable law.
+
+      d.  Third Party Software. You agree that Android may contain third
+          party software. You agree that you may not distribute such third
+          party software for any purpose without appropriate licenses from
+          the applicable third party or parties.
+
+      e.  No Transfer or Assignment. You shall not assign any of its rights
+          or obligations under this Agreement. Any attempted assignment in
+          contravention of this Section shall be void.
+
+   4.  Indemnity
+
+      a.  You agree to indemnify and hold harmless Licensor and
+          its officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
+
+   5.  Limitation of Liability
+
+      a.  TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
+          CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
+          LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
+          EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+          SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
+          LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
+          INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
+          OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
+          INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
+          LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+          DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
+          EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
+          THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
+          IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY
+          TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
+          ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
+          INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
+          (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
+          DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
+          THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
+          AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
+          PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
+          PARTIES.
+
+   6.  No Warranty
+
+      a.  LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH
+          RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
+          AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+          MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
+          INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
+          TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
+          NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
+          WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
+          SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
+          AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
+          OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
+          OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
+          DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
+          LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
+          PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO
+          PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
+
+   7.  Term and Termination
+
+      a.  This Agreement shall be effective on the date You accept this
+          Agreement and shall remain in effect until terminated as provided
+          herein. You may terminate the Agreement at any time by deleting and
+          destroying all copies of the Software and all related information
+          in Your possession or control. This Agreement terminates
+          immediately and automatically, with or without notice, if You fail
+          to comply with any provision hereof. Additionally, Licensor may at
+          any time terminate this Agreement, without cause, upon notice to
+          You. Upon termination You must delete or destroy all copies of the
+          Software in Your possession, and the license granted to You in this
+          Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
+          the termination of this Agreement.
+
+   8.  Miscellaneous
+
+      a.  Governing Law. This Agreement is governed and interpreted in
+          accordance with the laws of the State of California without giving
+          effect to its conflict of laws provisions. The United Nations
+          Convention on Contracts for the International Sale of Goods is
+          expressly disclaimed and shall not apply. Any claim arising out of
+          or related to this Agreement must be brought exclusively in a
+          federal or state court located in Santa Clara County, California
+          and You consent to the jurisdiction and venue of such courts.
+
+      b.  Waiver and Severability. The failure of either party to require
+          performance by the other party of any provision of this Agreement
+          shall not affect the full right to require such performance at any
+          time thereafter; nor shall the waiver by either party of a breach
+          of any provision of this Agreement be taken or held to be a waiver
+          of the provision itself. Severability. If any provision of this
+          Agreement is unenforceable or invalid under any applicable law or
+          is so held by applicable court decision, such unenforceability or
+          invalidity shall not render this Agreement unenforceable or invalid
+          as a whole, and such provision shall be changed and interpreted so
+          as to best accomplish the objectives of such unenforceable or
+          invalid provision within the limits of applicable law or
+          applicable court decisions.
+
+      c.  Amendment and Modification. This Agreement and any of its terms and
+          provisions may only be amended, modified, supplemented or waived in
+          a writing signed by both parties hereto.
+
+      d.  Compliance with Laws. You shall comply with all applicable laws,
+          rules, and regulations in connection with its activities under this
+          Agreement.
+
+      e.  Entire Agreement. This Agreement completely and exclusively states
+          the agreement between You and Licensor regarding this subject
+          matter.
diff --git a/self-extractors/broadcom/staging/BoardConfigPartial.mk b/self-extractors/broadcom/staging/BoardConfigPartial.mk
new file mode 100644
index 0000000..317c4e6
--- /dev/null
+++ b/self-extractors/broadcom/staging/BoardConfigPartial.mk
@@ -0,0 +1,13 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
diff --git a/self-extractors/broadcom/staging/device-partial.mk b/self-extractors/broadcom/staging/device-partial.mk
new file mode 100644
index 0000000..13582f4
--- /dev/null
+++ b/self-extractors/broadcom/staging/device-partial.mk
@@ -0,0 +1,19 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Broadcom blob(s) necessary for Flo hardware
+PRODUCT_COPY_FILES := \
+    vendor/broadcom/flo/proprietary/bcm2079x-b5_firmware.ncd:system/vendor/firmware/bcm2079x-b5_firmware.ncd:broadcom \
+    vendor/broadcom/flo/proprietary/bcm2079x-b5_pre_firmware.ncd:system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd:broadcom \
+
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
new file mode 100644
index 0000000..6b946ce
--- /dev/null
+++ b/self-extractors/extract-lists.txt
@@ -0,0 +1,187 @@
+  asus)
+    TO_EXTRACT="\
+            system/lib/libAKM.so \
+            system/lib/libacdbdata.so \
+            "
+    ;;
+  broadcom)
+    TO_EXTRACT="\
+            system/vendor/firmware/bcm2079x-b5_firmware.ncd \
+            system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd \
+            "
+    ;;
+  qcom)
+    TO_EXTRACT="\
+            system/bin/ATFWD-daemon \
+            system/bin/bridgemgrd \
+            system/bin/btnvtool \
+            system/bin/diag_klog \
+            system/bin/diag_mdlog \
+            system/bin/ds_fmc_appd \
+            system/bin/efsks \
+            system/bin/hci_qcomm_init \
+            system/bin/irsc_util \
+            system/bin/ks \
+            system/bin/mm-pp-daemon \
+            system/bin/mm-qcamera-app \
+            system/bin/mm-qcamera-daemon \
+            system/bin/mm-qjpeg-enc-test \
+            system/bin/mm-qomx-ienc-test \
+            system/bin/mpdecision \
+            system/bin/netmgrd \
+            system/bin/nl_listener \
+            system/bin/port-bridge \
+            system/bin/qcks \
+            system/bin/qmuxd \
+            system/bin/qseecomd \
+            system/bin/radish \
+            system/bin/rmt_storage \
+            system/bin/sensors.qcom \
+            system/bin/thermald \
+            system/bin/usbhub \
+            system/bin/usbhub_init \
+            system/etc/DxHDCP.cfg \
+            system/etc/firmware/vidc.b00 \
+            system/etc/firmware/vidc.b01 \
+            system/etc/firmware/vidc.b02 \
+            system/etc/firmware/vidc.b03 \
+            system/etc/firmware/vidc.mdt \
+            system/etc/firmware/vidc_1080p.fw \
+            system/etc/firmware/vidcfw.elf \
+            system/lib/egl/eglsubAndroid.so \
+            system/lib/egl/libEGL_adreno200.so \
+            system/lib/egl/libGLESv1_CM_adreno200.so \
+            system/lib/egl/libGLESv2_adreno200.so \
+            system/lib/egl/libq3dtools_adreno200.so \
+            system/lib/hw/camera.flo.so \
+            system/lib/hw/gps.msm8960.so \
+            system/lib/hw/sensors.msm8960.so \
+            system/lib/libC2D2.so \
+            system/lib/libCommandSvc.so \
+            system/lib/libDxHdcp.so \
+            system/lib/libI420colorconvert.so \
+            system/lib/libQSEEComAPI.so \
+            system/lib/libacdbloader.so \
+            system/lib/libaudcal.so \
+            system/lib/libaudioalsa.so \
+            system/lib/libc2d2_a3xx.so \
+            system/lib/libchromatix_ov5693_common.so \
+            system/lib/libchromatix_ov5693_default_video.so \
+            system/lib/libchromatix_ov5693_preview.so \
+            system/lib/libconfigdb.so \
+            system/lib/libcsd-client.so \
+            system/lib/libdiag.so \
+            system/lib/libdrmdiag.so \
+            system/lib/libdrmfs.so \
+            system/lib/libdrmtime.so \
+            system/lib/libdsi_netctrl.so \
+            system/lib/libdsprofile.so \
+            system/lib/libdss.so \
+            system/lib/libdsucsd.so \
+            system/lib/libdsutils.so \
+            system/lib/libgeofence.so \
+            system/lib/libgps.utils.so \
+            system/lib/libgsl.so \
+            system/lib/libidl.so \
+            system/lib/libllvm-a3xx.so \
+            system/lib/libloc_adapter.so \
+            system/lib/libloc_api_v02.so \
+            system/lib/libloc_eng.so \
+            system/lib/libmm-abl-oem.so \
+            system/lib/libmm-abl.so \
+            system/lib/libmm-color-convertor.so \
+            system/lib/libmmcamera2_stats_algorithm.so \
+            system/lib/libmmcamera_image_stab.so \
+            system/lib/libmmcamera_interface.so \
+            system/lib/libmmcamera_mi1040.so \
+            system/lib/libmmcamera_ov5693.so \
+            system/lib/libmmjpeg_interface.so \
+            system/lib/libnetmgr.so \
+            system/lib/liboemcrypto.so \
+            system/lib/libqcci_legacy.so \
+            system/lib/libqdi.so \
+            system/lib/libqdp.so \
+            system/lib/libqmi.so \
+            system/lib/libqmi_cci.so \
+            system/lib/libqmi_client_qmux.so \
+            system/lib/libqmi_common_so.so \
+            system/lib/libqmi_csi.so \
+            system/lib/libqmi_csvt_srvc.so \
+            system/lib/libqmi_encdec.so \
+            system/lib/libqmiservices.so \
+            system/lib/libqomx_core.so \
+            system/lib/libsc-a3xx.so \
+            system/lib/libsensor1.so \
+            system/lib/libsensor_reg.so \
+            system/lib/libsensor_user_cal.so \
+            system/lib/libstagefright_hdcp.so \
+            system/lib/libxml.so \
+            system/vendor/firmware/a300_pfp.fw \
+            system/vendor/firmware/a300_pm4.fw \
+            system/vendor/firmware/discretix/dxhdcp2.b00 \
+            system/vendor/firmware/discretix/dxhdcp2.b01 \
+            system/vendor/firmware/discretix/dxhdcp2.b02 \
+            system/vendor/firmware/discretix/dxhdcp2.b03 \
+            system/vendor/firmware/discretix/dxhdcp2.mdt \
+            system/vendor/firmware/dsps.b00 \
+            system/vendor/firmware/dsps.b01 \
+            system/vendor/firmware/dsps.b02 \
+            system/vendor/firmware/dsps.b03 \
+            system/vendor/firmware/dsps.b04 \
+            system/vendor/firmware/dsps.b05 \
+            system/vendor/firmware/dsps.mdt \
+            system/vendor/firmware/gss.b00 \
+            system/vendor/firmware/gss.b01 \
+            system/vendor/firmware/gss.b02 \
+            system/vendor/firmware/gss.b03 \
+            system/vendor/firmware/gss.b04 \
+            system/vendor/firmware/gss.b05 \
+            system/vendor/firmware/gss.b06 \
+            system/vendor/firmware/gss.b07 \
+            system/vendor/firmware/gss.b08 \
+            system/vendor/firmware/gss.b09 \
+            system/vendor/firmware/gss.b10 \
+            system/vendor/firmware/gss.b11 \
+            system/vendor/firmware/gss.mdt \
+            system/vendor/firmware/q6.b00 \
+            system/vendor/firmware/q6.b01 \
+            system/vendor/firmware/q6.b03 \
+            system/vendor/firmware/q6.b04 \
+            system/vendor/firmware/q6.b05 \
+            system/vendor/firmware/q6.b06 \
+            system/vendor/firmware/q6.mdt \
+            system/vendor/firmware/tzapps.b00 \
+            system/vendor/firmware/tzapps.b01 \
+            system/vendor/firmware/tzapps.b02 \
+            system/vendor/firmware/tzapps.b03 \
+            system/vendor/firmware/tzapps.mdt \
+            system/vendor/firmware/wcnss.b00 \
+            system/vendor/firmware/wcnss.b01 \
+            system/vendor/firmware/wcnss.b02 \
+            system/vendor/firmware/wcnss.b04 \
+            system/vendor/firmware/wcnss.b05 \
+            system/vendor/firmware/wcnss.mdt \
+            system/vendor/lib/libdrmdecrypt.so \
+            system/vendor/lib/libgemini.so \
+            system/vendor/lib/libimage-jpeg-enc-omx-comp.so \
+            system/vendor/lib/libimage-omx-common.so \
+            system/vendor/lib/libmmcamera2_c2d_module.so \
+            system/vendor/lib/libmmcamera2_cpp_module.so \
+            system/vendor/lib/libmmcamera2_iface_modules.so \
+            system/vendor/lib/libmmcamera2_imglib_modules.so \
+            system/vendor/lib/libmmcamera2_isp_modules.so \
+            system/vendor/lib/libmmcamera2_pproc_modules.so \
+            system/vendor/lib/libmmcamera2_sensor_modules.so \
+            system/vendor/lib/libmmcamera2_stats_modules.so \
+            system/vendor/lib/libmmcamera2_vpe_module.so \
+            system/vendor/lib/libmmcamera2_wnr_module.so \
+            system/vendor/lib/libmmcamera_faceproc.so \
+            system/vendor/lib/libmmcamera_imglib.so \
+            system/vendor/lib/libmmipl.so \
+            system/vendor/lib/libmmjpeg.so \
+            system/vendor/lib/libmmqjpeg_codec.so \
+            system/vendor/lib/libmmstillomx.so \
+            system/vendor/lib/liboemcamera.so \
+            system/vendor/lib/libqomx_jpegenc.so \
+            "
+    ;;
diff --git a/self-extractors/files-by-owner.sh b/self-extractors/files-by-owner.sh
new file mode 100755
index 0000000..0322f6b
--- /dev/null
+++ b/self-extractors/files-by-owner.sh
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+rm -f extract-lists.txt
+cat ../vendor_owner_info.txt |
+cut -d : -f 2 |
+sort -u |
+grep -v google |
+while read target_owner
+do
+cat > $target_owner/staging/device-partial.mk << EOF
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+EOF
+echo -n "# " >> $target_owner/staging/device-partial.mk
+case $target_owner in
+asus)
+echo -n Asus >> $target_owner/staging/device-partial.mk
+;;
+broadcom)
+echo -n Broadcom >> $target_owner/staging/device-partial.mk
+;;
+qcom)
+echo -n Qualcomm >> $target_owner/staging/device-partial.mk
+;;
+esac
+echo " blob(s) necessary for Flo hardware" >> $target_owner/staging/device-partial.mk
+echo "PRODUCT_COPY_FILES := \\" >> $target_owner/staging/device-partial.mk
+
+echo "  $target_owner)" >> extract-lists.txt
+echo "    TO_EXTRACT=\"\\" >> extract-lists.txt
+
+
+cat ../proprietary-blobs.txt |
+grep ^/ |
+cut -b 2- |
+sort |
+while read file
+do
+
+auto_owner=$(grep ^$file: ../vendor_owner_info.txt | cut -d : -f 2)
+if test $file = system/bin/mm-qcamera-app -o $file = system/lib/hw/camera.flo.so -o $file = system/lib/hw/gps.msm8960.so -o $file = system/lib/libgps.utils.so -o $file = system/lib/libloc_adapter.so -o $file = system/lib/libloc_eng.so -o $file = system/lib/libmmcamera_interface.so -o $file = system/lib/libmmjpeg_interface.so -o $file = system/lib/libqomx_core.so
+then
+auto_owner=qcom
+fi
+
+if test "$auto_owner" = "" -a $file != system/etc/firmware/tzapps.b00 -a $file != system/etc/firmware/tzapps.b01 -a $file != system/etc/firmware/tzapps.b02 -a $file != system/etc/firmware/tzapps.b03 -a $file != system/etc/firmware/tzapps.mdt -a $file != system/etc/firmware/wcd9310/wcd9310_anc.bin -a $file != system/etc/firmware/wcd9310/wcd9310_mbhc.bin
+then
+echo $file has no known owner
+fi
+
+if test "$auto_owner" = "$target_owner"
+then
+if test $file != system/lib/libacdbloader.so -a $file != system/vendor/firmware/tzapps.mdt
+then
+echo "    vendor/$target_owner/flo/proprietary/$(basename $file):$file:$target_owner \\" >> $target_owner/staging/device-partial.mk
+fi
+echo "            $file \\" >> extract-lists.txt
+fi
+done
+
+echo >> $target_owner/staging/device-partial.mk
+if test $target_owner = qcom
+then
+echo PRODUCT_PACKAGES := libacdbloader tzapps.mdt >> $target_owner/staging/device-partial.mk
+fi
+
+echo "            \"" >> extract-lists.txt
+echo "    ;;" >> extract-lists.txt
+done
diff --git a/self-extractors/generate-packages.sh b/self-extractors/generate-packages.sh
new file mode 100755
index 0000000..66173fc
--- /dev/null
+++ b/self-extractors/generate-packages.sh
@@ -0,0 +1,269 @@
+#!/bin/sh
+
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# start jb-mr2-dev
+# 703372 = JSR71
+# 704765 = JSR72
+# 711747 = JSR78
+# 713896 = JSR78B
+# 719009 = JSR82
+# 728843 = JSS01
+# 730471 = JSS02B
+# 739313 = JSS11D
+# 741000 = JSS11I
+# 741250 = JSS15
+# 746990 = JSS15H
+# 748502 = JSS15I
+# 748593 = JSS15J
+# 750418 = JSS15K
+# end jb-mr2-dev
+BRANCH=jb-mr2-dev
+if test $BRANCH = jb-mr2-dev
+then
+  ZIP=razor-ota-748593
+  BUILD=jss15j
+fi # jb-mr2-dev
+ROOTDEVICE=flo
+DEVICE=flo
+MANUFACTURER=asus
+
+for COMPANY in asus broadcom qcom
+do
+  echo Processing files from $COMPANY
+  rm -rf tmp
+  FILEDIR=tmp/vendor/$COMPANY/$DEVICE/proprietary
+  mkdir -p $FILEDIR
+  mkdir -p tmp/vendor/$MANUFACTURER/$ROOTDEVICE
+  case $COMPANY in
+  asus)
+    TO_EXTRACT="\
+            system/lib/libAKM.so \
+            system/lib/libacdbdata.so \
+            "
+    ;;
+  broadcom)
+    TO_EXTRACT="\
+            system/vendor/firmware/bcm2079x-b5_firmware.ncd \
+            system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd \
+            "
+    ;;
+  qcom)
+    TO_EXTRACT="\
+            system/bin/ATFWD-daemon \
+            system/bin/bridgemgrd \
+            system/bin/btnvtool \
+            system/bin/diag_klog \
+            system/bin/diag_mdlog \
+            system/bin/ds_fmc_appd \
+            system/bin/efsks \
+            system/bin/hci_qcomm_init \
+            system/bin/irsc_util \
+            system/bin/ks \
+            system/bin/mm-pp-daemon \
+            system/bin/mm-qcamera-app \
+            system/bin/mm-qcamera-daemon \
+            system/bin/mm-qjpeg-enc-test \
+            system/bin/mm-qomx-ienc-test \
+            system/bin/mpdecision \
+            system/bin/netmgrd \
+            system/bin/nl_listener \
+            system/bin/port-bridge \
+            system/bin/qcks \
+            system/bin/qmuxd \
+            system/bin/qseecomd \
+            system/bin/radish \
+            system/bin/rmt_storage \
+            system/bin/sensors.qcom \
+            system/bin/thermald \
+            system/bin/usbhub \
+            system/bin/usbhub_init \
+            system/etc/DxHDCP.cfg \
+            system/etc/firmware/vidc.b00 \
+            system/etc/firmware/vidc.b01 \
+            system/etc/firmware/vidc.b02 \
+            system/etc/firmware/vidc.b03 \
+            system/etc/firmware/vidc.mdt \
+            system/etc/firmware/vidc_1080p.fw \
+            system/etc/firmware/vidcfw.elf \
+            system/lib/egl/eglsubAndroid.so \
+            system/lib/egl/libEGL_adreno200.so \
+            system/lib/egl/libGLESv1_CM_adreno200.so \
+            system/lib/egl/libGLESv2_adreno200.so \
+            system/lib/egl/libq3dtools_adreno200.so \
+            system/lib/hw/camera.flo.so \
+            system/lib/hw/gps.msm8960.so \
+            system/lib/hw/sensors.msm8960.so \
+            system/lib/libC2D2.so \
+            system/lib/libCommandSvc.so \
+            system/lib/libDxHdcp.so \
+            system/lib/libI420colorconvert.so \
+            system/lib/libQSEEComAPI.so \
+            system/lib/libacdbloader.so \
+            system/lib/libaudcal.so \
+            system/lib/libaudioalsa.so \
+            system/lib/libc2d2_a3xx.so \
+            system/lib/libchromatix_ov5693_common.so \
+            system/lib/libchromatix_ov5693_default_video.so \
+            system/lib/libchromatix_ov5693_preview.so \
+            system/lib/libconfigdb.so \
+            system/lib/libcsd-client.so \
+            system/lib/libdiag.so \
+            system/lib/libdrmdiag.so \
+            system/lib/libdrmfs.so \
+            system/lib/libdrmtime.so \
+            system/lib/libdsi_netctrl.so \
+            system/lib/libdsprofile.so \
+            system/lib/libdss.so \
+            system/lib/libdsucsd.so \
+            system/lib/libdsutils.so \
+            system/lib/libgeofence.so \
+            system/lib/libgps.utils.so \
+            system/lib/libgsl.so \
+            system/lib/libidl.so \
+            system/lib/libllvm-a3xx.so \
+            system/lib/libloc_adapter.so \
+            system/lib/libloc_api_v02.so \
+            system/lib/libloc_eng.so \
+            system/lib/libmm-abl-oem.so \
+            system/lib/libmm-abl.so \
+            system/lib/libmm-color-convertor.so \
+            system/lib/libmmcamera2_stats_algorithm.so \
+            system/lib/libmmcamera_image_stab.so \
+            system/lib/libmmcamera_interface.so \
+            system/lib/libmmcamera_mi1040.so \
+            system/lib/libmmcamera_ov5693.so \
+            system/lib/libmmjpeg_interface.so \
+            system/lib/libnetmgr.so \
+            system/lib/liboemcrypto.so \
+            system/lib/libqcci_legacy.so \
+            system/lib/libqdi.so \
+            system/lib/libqdp.so \
+            system/lib/libqmi.so \
+            system/lib/libqmi_cci.so \
+            system/lib/libqmi_client_qmux.so \
+            system/lib/libqmi_common_so.so \
+            system/lib/libqmi_csi.so \
+            system/lib/libqmi_csvt_srvc.so \
+            system/lib/libqmi_encdec.so \
+            system/lib/libqmiservices.so \
+            system/lib/libqomx_core.so \
+            system/lib/libsc-a3xx.so \
+            system/lib/libsensor1.so \
+            system/lib/libsensor_reg.so \
+            system/lib/libsensor_user_cal.so \
+            system/lib/libstagefright_hdcp.so \
+            system/lib/libxml.so \
+            system/vendor/firmware/a300_pfp.fw \
+            system/vendor/firmware/a300_pm4.fw \
+            system/vendor/firmware/discretix/dxhdcp2.b00 \
+            system/vendor/firmware/discretix/dxhdcp2.b01 \
+            system/vendor/firmware/discretix/dxhdcp2.b02 \
+            system/vendor/firmware/discretix/dxhdcp2.b03 \
+            system/vendor/firmware/discretix/dxhdcp2.mdt \
+            system/vendor/firmware/dsps.b00 \
+            system/vendor/firmware/dsps.b01 \
+            system/vendor/firmware/dsps.b02 \
+            system/vendor/firmware/dsps.b03 \
+            system/vendor/firmware/dsps.b04 \
+            system/vendor/firmware/dsps.b05 \
+            system/vendor/firmware/dsps.mdt \
+            system/vendor/firmware/gss.b00 \
+            system/vendor/firmware/gss.b01 \
+            system/vendor/firmware/gss.b02 \
+            system/vendor/firmware/gss.b03 \
+            system/vendor/firmware/gss.b04 \
+            system/vendor/firmware/gss.b05 \
+            system/vendor/firmware/gss.b06 \
+            system/vendor/firmware/gss.b07 \
+            system/vendor/firmware/gss.b08 \
+            system/vendor/firmware/gss.b09 \
+            system/vendor/firmware/gss.b10 \
+            system/vendor/firmware/gss.b11 \
+            system/vendor/firmware/gss.mdt \
+            system/vendor/firmware/q6.b00 \
+            system/vendor/firmware/q6.b01 \
+            system/vendor/firmware/q6.b03 \
+            system/vendor/firmware/q6.b04 \
+            system/vendor/firmware/q6.b05 \
+            system/vendor/firmware/q6.b06 \
+            system/vendor/firmware/q6.mdt \
+            system/vendor/firmware/tzapps.b00 \
+            system/vendor/firmware/tzapps.b01 \
+            system/vendor/firmware/tzapps.b02 \
+            system/vendor/firmware/tzapps.b03 \
+            system/vendor/firmware/tzapps.mdt \
+            system/vendor/firmware/wcnss.b00 \
+            system/vendor/firmware/wcnss.b01 \
+            system/vendor/firmware/wcnss.b02 \
+            system/vendor/firmware/wcnss.b04 \
+            system/vendor/firmware/wcnss.b05 \
+            system/vendor/firmware/wcnss.mdt \
+            system/vendor/lib/libdrmdecrypt.so \
+            system/vendor/lib/libgemini.so \
+            system/vendor/lib/libimage-jpeg-enc-omx-comp.so \
+            system/vendor/lib/libimage-omx-common.so \
+            system/vendor/lib/libmmcamera2_c2d_module.so \
+            system/vendor/lib/libmmcamera2_cpp_module.so \
+            system/vendor/lib/libmmcamera2_iface_modules.so \
+            system/vendor/lib/libmmcamera2_imglib_modules.so \
+            system/vendor/lib/libmmcamera2_isp_modules.so \
+            system/vendor/lib/libmmcamera2_pproc_modules.so \
+            system/vendor/lib/libmmcamera2_sensor_modules.so \
+            system/vendor/lib/libmmcamera2_stats_modules.so \
+            system/vendor/lib/libmmcamera2_vpe_module.so \
+            system/vendor/lib/libmmcamera2_wnr_module.so \
+            system/vendor/lib/libmmcamera_faceproc.so \
+            system/vendor/lib/libmmcamera_imglib.so \
+            system/vendor/lib/libmmipl.so \
+            system/vendor/lib/libmmjpeg.so \
+            system/vendor/lib/libmmqjpeg_codec.so \
+            system/vendor/lib/libmmstillomx.so \
+            system/vendor/lib/liboemcamera.so \
+            system/vendor/lib/libqomx_jpegenc.so \
+            "
+    ;;
+  esac
+  echo \ \ Extracting files from OTA package
+  for ONE_FILE in $TO_EXTRACT
+  do
+    echo \ \ \ \ Extracting $ONE_FILE
+    unzip -j -o $ZIP $ONE_FILE -d $FILEDIR > /dev/null || echo \ \ \ \ Error extracting $ONE_FILE
+    if test $ONE_FILE = system/vendor/bin/gpsd -o $ONE_FILE = system/vendor/bin/pvrsrvinit -o $ONE_FILE = system/bin/fRom
+    then
+      chmod a+x $FILEDIR/$(basename $ONE_FILE) || echo \ \ \ \ Error chmoding $ONE_FILE
+    fi
+  done
+  echo \ \ Setting up $COMPANY-specific makefiles
+  cp -R $COMPANY/staging/* tmp/vendor/$COMPANY/$DEVICE || echo \ \ \ \ Error copying makefiles
+  echo \ \ Setting up shared makefiles
+  cp -R root/* tmp/vendor/$MANUFACTURER/$ROOTDEVICE || echo \ \ \ \ Error copying makefiles
+  echo \ \ Generating self-extracting script
+  SCRIPT=extract-$COMPANY-$DEVICE.sh
+  cat PROLOGUE > tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat $COMPANY/COPYRIGHT >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat PART1 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat $COMPANY/LICENSE >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat PART2 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  echo tail -n +$(expr 2 + $(cat PROLOGUE $COMPANY/COPYRIGHT PART1 $COMPANY/LICENSE PART2 PART3 | wc -l)) \$0 \| tar zxv >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat PART3 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  (cd tmp ; tar zc --owner=root --group=root vendor/ >> $SCRIPT || echo \ \ \ \ Error generating embedded tgz)
+  chmod a+x tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  ARCHIVE=$COMPANY-$DEVICE-$BUILD-$(md5sum < tmp/$SCRIPT | cut -b -8 | tr -d \\n).tgz
+  rm -f $ARCHIVE
+  echo \ \ Generating final archive
+  (cd tmp ; tar --owner=root --group=root -z -c -f ../$ARCHIVE $SCRIPT || echo \ \ \ \ Error archiving script)
+  rm -rf tmp
+done
diff --git a/self-extractors/qcom/COPYRIGHT b/self-extractors/qcom/COPYRIGHT
new file mode 100644
index 0000000..0adeb31
--- /dev/null
+++ b/self-extractors/qcom/COPYRIGHT
@@ -0,0 +1 @@
+# (C) Qualcomm Technologies, Inc.
diff --git a/self-extractors/qcom/LICENSE b/self-extractors/qcom/LICENSE
new file mode 100644
index 0000000..cef517c
--- /dev/null
+++ b/self-extractors/qcom/LICENSE
@@ -0,0 +1,264 @@
+THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
+BINDING AGREEMENT BETWEEN Qualcomm Technologies, Inc. ("LICENSOR") AND
+YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
+TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
+AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
+IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
+PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
+SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
+SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
+SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
+ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
+SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
+
+   1.  Special Definitions
+
+      a.  The term "Android" means the open source mobile platform, software
+          stack, operating system, middleware, application programming
+          interfaces and mobile applications under the trade-name "Android"
+          distributed at Android.com.
+
+      b.  The term "Android Applications" means a software application or
+          open-source contribution developed by You, designed to operate with
+          Android that does not contain or incorporate any of the Software.
+
+      c.  The term "Authorized Android Enabled Device" means only the device
+          identified on the site from which You downloaded the Software.
+          The term "Software" means the Licensor's proprietary software and
+          libraries in object code form, designed for use on the Authorized
+          Android Enabled Device.
+
+      d.  The term "Authorized Android Enabled Device Software" means a
+          packaged build for Authorized Android Enabled Devices, consisting
+          of files suitable for installation on an Authorized Android Enabled
+          Device using a mechanism such as fastboot mode or recovery mode.
+
+   2.  License Grant
+
+      a.  Subject to the terms of this Agreement, Licensor hereby grants to
+          You, free of charge, a non-exclusive, non-sublicensable,
+          non-transferable, limited copyright license, during the term of
+          this Agreement, to download, install and use the Software
+          internally in machine-readable (i.e., object code) form and the
+          Documentation for non-commercial use on an Authorized Android
+          Enabled Device and non-commercial redistribution for academic
+          purposes only of a reasonable number of copies of the Authorized
+          Android Enabled Device Software (the "Limited Purpose"). You may
+          grant your end users the right to use the Software for
+          non-commercial purposes on an Authorized Android Enabled Device.
+          The license to the Software granted to You hereunder is solely for
+          the Limited Purpose set forth in this section, and the Software
+          shall not be used for any other purpose.
+
+   3.  Restrictions
+
+      a.  Retention of Rights. The entire right, title and interest in the
+          Software shall remain with Licensor and, unless specified in
+          writing hereunder, no rights are granted to any of the Software.
+          Except for the right to use the Software for the Limited Purpose,
+          the delivery of the Software to You does not convey to You any
+          intellectual property rights in the Software, including, but not
+          limited to any rights under any patent, trademark, copyright, or
+          trade secret. Neither the delivery of the Software to You nor any
+          terms set forth herein shall be construed to grant to You, either
+          expressly, by implication or by way of estoppel, any license under
+          any patents or other intellectual property rights covering or
+          relating to any other product or invention or any combination of
+          the Software with any other product. Any rights not expressly
+          granted to You herein are reserved by Licensor.
+
+      b.  No Commercialization or Distribution of the Software and
+          Documentation. Except as expressly provided in Section 2 of this
+          Agreement, You shall have no right to (i) copy, disclose,
+          distribute, publically perform, publically display, transfer,
+          alter, modify, translate, disassemble, decompile, reverse engineer,
+          or adapt the Software and Documentation, or any portion thereof, or
+          create any derivative works based thereon; (ii) rent, lease,
+          assign, sublicense, resell, disclose or otherwise transfer the
+          Software and Documentation in whole or in part to any third party
+          (iii) use the Software and Documentation except for the Limited
+          Purpose, (iv) remove or alter any of the copyright or proprietary
+          notices contained in any of the Software and Documentation. For the
+          purposes of clarity, nothing in this Agreement prohibits You from
+          making and distributing Android Applications under commercial or
+          non-commercial terms, provided that You shall not contain,
+          incorporate, and/or compile the Software or any of its derivative
+          works, in whole or in part, into Your Android Applications and/or
+          any software/devices created by You or by third parties acting on
+          Your behalf. You and any such third party shall comply with all of
+          the terms and conditions of this Agreement.
+
+      c.  No Reverse Engineering. Except for any portions of the Software
+          provided to You in source code format and except for any third
+          party code distributed with the Software that is licensed under
+          contrary terms, You will not reverse engineer, disassemble,
+          decompile, or translate the Software, or otherwise attempt to
+          derive the source code version of the Software, except if and to
+          the extent expressly permitted under any applicable law.
+
+      d.  Third Party Software. You agree that Android may contain third
+          party software. You agree that you may not distribute such third
+          party software for any purpose without appropriate licenses from
+          the applicable third party or parties.
+
+      e.  No Transfer or Assignment. You shall not assign any of its rights
+          or obligations under this Agreement. Any attempted assignment in
+          contravention of this Section shall be void.
+
+      f.  Licensor shall retain all title, ownership and Intellectual
+          Property Rights in and to the Software and any derivative thereof.
+          "Intellectual Property Rights" shall mean all patent, copyright,
+          trade secret, trademark and other proprietary and intellectual
+          property rights, including moral rights.
+
+      g.  Neither this Agreement, nor any act by Licensor or its Affiliates
+          persuant to this Agreement or relating to the Software (including,
+          without limitation, the provision by Licensor or its Affiliates of
+          the Software) shall provide to You any license or any other rights
+          whatsoever under any patents, trademarks, trade secrets, copyrights
+          or any other intellectual property rights of Licensor or its
+          Affiliates, except for the copyrights expressly set forth in this
+          Agreement. You understand and agree that:
+
+      h.  Neither this Agreement, nor delivery of the Software alone or in
+          combination with any Licensor ASIC grants you any right to
+          practice, or any other right at all with respect to, any patent of
+          Licensor or its Affiliates, and
+
+      i.  A separating license agreement from Qualcomm Incorporated is needed
+          to use or practice any patent of Licensor or its Affiliates.
+
+      j.  You agree not to contend in any context that, as a result of the
+          provision or use of this software, either Licensor or Affiliate has
+          any obligation to extend, or Licensor or any other party has
+          obtained any right to, any license, whether express or implied,
+          with respect to any patent of Licensor or its Affiliates for any
+          purpose. For the purposes of this agreement, "Affiliate" means
+          (i) any corporation or any other legal entity that owns, directly
+          or indirectly, more than fifty percent (50%) of the shares, equity
+          interest or other securities of any entity entitled to vote for
+          election of directors (or other managing authority), or (ii) any
+          corporation or any other legal entity fifty percent (50%) or more
+          of whose shares, equity interest, or other securities entitled to
+          vote for election of directors (or other managing authority) is
+          owned or controlled by an entity, either directly or indirectly.
+
+   4.  Indemnity
+
+      a.  You agree to indemnify and hold harmless Licensor, Google, and
+          their officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
+
+   5.  Limitation of Liability
+
+      a.  TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
+          CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
+          LICENSOR, GOOGLE, THEIR AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
+          EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+          SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
+          LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
+          INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
+          OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
+          INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
+          LICENSOR OR GOOGLE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
+          DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
+          EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
+          THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
+          IN NO EVENT SHALL LICENSOR'S OR GOOGLE'S TOTAL AGGREGATE LIABILITY
+          TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
+          ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
+          INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
+          (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
+          DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
+          THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
+          AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
+          PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
+          PARTIES.
+
+   6.  No Warranty
+
+      a.  LICENSOR AND GOOGLE MAKE NO WARRANTIES, EXPRESS OR IMPLIED, WITH
+          RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
+          AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+          MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
+          INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
+          TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
+          NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
+          WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
+          SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
+          AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
+          OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
+          OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
+          DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
+          LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
+          PARTIES. LICENSOR AND GOOGLE SHALL NOT HAVE ANY OBLIGATION TO
+          PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
+
+   7.  Term and Termination
+
+      a.  This Agreement shall be effective on the date You accept this
+          Agreement and shall remain in effect until terminated as provided
+          herein. You may terminate the Agreement at any time by deleting and
+          destroying all copies of the Software and all related information
+          in Your possession or control. This Agreement terminates
+          immediately and automatically, with or without notice, if You fail
+          to comply with any provision hereof. Additionally, Licensor may at
+          any time terminate this Agreement, without cause, upon notice to
+          You. Upon termination You must delete or destroy all copies of the
+          Software in Your possession, and the license granted to You in this
+          Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
+          the termination of this Agreement.
+
+   8.  Miscellaneous
+
+      a.  Governing Law. This Agreement is governed and interpreted in
+          accordance with the laws of the State of California without giving
+          effect to its conflict of laws provisions. The United Nations
+          Convention on Contracts for the International Sale of Goods is
+          expressly disclaimed and shall not apply. Any claim arising out of
+          or related to this Agreement must be brought exclusively in a
+          federal or state court located in Santa Clara County, California
+          and You consent to the jurisdiction and venue of such courts.
+
+      b.  Waiver and Severability. The failure of either party to require
+          performance by the other party of any provision of this Agreement
+          shall not affect the full right to require such performance at any
+          time thereafter; nor shall the waiver by either party of a breach
+          of any provision of this Agreement be taken or held to be a waiver
+          of the provision itself. Severability. If any provision of this
+          Agreement is unenforceable or invalid under any applicable law or
+          is so held by applicable court decision, such unenforceability or
+          invalidity shall not render this Agreement unenforceable or invalid
+          as a whole, and such provision shall be changed and interpreted so
+          as to best accomplish the objectives of such unenforceable or
+          invalid provision within the limits of applicable law or
+          applicable court decisions.
+
+      c.  Amendment and Modification. This Agreement and any of its terms and
+          provisions may only be amended, modified, supplemented or waived in
+          a writing signed by both parties hereto.
+
+      d.  Compliance with Laws. You shall comply with all applicable laws,
+          rules, and regulations in connection with its activities under this
+          Agreement.
+
+      e.  Entire Agreement. This Agreement completely and exclusively states
+          the agreement between You and Licensor regarding this subject
+          matter.
diff --git a/self-extractors/qcom/staging/BoardConfigPartial.mk b/self-extractors/qcom/staging/BoardConfigPartial.mk
new file mode 100644
index 0000000..317c4e6
--- /dev/null
+++ b/self-extractors/qcom/staging/BoardConfigPartial.mk
@@ -0,0 +1,13 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
diff --git a/self-extractors/qcom/staging/device-partial.mk b/self-extractors/qcom/staging/device-partial.mk
new file mode 100644
index 0000000..a3346d8
--- /dev/null
+++ b/self-extractors/qcom/staging/device-partial.mk
@@ -0,0 +1,187 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Qualcomm blob(s) necessary for Flo hardware
+PRODUCT_COPY_FILES := \
+    vendor/qcom/flo/proprietary/ATFWD-daemon:system/bin/ATFWD-daemon:qcom \
+    vendor/qcom/flo/proprietary/bridgemgrd:system/bin/bridgemgrd:qcom \
+    vendor/qcom/flo/proprietary/btnvtool:system/bin/btnvtool:qcom \
+    vendor/qcom/flo/proprietary/diag_klog:system/bin/diag_klog:qcom \
+    vendor/qcom/flo/proprietary/diag_mdlog:system/bin/diag_mdlog:qcom \
+    vendor/qcom/flo/proprietary/ds_fmc_appd:system/bin/ds_fmc_appd:qcom \
+    vendor/qcom/flo/proprietary/efsks:system/bin/efsks:qcom \
+    vendor/qcom/flo/proprietary/hci_qcomm_init:system/bin/hci_qcomm_init:qcom \
+    vendor/qcom/flo/proprietary/irsc_util:system/bin/irsc_util:qcom \
+    vendor/qcom/flo/proprietary/ks:system/bin/ks:qcom \
+    vendor/qcom/flo/proprietary/mm-pp-daemon:system/bin/mm-pp-daemon:qcom \
+    vendor/qcom/flo/proprietary/mm-qcamera-app:system/bin/mm-qcamera-app:qcom \
+    vendor/qcom/flo/proprietary/mm-qcamera-daemon:system/bin/mm-qcamera-daemon:qcom \
+    vendor/qcom/flo/proprietary/mm-qjpeg-enc-test:system/bin/mm-qjpeg-enc-test:qcom \
+    vendor/qcom/flo/proprietary/mm-qomx-ienc-test:system/bin/mm-qomx-ienc-test:qcom \
+    vendor/qcom/flo/proprietary/mpdecision:system/bin/mpdecision:qcom \
+    vendor/qcom/flo/proprietary/netmgrd:system/bin/netmgrd:qcom \
+    vendor/qcom/flo/proprietary/nl_listener:system/bin/nl_listener:qcom \
+    vendor/qcom/flo/proprietary/port-bridge:system/bin/port-bridge:qcom \
+    vendor/qcom/flo/proprietary/qcks:system/bin/qcks:qcom \
+    vendor/qcom/flo/proprietary/qmuxd:system/bin/qmuxd:qcom \
+    vendor/qcom/flo/proprietary/qseecomd:system/bin/qseecomd:qcom \
+    vendor/qcom/flo/proprietary/radish:system/bin/radish:qcom \
+    vendor/qcom/flo/proprietary/rmt_storage:system/bin/rmt_storage:qcom \
+    vendor/qcom/flo/proprietary/sensors.qcom:system/bin/sensors.qcom:qcom \
+    vendor/qcom/flo/proprietary/thermald:system/bin/thermald:qcom \
+    vendor/qcom/flo/proprietary/usbhub:system/bin/usbhub:qcom \
+    vendor/qcom/flo/proprietary/usbhub_init:system/bin/usbhub_init:qcom \
+    vendor/qcom/flo/proprietary/DxHDCP.cfg:system/etc/DxHDCP.cfg:qcom \
+    vendor/qcom/flo/proprietary/vidc.b00:system/etc/firmware/vidc.b00:qcom \
+    vendor/qcom/flo/proprietary/vidc.b01:system/etc/firmware/vidc.b01:qcom \
+    vendor/qcom/flo/proprietary/vidc.b02:system/etc/firmware/vidc.b02:qcom \
+    vendor/qcom/flo/proprietary/vidc.b03:system/etc/firmware/vidc.b03:qcom \
+    vendor/qcom/flo/proprietary/vidc.mdt:system/etc/firmware/vidc.mdt:qcom \
+    vendor/qcom/flo/proprietary/vidc_1080p.fw:system/etc/firmware/vidc_1080p.fw:qcom \
+    vendor/qcom/flo/proprietary/vidcfw.elf:system/etc/firmware/vidcfw.elf:qcom \
+    vendor/qcom/flo/proprietary/eglsubAndroid.so:system/lib/egl/eglsubAndroid.so:qcom \
+    vendor/qcom/flo/proprietary/libEGL_adreno200.so:system/lib/egl/libEGL_adreno200.so:qcom \
+    vendor/qcom/flo/proprietary/libGLESv1_CM_adreno200.so:system/lib/egl/libGLESv1_CM_adreno200.so:qcom \
+    vendor/qcom/flo/proprietary/libGLESv2_adreno200.so:system/lib/egl/libGLESv2_adreno200.so:qcom \
+    vendor/qcom/flo/proprietary/libq3dtools_adreno200.so:system/lib/egl/libq3dtools_adreno200.so:qcom \
+    vendor/qcom/flo/proprietary/camera.flo.so:system/lib/hw/camera.flo.so:qcom \
+    vendor/qcom/flo/proprietary/gps.msm8960.so:system/lib/hw/gps.msm8960.so:qcom \
+    vendor/qcom/flo/proprietary/sensors.msm8960.so:system/lib/hw/sensors.msm8960.so:qcom \
+    vendor/qcom/flo/proprietary/libC2D2.so:system/lib/libC2D2.so:qcom \
+    vendor/qcom/flo/proprietary/libCommandSvc.so:system/lib/libCommandSvc.so:qcom \
+    vendor/qcom/flo/proprietary/libDxHdcp.so:system/lib/libDxHdcp.so:qcom \
+    vendor/qcom/flo/proprietary/libI420colorconvert.so:system/lib/libI420colorconvert.so:qcom \
+    vendor/qcom/flo/proprietary/libQSEEComAPI.so:system/lib/libQSEEComAPI.so:qcom \
+    vendor/qcom/flo/proprietary/libaudcal.so:system/lib/libaudcal.so:qcom \
+    vendor/qcom/flo/proprietary/libaudioalsa.so:system/lib/libaudioalsa.so:qcom \
+    vendor/qcom/flo/proprietary/libc2d2_a3xx.so:system/lib/libc2d2_a3xx.so:qcom \
+    vendor/qcom/flo/proprietary/libchromatix_ov5693_common.so:system/lib/libchromatix_ov5693_common.so:qcom \
+    vendor/qcom/flo/proprietary/libchromatix_ov5693_default_video.so:system/lib/libchromatix_ov5693_default_video.so:qcom \
+    vendor/qcom/flo/proprietary/libchromatix_ov5693_preview.so:system/lib/libchromatix_ov5693_preview.so:qcom \
+    vendor/qcom/flo/proprietary/libconfigdb.so:system/lib/libconfigdb.so:qcom \
+    vendor/qcom/flo/proprietary/libcsd-client.so:system/lib/libcsd-client.so:qcom \
+    vendor/qcom/flo/proprietary/libdiag.so:system/lib/libdiag.so:qcom \
+    vendor/qcom/flo/proprietary/libdrmdiag.so:system/lib/libdrmdiag.so:qcom \
+    vendor/qcom/flo/proprietary/libdrmfs.so:system/lib/libdrmfs.so:qcom \
+    vendor/qcom/flo/proprietary/libdrmtime.so:system/lib/libdrmtime.so:qcom \
+    vendor/qcom/flo/proprietary/libdsi_netctrl.so:system/lib/libdsi_netctrl.so:qcom \
+    vendor/qcom/flo/proprietary/libdsprofile.so:system/lib/libdsprofile.so:qcom \
+    vendor/qcom/flo/proprietary/libdss.so:system/lib/libdss.so:qcom \
+    vendor/qcom/flo/proprietary/libdsucsd.so:system/lib/libdsucsd.so:qcom \
+    vendor/qcom/flo/proprietary/libdsutils.so:system/lib/libdsutils.so:qcom \
+    vendor/qcom/flo/proprietary/libgeofence.so:system/lib/libgeofence.so:qcom \
+    vendor/qcom/flo/proprietary/libgps.utils.so:system/lib/libgps.utils.so:qcom \
+    vendor/qcom/flo/proprietary/libgsl.so:system/lib/libgsl.so:qcom \
+    vendor/qcom/flo/proprietary/libidl.so:system/lib/libidl.so:qcom \
+    vendor/qcom/flo/proprietary/libllvm-a3xx.so:system/lib/libllvm-a3xx.so:qcom \
+    vendor/qcom/flo/proprietary/libloc_adapter.so:system/lib/libloc_adapter.so:qcom \
+    vendor/qcom/flo/proprietary/libloc_api_v02.so:system/lib/libloc_api_v02.so:qcom \
+    vendor/qcom/flo/proprietary/libloc_eng.so:system/lib/libloc_eng.so:qcom \
+    vendor/qcom/flo/proprietary/libmm-abl-oem.so:system/lib/libmm-abl-oem.so:qcom \
+    vendor/qcom/flo/proprietary/libmm-abl.so:system/lib/libmm-abl.so:qcom \
+    vendor/qcom/flo/proprietary/libmm-color-convertor.so:system/lib/libmm-color-convertor.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_stats_algorithm.so:system/lib/libmmcamera2_stats_algorithm.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera_image_stab.so:system/lib/libmmcamera_image_stab.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera_interface.so:system/lib/libmmcamera_interface.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera_mi1040.so:system/lib/libmmcamera_mi1040.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera_ov5693.so:system/lib/libmmcamera_ov5693.so:qcom \
+    vendor/qcom/flo/proprietary/libmmjpeg_interface.so:system/lib/libmmjpeg_interface.so:qcom \
+    vendor/qcom/flo/proprietary/libnetmgr.so:system/lib/libnetmgr.so:qcom \
+    vendor/qcom/flo/proprietary/liboemcrypto.so:system/lib/liboemcrypto.so:qcom \
+    vendor/qcom/flo/proprietary/libqcci_legacy.so:system/lib/libqcci_legacy.so:qcom \
+    vendor/qcom/flo/proprietary/libqdi.so:system/lib/libqdi.so:qcom \
+    vendor/qcom/flo/proprietary/libqdp.so:system/lib/libqdp.so:qcom \
+    vendor/qcom/flo/proprietary/libqmi.so:system/lib/libqmi.so:qcom \
+    vendor/qcom/flo/proprietary/libqmi_cci.so:system/lib/libqmi_cci.so:qcom \
+    vendor/qcom/flo/proprietary/libqmi_client_qmux.so:system/lib/libqmi_client_qmux.so:qcom \
+    vendor/qcom/flo/proprietary/libqmi_common_so.so:system/lib/libqmi_common_so.so:qcom \
+    vendor/qcom/flo/proprietary/libqmi_csi.so:system/lib/libqmi_csi.so:qcom \
+    vendor/qcom/flo/proprietary/libqmi_csvt_srvc.so:system/lib/libqmi_csvt_srvc.so:qcom \
+    vendor/qcom/flo/proprietary/libqmi_encdec.so:system/lib/libqmi_encdec.so:qcom \
+    vendor/qcom/flo/proprietary/libqmiservices.so:system/lib/libqmiservices.so:qcom \
+    vendor/qcom/flo/proprietary/libqomx_core.so:system/lib/libqomx_core.so:qcom \
+    vendor/qcom/flo/proprietary/libsc-a3xx.so:system/lib/libsc-a3xx.so:qcom \
+    vendor/qcom/flo/proprietary/libsensor1.so:system/lib/libsensor1.so:qcom \
+    vendor/qcom/flo/proprietary/libsensor_reg.so:system/lib/libsensor_reg.so:qcom \
+    vendor/qcom/flo/proprietary/libsensor_user_cal.so:system/lib/libsensor_user_cal.so:qcom \
+    vendor/qcom/flo/proprietary/libstagefright_hdcp.so:system/lib/libstagefright_hdcp.so:qcom \
+    vendor/qcom/flo/proprietary/libxml.so:system/lib/libxml.so:qcom \
+    vendor/qcom/flo/proprietary/a300_pfp.fw:system/vendor/firmware/a300_pfp.fw:qcom \
+    vendor/qcom/flo/proprietary/a300_pm4.fw:system/vendor/firmware/a300_pm4.fw:qcom \
+    vendor/qcom/flo/proprietary/dxhdcp2.b00:system/vendor/firmware/discretix/dxhdcp2.b00:qcom \
+    vendor/qcom/flo/proprietary/dxhdcp2.b01:system/vendor/firmware/discretix/dxhdcp2.b01:qcom \
+    vendor/qcom/flo/proprietary/dxhdcp2.b02:system/vendor/firmware/discretix/dxhdcp2.b02:qcom \
+    vendor/qcom/flo/proprietary/dxhdcp2.b03:system/vendor/firmware/discretix/dxhdcp2.b03:qcom \
+    vendor/qcom/flo/proprietary/dxhdcp2.mdt:system/vendor/firmware/discretix/dxhdcp2.mdt:qcom \
+    vendor/qcom/flo/proprietary/dsps.b00:system/vendor/firmware/dsps.b00:qcom \
+    vendor/qcom/flo/proprietary/dsps.b01:system/vendor/firmware/dsps.b01:qcom \
+    vendor/qcom/flo/proprietary/dsps.b02:system/vendor/firmware/dsps.b02:qcom \
+    vendor/qcom/flo/proprietary/dsps.b03:system/vendor/firmware/dsps.b03:qcom \
+    vendor/qcom/flo/proprietary/dsps.b04:system/vendor/firmware/dsps.b04:qcom \
+    vendor/qcom/flo/proprietary/dsps.b05:system/vendor/firmware/dsps.b05:qcom \
+    vendor/qcom/flo/proprietary/dsps.mdt:system/vendor/firmware/dsps.mdt:qcom \
+    vendor/qcom/flo/proprietary/gss.b00:system/vendor/firmware/gss.b00:qcom \
+    vendor/qcom/flo/proprietary/gss.b01:system/vendor/firmware/gss.b01:qcom \
+    vendor/qcom/flo/proprietary/gss.b02:system/vendor/firmware/gss.b02:qcom \
+    vendor/qcom/flo/proprietary/gss.b03:system/vendor/firmware/gss.b03:qcom \
+    vendor/qcom/flo/proprietary/gss.b04:system/vendor/firmware/gss.b04:qcom \
+    vendor/qcom/flo/proprietary/gss.b05:system/vendor/firmware/gss.b05:qcom \
+    vendor/qcom/flo/proprietary/gss.b06:system/vendor/firmware/gss.b06:qcom \
+    vendor/qcom/flo/proprietary/gss.b07:system/vendor/firmware/gss.b07:qcom \
+    vendor/qcom/flo/proprietary/gss.b08:system/vendor/firmware/gss.b08:qcom \
+    vendor/qcom/flo/proprietary/gss.b09:system/vendor/firmware/gss.b09:qcom \
+    vendor/qcom/flo/proprietary/gss.b10:system/vendor/firmware/gss.b10:qcom \
+    vendor/qcom/flo/proprietary/gss.b11:system/vendor/firmware/gss.b11:qcom \
+    vendor/qcom/flo/proprietary/gss.mdt:system/vendor/firmware/gss.mdt:qcom \
+    vendor/qcom/flo/proprietary/q6.b00:system/vendor/firmware/q6.b00:qcom \
+    vendor/qcom/flo/proprietary/q6.b01:system/vendor/firmware/q6.b01:qcom \
+    vendor/qcom/flo/proprietary/q6.b03:system/vendor/firmware/q6.b03:qcom \
+    vendor/qcom/flo/proprietary/q6.b04:system/vendor/firmware/q6.b04:qcom \
+    vendor/qcom/flo/proprietary/q6.b05:system/vendor/firmware/q6.b05:qcom \
+    vendor/qcom/flo/proprietary/q6.b06:system/vendor/firmware/q6.b06:qcom \
+    vendor/qcom/flo/proprietary/q6.mdt:system/vendor/firmware/q6.mdt:qcom \
+    vendor/qcom/flo/proprietary/tzapps.b00:system/vendor/firmware/tzapps.b00:qcom \
+    vendor/qcom/flo/proprietary/tzapps.b01:system/vendor/firmware/tzapps.b01:qcom \
+    vendor/qcom/flo/proprietary/tzapps.b02:system/vendor/firmware/tzapps.b02:qcom \
+    vendor/qcom/flo/proprietary/tzapps.b03:system/vendor/firmware/tzapps.b03:qcom \
+    vendor/qcom/flo/proprietary/wcnss.b00:system/vendor/firmware/wcnss.b00:qcom \
+    vendor/qcom/flo/proprietary/wcnss.b01:system/vendor/firmware/wcnss.b01:qcom \
+    vendor/qcom/flo/proprietary/wcnss.b02:system/vendor/firmware/wcnss.b02:qcom \
+    vendor/qcom/flo/proprietary/wcnss.b04:system/vendor/firmware/wcnss.b04:qcom \
+    vendor/qcom/flo/proprietary/wcnss.b05:system/vendor/firmware/wcnss.b05:qcom \
+    vendor/qcom/flo/proprietary/wcnss.mdt:system/vendor/firmware/wcnss.mdt:qcom \
+    vendor/qcom/flo/proprietary/libdrmdecrypt.so:system/vendor/lib/libdrmdecrypt.so:qcom \
+    vendor/qcom/flo/proprietary/libgemini.so:system/vendor/lib/libgemini.so:qcom \
+    vendor/qcom/flo/proprietary/libimage-jpeg-enc-omx-comp.so:system/vendor/lib/libimage-jpeg-enc-omx-comp.so:qcom \
+    vendor/qcom/flo/proprietary/libimage-omx-common.so:system/vendor/lib/libimage-omx-common.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_c2d_module.so:system/vendor/lib/libmmcamera2_c2d_module.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_cpp_module.so:system/vendor/lib/libmmcamera2_cpp_module.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_iface_modules.so:system/vendor/lib/libmmcamera2_iface_modules.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_imglib_modules.so:system/vendor/lib/libmmcamera2_imglib_modules.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_isp_modules.so:system/vendor/lib/libmmcamera2_isp_modules.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_pproc_modules.so:system/vendor/lib/libmmcamera2_pproc_modules.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_sensor_modules.so:system/vendor/lib/libmmcamera2_sensor_modules.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_stats_modules.so:system/vendor/lib/libmmcamera2_stats_modules.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_vpe_module.so:system/vendor/lib/libmmcamera2_vpe_module.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera2_wnr_module.so:system/vendor/lib/libmmcamera2_wnr_module.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera_faceproc.so:system/vendor/lib/libmmcamera_faceproc.so:qcom \
+    vendor/qcom/flo/proprietary/libmmcamera_imglib.so:system/vendor/lib/libmmcamera_imglib.so:qcom \
+    vendor/qcom/flo/proprietary/libmmipl.so:system/vendor/lib/libmmipl.so:qcom \
+    vendor/qcom/flo/proprietary/libmmjpeg.so:system/vendor/lib/libmmjpeg.so:qcom \
+    vendor/qcom/flo/proprietary/libmmqjpeg_codec.so:system/vendor/lib/libmmqjpeg_codec.so:qcom \
+    vendor/qcom/flo/proprietary/libmmstillomx.so:system/vendor/lib/libmmstillomx.so:qcom \
+    vendor/qcom/flo/proprietary/liboemcamera.so:system/vendor/lib/liboemcamera.so:qcom \
+    vendor/qcom/flo/proprietary/libqomx_jpegenc.so:system/vendor/lib/libqomx_jpegenc.so:qcom \
+
+PRODUCT_PACKAGES := libacdbloader tzapps.mdt
diff --git a/self-extractors/qcom/staging/proprietary/Android.mk b/self-extractors/qcom/staging/proprietary/Android.mk
new file mode 100644
index 0000000..bc54a6c
--- /dev/null
+++ b/self-extractors/qcom/staging/proprietary/Android.mk
@@ -0,0 +1,55 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+
+ifeq ($(TARGET_DEVICE),flo)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libacdbloader
+LOCAL_SRC_FILES := libacdbloader.so
+LOCAL_MODULE_SUFFIX := .so
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := qcom
+
+# Create symbolic link because user space can access persist directory,
+# while kernel ALSA drivers can only access the /system/etc/firmware directory
+LOCAL_POST_INSTALL_CMD := \
+    mkdir -p $(TARGET_OUT_ETC)/firmware/wcd9310; \
+        ln -sf /data/misc/audio/wcd9310_anc.bin \
+        $(TARGET_OUT_ETC)/firmware/wcd9310/wcd9310_anc.bin; \
+        ln -sf /data/misc/audio/mbhc.bin \
+        $(TARGET_OUT_ETC)/firmware/wcd9310/wcd9310_mbhc.bin
+
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := tzapps.mdt
+LOCAL_MODULE_OWNER := qcom
+LOCAL_SRC_FILES := tzapps.mdt
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/firmware
+LOCAL_POST_INSTALL_CMD := \
+        mkdir -p $(TARGET_OUT)/etc/firmware/; \
+        ln -sf /system/vendor/firmware/tzapps.b00 $(TARGET_OUT)/etc/firmware/tzapps.b00; \
+        ln -sf /system/vendor/firmware/tzapps.b01 $(TARGET_OUT)/etc/firmware/tzapps.b01; \
+        ln -sf /system/vendor/firmware/tzapps.b02 $(TARGET_OUT)/etc/firmware/tzapps.b02; \
+        ln -sf /system/vendor/firmware/tzapps.b03 $(TARGET_OUT)/etc/firmware/tzapps.b03; \
+        ln -sf /system/vendor/firmware/tzapps.mdt $(TARGET_OUT)/etc/firmware/tzapps.mdt;
+include $(BUILD_PREBUILT)
+
+endif
diff --git a/self-extractors/root/BoardConfigVendor.mk b/self-extractors/root/BoardConfigVendor.mk
new file mode 100644
index 0000000..b592eb7
--- /dev/null
+++ b/self-extractors/root/BoardConfigVendor.mk
@@ -0,0 +1,19 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_STEM := flo/BoardConfigPartial.mk
+
+-include vendor/asus/$(LOCAL_STEM)
+-include vendor/broadcom/$(LOCAL_STEM)
+-include vendor/qcom/$(LOCAL_STEM)
diff --git a/self-extractors/root/device-vendor.mk b/self-extractors/root/device-vendor.mk
new file mode 100644
index 0000000..7363e9c
--- /dev/null
+++ b/self-extractors/root/device-vendor.mk
@@ -0,0 +1,19 @@
+# Copyright 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_STEM := flo/device-partial.mk
+
+$(call inherit-product-if-exists, vendor/asus/$(LOCAL_STEM))
+$(call inherit-product-if-exists, vendor/broadcom/$(LOCAL_STEM))
+$(call inherit-product-if-exists, vendor/qcom/$(LOCAL_STEM))
diff --git a/vendor_owner_info.txt b/vendor_owner_info.txt
new file mode 100644
index 0000000..92d0686
--- /dev/null
+++ b/vendor_owner_info.txt
@@ -0,0 +1,171 @@
+root/adb_keys:google
+system/bin/ATFWD-daemon:qcom
+system/app/AsusDebugger.apk:asus
+system/etc/DxHDCP.cfg:qcom
+system/vendor/firmware/bcm2079x-b5_firmware.ncd:broadcom
+system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd:broadcom
+system/bin/bridgemgrd:qcom
+system/bin/btnvtool:qcom
+system/bin/diag_klog:qcom
+system/bin/diag_mdlog:qcom
+system/bin/ds_fmc_appd:qcom
+system/vendor/firmware/dsps.b00:qcom
+system/vendor/firmware/dsps.b01:qcom
+system/vendor/firmware/dsps.b02:qcom
+system/vendor/firmware/dsps.b03:qcom
+system/vendor/firmware/dsps.b04:qcom
+system/vendor/firmware/dsps.b05:qcom
+system/vendor/firmware/dsps.mdt:qcom
+system/vendor/firmware/discretix/dxhdcp2.b00:qcom
+system/vendor/firmware/discretix/dxhdcp2.b01:qcom
+system/vendor/firmware/discretix/dxhdcp2.b02:qcom
+system/vendor/firmware/discretix/dxhdcp2.b03:qcom
+system/vendor/firmware/discretix/dxhdcp2.mdt:qcom
+system/bin/efsks:qcom
+system/vendor/firmware/gss.b00:qcom
+system/vendor/firmware/gss.b01:qcom
+system/vendor/firmware/gss.b02:qcom
+system/vendor/firmware/gss.b03:qcom
+system/vendor/firmware/gss.b04:qcom
+system/vendor/firmware/gss.b05:qcom
+system/vendor/firmware/gss.b06:qcom
+system/vendor/firmware/gss.b07:qcom
+system/vendor/firmware/gss.b08:qcom
+system/vendor/firmware/gss.b09:qcom
+system/vendor/firmware/gss.b10:qcom
+system/vendor/firmware/gss.b11:qcom
+system/vendor/firmware/gss.mdt:qcom
+system/bin/hci_qcomm_init:qcom
+system/bin/irsc_util:qcom
+system/bin/ks:qcom
+system/lib/libAKM.so:asus
+system/lib/libCommandSvc.so:qcom
+system/lib/libDxHdcp.so:qcom
+system/lib/libI420colorconvert.so:qcom
+system/lib/libQSEEComAPI.so:qcom
+system/lib/libacdbdata.so:asus
+system/lib/libacdbloader.so:qcom
+system/lib/libaudcal.so:qcom
+system/lib/libaudioalsa.so:qcom
+system/lib/libchromatix_ov5693_common.so:qcom
+system/lib/libchromatix_ov5693_default_video.so:qcom
+system/lib/libchromatix_ov5693_preview.so:qcom
+system/lib/libconfigdb.so:qcom
+system/lib/libcsd-client.so:qcom
+system/lib/libdiag.so:qcom
+system/vendor/lib/libdrmdecrypt.so:qcom
+system/lib/libdrmdiag.so:qcom
+system/lib/libdrmfs.so:qcom
+system/lib/libdrmtime.so:qcom
+system/lib/libdsi_netctrl.so:qcom
+system/lib/libdsprofile.so:qcom
+system/lib/libdss.so:qcom
+system/lib/libdsucsd.so:qcom
+system/lib/libdsutils.so:qcom
+system/vendor/lib/libgemini.so:qcom
+system/vendor/lib/libimage-jpeg-enc-omx-comp.so:qcom
+system/vendor/lib/libimage-omx-common.so:qcom
+system/lib/libloc_api_v02.so:qcom
+system/lib/libmm-abl.so:qcom
+system/lib/libmm-abl-oem.so:qcom
+system/lib/libmm-color-convertor.so:qcom
+system/vendor/lib/libmmcamera2_iface_modules.so:qcom
+system/vendor/lib/libmmcamera2_imglib_modules.so:qcom
+system/vendor/lib/libmmcamera2_isp_modules.so:qcom
+system/vendor/lib/libmmcamera2_pproc_modules.so:qcom
+system/vendor/lib/libmmcamera2_sensor_modules.so:qcom
+system/lib/libmmcamera2_stats_algorithm.so:qcom
+system/vendor/lib/libmmcamera2_stats_modules.so:qcom
+system/vendor/lib/libmmcamera_faceproc.so:qcom
+system/lib/libmmcamera_image_stab.so:qcom
+system/lib/libmmcamera_mi1040.so:qcom
+system/lib/libmmcamera_ov5693.so:qcom
+system/vendor/lib/libmmipl.so:qcom
+system/vendor/lib/libmmjpeg.so:qcom
+system/vendor/lib/libmmqjpeg_codec.so:qcom
+system/vendor/lib/libmmstillomx.so:qcom
+system/lib/libnetmgr.so:qcom
+system/vendor/lib/liboemcamera.so:qcom
+system/lib/liboemcrypto.so:qcom
+system/lib/libqcci_legacy.so:qcom
+system/lib/libqdi.so:qcom
+system/lib/libqdp.so:qcom
+system/lib/libqmi.so:qcom
+system/lib/libqmi_cci.so:qcom
+system/lib/libqmi_client_qmux.so:qcom
+system/lib/libqmi_common_so.so:qcom
+system/lib/libqmi_csi.so:qcom
+system/lib/libqmi_csvt_srvc.so:qcom
+system/lib/libqmi_encdec.so:qcom
+system/lib/libqmiservices.so:qcom
+system/vendor/lib/libqomx_jpegenc.so:qcom
+system/lib/libsensor1.so:qcom
+system/lib/libsensor_user_cal.so:qcom
+system/lib/libstagefright_hdcp.so:qcom
+system/bin/mm-pp-daemon:qcom
+system/bin/mm-qcamera-daemon:qcom
+system/bin/mm-qjpeg-enc-test:qcom
+system/bin/mm-qomx-ienc-test:qcom
+system/bin/mpdecision:qcom
+system/bin/netmgrd:qcom
+system/bin/nl_listener:qcom
+system/bin/port-bridge:qcom
+system/vendor/firmware/q6.b00:qcom
+system/vendor/firmware/q6.b01:qcom
+system/vendor/firmware/q6.b03:qcom
+system/vendor/firmware/q6.b04:qcom
+system/vendor/firmware/q6.b05:qcom
+system/vendor/firmware/q6.b06:qcom
+system/vendor/firmware/q6.mdt:qcom
+system/bin/qcks:qcom
+fake_packages/qcom_8x64_gpu_libs-timestamp:qcom
+system/bin/qmuxd:qcom
+system/bin/qseecomd:qcom
+system/bin/radish:qcom
+system/bin/rmt_storage:qcom
+system/lib/hw/sensors.msm8960.so:qcom
+system/bin/sensors.qcom:qcom
+system/bin/thermald:qcom
+system/vendor/firmware/tzapps.b00:qcom
+system/vendor/firmware/tzapps.b01:qcom
+system/vendor/firmware/tzapps.b02:qcom
+system/vendor/firmware/tzapps.b03:qcom
+system/vendor/firmware/tzapps.mdt:qcom
+system/bin/usbhub:qcom
+system/bin/usbhub_init:qcom
+system/etc/firmware/vidc.b00:qcom
+system/etc/firmware/vidc.b01:qcom
+system/etc/firmware/vidc.b02:qcom
+system/etc/firmware/vidc.b03:qcom
+system/etc/firmware/vidc.mdt:qcom
+system/etc/firmware/vidc_1080p.fw:qcom
+system/etc/firmware/vidcfw.elf:qcom
+system/vendor/firmware/wcnss.b00:qcom
+system/vendor/firmware/wcnss.b01:qcom
+system/vendor/firmware/wcnss.b02:qcom
+system/vendor/firmware/wcnss.b04:qcom
+system/vendor/firmware/wcnss.b05:qcom
+system/vendor/firmware/wcnss.mdt:qcom
+system/vendor/firmware/a300_pfp.fw:qcom
+system/vendor/firmware/a300_pm4.fw:qcom
+system/etc/debugger.conf:asus
+system/lib/egl/eglsubAndroid.so:qcom
+system/lib/libC2D2.so:qcom
+system/lib/egl/libEGL_adreno200.so:qcom
+system/lib/egl/libGLESv1_CM_adreno200.so:qcom
+system/lib/egl/libGLESv2_adreno200.so:qcom
+system/lib/libc2d2_a3xx.so:qcom
+system/lib/libdebugger_jni.so:asus
+system/lib/libgsl.so:qcom
+system/lib/libllvm-a3xx.so:qcom
+system/lib/egl/libq3dtools_adreno200.so:qcom
+system/lib/libsc-a3xx.so:qcom
+system/lib/libgeofence.so:qcom
+system/lib/libidl.so:qcom
+system/vendor/lib/libmmcamera2_c2d_module.so:qcom
+system/vendor/lib/libmmcamera2_cpp_module.so:qcom
+system/vendor/lib/libmmcamera2_vpe_module.so:qcom
+system/vendor/lib/libmmcamera2_wnr_module.so:qcom
+system/vendor/lib/libmmcamera_imglib.so:qcom
+system/lib/libsensor_reg.so:qcom
+system/lib/libxml.so:qcom
