# 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/apns-conf.xml
/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/etc/gps.conf
/system/lib/egl/eglsubAndroid.so
/system/lib/egl/libEGL_adreno.so
/system/lib/egl/libGLESv1_CM_adreno.so
/system/lib/egl/libGLESv2_adreno.so
/system/lib/egl/libplayback_adreno.so
/system/lib/egl/libq3dtools_adreno.so
/system/lib/hw/flp.msm8960.so
/system/lib/hw/gps.msm8960.so
/system/lib/hw/sensors.msm8960.so
/system/lib/libacdbdata.so
/system/lib/libacdbloader.so
/system/lib/libadreno_utils.so
/system/lib/libAKM.so
/system/lib/libaudcal.so
/system/lib/libaudioalsa.so
/system/lib/libC2D2.so
/system/lib/libc2d30-a3xx.so
/system/lib/libc2d30.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/libgps.utils.so
/system/lib/libgsl.so
/system/lib/libI420colorconvert.so
/system/lib/libidl.so
/system/lib/libllvm-a3xx.so
/system/lib/libloc_core.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/libril-qc-qmi-1.so
/system/lib/libril-qcril-hook-oem.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/keymaster/keymaster.b00
/system/vendor/firmware/keymaster/keymaster.b01
/system/vendor/firmware/keymaster/keymaster.b02
/system/vendor/firmware/keymaster/keymaster.b03
/system/vendor/firmware/keymaster/keymaster.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/libgeofence.so
/system/vendor/lib/libimage-jpeg-enc-omx-comp.so
/system/vendor/lib/libimage-omx-common.so
/system/vendor/lib/libizat_core.so
/system/vendor/lib/libloc_api_v02.so
/system/vendor/lib/libloc_ds_api.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
